Case Study - Automated DevOps and CI/CD for subscription-based dental services platform - itrac

Executive Summary
itrac, LLC serves as an alternative to traditional insurance, providing their SaaS platform to deliver subscription-based programs to dental practices. They have a containerized solution for managing dental clubs, payments, and clients.
Stratus10 assisted itrac in rebuilding their cloud infrastructure into a secure, well-architected environment capable of meeting their compliance, security, and performance goals. The entire solution was delivered through repeatable CloudFormation templates that are reusable as new components and services. Stratus10 also helped itrac set up CI/CD pipelines for their components, improving delivery speed, and providing more stable, testable solutions.
Highlights
- Eliminated manually deployed infrastructure by switching to CloudFormation for infrastructure as code (IaaC) deployment
- Introduced AWS ECS for container orchestration
- Added horizontal auto scaling capabilities
- Switched to AWS CodePipeline for automated CI/CD deployments, doing away with the need for manual deployments
About itrac
Website: www.itracllc.com
itrac, LLC owns and operates companies dedicated to the development of the next generation of retail healthcare. itrac's illumitrac Software enables dental practices to power their own in-house membership for patients that don’t have dental benefits. This enables a practice to utilize a subscription model, thereby reducing dependence on the third-party insurance model. itrac’s Dental Revolution is a full-service firm that provides independent dental practices access to industry leading growth marketing solutions.
Challenge
itrac needed a way to speed up their deployments to better serve their customers. Their platform consisted of numerous distributed microservices deployed as containers, which were responsible for serving the different itrac components of their dental practice subscription solution.
itrac was manually deploying their infrastructure, and creating a new environment would take them more than 3 weeks to get up and running. It was a complicated process, making it difficult to replicate environments. For this reason, itrac used shared infrastructure for all of their environments. While it simplified infrastructure configuration, they would not be able to meet their compliance goals with this setup.
Deploying was a manual and difficult process as well. Although itrac had containerized most of their application, they did not have any container orchestration in place, and would log onto their servers and use docker compose to deploy updates.
Additionally, their infrastructure had no auto scaling capabilities and as such, costs were not fully optimized and there was significant manual overhead required to ensure the existing capacity could handle future load spikes.
Finally, the lack of a CI/CD process hindered the ability to test changes before deploying to production. All of these manual, tedious processes make it nearly impossible for itrac to meet their compliance goals.
Why AWS and Stratus10
Stratus10’s experience delivering complex containerized solutions across the AWS ecosystem gave itrac confidence that their challenges would be resolved. Stratus10 was the ideal partner to successfully rebuild itrac’s cloud infrastructure, leveraging the right AWS services and implementing best practices to meet all security, performance, and compliance goals.
Solution
Stratus10 provided itrac with an automated, Infrastructure as Code approach to delivering their solutions platform infrastructure. The CloudFormation template is deployed as a nested stack alongside other components of their environment that Stratus10 helped automate. These templates fully automated the creation of network, compute, and storage infrastructure, and provided a consistently configured platform for itrac to build off.
All components of itrac’s environment were either deployed to their VPCs or leverage VPC connections, ensuring itrac’s traffic remains on its private network. The containers utilize the same AZs as the database, ensuring all private traffic remains local to the VPC. itrac can utilize the CI/CD process to deploy additional container services into an already existing environment.
Implementation
To enable automated deployment of environments as well as any number of new or existing microservices, Stratus10 split the CloudFormation templates into smaller nested deployments as well as microservices templates. AWS CodePipeline was used to handle deployment of the templates in order to eliminate the need to manually update CloudFormation.
Additionally, the microservices templates were written in a way that takes advantage of already existing networking infrastructure that was previously automatically deployed so that the microservices can get deployed alongside the existing services. This allows itrac to add new services to their service catalog without needing to modify the underlying environment infrastructure.
AWS Services Used
- AWS VPC
- AWS ECS
- AWS RDS
- AWS EC2
- AWS S3
- AWS Load Balancer
- AWS EFS
- AWS CodePipeline
- AWS CodeBuild
- AWS CloudFormation
- AWS CloudWatch
- AWS CloudWatch Logs
- AWS SNS
- AWS SQS
- AWS IAM
- AWS ElastiCache
- AWS Route53
- AWS WAF
- AWS CloudFront
Results and Benefits
Stratus10 was able to deliver a solution for itrac that addressed all of their challenges with a manually deployed infrastructure. Stratus10 helped reduce their deployment time from 3+ weeks to less than an hour. At the same time, this automation helped standardize their deployment, made it repeatable across environments, and brought trust back to deployments.
Stratus10 added auto scaling where it previously didn’t exist, eliminating the need for manual capacity planning, and provided CI/CD pipelines that allow testing changes in lower environments before promoting to production. Additionally, logging across all containers was aggregated using CloudWatch Logs.
Finally, itrac needed to repeatedly deploy new microservices environments automatically. The CloudFormation templates delivered by Stratus10 allows them to create and deploy new environments using the existing CI/CD process with relative ease.
About Stratus10
Stratus10 is an AWS Advanced Consulting Partner helping companies migrate to the cloud or if they are already on AWS we help them implement best practices. Specialty areas include application modernization, DevOps automation, migration, security, and cost optimization to help clients take full advantage of the latest technologies AWS has to offer.
Use case: AWS ECS, CloudFormation
Client: itrac, LLC
Date: October 2022
Category: DevOps Automation, CI/CD
Got questions? Talk to one of our representatives today and let us help answer all your questions!