Migration of EduNect educational website to AWS
Migrating EduNect educational website to AWS made it possible to handled user traffic during the pandemic and expanded the platform with text-to-speech functionality through Amazon Polly deep learning solution.
EduNect.pl is an e-learning platform aimed at primary schools. EduNect is one of the educational systems of choice for pupils used to review, test, compete, and self-study, and, as the pandemic has shown, also a great tool for remote education.
Due to the pandemic, user traffic increased significantly, and the existing infrastructure was not prepared to handle the load. To maintain basic functionality on the platform, traffic for new users had to be limited. This was not a feasible solution due to the business model used in the solution. The infrastructure was not designed to allow dynamic resource management and was not capable of autoscaling.
After analysis, Hostersi suggested rebuilding the infrastructure as an autoscaling group. To facilitate the schedules and intensive software development plans, we introduced AWS CodeDeploy and Terraform for application and infrastructure as code deployment respectively. System and application parameters are stored in the Systems Manager Parameter Store. The decision to use Amazon Polly to provide Text-to-Speech features was made In the initial meetings between Hostersi’s DevOps and the application development team. The service can produce natural-sounding speech, which is important, as the majority of users and educators on the platform utilize it for foreign language studies.
Load Balancer – handles forwarding requests to appropriate instances
CloudFront - used for content caching and effective protection against DDOS attacks
Amazon Simple Email Service (SES) – handles application outgoing E-Mail features
Amazon EC2 Systems Manager Parameter Store - stores the configuration data of the docker environment
Amazon S3 - stores static application elements
CodeBuild - management, synchronization, and upload of files to S3
CodeDeploy – integration of new application versions
CodePipeline - automates the implementation of new application versions
Amazon RDS for MySQL – database solution, provides access to application data
Amazon CloudWatch - infrastructure monitoring tool
Amazon Simple Notification Service (SNS) – used for system event notification
Amazon Polly – Text-to-Speech solution
Terraform - infrastructure management tool
AWS was selected cloud, not for its scalability but also for its technologically advanced services, which will enable the development of new system functionalities in the future.
EduNect has gained a new stable and scalable infrastructure that is capable of handling virtually unlimited traffic generated by the application and website’s users. AWS CodeDeploy and Terraform based deployment allowed to accelerate the implementation and deployment of subsequent versions of the application.