DevOps has evolved from ‘breaking the silos’ between operations and developers to enabling automated and streamlined processes. While automation remains a key focus area aimed at removing redundant tasks in the lifecycle of planning to continuous monitoring and collaborative feedback and optimization, we also see some new trends emerging in DevOps; few of these are:
In this blog, we will focus on the adoption of managed DevOps services on AWS, which we applied in a recent large digital program for Swire Shipping.
Swire Shipping’s approach to digital transformation
Swire Shipping, is a core operating division of The China Company Pte. Ltd. (CNCo) which is the wholly owned, deep-sea ship owning and operating arm of the multinational Swire Group. Swire Shipping , embarked on a digital transformation journey with Wipro to develop new digital applications providing simplified and connected customer experience. Swire Shipping chose AWS Launch Pad, a state-of-the-art co-innovation centre by Wipro and AWS, as the delivery centre for the digital program.
The digital program at Swire Shipping is a multi-year journey based on minimum viable product (MVP). To manage rapid growth of digital applications with a lean team, the key requirement is to have automated DevOps. This in turn will streamline the integration between legacy IT and digital applications.
Cloud native application architectures including microservices powered with APIs and serverless computing were inherent choice for Wipro Digital architect team and designing the applications which lead to minimal ‘Ops’.
The requirement was narrowed down to a robust, easy-to-configure, and use DevOps primarily focused at application code management, continuous application build, and integration and deployment across environments.
The choice of methodology, model and tools for DevOps was driven by the need of the hour with given constraints. Considering the need to have quick delivery and fast-paced requirement analysis, design, code development for the planned MVPs for three concurrent streams (e-commerce, Pricing Engine and Liner Operations), agile methodology was the logical choice.
Time being a major constraint, the considerations were for a model and toolset with minimal effort and time for setup and configuration with a seamless end-to-end CI/CD pipeline.
The solution adopted by Wipro Digital engineering team for Swire Shipping Digital DevOps CI/CD pipeline for all tracks is powered by AWS managed DevOps services including CodePipeline, CodeCommit, CodeBuild and CodeDeploy (See Figure 1 for CI/CD model flow and details). The complete stack being on AWS removed the dependency on 3rd party tool integration and was thus easy to configure, setup and run.
For ease of adoption and due to time constraints at the beginning of the development cycle, gitlab which was the default code repository for developers, was used, but it is being replaced by CodeCommit.
With small sized target environment for the MVPs, the infrastructure setup and configuration is largely AWS Console driven with semi-automated provisioning using AWS Cloud Formation Templates.
Figure 1: CI/CD Model adopted in Swire Shipping. Description of the components in the CI/CD model flow
Application provisioning approach for Swire Shipping production environment
To ensure tighter security, the production environment is separated from non-production environments and the production AWS account is governed by Swire Shipping IT Policies. The DevOps and CICD services are configured in Swire Shipping non-prod account. Though there are solution options to trigger deployments in production environment from the CodePipelines already configured in non-prod AWS account, due to controlled Swire Shipping production account, following is the current approach for code deployment in production.
An S3 bucket provisioned in Swire Shipping production account, contains build artefacts of all deployable modules/services in respective sub-folders. An AWS CodeDeploy project created with a deployment group is mapped to respective auto-scaling group in production Swire Shipping Digital VPC.
For any fresh or a new version of any service/component to be deployed in production, the deployment group is triggered which pulls the build artefact from S3 bucket and deploys to all the digital production target instances mapped to respective auto-scaling group.
With a one-time effort of configuring the CodePipelines for all modules across the tracks, code provisioning or services deployment in environments has become a smooth process.
With the use of AWS-managed DevOps tool chain, the effort of managing and maintaining servers and resources for build and integration has been totally eliminated.
Build and deployments in development and staging environments are completely automated, saving time and effort. This also ensures the burden on production support team is minimized as the number of applications increase along the digital journey.
The solution adopted for the Swire Shipping digital journey will be extended to future MPV and product development.
IT - Digital delivery and solutions -Swire Shipping
has more than 21 years of experience and has expertise in strategizing and delivering large & integrated IT Business Transformation Programs for large global enterprises, In his current role Natesh is Heading IT - Digital delivery and solutions in Swire Shipping. He has 8+ years of experience in DevOps and has led the adoption of DevOps in Swire Shipping.
Senior Manager, Data Warehousing & Appliance Practice, Wipro, Ltd.
Sudeshna Bhadury has more than 19 years of experience across various industries. She has extensive experience in Cloud and Analytics. Sudeshna currently heads Wipro – AWS Launch Pad, a co-innovation centre by Wipro and AWS. She is responsible for enhancing customer mindshare for cloud adoption, curating innovative solutions on AWS and driving delivery from Wipro – AWS Launch Pad.