Basic DevOps Principles and its 5 Unsung Tools
Source – ibm.com
What is DevOps
- The term “DevOps” typically refer to the emerging professional movement that advocates a collaborative working relationship between Development and IT Operations, resulting in the fast flow of planned work (i.e., high deploy rates), while simultaneously increasing the reliability, stability, resilience and security of the production environment.
- Our DevO
ps o nlin e tr aini n g enlightens you on how DevOps differs from Agile. One tenet of the Agile development process is to deliver working software in smaller and more frequent increments, as opposed to the the “big bang” approach of the waterfall method. This is most evident in the Agile goal of having potentially shippable features at the end of each sprint . Where as DevOps extends and completes the continuous integration and release process by ensuring the code is production ready and providing value to the customer.
- Although many people view DevOps as backlash to ITIL (IT Infrastructure Library) or ITSM (IT Service Management). DevOps training informs you that -ITIL and ITSM still are best codifications of the business processes that underpin IT Operations, and actually describe many of the capabilities needed into order for IT Operations to support a DevOps-style work stream.
- The goal of DevOps is not just to increase the rate of change, but to successfully deploy features into production without causing chaos and disrupting other services, while quickly detecting and correcting incidents when they occur. This brings in the ITIL disciplines of service design, incident and problem management.
Basic DevOps Principles
- Referring to DevOps Cookbook, there are three ways. First way emphasizes the performance of the entire system, as opposed to the performance of a specific silo of work or department — this can be as large as a division (e.g., Development or IT Operations) or as small as an individual contributor (e.g., a developer, system administrator
- The Second Way is about creating the right to left feedback loops. The goal of almost any process improvement initiative is to shorten and amplify feedback loops so necessary corrections can be continually made.
- The Third Way is about creating a culture that fosters at two things: continual experimentation, which requires taking risks and learning from success and failure; and understanding that repetition and practice is the prerequisite to mastery.
5 Unsung Tools of DevOps
Most of us are always try to optimize our work so we’re constantly looking for new and improved tools. Plus playing with new tools is fun.
The tools we use play a critical role in how effective we are. In today’s ever-changing world of technology, we tend to focus on the latest and greatest solutions and overlook the simple tools that are available. Constant improvement of tools is an important aspect of the DevOps movement, but improvement doesn’t always warrant replacement.
Companies of all shapes and sizes are adopting DevOps principles today. And while a constant improvement of tools as new ones become available is an important aspect of DevOps, it doesn’t always warrant replacement of existing tools that work.
So here are five tools that we must use almost every day. They either provide insight into or control over the environment around us while requiring minimal installation and configuration. They are not the flashiest tools, but they are time tested and just work.
- RANCID: A suite of utilities that enables automation retention of your configurations in revision control.
- Cacti: A round robin database-based statistics graphing tool primarily targeted at network equipment using SNMP (Simple Network Management Protocol).
- lldpd: One of the most underutilized, yet extremely useful, networking protocols that shows you exactly which port a server is plugged into.
- IPerf: A network testing tool designed to measure the throughput between two points and run as a client/server pair.
- MUltihost SSH Wrapper: A shell script wrapper around SSH that allows you to execute the same command across multiple hosts either in sequence or parallel.
The thing these tools all have in common is that they allow developers to get better access to their systems so they can get access to machines, get logs and run any relevant processes.