Understanding DevOps methodology

Historically, many software companies followed the waterfall model of software development. The waterfall model involved the following stages:

  1. Requirement analysis
  2. System design
  3. Implementation
  4. Testing
  5. Deployment
  6. Maintenance

In this, each stage was virtually isolated and was mostly performed by a different set of people. It had poor integration between development, infrastructure, security, and support teams. Moreover, the teams working on each stage would report to different organizational structures with different corporate goals and philosophies. The primary goal of developers was to build the software, whereas the operations team had the goal of deploying software and ensure stability and reliability. This mismatch of goals would cause conflicts and ultimately the business would also suffer. Hence, there was a need to have more collaboration and communication between the software development teams and the operations teams.

The Agile software methodology addresses these concerns, and a modification to the agile model gave rise to DevOps.

DevOps is a faily new methodology that primarily focuses on improved collaboration, communication, and integration between software developers and IT operations. It is not a system, but a  philosophy, cultural change, and paradigm shift in the way organizations' work.

The following diagram depicts a DevOps approach to software development.

The different between the Agile model and DevOps is that Agile software development primarily focuses on the collaboration between the business and its developers, whereas the DevOps model focuses on the collaboration between developers, IT operations, and security teams.

IT operations include system administrators, database administrators, network engineers, infrastructure architects, and support engineers. The DevOps methodology means different things to different teams. For application developers, DevOps focuses on code building, code coverage, unit testing, packaging, and deployment. For IT operations teams, DevOps focuses on provisioning, configuration, orchestration, and deployment. But the basic principles of DevOps remain the same, irrespective of the teams and tasks being worked on.

The following are six important DevOps practices that are widely used by organizations who have chosen to adopt this methodology:

  • Collaboration
  • Automation
  • Continuous integration
  • Continuous testing
  • Continuous delivery
  • Continuous monitoring
..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.145.118.87