What is DevOps?
Well, it’s simple. DevOps is a combination of two words, Development and Operation. In other words, it’s merging of two disciplines inside of IT. DevOps means a lot of different things to different people. Some say it’s “using automation,” or it’s “treating your code as infrastructure” or any other variety of loosely related items. Yes, DevOps involves using automation, code as infrastructure and any other tools available to make life easier, but that does not quite sum the broad field. Rather than referring it to as a process or a method, it’s a service life cycle that starts from design, followed by implementation and all the way through production support. It’s a term used to define a set of practices, tools and policies that lead to improved quality and Automated Delivery (AD). If you work in IT, whether as a developer, systems analyst, programmer, engineer, database admin, or security expert, at some point you will need to know about DevOps. If there is one organization that sums up DevOps, it would be Amazon Web Services (AWS), which has DevOps in its DNA. Puppet Labs, which along with Chef Software is a leader in the DevOps community.
DevOps is relatively a new term. I believe there are more misconceptions in people about DevOps compared to its understanding. Back in the days when developers had to test their code, they had to request a new Virtual Machine (VM) from the operations team or System Admins if you wish. But, the practice of DevOps has replaced the process because now developers can include that process on their code. For example, automatic deployment of a Vagrant or a Docker container to test developer’s applications is a DevOps process. They do not have to rely on system admins anymore to spin up new vm’s for them. Does this mean that system admins jobs are becoming extinct? Definitely NOT. System Admins are busy in their own way. System Admins are happy that they do not have to do traditional processes any more. It’s a misconception that DevOps is coming from the development side of the house to wipe out operations. Also, there’s a fallacy that DevOps is all about tools. It’s also not “about the tools”. Tools cannot entirely achieve the needs of a company or a system. Similarly, there also exists a myth that “DevOps means one person does everything”. That is clearly not the case. DevOps is a “collaboration” work and “collaboration” does not mean “one man show”, it means “working together with others.” Furthermore, DevOps is not one solution to every problem. Companies vary in how they work, manage, budget, standards, results and expectations. So, a high end DevOps solution for one company may not suit the other. Hence, it’s necessary to go back to the drawing board and start from design and follow the DevOps service life cycle.
Finally: If Automation is a part of DevOps, why not start with Puppet.
Next Post: Learn Puppet in one day