DevOps: A Never Ending Process of Improvement
What is DevOps
“DevOps is the combination of cultural philosophies, practices, and tools that increases an organization’s ability to deliver applications and services at high velocity.” — Amazon Web Services
Simply put, DevOps is a methodology that aims to lift the barriers between the (often isolated) Development and Operations teams in order to significantly improve the productivity of the development and the reliability of the operations.
A Brief History
Before DevOps came into play, the “Waterfall” Model was traditionally used for the software development lifecycle. This model was efficient in a time when all of the system requirements were determined and finalized before production. However, in today’s world, project requirements are consistently evolving and this system falls short when it is time for a change.
The Waterfall Model and the DevOps pipeline are inherently different approaches to software development. The Waterfall Model is also called the Linear-Sequential Lifecycle as each step is isolated and the next step only begins once the previous step has been fully completed. In contrast, DevOps aims to have different teams collaborate throughout the processes and invites continuous growth.
The core of DevOps is in continuous integration and continuous delivery so that changes are delivered more frequently and reliably.
With continuous integration, the development team will merge their code multiple times each day. The continuous delivery approach is to make sure that the development team is able to release a functioning product at any time. Once the development team merges the code, the software will be automatically sent automatically into a testing process which will verify if the product is ready to be released into production.
Real Companies, Real Practices
DevOps practices have already been integrated into the strategies of large-scale corporations such as Amazon and Netflix.
When Amazon was running on dedicated physical servers it was difficult for them to predict the amount of equipment they may need to face traffic demands. Their transition to DevOps began when they decided to move to the Amazon Web Services (AWS) cloud which allowed them to scale accordingly in single-serve increments.
At the time Netflix changed its business model from shipping DVDs to primarily a streaming service, they were lacking the commercial tools to help keep the company’s cloud infrastructure running smoothly. This led Netflix to turn to open source solutions and create the “Simian Army” which is a system of automated tools which stress tests Netflix’s infrastructure in order to keep the company proactive in identifying and resolving vulnerabilities before they reach the customer. Since the introduction of their new system, automation and continuous development has stayed integrated into Netflix’s core strategy with their engineers deploying code thousands of times per day.
Choose To Grow
DevOps is here to stay and if a business chooses to stick with a strategy that was employed during a different era, chances are they will be left in the dust.
If you have any thoughts on this topic you’re willing to share, comment below, and follow along for more blogs!