Education.com Modernizes Its Online Education Platform by Migrating to AWS Cloud
Challenge
Education.com’s data center vendor decided to close its facility, forcing the SaaS company to seek a new infrastructure solution.
Solution
ClearScale designed a new architecture spread across two Availability Zones and deployed AWS managed services.
Benefits
Because Education.com moved to the cloud, the platform is more available, secure, reliable, and cost-effective.
AWS Services
Amazon Elasticsearch Service, Amazon RDS, Amazon ElastiCache, AWS Key Management Service (KMS), Amazon Virtual Private Cloud (VPC), Amazon Elastic File System, Amazon EC2, AWS CodeDeploy, Elastic Load Balancing, AWS WAF
Executive Summary
Education.com provides a SaaS learning platform that delivers online resources for teachers, parents, and homeschoolers. Headquartered in San Mateo, CA, Education.com creates learning experiences that inspire each child’s passion, curiosity, and optimism to help them succeed in school.
Featuring over 30,000 games, worksheets, activities, and lessons, the resources at Education.com can be tailored to every child’s unique interests and needs. Its comprehensive curriculum covers core skills across math, reading, writing, ELA, science, and more. For greater learning flexibility, parents and teachers can follow Education.com step by step, create their own curriculum, or explore specific subjects in greater detail.
Over 18 million teachers and parents worldwide have joined Education.com, making it the leading online education destination. To learn more, visit www.education.com.
The Challenge
Education.com’s network infrastructure was hosted on physical servers in a data center in Virginia. But, when its data center vendor decided to close the facility, Education.com needed to migrate its services. This provided a great opportunity to modernize the infrastructure stack and move up to the Amazon Web Services (AWS) Cloud platform.
The new AWS Cloud infrastructure would offer highly available customer-facing and underlying services as well as improved security and compliance. Education.com would be able to scale according to the current load and use continuous integration and continuous delivery (CI/CD) automation for deployments. The new infrastructure also would provide separate environments for deployments, QA, staging, and production.
To create the infrastructure that would provide these advantages and best practices, Education.com brought in ClearScale, an AWS Premier Consulting Partner, with extensive experience in migrations and an AWS Migration Competency status.
The ClearScale Solution
The ClearScale team gathered information about Education.com’s requirements and software dependencies. They then began designing a new AWS Cloud-based architecture that would offer high availability without any single points of failure.
The new architecture is a standard load-balanced design. It features auto-scaled groups of application instances spread across two Availability Zones, with a third Zone for MongoDB redundancy. MongoDB is a scalable, flexible document database that stores data in JSON-like documents and offers full querying and indexing features.
Architecture Diagram
To improve monitoring and provide centralized logging, the team deployed the ELK Stack (Elasticsearch, Logstash, and Kibana). Kibana and Elasticsearch provides real-time application monitoring as well as log and clickstream analytics. Kibana is ideal for visualizing and exploring data stored in errors and logs. It features log and time series analytics, application monitoring, and operational intelligence use cases.
The ClearScale team deployed Amazon-managed services wherever possible.
At the database tier, they leveraged Amazon Relational Database Service (RDS) and AWS ElastiCache in multi-AZ configurations. RDS allows database encryption using keys managed through AWS Key Management Service (KMS).
ElastiCache is a service that makes it easy to deploy, operate, and scale an in-memory data store or cache in the cloud.
To ensure high availability, ElastiCache was used to launch Memcached, the distributed memory object caching system, in at least two Availability Zones per region.
Amazon Virtual Private Cloud (VPC) is a virtual network dedicated to the AWS account, and was also deployed. Logically isolated from other virtual networks in the AWS Cloud, VPC enables Education.com to launch AWS resources into a predefined virtual network that closely resembles a traditional network in a data center. The VPC infrastructure and its managed services are provisioned with Terraform, a tool for building, changing, and versioning.
Amazon Elastic File System (EFS) provides easy to use, scalable file storage for Amazon EC2 instances in the AWS Cloud. With EFS, storage capacity is elastic, growing and shrinking automatically as files are added and removed, so applications have the storage they need anytime.
For CI/CD, ClearScale used Jenkins with AWS CodeDeploy to deploy and configure applications on Amazon Elastic Compute Cloud (EC2) instances. EC2 is a web service that provides secure, resizable web-scale cloud computing. CodeDeploy is tightly integrated with AWS Auto Scaling to eliminate delays between starting new nodes and deploying applications.
Jenkins Diagram
Each application tier is based on custom Amazon Machine Images (AMIs) built with Packer, an open-source tool for creating identical MIs for multiple platforms from a single source configuration. More intensive tasks — such as OS updates, installing base software dependencies, and others — are devoted to AMIs in order to decrease deployment time. Less intensive tasks, such as application-specific OS tuning, deploying, configuring application build, and more, are performed in CI by CodeDeploy.
Application Programming Interfaces (APIs) are launched behind the application load balancer in AWS AutoScaling, scaling up and down policies in private subnets. Each API is deployed from CodeDeploy source bundles prepared by Jenkins, and applications have mounted EFS storage.
All internet-facing web applications run behind AWS Elastic Load Balancer. In the new infrastructure, ELB is configured to route all site traffic, including dynamic pages. The web applications are protected by Amazon Web Application Firewall (WAF), which provides control over which traffic to allow or block by defining customizable web security rules.
The architecture also includes three AWS environments each with its own VPC using the same architecture. To improve segregation, ClearScale used two separate AWS accounts: one for Staging and QA and the other for Production. The implementation process for these environments began with automation and included developing Terraform templates for the infrastructure, Packer scripts for building AMIs, and Jenkins/CodeDeploy jobs for CI/CD.
The ClearScale team tested the applications in the new environment, fixed any issues, and managed any additional requirements. Finally, full, comprehensive documentation was created, covering all aspects of each environment’s automation, provisioning, and handling.
The Benefits
Now that Education.com has successfully migrated to the AWS environment, they have benefited from a highly available service. Because the infrastructure is distributed across multiple Availability Zones, there is no longer a single point of failure.
Education.com also gained improved monitoring, with deep insight into the infrastructure's health and current load. And because the company no longer has to pay a flat rate for pre-provisioned hardware, but pays only for what it currently uses, it saves on infrastructure costs. Current monthly costs are about 20% lower.