SRE concepts part 6 ( Automation & CB/CD)
Marcel Koert
Innovative Platform Engineer | DevOps Engineer | Site Reliability Engineer | IT Educator | Founder of Melomar-IT
SRE concepts part 6
The sixth article in the series about SRE Concepts/Topics is about two topics, "The Value of Automation" and "Continuous build and Deployment"
The Value of Automation
Automation is one of those technologies that leave a mark on the industry. Like the Steam Engine marked the beginning of the first industrial revolution, automation marked the beginning of the second and, so far, the most extensive industrial revolution.
Not just in the IT sector, automation changed the way machines work in industries and manufacturing plants.
Automation holds a lot of business value. Using automation will increase the effectiveness of an application and increase the efficiency of engineers. With the industry adopting cloud technology, it became pretty simple to deploy automation in the IT sector.
Many jobs are created, in the process, to design and control the various moving parts involved in automation. Automation reduced the work of two people to just one person. Jobs like DevOps, SREs, and many are created to handle both the development and operations side using automation technologies.
Along with an increase in efficiency and a reduced chance of errors, automation also takes care of repetitive tasks. Taking these repetitive tasks off the engineers' shoulders will give them more time to concentrate on improving the product and adding more features.
Effect of Automation on Employee Morale
Automation plays a significant role in improving employee morale. Back in the day, IT sector jobs used to be pretty repetitive and boring. Only a selected group of developers used to work on vital projects while the others used to be stuck with doing the mind-numbing tasks. However, with automation, this all changed, and every developer is utilized to the maximum extent.
Freeing employees from the tedious everyday tasks and making them work on big-picture projects boosts employee morale to soaring heights. This, in turn, increases the efficiency of the employee.
Effect of Automation in Operations and Management
A few years ago, there used to be two critical jobs in any IT company: a developer and an operations engineer. However, with the introduction of automation, a single person can perform both these jobs even more effectively. These engineers are called DevOps engineers.
One such specific implementation of DevOps is Site Reliability Engineering. A Site Reliability Engineer spends about 50% of their time on operations. The engineer uses automation to reduce the toil and concentrates more on developing the application and making sure it's available. Such jobs increase the overall efficiency of the company and bring in more profits in the long run.
Automation also reduces the overall cost and offers better monitoring and alerting tools. Event handling is another field that automation technology changed forever. Gone are the days where analysts had to sit and comb through thousands of events.
In just a few years, automation changed the face of the IT industry. With more and more tools emerging every day, automation is sure to develop more and bring more valuation to its use cases.
Conclusion
Automation is a great technology that is making our lives easier. Automation is developing many tools that are pushing humanity towards sustainable development.
Continuous build and Deployment
What is Continuous build and Deployment, and why is it Needed for SRE?
Continuous build and Deployment is one of the core strategies of Site Reliability Engineering. It involves using automated tools and programs to deploy builds on the network as soon as possible.
The automation tools ensure that the builds are error-free and don't have any breaking changes.
You can think of Continuous build as a software testing tool. Every time you try to deploy some code on the network, this tool will automatically validate it based on the changes.
If all the changes are suitable to the pre-change snapshot of the program, then they are validated. However, if the changes are not how they should be, the continuous build tool throws an error.
Continuous build and deployment help reduce much work for the engineers. A few years ago, developers had to verify if their code is functioning as it should on multiple platforms and systems. Continuous build and deployment strategies changed all this.
The automation in the deployment phase gives SREs more time to work on the core development features and improve the product further. This, in turn, increases the overall efficiency.
Advantages of Continuous Deployment
There are numerous advantages to using continuous deployment tools. Let us see some of them now.
1. Automated Testing
Testing used to be such a strenuous and time-consuming process before the era of automation. Developers had to spend days and even weeks checking whether the code works with the existing code on all the platforms. With continuous Deployment, this won't be necessary as the program takes care of that.
Automated testing can and is replacing manual code reviews in many IT companies. With a little more advancement in the field, traditional code reviews may even become extinct.
2. Monitoring and Alerts
Monitoring was never an easy job. After the internet revolution, more and more people started using the internet and the products on it. The number of events rose from tens of thousands a month to potentially tens and hundreds of millions a day. Monitoring these many events was not an easy job.
One of the very first use cases of Continuous Deployment is automated monitoring. The tools already available in the market have some robust monitoring features that can improve your application in many ways.
The automated monitoring tools also provide helpful insights into the application's health. These insights will be of the utmost help when designing a scaling or growth strategy.
Why Does an SRE Need Continuous Build and Deployment
An SRE essentially does the job of both a developer and an operations engineer. However, even an SRE cannot tackle two critical fields on its own. The continuous build and Deployment come into play here. They automate the otherwise time-consuming tasks leaving the SRE to focus on more important work.
Conclusion
Continuous build and Deployment are the key strategies that enable a Site Reliability Engineer to do their job. Without them, an engineer cannot seamlessly tackle both the development and operations side of a product.
Site Reliability Engineer at IVO Rechtspraak
3 年Hey Marcel, I was revisiting your article and I was wondering where does performance monitoring come into play? In the 'old' ITIL way it was called capacity and performance monitoring.
Group Manager, Platform Engineering & SRE | Driving Unified and Secure Software Development | Transforming Developer Experiences to Drive Productivity and Innovation
3 年Marcel Koert good and a simple explanation of automation and CB/CB. As automation stretches from CB-CD to operations, it would be nice if you can include the criteria for automation from an SRE perspective in this article. What needs to be automated first and what has the lowest priority. Thank you.