Kaplan Case Study
Kaplan, Inc. serves more than 1.2 million students globally each year through its array of higher education, test preparation, professional education, English-language training, university preparation, and K-12 offerings to individuals, institutions, and businesses. Throughout its 75-plus year history—first as test-prep pioneer, then an early online-education leader, and now a global education provider—Kaplan has been recognized for expanding educational access and using technology and learning-science innovations to continually improve outcomes for its students and partners. Kaplan has operations in more than 30 countries, employs more than 22,000 professionals, and maintains relationships and partnerships with more than 1,000 school districts, colleges, and universities, and more than 2,600 corporations and businesses. Kaplan is a subsidiary of Graham Holdings Company and its largest division.
By using AWS CloudFormation and the AWS Command Line Interface (CLI), we have a level of control and standardization that we could not achieve within our on-premises data centers."
Executive Director of Technology Services, Kaplan
Today Kaplan consists of many divisions with varying IT infrastructure needs and fluctuating usage patterns, including Kaplan’s Test Prep division (KTP), which prepares students for admissions tests like the SAT, ACT, GRE, GMAT, LSAT, MCAT, and professional licensing exams. To support KTP, Kaplan was running its development and testing environments in a Tier 1 collocated datacenter in New York City. When Tropical Storm Sandy, one of the deadliest and most destructive storms of the 2012 Atlantic hurricane season, swept through the city, the hosting center went down for approximately two weeks.
“Thankfully, our production environment remained operational, but having to worry about what could happen was always on our mind,” says Kaplan Executive Director of Technology Services Chad Marino. Kaplan’s manual backup and recovery resources were also based in New York City. “Having our backup environment in the same city as our production environment is also a major concern that needed to be addressed,” explains Marino.
Additionally, as the business grew in size and its IT architecture increased in complexity, it became progressively difficult for Kaplan to meet the Payment Card Industry Data Security Standard (PCI DDS) and service organization control (SOC) compliance. Kaplan needed to find a flexible IT infrastructure that would allow it to grow while improving overall resiliency, security, and agility.
Why Amazon Web Services
Kaplan was running 12 different data centers across the organization and started moving its applications to Amazon Web Services (AWS) to consolidate its infrastructure. According to Marino, “One of the things driving us to move to the cloud was dealing with end-of-life hardware and running out of space in our data center.”
Kaplan was also attracted to the maturity of AWS offerings. “Amazon Relational Database Service (Amazon RDS) allows our DBA team to focus less on the day-to-day maintenance and use their time to work on enhancements. And Elastic Load Balancing has allowed us to move away from expensive and complicated load balancers and retain the required functionality,” says Marino.
Migrating to the AWS Cloud
Tropical Storm Sandy prompted the company to migrate KTP and additional shared services, part of the Kaplan Higher Education and Kaplan International divisions, to AWS, totaling up to 900 GB of data. “We started in May 2013 by moving the development, quality assurance, and staging environments to AWS,” says project manager Ravi Munjuluri. “We completed that part of the transition by October and began planning the production migration. By January 2014, we began moving the pieces of the application stack in the production environment over one by one to minimize the impact on the business. Our final push was in August and it all occurred over a weekend. We started on Friday and were up and running by Sunday morning.”
As part of the move to the cloud, Kaplan migrated about 50 applications and 50 nested sub-applications in its stack. In the collocated data center, the division used a storage area network (SAN) to connect to x86 servers, Sun Sparc processors, and the Solaris operating system to six Oracle Database 10g and Windows SQL databases.
Kaplan migrated its application stack to Amazon Virtual Private Cloud (Amazon VPC), hosting the databases on a mix of Amazon Elastic Compute Cloud (Amazon EC2) instances using Amazon Linux Machine Images and Amazon Relational Database Service (Amazon RDS) for Oracle. Marino says, “Our goal is to move completely to RDS for all databases for ease of management and resizing capabilities.”
To monitor its resources, Kaplan uses Amazon CloudWatch, a service that collects and tracks usage metrics and manages alarms. Using CloudWatch also allows the company to optimize its resources by, for example, right-sizing its instances when utilization rates fall.
Best Practices for Migrating to the Cloud
The Kaplan team designed the migration of data around Oracle’s built-in tools. “We used AWS PERL scripts to migrate the data, which were really great,” says Avi Hack, director of systems architecture and engineering. With the combination of scripts and AWS Elastic Beanstalk, the company was able to automate time-consuming processes and pre-stage the migration environment, which made the overall process much faster and easier.
As part of its migration, Kaplan decided to leverage multiple AWS regions and Availability Zones, including some in the United States, Asia Pacific, and Europe. The company uses Amazon Route 53 as its DNS solution to route user traffic to the nearest Availability Zone and as a result improve the overall user experience, reducing latency. “Using multiple regions allows us to put our data closer to the customer for a better end-user experience,” says Marino.
Kaplan’s preparation made much of the transition to AWS seamless. Kaplan also leaned on AWS Support, Business-level, throughout the migration for acknowledgement and best practices. “Leveraging AWS Support has been key in addressing issues that we may experience,” says Marino.
More than 250 people from development, operations, architecture, and database teams were involved in the migration to AWS. “In order to plan a migration of this size, it is critical to work with all teams within IT to pull it off, from development down to the infrastructure operations team,” says Marino.
After moving the KTP division to AWS, Kaplan sold the legacy equipment and closed the data center. The company continues to re-architect applications for various divisions as it continues migrating to AWS, and today Kaplan has reduced its data center footprint from 12 to 4 facilities.
Besides a more reliable infrastructure and less latency, Kaplan has also gained better insight into the cost of its applications and systems. “By tagging all instances in AWS, we are now able to look at specific costs from the application layer down to every resource associated with an application. This has allowed us to surface the hidden costs for operating applications,” says Marino.
Kaplan anticipates further improvement to the development process using AWS. Hack says, “By using AWS CloudFormation and the AWS Command Line Interface (CLI), we have a level of control and standardization that we could not achieve within our on-premises data centers. We can now easily spin up environments and remove them when we are finished with them.” Marino explains, “This allows us to take advantages of the strength of AWS while maintaining the strengths of our on-premises data center, and gives our developers the time to retool our applications to run on AWS.” The Kaplan team says it will continue to look for opportunities where it makes sense to move systems and applications away from traditional data centers and into the cloud.
Kaplan, Inc. serves more than 1.2 million students globally each year through its array of higher education, test preparation, professional education, English-language training, university preparation, and K-12 offerings to individuals, institutions, and businesses.
AWS Services Used
Set up, operate, and scale a relational database in the cloud with just a few clicks.
Elastic Load Balancing
Achieve fault tolerance for any application by ensuring scalability, performance, and security.
Provision a logically isolated section of the Amazon Web Services (AWS) Cloud where you can launch AWS resources in a virtual network that you define.
Secure and resizable compute capacity in the cloud. Launch applications when needed without upfront commitments.
Companies of all sizes across all industries are transforming their businesses every day using AWS. Contact our experts and start your own AWS Cloud journey today.