- October 21, 2019
- Posted by: Sagar
- Category: Blogs
What’s common to companies such as Netflix, Etsy, Sony Pictures, and Airbnb?
Apart from being top companies, they also are companies that have adopted the DevOps model to fuel their product success.
Sony Pictures Entertainment’s Digital Media Group (DGM) adopted the DevOps continuous delivery model to reduce delivery time. This gave their development team time to focus on adding new features. That, in turn, helped them reduce their costs.
Netflix leverages heavy automation and the DevOps model to be able to deploy code thousands of times in a day.
Airbnb switched to DevOps to release multiple, small deployments faster and more efficiently.
Etsy beat their struggle with slow deployments using DevOps and now carries out almost 50 deployments a day. All thanks to DevOps.
Organizations globally have warmed up to DevOps to improve their ability to deliver and deploy high-quality applications at high velocity. DevOps allows us to make small, incremental changes at speed at multiple levels of the deployment cycle without impacting quality. This makes it quite perfect to address the issue of faster development of applications to meet changing market demands.
Given the market forces at play, organizations now know that the cost of delays is not just budget overruns but also cost credibility. And let’s not forgot the cost of opportunity – a cost that can’t be measured but could run into trillions. So how can the DevOps approach prevent these challenges?
DevOps = Collaboration
Since DevOps emphasizes collaboration, communication, and automation throughout the application lifecycle it removes the silos in traditional approaches that impede pace. This helps to improve the overall workflow in the software development life cycle (SDLC). However, to do so we need to ensure that the people, process, and technology aspects of the entire SDLC are thoroughly probed to prevent bottlenecks that impede the flow of work.
In traditional software development, we expend a lot of time, analyzing and, then, defining the project scope at each stage. Then the development work begins and eventually, this work is passed to testing teams who then pass the feedback to the development team who once again get to work…and the cycle repeats itself. Finally, the product is released and then IT and support start work on deploying it, on the Cloud for instance.
You don’t even have to look closely at this cycle to know that there are long periods where there’s no productive work getting done.
With DevOps, since everything, from development to testing to deployment happens continuously we move to a more proactive development model. It also addresses the challenges of delays and budget overruns that emerge because of silos and from fulfilling development and testing in separate environments.
The benefit of the shorter cycle
Agile and DevOps are characterized by short sprints. Since DevOps employs cross-functional teams, has a smaller development cycle, and short sprints, you can catch errors and bugs earlier in the development cycle and fix it. We know that the cost of discovering bugs later in the software development cycle increases exponentially and translates into delays and budget overruns. Since the feedback loop is faster, you can make predictable, low-risk releases to production. This increases IT agility, decreases deployment times, and ensures that features can be made available in days, and not in weeks or months.
Increased automation = reduced manual intervention = less error
Testing and deployment are two areas where manual intervention can impede agility. Manual testing makes it impossible to match the speed of development needed to succeed in today’s competitive environment. It also increases the chances of missing defects and allowing them into the production pipeline.
An additional consequence is the burden of unplanned work and the increased risk of deployment failures while reducing the quality and reliability of the product. All these contribute to costly delays and budget overruns.
However, DevOps employs automation as a strategic tool. From testing to deployment, automation in DevOps ensures that you can build software to maintain it in a continuous state of release. The increased focus on automation also ensures fewer bugs, greater test coverage, and reduced human error and stress.
DevOps uses automation for its infrastructure setup as well. This makes version control and change management easier. Consequently, this makes the role of operation and production support function smoothly and more efficiently. That’s all money in the bank!
Today every company is a software company. Software has become a key driver of business differentiation. Software is the gateway to new services and new revenues, flawless customer experiences, and new market expansion. This is a new world and here we must fundamentally change the way we develop software to meet dynamic demands. This is where DevOps comes into play. It’s abundantly clear that DevOps helps organizations deliver robust software applications faster by integrating software development teams with IT and employing elaborate automation. As that happens, it also addresses the need for flexibility and speed and saves organizations both time and money.