A glimpse of DevOps:

Sushma Bandaru
Strategio
Published in
3 min readApr 15, 2022

In a traditional software development lifecycle, the common goal of the multiple teams involved is to deliver a quality and stable product. The quality of the project deliverable depends on many factors.

Waterfall approach

Source: https://www.umsl.edu/~hugheyd/is6840/waterfall.html

Let’s consider a product (say a mobile app) that is developed using a traditional Waterfall development model, where each phase of development is sequential. The product is delivered at the end of the development lifecycle. Any defects or new improvements will have to be feedback in the later revisions. This model works for a product that does not require constant updates. For instance, in recent times, the world witnessed a pandemic, due to multiple shortages, the companies were forced to evolve to cater to the customer needs and implement new features within a very short time. So, the traditional waterfall model would not be an ideal solution in this scenario. Definitely, the DevOps development methodology would be apt for a product that needs continuous improvements, because of its benefits which include improved collaboration, rapid deployment, speed, security, quality, and reliability.

DevOps

Every company adopting DevOps has its own definition of DevOps. To put it in simple terms, DevOps is a set of best practices, culture, and tools that helps to deliver quality and stable product at a high frequency.

In the DevOps model, the development and operation teams work in collaboration and not in “silos” like in the traditional development model. People with shared responsibility are brought together. These teams implement a technology stack and toolchain that can achieve Continuous Integration and Continuous Deployment. These teams use automation tools and create pipelines for CI/CD.

Source: https://cyara.com/solutions/devops-for-customer-experience/

As an example, in a DevOps implemented project, any new feature that was just coded would go through an automated pipeline, complete unit testing, and would be release ready. All these steps will be automated using the appropriate toolchains and with less or no manual intervention.

Use Case

Instacart is an American company that operates a grocery delivery and pick-up service in the United States and Canada. It releases software updates very frequently. Below is the version history from App Store.

The challenge Instacart faced was, that it used a homegrown deployment tool that required continuous support from the developers. They used this tool to perform hundreds of deployments, and it became complex to maintain the tool as well as to perform the deployments frequently. They used AWS CodeDeploy to improve the existing continuous integration and delivery pipeline setup. They used appropriate tools to improve their deployment reliability. This helped them to focus on the core product and worry less about deployment operations. It is just one tool upgrade in the technology stack.

Using DevOps practices, the toolchain can be upgraded as necessary not only to make rapid delivery of the Product but to make the Product reliable, scalable, and secure.

--

--