Case Study - KlinicApp DevOps

KlinicApp DevOps

Industry: AWS

The Client: KlinicApp is India's one of the largest health test @home service, creating a new benchmark for very high quality and honest prices. KlinicApp employs state of art 46 touchpoints technology for assuring quality collection and testing across its tightly controlled network of labs and hundreds of full-time phlebotomists. Operating as an online aggregator of organized and unorganized labs in India, it has its footprints in 40+ cities across India, and is based out of Gurgaon.

Challenges

KlinicApp was experiencing problems adhering to their release timelines for new versions of their software to meet their reliability Service Level Agreements (SLA). Due to multiple target environments with zero automation presented numerous difficulties.

The IT leadership team commissioned a project to implement DevOps pipeline that automated code deployments and testing using AWS cloud. The aim of the project was to achieve 100% automation post implementation. The expected results included improved code quality and release timeliness further explained in solution and benefits sections below.

Why Amazon Web Services (AWS)

AWS is a secure cloud services environment, offering compute power, database storage, content delivery and other functionality to help businesses scale and grow. Explore how millions of customers are currently leveraging AWS cloud products and solutions to build sophisticated applications with increased flexibility, scalability and reliability.

By moving to AWS, organizations are realizing benefits such as a broad IT infrastructure, support for a variety of use cases, feature sets, enhanced visibility, and the ability to deploy globally within minutes.

Solution

i2k2's team created a deployment pipeline utilizing Bitbucket, AWS Codebuild, AWS Codedeploy Jenkins and AWS lambda. Configured Bitbucket webhooks to trigger application specific Jenkins job whenever the source code is checked in to Bitbucket; this compiles the code, runs the static code analysis, generates the code coverage report, produces the documentation, and uploads the build artefacts to Amazon S3. If the Jenkins build succeeds, it then triggers an application infrastructure Jenkins job.

Jenkins checks for any new changes on GitHub every two minutes. If Jenkins finds no changes, Jenkins exits the procedure. If it does find changes, Jenkins clones all the files from the GitHub repository to the Jenkins server workspace directory. The File Operation plugin deletes all the files cloned from GitHub. This keeps the Jenkins workspace directory clean.

In the solution provided, deployment workflow starts by placing the application code on the GitHub repository. Using AWS Codebuild plugin, application zip files are stored on S3 bucket, its further unzipped as output in Jenkins directory. Further using code deploy source code is extracted and ready for deployment.

This plugin uses the CodeDeploy application name, deployment group name, and deployment configurations as configured to initiate a new CodeDeploy deployment.

This plugin uses the CodeDeploy application name, deployment group name, and deployment configurations as configured to initiate a new CodeDeploy deployment. The CodeDeploy plugin then uploads the newly zipped file according to the S3 bucket location provided to CodeDeploy as a source code for its new deployment operation. AWS CodeDeploy is a deployment service that automates application deployments to Amazon EC2 instances or on-premises instances in your own facility.

i2k2 has also created an Amazon Cloudwatch dashboard to monitor the health of the application. In case of any issues, it triggers Amazon Simple Notification Service (SNS), which conveys a notification to the customer support team and on-call resources.

Tools Set

AWS CodeDeploy: It is a deployment service that automates application deployments to Amazon EC2 instances.

AWS CodeBuild: It is a managed cloud service that enables an IT developer to automate and manage server builds for applications that reside in the Amazon Web Services (AWS) public cloud.

AWS Lambda: It is a serverle ss compute service that runs your code in response to events and automatically manages the underlying compute resources for you.

AWS CloudWatch: Is a monitoring and management service that provides data and actionable insights for AWS Infrastructure.

Business Benefits

Relying on AWS services to automate and simplify its dev and test environments, Klinicapp's development and operations team were able to utilize solution to reduce the number of defects by 30%

Lambda automatically scales up and down with load, processing the huge data points monthly.

Saved costs by nearly 15% while also giving them the best CI solution for their development process

Why i2k2

As an AWS Advanced Consulting Partner & Managed Amazon cloud services provider, i2k2 provides comprehensive folio of cloud solutions along with prompt and reliable support. Our partnership with AWS goes several years back, even before we formalized our association with the company in 2013. Key reason to choose i2k2 was 20 years of proven business. Talent is vast due to extensive IT exposure in India.

About i2k2 Networks

i2k2 Networks is the No.1 Dedicated Web Hosting company in India and a trusted name in the IT cloud hosting services industry that offers a full gamut of cutting edge enterprise solutions which drive business in today's Internet-powered world. Our folio includes Dedicated Servers, Cloud Hosting- Public, Private and Hybrid, Data Center Services, Business Email Solutions, Managed IT Services, Backup, and DR Solutions, DevOps Services, Cloud Enablement, Enterprise Hardware solutions, and various other integrated services. A team of dedicated and professionally driven IT experts conversant with diverse client requirements are available 24x7x365 to provide extended support. With superior technologies to host, design and develop high-quality websites and applications, we ensure to deliver unmatched value to our clients.