Enabling digitization at the pace of business Achieve connected DevOps tool chain through Release Orchestration
igitization has been the buzzword for the last couple of years, and it has been the driving force for enterprises to rapidly Dabsorb new priorities and address the torrents of digital opportunities. To address these needs, most of the enterprises have adopted and started their DevOps journey. DevOps empowers enterprises to enable an agile and effective IT by bringing in the mindset of collaboration, communication and integration, thereby enabling rapid delivery of services. While DevOps cuts across people, process and technology, which has a huge impact on the culture aspect, the focus of this article is around integration and automation for faster and predictable application releases. The current state of affairs - siloed automation While many enterprises have started their DevOps journey, most have adopted DevOps in silos, or many seem to call automation implemented in silos as DevOps. In most enterprises, different teams have invested and implemented automation within their team. For example, development teams have adopted continuous integration practices and leveraged various tools to automate the development and build processes, QA teams have automated some of the testing activities across the software development life cycle and Operations teams have adopted tools for automating environment provisioning and deployment automation. While all these teams have automated their various processes and activities, there is a lack of visibility, traceability and governance across these teams. What most enterprises have focused and achieved is automation within the teams. The diagram below provides a view of the siloed automation across the team. Dev QA Ops Build Test UAT Integration test Functional test Provision Code Regression test Prepare environment Figure 1: Siloed automation across teams The key for integrated DevOps - release orchestration With the existence of disparate teams in any enterprise, they bring along different toolsets and there is a need for an overarching layer to govern and orchestrate the tools and the processes that they follow. Release orchestration provides that overarching layer that binds the teams together by integrating with the tools in the ecosystem and providing a unified platform to orchestrate the process flow across the software development lifecycle. 2
Release orchestration provides that overarching layer that binds the teams together by integrating with the tools in the ecosystem and providing a unified platform to orchestrate the process flow across the software development lifecycle. Integration with disparate processes IT has evolved over the years. With adoption of new technologies, enterprises have ended up with a heterogeneous IT landscape a combination of legacy and modern IT practices. On one side, you have certain sets of applications that keep changing very frequently (such as your systems of engagement applications) while on the other end, we have applications that seldom change (such as your systems of record applications). Moreover, each of these will require different approaches. Enterprises will end up with heterogeneous delivery approaches, and the key would be to marry them in tandem for any services that they deliver to their customers. With different approaches to application delivery, enterprises will have both traditional processes (like Waterfall) and new processes (like Agile) while the Operations teams follow ITIL processes. The release orchestrator layer would be the binding force to integrate and orchestrate across these different teams following different processes and provide a holistic approach to any application release within an enterprise. Waterfall Delivery Agile Delivery Continuous Improvement Knowledge Management Plan Design Implement Testing Continuous Delivery Continuous Integration Continuous Testing Release Orchestrator Modern Ops Continuous Feedback Agile Infrastructure Collaborative Ops Figure 2: Release orchestration for different delivery models 3
Connected tool chain for end-to-end pipeline orchestration By bringing in a release orchestrator layer, enterprises will be able to achieve the end-toend orchestration of releases right from the moment the development team commits a change, the QA team performs the test cases, to the time the change is deployed into production. Just like a conductor, in an orchestra, directing the performance of the musical group through the movement of the hands and the arms, the release orchestrator acts as the central point that integrates and directs each of the tools in the software development life cycle to perform and execute specific tasks and activities. The below diagram shows the framework for an end-to-end pipeline orchestration for application release. Bug Tracking Ticketing Monitoring Release Orchestrator Build Automation Environment Creation Automation Test Automation SCM Build Containers ment Tools Test Tools ALM CI Repo. PaaS IaaS Virtualization Config. Mgmt. Service Virtualization Figure 3: Connected tool chain through release orchestration Multi-application releases As a business grows, the complexity of the application landscape increases and enterprises end up with composite applications. Moreover, in large organisations, a specific service release might consist of multiple applications that are interdependent, which needs to be released in a certain manner. Release orchestration provides the capability to map these dependencies and orchestrate the end-to-end process of a release across multiple applications. 4
Release Orchestrator Development Environment Test Test/QA Environment Live Environment App A App A App A App B App C App B App C App B App C Component 3 Component 3 Unit Test Test Promote to Next Env.? Approved Test Functional Test Regression Test Approved Go Live Component 3 Acceptance Test Promote to Next Env.? Figure 4: Orchestration of a release with multiple applications Support for heterogeneous IT DevOps emphasizes on collaboration and communication across teams and with different teams in the mix, each of them bring along different sets of tools and platforms that they work with. One of the key focus areas for enterprises would be to build a capability to integrate and support these different tools and platforms. Release orchestration provides this capability and enables enterprises to provide a single unified platform to integrate and orchestrate across different parties. Release Orchestrator Development Environment Test Test/QA Environment Live Environment Plan Check-out Code & Build Unit Testing Fetch Latest Builds to Test Environment Promote to Prod. to Dev Environment Quality Control Functional & Non Functional Test to Production Fetch Release Ready Builds to UAT Acceptance Tests Integration Framework SCM Build ment Config. Mgmt. Bug Tracking Test Tools PaaS Ticketing Tools ALM CI Containers Collaboration Virtualization Private Cloud Public Cloud Platforms X86-Linux, Windows z/os Solaris AIX... Figure 5: Support for heterogeneous IT 5
Visibility, insights and control Keeping track of the release status and governing the progress of release is vital when multiple teams are involved. At the same time, ability to provide insights from various tools in the software development lifecycle helps in providing the right information to the right stakeholder to take corrective actions. Release orchestration enables this capability and provides a single layer to govern releases and provide insights and visibility into the release pipeline. It enables tracking and monitoring of the team s performance across the software development lifecycle pipeline, and provides a mechanism to support measurement of DevOps adoption, maturity of the process and the team themselves. Dashboards Charts Dependencies Integrations Integrations DEV QA Pre-Prod Prod Figure 6: Release dashboard and insights Conclusion Adoption of enterprise-wide DevOps is still at nascent stages and with enterprises having started their DevOps journey in pockets; the key is to approach DevOps holistically across people, process and technology. In this article, we have covered the technology part, by an overarching layer that connects the entire tool chain across different teams to achieve an endto-end DevOps connected tool chain. The release orchestration layer plays a vital role in enabling enterprises to tie and integrate their heterogeneous landscape across both open source and proprietary tools they have and build a capability to deliver services seamlessly and rapidly. It will be critical for organisations to adopt release orchestration for a faster, better and more immersive digital experience for their customers, as we move ahead in 2017. 6
About the authors Nirmalya Dastidar, Practice Head, Global Infrastructure Services, Wipro His career spans over 17+ years working in various roles and across various emerging technology trends like Cloud, Containers, IOT & DevOps. He is currently working as a Practice Head for Open Cloud, DevOps & IoT. In this role, he is responsible for evangelizing, partnering, licensing and building solutions with new technology & startup vendors. Talimeren Longkumer, Senior Consultant, Global Infrastructure Services, Wipro He has more than 10 years of experience in the IT Industry across DevOps, Cloud Computing & Mobile Technologies. He has worked in various roles such as business analyst, architect, pre-sales consultant, and currently working as a DevOps and IOT practice lead 7
Wipro Limited Doddakannelli, Sarjapur Road, Bangalore-560 035, India Tel: +91 (80) 2844 0011 Fax: +91 (80) 2844 0256 wipro.com Wipro Limited (NYSE: WIT, BSE: 507685, NSE: WIPRO) is a leading global information technology, consulting and business process services company. We harness the power of cognitive computing, hyper-automation, robotics, cloud, analytics and emerging technologies to help our clients adapt to the digital world and make them successful. A company recognized globally for its comprehensive portfolio of services, strong commitment to sustainability and good corporate citizenship, we have over 160,000 dedicated employees serving clients across six continents. Together, we discover ideas and connect the dots to build a better and a bold new future. For more information, please write to us at info@wipro.com IND/B&T/AUG2017-JAN2018