Setting the Foundation for Future Cloud Work

Our EdTech leader client provides LMS solutions for 100 million learners each day in 90+ countries.

Teaming up with them for the third time, we enabled cloud automation improvements to level up product performance and support their development teams.

What We Did

Cloud Microservices, DevOps, AWS Infrastructure, Infrastructure as Code (IaC), DevOps Automation, Cloud Automation

Tech Stack

Python, AWS, Kubernetes, Go, Terraform, Packer

Opportunity

Our client is the world’s largest Learning Management System (LMS) provider. This EdTech company provides LMS solutions for students, parents, teachers, and schools in 90+ countries. 100 million learners rely on our client’s tools to collaborate in and out of the classroom.

We previously teamed up with them to speed up development on their cloud based LMS product and to streamline their DevOps practices. Looking to the future, our client wanted to build a solid foundation in Amazon Web Services (AWS) for their suite of cloud-based microservices. Having gone through many acquisitions, their tool base was fragmented, leading to product and team inconsistencies. This made it difficult for developers to move between products to accomplish work efficiently. 

Our client hired SEP to improve their cloud automation, empowering their development teams with the right tools and enhancing performance of their products.

Solution

To create this foundation, we built reusable infrastructure for their microservices. The infrastructure has two aspects: 

  • Resources to run their apps (for example, automation to setup and run a Kubernetes cluster)
  • Tooling to support their services (things like shared logging, static code analysis, etc). 

The infrastructure we built with our client automates a Continuous Integration (CI) and quality check pipeline. When developers commit code, the pipeline automatically runs, giving them almost instantaneous feedback on build problems, failed tests and code metrics. Our client’s developers loved the Packer pipeline we made to automate a portion of the AWS build process.

Using microservices makes a system more complicated, requiring more experts to keep the system running. However, it allows developers to specialize, instead of needing to know everything about the whole system. Microservices also make it easier for our client to integrate newly acquired products in the future. The performance and scalability make this the right path for them as they continue to serve more and more education institutions.

Results

Previously, our client’s product was a considered monolith and only had the capability to run on an on-premises or hosted server. Switching over to the cloud-based microservices model allows them to scale up performance only where needed, saving money. It also yields a better uptime percentage – if one part of the product isn’t working, our client can repair that specific area without impacting the whole product. 

This effort was a long term play, providing a big return to our client over the next several years. We helped them build this foundation for their cloud microservices and empower product development teams with powerful tools that accelerate development across the company’s suite of products.

Recent Case Studies

Transforming Operations Through Cloud Development Services

We helped our client migrate from Heroku to AWS, making their cloud operations more secure, cost effective, and easy to maintain—all with zero downtime.
Read More

Using Collaboration to Build a Better Product

Through collaboration, adjusting team composition, and digging deep with a product-centric mindset, we were able to learn more early on.
Read More

Supporting Ag Dealers in Customer Service

We leveled up our ag client’s Agile development and product ownership chops and added key features to their dealer web app.
Read More

Let’s develop something special.

Reach out today to talk about how we can work together to shake up your industry.