Making Application Deployment 10x Faster with AWS

Making Application Deployment 10x Faster with AWS

BTS is a global professional services firm headquartered in Stockholm, Sweden. They have over 600 professionals in 32 offices located in six continents. The company provides strategy alignment and execution consulting services and designs customized business simulations, digital technology, and assessments to develop business acumen, leadership, and sales capabilities.

BTS had 20+ applications across mobile and web. The mobile applications were spread across multiple platforms and devices ( iOS, native apps, hybrid apps). It was a time consuming process to maintain multiple tools to automate testing across multiple platforms. The tool used for native apps would not work for testing the hybrid apps. Moreover, one of their apps for change and training management was used by CXOs of Fortune 500 companies and to maintain the quality of such apps was of utmost importance.

Making Application Deployment 10x Faster with AWS

BTS was using legacy deployment methods and was finding it very difficult to manage the deployments of front-end and back-end applications.

This resulted in the need for more manpower, effort and time for deployment. RapidValue also found that the apps did not have any scaling configured. The client was using the “single server method” that is known to have problems with application scaling.  Also, Microservices were being deployed in a single node application, individual service deployment was impacting the other running services and therefore, the client was not getting the actual microservices benefits.

The client wanted to deploy the back-end applications across five regions, and they were finding it difficult to deploy artifacts in different regions. They were facing issues in managing the changes in each deployment.

 

Making Application Deployment 10x Faster with AWS

Digital product engineering excellence powered by AWS Cloud.

We containerized the back-end APIs and decoupled the APIs for deployment using docker as a container. This helped in ensuring that  individual deployments never impact other APIs. Also, Jenkins and AWS CodeDeploy was used for auto-deployment. This reduced the time and manpower effort drastically, making deployments 10x faster.

For the front-end deployment we used Jenkins + AWS Command Line interface (CLI)  and plugins for auto-deployment to Amazon CloudFront including the auto cache clear in CloudFront. In order for the solutions to be scalable for high availability and performance,  AWS ECS was used. ECS was used to enable auto-scaling and zero downtime deployment.

AWS services utilized:

  • AWS ECR: To store the artifacts – docker container registry.
  • AWS ECS:  Implemented to orchestrate the containers. Clustering of docker containers used for API deployment.
  • AWS CloudFront: Used for front-end deployment.
  • Amazon S3 bucket: Frontend deployment file storage and also used for Code deploy configuration.
  • AWS CodeDeploy: Used to deploy the Docker container.
  • Elastic Load Balancer: It’s part of ECS clustering used for auto-scaling.
  • Amazon CloudWatch: Used for the application and container logs watch and ECS, EC2, API metric utilization monitoring.
  • AWS CloudFormation: Created AWS resources using CloudFormation- it helps to manage the AWS resource using code (Infrastructure as code).
  • Amazon EC2: All docker deployments are deployed in EC2 instances.
Making Application Deployment 10x Faster with AWS

Our solution helped BTS reduce the deployment time to less than 15 minutes.

  1. Reduced Manual Effort – Using Jenkins + Shell scripts + AWS command utilities, we totally removed manual effort and enabled easy deployment on CloudFront.
  2. Completely Automated Deployments –  Earlier, the client used to deploy their solutions manually in servers. Automating the deployments helped developers to focus more on their development without worrying about deployments.
  3. Single Click Deployment Strategy – Reduced the deployment time to less than 15 minutes with a single click deployment strategy, which was previously taking 1 hour with 4-5 member teams.
  4. Zero downtime and AutoScaling –  Implementation of ECS achieved zero downtime and auto-scaling of applications.
How can we help you?