Use case

AWS Case Study: One-Click Automation

About the Customer

Thrivio’s mission is to help create a culture of wellbeing so employees can thrive. By making work less stressful and teams more connected, Thrivio is reimagining engagement, recognition, and wellness for companies. Thrivio strives to grow company culture from the ground up with a holistic approach to wellbeing. They make it incredibly easy to implement and manage so that retention and participation stay high.

Customer Challenge

Thrivio developers faced a critical challenge of limited test environments that constrained their ability to perform effective testing for their backend and frontend applications.

This constraint resulted in slower development cycles and made it difficult to handle multiple testing stages simultaneously. If left unaddressed, these issues could have caused delays in product releases, limited scalability, and increased operational complexity.

The key challenge was to develop a solution that allows the seamless creation of entire test environments, reducing the time and effort needed for deployment. Additionally, the process needed to be cost-effective, scalable, and capable of ensuring that multiple environments could be managed without manual intervention. There was also a need for a mechanism to easily clean up the environment once testing was completed.

Solution

IAMOPS proposed a one-click automation solution using a Jenkins pipeline to address the challenge. The pipeline is designed to automate the deployment of both the backend and frontend environments on AWS. It incorporates the following steps:

1. Stage 1 – Backend Deployment:

  • The pipeline begins by using Packer to create an AMI (Amazon Machine Image) that includes all necessary dependencies. This AMI is then used to launch EC2 instances as part of an Auto Scaling Group (ASG), providing the necessary compute power for backend operations. The infrastructure for this deployment is managed using Terraform, which ensures that resources such as security groups, instance types, and subnet IDs are appropriately configured. The backend also connects to an RDS (Relational Database Service) instance to manage application data.

2. Stage 2 – Frontend Deployment:

  • The frontend deployment is handled by Jenkins, which uses Docker to build the application. Terraform is then used to deploy the frontend code to an S3 bucket, which hosts the static files for the application.

    Additionally, the Jenkins pipeline enables developers to easily clean up an entire environment once it is no longer needed, simply by specifying the environment name.

    This one-click approach dramatically reduces the time required to create and tear down environments, ensuring that resources are only used when necessary and minimizing costs.

The following diagram illustrates the architecture of the solution:

Architecture of the solution

Results and Benefits

The implementation of this automated solution provided significant improvements in deployment efficiency. Developers can now deploy new environments with a single click, drastically reducing the time required for setup.

Additionally, the teardown process for environments is simplified, ensuring that resources are not left running unnecessarily.

The cost for maintaining each test environment was reduced to approximately $1 per day, making it highly cost-effective.

This solution has enabled Thrivio to perform more frequent and comprehensive testing, accelerating their development cycle and improving the overall quality of their applications.

About IAMOPS

IAMOPS is a full DevOps suite company that supports technology companies to achieve intense production readiness.

Our mission is to ensure that our clients’ infrastructure and CI/CD pipelines are scalable, mitigate failure points, optimize performance, ensure uptime, and minimize costs.

Our DevOps suite includes DevOps Core, NOC 24/7, FinOps, QA Automation, and DevSecOps to accelerate overall exponential growth.

As an AWS Advanced Tier Partner and Reseller, we focus on two key pillars: professionalism byadhering to best practices and utilizing advanced technologies, and Customer Experience withresponsiveness, availability, clear project management, and transparency to provide anexceptional experience for our clients.

Looking for a dedicated DevOps team?