Branching Minds
Scaling AWS services with Kubernetes before the school year
Challenge
Scaling services to handle 2x the normal volume
Services
DevOps and Maintenance, Managed Kubernetes services
Outcome
Scaling with Kubernetes to successfully deliver services to 2x the volume of school districts
About Branching Minds
Simplifying instructional and behavior challenges so all students succeed
Branching Minds is a highly respected K-12 services and technology company that works with hundreds of districts across the country to simplify their biggest instructional and behavioral challenges through established learning practices and processes. Combined with their extensive toolkit of resources, PD, and technology, Branching Minds delivers sustainable results for educators and a path to success for every learner.
The Challenge
Automating scaling to accommodate growth
Branching Minds had plans to onboard a large school district and needed to scale their platform to accommodate the increase in new users and content. The team wanted to take advantage of containers to automatically scale the application resources for performance.
The previous architecture was limited to basic AWS services and custom tooling, and the re-architecture and re-build of the app would be very time consuming. The Branching Minds development and operation teams were constrained in capacity and wanted to accelerate progress.
Grafana graph example
The Solution
thoughtbot and Branching minds got to work developing a continuous integration and deployment pipeline
We built a new platform with Branching Minds and set up the EKS cluster, CI/CD pipeline, load balancers, and managed the gradual traffic shift to the new platform.
We migrated traffic from the existing platform by creating an ALB to replace their classic ELB, with a single target group for the existing EC2 instances. We used weighted Route53 records to gradually move traffic to the ALB. We then added the new platform as a separate target group and gradually shifted traffic to the new platform.
With the new platform, Branching Minds could more easily manage the developer environment, automate the process of getting code to production, and recover in the event of a disaster.
With the new tools in place Branching Minds could focus on developing metrics for the application and system services. thoughtbot worked closely with the team to establish and visualize Service Level Objectives (SLOs) and Error Budgets with Grafana dashboards.
We configured alerts for when SLOs are not being met to notify our on-call support team to address any issues.
Grafana graph example
The Outcome
Branching Minds is successfully delivering services to 2x the volume of school districts, with plans to expand even more
The new platform allows thoughtbot’s support team to easily monitor and observe when system performance is about to affect user experience before issues have occurred. Through the trust built into the process and quality of ongoing support, thoughtbot is working together with Branching Minds to identify future platform enhancements to enable the company to expand services to many more school districts.