Improved development and operational processes to increase quality and stability by implementing an improved branching strategy, CI/CD pipelines, and feature environments.
Highlights
Established an improved branching strategy that align better to environments
Established CI/CD pipelines to meet the dynamic needs of testing
Established pipeline controls to ensure stability of integrated pre-production environments
100%
☺
Deployment Automation
75%
⟱
Reduction User Acceptance Test Bugs
⟰
Earlier and More Frequent Testing
AWS Services
AWS ECR
AWS ECS
AWS EKS
AWS ALB
AWS CloudFront
About Customer
An immersive learning company on a mission to simplify authoring and delivery of high quality content. Content that is easy to create and easy to consume in multiple ways via their platform for training healthcare, mechanical, and technical industries.
Executive Summary
The customer is redefining how immersive training is created and delivered. Their platform allows experts to collaborate and create training content to share with learners. The platform includes client side applications on PCs and mobile devices as well as the web.
Customer Challenges
Feature releases required tight coordination due to limited integrated testing environments.
Builds and deployments required development intervention to trigger and validate.
Features that were deployed to different environments were manually tracked and were not well documented.
Geographically distributed teams created challenges in managing the state and stability of environments.
Why the Customer Chose ThoughtSimplified
ThoughtSimplified has extensive expertise on DevOps and the software development lifecycle from innovation to operations. After discussing the challenges the customer faced we were chosen to harden and improve the quality and stability of the development and operational processes.
ThoughtSimplified's Solution
ThoughtSimplified reviewed the current development environment with the customer's development team and stakeholders and proposed the following.
Architecture Diagram
Pre-Production Environments
Code and CI/CD pipelines managed in gitlab with specific roles to control build and deployments
React SPA and backend services containerized and deployed to AWS EKS with an ALB to route requests
DB persistence created for each dynamic feature environment
All infrastructure should be defined and managed as code (IaC) in repository
Production Environment
After completing and testing pre-production cloudformation templates and CI/CD pipelines, ThoughtSimplified used these scripts as a starting place for a set of production infrastructure. The main changes are summarized by the following:
CI/CD pipelines should be hardened for production releases
Backend EKS worker nodes should be deployed across multiple AZs for high availability
Results and Benefits
After the process improvements the following benefits were achieved
Improved Infrastructure Management
Configuration Cloudformation templates
Runtime Logs, Monitoring and Alarming
Increased Development Velocity Operational tasks have been automated
Increased Platform Stability Manual intervention has been minimized and deployed code is self documented by the environment branches and merge requests
About the Partner
ThoughtSimplified is an AWS Select Consulting Partner with a focus on DevOps and application modernization.