What is DevOps?

DevOps is the latest buzzword in the world of software development. But what exactly is DevOps? In this article we shall make a brief introduction about DevOps to get familiar with the concept.

Traditional software develoment used the waterfall model. Which consisted of the below stages:

  • Requirements gathering and creating SRS
  • Planning and design
  • Implementation and development
  • Quality assurance
  • Deployment
  • Regular Maintenance

The Waterfall model worked fine and served well for many years, however it had some challenges.

From developers point of view:

  • After Development, the code deployment time was huge.
  • Pressure of work on old, pending and new code was high because development and deployment time was high.

From operations point of view:

  • It was difficult to maintain 100% uptime of the production environment.
  • Infrastructure Automation tools were not very affective.
  • Number of severs to be monitored keeps on increasing with time and hence the complexity.
  • It was very difficult to provide feedback and diagnose issue in the product.

DevOps integrates development and operations team to improve collaboration and productivity. According to DevOps, a single group of Engineers (developers, system admins, QA’s. Testers etc turned into DevOps Engineers) has end to end responsibility of the Application (Software) right from gathering the requirement to development, to testing, to infrastructure deployment, to application deployment and finally monitoring & gathering feedback from the end users, then again implementing the changes. This is a never ending cycle and the logo of DevOps represents this concept.

main-qimg-1efe9b9f22be7c3c94afaa24a2e3fbc9

These are the building blocks(stages) for DevOps:

  • Continuous Development
  • Continuous Integration
  • Continuous Testing
  • Continuous Monitoring
  • Virtualization and Containerization

B05561_01_05

There are many tools that can be used for DevOps, the most famous tools are: Gradle, Git, Jenkins, Bamboo, Docker, Kubernetes, Puppet Enterprise, Ansible, Nagios, Raygun, Jira, Maven, ELK (Elasticsearch, Logstash, Kibana).

Leave a comment