Role of Devops ?

  • Waterfall Model

    Let’s consider developing software in a traditional way using a Waterfall Model.

    Waterfall Model - DevOps Tutorial

    In the above diagram, you will see the phases it will involve:

    • ­In phase 1- Complete Requirement is gathered and SRS is developed

    • In phase 2 - This System is Planned and Designed using the SRS

    • In phase 3 - Implementation of the System takes place

    • In phase 4 - System is tested and its quality is assured

    • In phase 5 - System is deployed to the end users

    • In phase 6 - Regular Maintenance of the system is done

Waterfall Model Challenges

The Water-fall model worked fine and served well for many years however it had some challenges. In the following diagram, the challenges of the Waterfall Model are highlighted.

Waterfall Model Challenges - DevOps Tutorial

In the above diagram, you can see that both Development and Operations had challenges in the Waterfall Model. From the Developers point of view there were majorly two challenges:

  1. After Development, the code deployment time was huge.

2. The pressure of work on old, pending and new code was high because development and deployment time was high.

On the other hand, Operations was also not completely satisfied. There were four major challenges they faced as per the above diagram:

  1. It was difficult to maintain ~100% uptime of the production environment.

2. Infrastructure Automation tools were not very affective.

3. Number of severs to be monitored keeps on increasing with time and hence the complexity.

4. It was very difficult to provide feedback and diagnose issue in the product.

According to the DevOps culture, a single group of Engineers (developers, system admins, QA’s. Testers etc turned into DevOps Engineers) has end to end responsibility of the Application.

  • According to the DevOps culture, 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 makes perfect sense to me. Just look at the above diagram.

  • Assume that you have a small business/startup and you need to create a product for your customers. You need the product to be developed quickly, tested thoroughly and deployed efficiently in order to meet customer requirements.

    🎯 DevOps is the practice of combining software development life cycle and operations into a cohesive process that enables organizations to build, test, and deploy their products faster. It manages the processes of developing, testing, deploying, monitoring, and maintaining software applications.

    🎯 𝘋𝘦𝘷𝘖𝘱𝘴 𝘩𝘦𝘭𝘱𝘴 𝘦𝘯𝘴𝘶𝘳𝘦 𝘵𝘩𝘢𝘵 𝘵𝘩𝘦𝘳𝘦 𝘢𝘳𝘦 𝘯𝘰 𝘨𝘢𝘱𝘴 𝘣𝘦𝘵𝘸𝘦𝘦𝘯 𝘥𝘦𝘷𝘦𝘭𝘰𝘱𝘦𝘳𝘴 𝘢𝘯𝘥 𝘰𝘱𝘦𝘳𝘢𝘵𝘪𝘰𝘯𝘴 𝘵𝘦𝘢𝘮𝘴 𝘸𝘩𝘦𝘯 𝘪𝘵 𝘤𝘰𝘮𝘦𝘴 𝘵𝘰 𝘥𝘦𝘱𝘭𝘰𝘺𝘪𝘯𝘨 𝘯𝘦𝘸 𝘧𝘦𝘢𝘵𝘶𝘳𝘦𝘴 𝘰𝘳 𝘮𝘢𝘬𝘪𝘯𝘨 𝘤𝘩𝘢𝘯𝘨𝘦𝘴 𝘪𝘯 𝘦𝘹𝘪𝘴𝘵𝘪𝘯𝘨 𝘰𝘯𝘦𝘴.

    This improves the speed of product delivery and increases customer satisfaction by providing them with a seamless experience.

    𝘋𝘦𝘷𝘖𝘱𝘴 𝘢𝘭𝘴𝘰 𝘩𝘦𝘭𝘱𝘴 𝘵𝘰 𝘳𝘦𝘥𝘶𝘤𝘦 𝘳𝘪𝘴𝘬 𝘢𝘯𝘥 𝘪𝘮𝘱𝘳𝘰𝘷𝘦 𝘵𝘩𝘦 𝘲𝘶𝘢𝘭𝘪𝘵𝘺 𝘰𝘧 𝘴𝘰𝘧𝘵𝘸𝘢𝘳𝘦 𝘱𝘳𝘰𝘥𝘶𝘤𝘵𝘴 𝘣𝘺 𝘢𝘶𝘵𝘰𝘮𝘢𝘵𝘪𝘯𝘨 𝘳𝘦𝘱𝘦𝘵𝘪𝘵𝘪𝘷𝘦 𝘵𝘢𝘴𝘬𝘴, 𝘴𝘶𝘤𝘩 𝘢𝘴 𝘵𝘦𝘴𝘵𝘪𝘯𝘨, 𝘥𝘦𝘱𝘭𝘰𝘺𝘮𝘦𝘯𝘵 𝘢𝘯𝘥 𝘮𝘰𝘯𝘪𝘵𝘰𝘳𝘪𝘯𝘨.