The word DevOps was coined in 2009 by Patrick Debois and refers to a group of concepts that have rapidly turned into a movement and is gaining widespread popularity in the technical community. The word was formed from the collision of two major related trends- development and operations. It promotes the collaboration between Development and Operations Team to deploy code to production faster in an automated & repeatable way. Thus, its importance lies in the fact that it allows organizations to improve customer service and take a stronger stand in the competitive market.
Amidst a plethora of definitions in the market, an apt description from Gartner is- “DevOps represents a change in IT culture, focusing on rapid IT service delivery through the adoption of agile, lean practices in the context of a system-oriented approach. DevOps emphasizes people (and culture), and seeks to improve collaboration between operations and development teams. DevOps implementations utilize technology— especially automation tools that can leverage an increasingly programmable and dynamic infrastructure from a life cycle perspective.”
Studies have revealed that an organization which has adopted DevOps have recorded 20% improvement in time-to-market, 22% improvement in software quality, a 17% improvement in frequency of application deployments leading to an increase in 22% new customers and a substantial 19% increase in revenue.
Where did DevOps come from?
Despite popular beliefs, DevOps didn’t begin all of a sudden from scratch. The seeds were always there and gradually the concept developed over time in a number of disciplines; the two primary antecedents of DevOps being ESM and Agile Development.
- Enterprise systems management (ESM)- Many of the initial definers of DevOps were system admins who brought5 into DevOps some of the ESM best practices like configuration management, system monitoring, automated provisioning, the toolchain approach, etc.
- Agile development. Devops can actually be referred to as an outgrowth of Agile. In fact, it simply extends Agile principles from beyond just code to the full delivered service
How does DevOps work?
The most important part is establishing the right processes, choosing the right tools for delivering the desired results with the right people to achieve the desired business results. Adopting the 7Cs helps in driving a seamless agile delivery.
- Controlled Process
- Continuous Code Inspection & Integration
- Continuous Deployment
- Continuous Testing
- Continuous Monitoring
Basically, this points to People over Process over Tools.
3 Primary Practice Areas
Three primary practice areas are usually discussed in context of DevOps:
- Infrastructure Automation – Creation of systems, OS configs, and app deployments as code
- Continuous Delivery – Building, testing, and deploying apps in a fast and automated manner
- Site Reliability Engineering – Operating systems; monitoring and orchestration, and designing for operability
What is the Future of DevOps?
A few probable changes that are likely to take place in the DevOps scene:
- Organizations are projecting a shift in their requirements from years to weeks and months
- DevOps engineers are likely to have more access and control of the end user than any other person in the enterprise
- DevOps is rapidly turning out to be a valued skill for IT personnel ( a survey conducted by Linux hiring revealed that 25% of respondent’s job seeker is DevOps expertise)
- DevOps and continuous delivery are here to stay which in turn will influence companies to evolve
DevOps has successfully integrated business users, developers, test engineers, security engineers, and system administrators into a single workflow focused on meeting customer requirements. This in turn has led to everyone involved in the process to deliver the best results and overall experience to the customer. As Jez Humble, Founder and CTO, DevOps Research and Assessment states- ‘DevOps is not a goal, but a never-ending process of continual improvement.’