To streamline the process for scaling compute resources and converting monolithic applications into a modern microservices architecture, Let’s Go Learn needed assistance migrating its e-learning platform from a colocation data center to the cloud. To take on the challenge, the company turned to Mission, which designed a containerized infrastructure in Amazon Web Services and assisted in migrating the platform. Let’s Go Learn leverages Mission's Cloud Elevate service to streamline code deployments while Mission Cloud One monitors the performance of the AWS environment, and Mission Cloud Foundation enables cost optimization of compute resources. Let’s Go Learn can now convert its monolithic applications and has eliminated the need for internal personnel to maintain the database system. The solution designed by Mission also improves web page load times, eliminates intermittent routing issues, and reduces database response times for customers from seconds down to milliseconds. In addition, the internal software development team at Let’s Go Learn can deploy application updates in the middle of the day—with no downtime and without disrupting the e-learning platform performance. The solution also scales up compute resources automatically and right-sizes compute resources, which Let’s Go Learn projects will reduce cloud infrastructure costs by 25-30%.
“Mission impressed us with their experience in DevOps, which is always a challenge unless you hire someone as an internal resource. Collaborating with a skilled DevOps team like Mission helped us move forward with our migration, knowing we would have help with the nuances of our application environment. Migrating and upgrading can be painful, but we were able to achieve these with the Mission Cloud Elevate team by our side."
Director of Engineering
When the COVID pandemic impacted the world in 2020, demand for the Let’s Go Learn e-learning platform exploded. At the time, the company provisioned the platform from a colocation data center. But Allan Heaton, the Director of Engineering, knew it was time to migrate to the cloud.
One of the key technologies Heaton wanted to tap into within the cloud was big data analysis. School districts that rely on the Let’s Go Learn platform need access to test result data so they can identify learning trends and make adjustments to teaching strategies when necessary.
“We could build a big data analytics service on our own, but that would take up valuable resource time,” Heaton says. “So we wanted to migrate to an environment where the cloud provider had already developed such a service that we could implement quickly.”
Another challenge Heaton was looking to solve by moving to the cloud was the ability to quickly spin up new environments for large school districts. This would require streamlining the DevOps process and efficiently managing the server infrastructure. To achieve this objective, Heaton wanted to containerize the platform applications and create a server environment using infrastructure as code.
“These capabilities would enable us to spin up new mirrored environments with dedicated compute resources so school districts wouldn’t have to contend for shared resources,” says Heaton. “This approach also improves application performance and gives us greater transparency in identifying potential problems between our application and the infrastructure.”
In addition, the internal software development team at Let’s Go Learn was managing the colocation IT infrastructure that supported the e-learning platform, a situation that became untenable as the size of the server bank grew. Besides wanting to migrate to the cloud to take advantage of new infrastructure technologies, Heaton needed to find a partner who could manage the environment so the software team could focus on application development.
“We reached a point where the colocation model limited our ability to scale our services to meet the increased demand. We also wanted to modernize our monolithic applications, and the flexibility of the cloud made it the next logical step for our growth.”
Director of Engineering
Heaton considered migrating the Let’s Go Learn infrastructure to Amazon Web Services (AWS) as well as the Google Cloud Platform and Microsoft Azure. AWS quickly emerged as the winner by providing a more user-friendly platform that’s easier to navigate and simplifies identity access management to keep the environment secure.
“AWS also provides a larger cloud footprint with data centers across the U.S.,” Heaton adds. “That means students and teachers can experience fast application performance no matter where they log in from. We also have schools in Asia using our platform, so we can take advantage of the AWS global presence. We can use the infrastructure-as-code approach in AWS to quickly spin up environments in another region.”
After choosing AWS as the cloud environment for the Let’s Go Learn infrastructure, Heaton then researched potential partners to assist with the migration as well as ongoing DevOps management and monitoring of the AWS environment. While talking with partners and colleagues about potential partners, Heaton received a strong recommendation from AWS to consider Mission.
Strategy and Solution
Mission built a container version of the e-learning platform in an Amazon Elastic Kubernetes Service (EKS) cluster, which will give Let’s Go Learn the ability to convert monolithic applications into modern microservices applications. Mission first set up a staging cluster for testing the platform in the cluster, and then implemented an extensive QA process followed by moving the platform into a mirrored production environment. Let’s Go Learn now has two staging environments for future development to go along with the production environment.
As part of the AWS infrastructure, Mission deployed Amazon RDS for PostgreSQL, a serverless managed database that eliminates the need for Let’s Go Learn personnel to maintain the system. Another key component is Amazon CloudFront, which caches application images to improve web page load times.
Additional services include Mission Cloud Elevate. The Mission Cloud Elevate team uses tools such as AWS CodePipeline to streamline deployments so with just a couple of clicks, Let’s Go Learn can execute blue-green application updates in the middle of the day—rather than waiting for evening or weekend maintenance windows. Other key services include Mission Cloud One for monitoring the performance of the AWS environment and Mission Cloud Foundation for cost optimization of compute resources.
To ensure a smooth migration, Mission documented all the steps, including how to check URLs, and then allocated standby resources to make sure the cutover went well. The transition was seamless for Let’s Go Learn customers as Mission assisted in completing the migration during a summer weekend when online customer activity is low.
Results and Benefits
“Following the migration, we had no complaints of latency,” says Heaton. “And the intermittent routing issues we experienced in the colocation data center went away.”
Let’s Go Learn is also seeing improvements in the speed of database response times with Mission Cloud One providing transparency into the company’s New Relic application performance monitoring tool. “Database response times have decreased from seconds to milliseconds,” Heaton says.
The image caching set up by Mission has improved the performance of how long it takes for web pages to load. Part of the reason why page loads took so long in the colocation data center was that shared resources couldn't be controlled. “But now we have our own virtual private cloud,” Heaton points out. “This keeps traffic from interfering with itself.”
Heaton also appreciates the project management Mission provides to keep migrations on schedule and to quickly resolve issues. “We are also impressed with the depth of AWS knowledge that Mission has,” Heaton adds. “No matter what questions we have, they can advise on the best practices and help us make sure we implement new services securely.”
Two additional areas that improved markedly for Let’s Go Learn are code deployments and scaling compute resources. “The update process is seamless, which is a big deal because we deploy code every two weeks, and it's important to do so without disrupting the e-learning platform for our customers,” says Heaton. “We're also able to scale up resources without any downtime.”
Mission has also assisted Heaton with cost optimization. “We’re analyzing the first several months of performance information from our AWS environment to make sound decisions on right-sizing and auto-scaling compute resources,” says Heaton. “Once these policies are fully implemented, we anticipate a 25-30% reduction in our overall infrastructure costs. In the past, if something was slow in our colocation data center, we upgraded resources, which added to our costs. Now, we look at horizontal automatic scaling, which gives us cost savings in the long run.”
Perhaps the most important benefit for Let’s Go Learn is that Mission has set the stage for Heaton’s software development team to complete the journey of converting the e-learning platform from monolithic applications into a microservices architecture. “With the containerized environment, we will be able to update applications much easier and roll out new services faster for our customers,” says Heaton. “And that will help us fulfill our mission of improving the learning process for students around the world.”
Looking ahead, Let’s Go Learn will continue to rely on Mission to manage DevOps and monitor the AWS environment for performance and cost-optimization measures. Heaton also plans to collaborate with Mission to convert the AWS environment to a serverless architecture.
“Our first goal was to migrate to AWS, which we accomplished, and now we can focus on tuning. Mission has set the stage so that when we are ready to go serverless, we’ll be able to. This will provide us the opportunity to leverage the Amazon API gateway combined with AWS Lambda functions that will automate the data analysis that the school districts require.”
Director of Engineering
Before partnering with Mission, Heaton’s software development team was used to doing everything themselves. Today, they appreciate having a partner like Mission alongside to remove the burden of managing the IT infrastructure supporting the e-learning platform.
“It’s good to get the fresh perspective Mission brings to keep us up-to-date with current technologies,” Heaton adds. “We trust that our environment will always run efficiently and deliver the performance our customers require.”
- Amazon Elastic Kubernetes Service (EKS)
- Amazon RDS for PostgreSQL
- Amazon CloudFront
- AWS CodePipeline
- Amazon API Gateway
- AWS Lambda
- New Relic
- Ghost Inspector