DEVOPS FOR LEGACY SYSTEMS – THE DEMAND OF THE CHANGING APPLICATIONS LANDSCAPE

The pace of business is getting faster as game-changers like digitization, cloud computing and big data take over the business world. Enterprises are looking to deploy new features rapidly, resulting in frequent application releases as opposed to the earlier one-time release scenario. To support these frequent releases, businesses need agility and continuous delivery. The DevOps (a blend of ‘development and ‘operations’) approach introduces a collaborative working style in the development and operations teams, leading to rapid and continuous delivery. However, while implementing this methodology for legacy systems, businesses can encounter various challenges. In this paper we outline some of the technical issues in adopting the DevOps methodology for legacy systems and ways to achieve continuous delivery and successfully handle frequent releases. DevOps methodology offers a solution DevOps (a blend of ‘development’ and ‘operations’) is a practice that encourages collaboration between the development and operations teams. Breaking the barriers provides the teams with a holistic view of processes and constraints involved in the workflow of both the teams. The approach provides an understanding that helps design applications for rapid delivery. The core tenet of the DevOps practice is Continuous Delivery (CD). CD is a set of processes that allows automated deployment and verification of an application across a set of environments. Automation not only reduces manual errors but also allows for quick, reliable and repeatable deployment of rapidly developed code. When teams adopt the DevOps methodology for a greenfield project, they may find it easier to enable CD than for a legacy system project. While designing and developing a greenfield project, architects and developers start afresh and have the opportunity to take into consideration the requirements of CD. For instance, the developers can write code that is easy to unit test, testers can incrementally build automated test packs, and architects can design the application in a host-agnostic manner. On the other hand, in case of legacy systems, which have evolved over a period of time without any consideration of automation, the adoption of the DevOps approach may result in large-scale refactoring or redesign. It may prove to be a significant challenge to automate the vast amount of legacy code and processes. DevOps roadmap for continuous delivery A typical DevOps roadmap involves building a CD pipeline with the supporting capabilities (shown in Figure 1 below). Let us discuss the challenges at each stage in the light of a legacy system project and look at a few suggestions to overcome these. With the advent of the web-scale IT model, increasing competition is driving businesses to introduce differentiating features at a rapid pace. Multivariate testing provides the ability to quickly test different variations of a feature with actual end-users, and choose the one that the customer likes the best. Consequently, the time taken for a feature to be implemented – from ideation to production deployment – is shrinking fast. This has resulted in more frequent application releases and the change has drastically impacted the dynamics of the development lifecycle. The traditional approach where a development team develops a feature and then passes it on to a separate operations team may not address the needs of the frequentrelease scenario. The delays involved in acknowledging, testing and deploying the application in the traditional manner increase the time to market of the feature. The adoption of the DevOps methodology and CD in a legacy system project involves three key aspects: Fig 1: The DevOps roadmap Build Automation and Source Quality Management Monitoring Automation Development team Static code analysis Build System test Integration test Performance test SCM Unit test Test Automation Production Infrastructure Automation Deployment Automation Continuous Integration Continuous Testing Continuous Monitoring Standardization Automation Shifting left External Document © 2018 Infosys Limited External Document © 2018 Infosys Limited