DevOps, it’s a hot new trend in computing, what is it?
DevOps can be defined by two related ideas. First, DevOps is the practice of operations and development engineers, participating together through the entire service lifecycle, from the design and development process all the way to production support.
DevOps replaces the model, where you have a team that writes the code, another team to test it, yet another team to deploy it, and even another team yet to operate it.
Each one of them isolated from the other.
While DevOps is a combination of the word’s development and operations. It isn’t meant to leave out other teams.
Dev is traditionally understood to mean everyone usually on the code side, from developers to front end designers to QA, and ops is generally understood to include everyone traditionally on the system side, whether that’s Linux administrators or network admins.
Collaboration among everyone participating and delivering software is a key DevOps tenant.
Why do you care? What is DevOps do for you? and why would you want to practice it?
The first reason is that it’s been shown to be effective in improving both its business outcomes and development team.
The Puppet Labs State of DevOps survey indicated the teams using DevOps practices deployed changes 30 times more frequently, with 200 times shorter lead times.
And instead of that, resulting in quality issues, they had 60 times fewer failures and recovered from issues 168 times faster than other organizations.
And the survey also showed that these results help across different sizes and types of business. –
The second reason is that it makes your daily life easier.
High Tech is a very interrupt-driven high-pressure exercise in firefighting that can often lead to personal and professional burnout.
We’ve found that the DevOps approach reduces unplanned work. It increases friendly relationships between coworkers, and it reduces stress on the job.
Three Pillars of DevOps
- Continuous Delivery
- Infrastructure as Code
- Site Reliability Engineering
Continuous delivery is a DevOps approach to build and deliver features or bug fixes using automation tools.
Infrastructure as Code
Infrastructure as Code is a DevOps approach to systems infrastructure automation. It’s where we treat infrastructure the same as we would treat code for applications.
What do we mean by that? Put simply, you write it in an IDE, save it into source control, run tests on it, build it, package it and deploy it. – Manually built and changed systems require a huge amount of work and cause a lot of trouble. So we can automate the infrastructure using tools. The most popular tool used is Terraform from Hashicorp.
SRE is a DevOps approach to the production support part of operations which includes monitoring, SLAs, performance, and capacity planning.