How many DevOps engineers does it take to change the lightbulb?
This humorous question is really almost a philosophical problem. Qualified DevOps engineers are rare and expensive specialists, so it is important to understand how much engineers do you need for the project. It will save costs, help make the right strategy of DevOps transformation, etc.
What is DevOps in general? We need to define it for a better understanding of time and price formation at least. DevOps is the practical implementation of Agile. Well, but what is Agile? Agile is a flexible approach to software development. The previously popular model is called a Waterfall. This is a strictly planned approach where you need to go step by step through the project. Software development includes three main parts: development, testing and deployment. The Waterfall model provides them one by one. So, the developer writes code, Quality Assurance (QA) engineer tests it and IT Operations deploys it. It looks fine, but it takes a lot of time. So, the creation of software and the addition of new features was quite a long process.
How does DevOps change things? DevOps approach splits all the development process to the small parts. Thus, the developer writes a small batch of code and gives it for testing to QA engineer. After successful testing, IT Operations deploys the code. These processes are also as automated as possible. A structure is the same, but you have a result faster and any specialist doesn’t wait for his turn.
How do DevOps provide frequent releases?
We’ve understood the idea of DevOps, but what about realization? The DevOps approach is not only a philosophy of new efficient development, but it is also based on years of experience and a huge set of automation tools. DevOps engineer should know a tremendous toolset and have previous experience as an IT Operations system administrator. It is important to understand how to deploy the project manually before learning automation tools.
That’s why DevOps engineers know how to create Infrastructure as Code (IaC), set the CI/CD pipelines and organize the Continuous Monitoring. DevOps engineer needs to have deep understanding of all the internal processes in the project he works with. It allows for providing DevOps transformation smoothly.
What is DevOps transformation?
Well, it is creating the processes we’ve mentioned above. For example, IaC allows presenting infrastructure settings as a textual file in descriptive language. That’s why the developer is able to change some parameters and receive a new deployment infrastructure. It saves a lot of time in real projects and the developer doesn’t need to bother IT Operations each time he needs to deploy the code. This process is provided by tools like Kubernetes, Terraform and Ansible.
What does mysterious abbreviation CI/CD mean? It is Continuous Integration and Deployment. We’ve described it a little bit. This principle provides the idea of small batches of code instead of endless writing all the functions for the first release. As a result, the software has Continuous Integration of updates and new features, and Continuous Deployment and releases. CI/CD is provided by Ansible, AWS Pipeline, Jenkins, GitLab CI and other tools.
If all things are so good, why we need Continuous Monitoring and Logging? Because something might go wrong and you should know what it is. For example, some of your servers might fail. With the DevOps approach, it will be restarted immediately and continue to work. But if the situation is repeated, Continuous Monitoring helps you notice what is wrong and solve it. This process is also automated with the following tools: ELK Stack, FluentD, SumoLogic, Prometheus, Grafana and others.
As you can see, the DevOps engineer really needs a lot of knowledge and experience to provide all of these.
So, what about the light bulb?
The idea is that a DevOps engineer is a qualified and expensive specialist. There are also a lot of roles on DevOps team, like Team Lead, Cloud Architect, Site Reliability Engineer, DevSecOps, AIOps, system administrator and others. The team is formed depending on the customer’s needs and project requirements. Such a team makes an assessment of current infrastructure state, design a roadmap, and only after that, they can provide DevOps transformation as it is.
A lot of companies still work with the Waterfall model and lose a lot of money on the inefficient software development processes and lose a lot of end-users because of rare releases.
So, on the one hand, you can hire a DevOps team and make your processes smooth and profitable, on the other, you can hire inexperienced developers and use unautomated infrastructure. The second way is the same if you hire a qualified expensive DevOps engineer and give him a task to change the light bulb.
In different words, you can invest money efficiently or inefficiently. Investment in a DevOps team is a great decision, which gives you great competitiveness on the market and satisfied end-users.
If the question is: “How many DevOps do we need to change the light bulb?”, the answer is: “None of them. They have automated your infrastructure and they don’t have time for light bulbs, so just call the office manager”.
Final thoughts about DevOps, light bulbs and other questions
DevOps team is a great investment in the future of your company. Automation can bring you a huge advantage in the market and significantly increase the competitiveness of your company. You will receive both satisfied users and a satisfied team that doesn’t need to spend a lot of time on routine processes anymore.
The later you will decide to implement the DevOps, the harder it would be. It is growing technology and a lot of new tools and updated software arises. So, if now you might need just a cloud migration, providing some automation tools and working with teams for cohesiveness, later you might need a redesign of the whole infrastructure before the DevOps transformation.
Don’t be afraid of changes in the company. DevOps is not a strange buzzword, it a real approach for efficient use of your human and hardware resources to achieve the main objectives of your product and your business goals.