Moving infrastructure from US to EU

Our project with EdTech startup Sumdog started as a standard IaC refactor but evolved into a full application and data migration from US to the AWS EU region - driven by Brexit and UK data privacy requirements including Cyber Essentials Plus.

Industry

EdTech

Location

Scotland

Time

03.2022 - 04.2023

Company

Sumdog

Technologies used

AWS Terraform Docker

Overview

Sumdog is an educational platform that provides online learning games for primary school children. With over 7,500 schools in the UK using their platform, Sumdog is committed to providing the best possible experience for its users.

To achieve this goal, the company decided to refactor its Terraform code, migrate its data to Amazon RDS using the latest Graviton processors, and move its infrastructure to the European AWS region for compliance reasons. The project’s objective was to improve platform performance, ensure compliance with EU data protection regulations, enhance data security, reliability, and reduce costs.

This engagement combined our cloud migration services with security and compliance expertise - from detailed infrastructure audit through to a fully compliant, production-ready environment.

Challenges

Sumdog faced several challenges during the project:

Solution

When Sumdog decided to collaborate with Devopsity (after our partner’s recommendation), our team began by creating a detailed project plan, including a schedule and a list of milestones. We also conducted a thorough analysis of the existing infrastructure to identify any potential issues.

The first and most challenging step was upgrading the Terraform code to the latest version. The challenges came mostly from the fact that it was attempted by various engineers multiple times before, and the code base showed a significant combination of Terraform versions and side tools like CloudFormation, Ansible and Packer being used. The Sumdog team didn’t have a specific plan for this process, but Devopsity worked closely with the developers to identify necessary code changes. Extensive testing was also conducted to ensure that the new code was stable and did not impact platform performance.

The next step was migrating data from EC2 to RDS using AWS DMS (Data Migration Service). The team optimized the database settings to take advantage of the latest Graviton processors, which improved platform performance and reduced its cost. To ensure data security, AWS Database Migration Service was utilized for a homogeneous migration of data between the EC2 and RDS systems. This service facilitated a swift, secure transfer with minimal downtime and zero data loss.

The final step was moving the infrastructure to an EU account. This required coordination with multiple teams and a thorough understanding of EU data protection regulations. The team developed already existing Terraform and Dockerized applications to adapt them to run within AWS native Elastic Container Service cluster. In the process we took special care to meet the goal of creating a fully automated deployment process with complete infrastructure-as-code coverage.

Ultimately, Devopsity established a custom automated backup solution allowing the client to take and restore both full and partial copies of the data. The created backup solution together with complete IaC coverage allows for swift recovery from most common Disaster Recovery scenarios without investing into more expensive multi-region solutions.

The entire CI/CD pipeline was rebuilt to support automated testing and deployment, giving the development team confidence to ship changes without manual intervention.

For a deeper look at the compliance and data residency angle of this project, read our blog post on UK data residency after Brexit.

Conclusions

Through regular weekly meetings with key stakeholders from Devopsity and task planning, the project was completed on time. Sumdog achieved its goals while staying within the set deadline and budget. The most significant and measurable outcome of these efforts was the improvement in platform performance and faster delivery for the development team. In the process the team managed to significantly cut technical debt by mostly removing obsolete tools and technologies like Ansible and Packer and moving critical databases into managed and easily maintainable AWS RDS service. While doing so, a secondary goal of reducing overall hosting spending has been achieved with significant results. The use of Terraform and Docker to create infrastructure as code streamlined the deployment process, minimized human errors, and ensured consistency across environments. Leveraging Terraform, Docker, and AWS services such as ECS, RDS, DMS, Lambda, Batch, and S3 simplified the migration process, automated tasks, and improved overall platform reliability. This approach also facilitated infrastructure management for Sumdog, while the backup system configuration provided a sense of security.