By Gautam Khanna, Vice President and Head, Modernization Practice, Infosys
The technology community has been gung-ho about DevOps for the last decade and a half on the back of improving the speed and stability of software development and deployment. Over the years, DevOps has drawn the attention of business leaders as they realized it was not just a set of practices for IT teams, but it was how their products or services could reach their customers faster and with fewer defects while systems became more reliable and resilient.
The pandemic set the ground for DevOps’ success further as it supported the current global shifts in businesses. With the increasing acceleration of product and services innovation, developers were pushed into building and deploying applications at an ever-increasing pace. A survey by Codefresh on the impact of COVID-19 on organizations and their DevOps strategy found that 58% of the respondents were moving parts of their infrastructure to the cloud, while 17% were migrating their entire stack to the cloud. The survey also reveals that organizations are investing heavily in DevOps automation as new technologies such as Kubernetes continue to gain strong traction.
The adoption of DevOps for on-premise applications has already yielded significant benefits to enterprises including early time to market, superior quality, high reliability resulting in customer loyalty and retention. Enterprises are looking to derive the same benefits when moving their applications to the cloud. During the adoption of DevOps for on-premise legacy applications, enterprises faced challenges such as lower test automation, resulting in broken DevOps pipelines and thus, limiting DevOps benefits. The migration to the cloud gives enterprises the opportunity to plan their DevOps adoption upfront to derive maximum benefits and overcome such challenges in a planned manner.
Unleashing the power of DevOps with Cloud
DevOps can complement the movement of apps to the cloud so that enterprises can derive the same benefits on the cloud. Defining a well-laid strategy and preparing applications for cloud DevOps even before migrating cloud will ensure the success.
Three key decisions for a Cloud DevOps strategy:
Organizations must consider these points while deciding on cloud DevOps strategy:
• Firstly, organizations need to define a DevOps strategy for multi-cloud. As several enterprises are choosing a multi-cloud strategy to improve their resiliency; it becomes critical to choose the right DevOps solution that can best address their organizational needs. The DevOps solution could be cloud-specific that involve the usage of services such as Azure DevOps or AWS Code or cloud-agnostic that may involve the usage of tools like Terraform.
• Secondly, businesses need to decide whether to adopt a unified DevOps solution or create varied solutions for different kinds of applications such as cloud-native, cloud-migrated, and those retained on-premise in the end state.
• Lastly, enterprises need to plan a standardized tooling policy. This should decide whether to use DevOps services from different cloud providers or commercial-off-the-shelf services or open source tools for each of the DevOps practices. Choosing a tool should consider the existing investment in tools, ensure cost-effectiveness, and leverage tools that support multiple technologies.
Getting the applications ready for a successful cloud migration: To ensure quick adoption of DevOps, enterprises should get applications ready for DevOps before cloud migration. This will ensure they continue to get the benefits of DevOps on the cloud too.
• Applications that have been earmarked for re-hosting should improve the tooling usage even if tools are not part of the DevOps pipeline. The application quality and safety must be enhanced through test automation, static code analysis automation, and security test runs using the tools. If the existing tools landscape is disparate then these applications can also start using to-be state tools before getting migrated to the cloud.
• Applications that are to be re-platformed, should automate performance tests in addition to all the above activities.
• Transformation is a long journey and some greenfield cloud-native application development may start before the unified cloud DevOps solution gets developed. Such applications should plan to achieve no-touch automation using DevOps and start using all prescribed tools as per tooling strategy.
Planning for a cloud migration gives organizations an opportunity to relook at their DevOps strategy and ensure they can achieve the best results with minimum costs and low maintenance. It is an opportunity to course-correct some of the DevOps practices which were adopted on-premise. Developing a unified DevOps solution ensures better control and usage of tools and services resulting in higher benefits.