What is DevOps ?
DevOps is a software engineering culture and practice that aims to unify software development (Dev) and software Operation (Opps). It is a culture of collaboration between development and operational people.-
It is also important to understand what is NOT DevOps.
- Set of Tools
There is huge list of tools used in DevOps world, the list is exhaustive but are these tools DevOps , answer is no. - DevOps is a standard answer is no it is not a standard similar to ISO standards or a framework similar to ITIL , DevOps is just a cultural movement, designed to provide delivery and stability at the same time.
- DevOps is not a product , it is just a culture that is practice by an entire organization that is performing software development / operation.
- DevOps as a job title , yes though it is one of in demand jobs currently there is no such title as DevOps, it is simply a culture practiced by Developers and Operation teams to collaborate and any one with the right experience and knowledge can fit into this role.
DevOps culture change
In the past the developers and operational team were working in silos and each process follow in a serial fashion, this design was very successful in the past decade considering the size of the software and the complexity it brings. SDLC (software development life cycle) models such as WaterFall were used to create and maintain. In today’s 4G world software application are mostly mobile / web-based, updates are very frequent infact some are even updated daily or weekly, and that is where the challenge to manage both development and operation collide. Teams on either end would try to push ends to perform better, this is totally in contrast to the model followed in the past decade.
To overcome this challenge Development and Operation teams were merged a change in the team culture was brought in by applying agile principals to deliver short and fast updates / rollouts to the customer keeping in mind both speed of delivery and operational stability in mind.
Goals of a DevOps culture
- Fast time-to-market (TTM)
- Few production failures
- Immediate recovery from failures
DevOps practices and tools
DevOps performs both Operational and Developer tasks , below are the list of practices that are considered part of Devops practices.
- Build Automation
- Continuous Integration
- Continuous Deployment & Delivery
- Infrastructure as Code
- Configuration Management
- Orchestration
- Monitoring
- Orchestration