A leader in the test-preparation industry, Kaplan Test Prep (Kaplan) provides preparation for more than 100 standardized exams, including college admissions and professional licensing, to nearly half a million students and professionals each year in more than 100 countries. In 2014, Kaplan migrated its data center and customer-facing applications to the Amazon Web Services (AWS) Cloud. After three years on AWS, the company was ready to redesign its infrastructure and streamline operations to run more efficiently. This effort was a part of a broader initiative to transform Kaplan into a platform-based company.
Founded in 1938, Kaplan evolved from a franchise-based network to a national-center-based operation, and more recently, to a platform-based organization. The company's continuous transformation brought with it additional systems and processes, resulting in multiple disparate systems. To improve customer experience and improve operational efficiency, Kaplan decided to consolidate its learning and assessment systems onto a single learning platform.
The platform is built using microservices, which allows Kaplan to quickly roll out new features, fixes, and system upgrades across its products in a way it couldn’t previously. Also, Kaplan reduced costs and improved developer satisfaction. Most importantly, Kaplan is now able to meet customer needs more quickly than before by using the new platform to reduce time to market for new features.
In the past, Kaplan used Amazon Elastic Compute Cloud (Amazon EC2) to host its applications. The applications had to be updated manually by operations engineers and had four dedicated Amazon EC2 hosts, on average. “To deploy an application update could take hours,” says Roven Drabo, head of cloud operations at Kaplan. “A cost analysis showed we were spending more than $500 per month, per application on Amazon EC2.”
After switching to a microservices-based architecture using Amazon Elastic Container Service (Amazon ECS) and Docker containers, Kaplan realized significant cost savings. “We have more than 500 containers currently in production,” says Drabo. “We’ve reduced the number of Amazon EC2 instances by 70 percent, which resulted in a 40 percent cost saving per application.” Kaplan also automated its container provisioning, saving significant time.
Using automated container provisioning available from Amazon ECS has also allowed Kaplan to reduce deployment times, increase update frequency, and improve developer satisfaction. “When developers deploy a container, it is pushed to AWS in a matter of minutes with zero operational involvement,” says Drabo. Kaplan deploys application updates multiple times per day and expects the pace to pick up. “Operations overhead has reduced now that developers can manage their deployments, which is icing on the cake," says Drabo.