In 2015, Brett Hofer, in his 4 part blog series, Art of DevOps, drew a parallel between the Art of War and Art of DevOps. He wrote,
"Ultimately, we're fighting for the absolute best services and features that we can deliver to our customers as quickly as we possibly can. We seek to be victorious over our competition, successful in informing and meeting or exceeding the expectations of our commanding officers while preventing and mitigating casualties caused by critical issues and poor performance."
So what exactly is DevOps?
DevOps is Devlopment+Operations. It is the working of the development and operations teams to enable faster development and efficient maintenance of deployments.
By Wikipedia definition,
"DevOps is a set of practices that combines software development (Dev) and IT operations (Ops). It aims to shorten the systems development life cycle and provide continuous delivery with high software quality."
To understand why DevOps is different, we need to understand what used to happen before the DevOps methodology was in place. So, before DevOps, we had something called a Waterfall Model. In the Waterfall model, everybody worked in silos- the developers worked on writing code for an application, the QA team worked around the code's flaws and quality, and then the system admins had the job of making sure everything ran smoothly during deployment. In general, the communication between the teams was limited as they worked in their separate environment. So, whenever any error or bug arose, it became very chaotic:
- The developers would sort the bug out.
- The QA team would again check it for quality.
- The changes would be pushed again for deployment.
Even a small issue would create a substantial amount of mess. When the number of releases increases, the situation would spiral out of hand. And the blame game would start, with each team blaming the other one.
DevOps methodology breaks these silos and makes sure that developers are consulted and kept in the loop during deployment; QA guys do more than testing, and system admins can write scripts. All of this is possible as DevOps makes sure that a proper communication channel is maintained between the teams. This way, all the teams understand the issues faced by other teams.
Some benefits of DevOps Methodology:
- Improved software quality enabled by automation
- Improved monitoring and quicker service recovery -Quicker turnaround of change requests -Greater synergies between development, testing, and operations teams
- Continuous and iterative deliveries
- Reduced Operational Costs
To enhance DevOps, security is introduced during the early part of the SDLC. Security + DevOps= SecDevOps or simply SecOps.
(Read about the role of SecOps centre)
(Read:Automated Deployment Of CI/CD)
Top comments (0)