DevOps Process Improvements
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 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. The lack of integrated development environments slowed down testing and delivery of new features. Distributed development teams created challenges in managing the stability of environments.

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.

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.

Front-end Architecture Diagram

Front-end Architecture Diagram

Back-end Architecture Diagram

Back-end Architecture Diagram

Pre-Production Environments

  • Code and CI/CD pipelines managed in gitlab with specific roles to control build and deployments
  • Backend services containerized and deployed to AWS ECS with an ALB to route requests
  • React SPA application deployed to cloudfront CDN in integrated environments to reduce operational complexity and remove the web tier cluster
  • 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 ECS services 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

About the Partner

ThoughtSimplified is an AWS Select Consulting Partner with a focus on DevOps and application modernization.