The snapshot
1
Migrate existing workloads and data from their on-premise legacy data centre to AWS.
2
Perform a cutover to the new systems whilst ensuring business continuity.
3
Outline modernisation opportunities to help evolve security, resiliency, and cost efficiency.
About the customer
SportsShoes.com is an online running shoes, running clothing and outdoor gear retailer. Its mission is to help customers lead happier and healthier lives through running and fitness. To help achieve this, it focuses on providing a market-leading online shopping experience and ensuring customers make the best product choices to reach their fitness goals.
The Challenge
To meet increasingly stringent requirements for on-premises resiliency, SportsShoes.com wished to migrate its fulfilment applications, known as SystemX, to AWS. This migration would also lay the groundwork for stabilising the platform and exploring future modernisation opportunities.
SystemX consists of several MySQL 5.7 databases and PHP 5.6 applications. They were all running on the same network and physical hosts with varying hardware specifications. The applications and infrastructure had minimal monitoring and alerting integrations, making it difficult to diagnose any issues or disruptions to the live service.
SportsShoes.com’s concerns around migrating to the cloud stemmed from application suitability and latency issues.
The Goal
The goal was to migrate all SystemX components and other related services to AWS. With some workloads already running on AWS, using services such as API Gateway and Lambda, SportsShoes.com wished to continue utilising AWS serverless technologies. It was essential to improve application and infrastructure monitoring and alerting capabilities.
Warehouse employees also needed private communication to carry out fulfilment. This was coupled with private communication to various third parties, such as returns and payment gateways. These integrations required access to a subset of applications and databases with varying levels of access.
The cutover of live service from on-premises to AWS needed to be seamless, with minimal disruption to the wider organisation and its customers.
The Solution
The on-premises SystemX components, which consisted of web and cron applications, were containerised and deployed to AWS using Amazon Elastic Container Service (ECS). This approach allowed each component of SystemX to be behind its own service, which controlled the high availability of the applications by monitoring and responding to health checks.
Migrating Databases
Devoteam migrated both MySQL 5.7 databases from on-premises to Amazon Relational Database Service (RDS) using AWS Database Migration Service (DMS). We configured DMS to perform a Full-Load and Change Data Capture (CDC) to copy historical data and replicate any future data changes to RDS. By utilising DMS Serverless, AWS managed the provisioning, scaling, and high availability of the replication instance. This is allowing Devoteam and SportsShoes.com to focus more on the application migrations.
Connections to the database were pooled through the introduction of an Amazon RDS Proxy. This quick and easy integration avoided the requirement to redevelop the application to pool database connections itself.
We achieved communication between on-premises, third-party partners, and AWS using an AWS Site-to-Site Virtual Private Network (VPN). This allowed the migrated applications to continue sending orders with product information to their fulfilment team over a secure, private network.
Provisioning multiple environments
By utilising Infrastructure as Code (IaC) using the AWS Cloud Development Kit (CDK), we could provision multiple environments. Such as Development and Production, which allowed us to implemment an industry-standard versioning and release strategy. Furthermore, additional ephemeral environments could be provisioned on an ad hoc basis, allowing developers to test new code changes before releasing to Development or Production environments. This is a new capability for the SportsShoes.com engineering teams.
Connectivity to workloads that were already running in various Amazon Virtual Private Cloud (VPC) networks was achieved through the use of an AWS Transit Gateway. This establishes seamless communication and resource sharing between one or more VPCs. Through the use of static routing rules, communication could also be tightly controlled; for example, by dropping traffic between the Development and Production networks.
We configured infrastructure and application logs to send to AWS CloudWatch, which provided a centralised location for logs and monitoring. For dashboards and alerts, we used CloudWatch metrics, which notified the SportsShoes.com Operations Team of any errors or application availability.
The Methodology
Devoteam and SportsShoes.com collaborated throughout the project’s lifetime and utilised the Agile frameworks. We also implement DevOps principles and processes throughout.
The Result & next steps
Successfully migrated all on-premise workloads to AWS, utilising services such as ECS Fargate and RDS Aurora with a seamless cutover, which caused no interruption to the SportsShoes.com warehouse teams.
Improved overall application and database resiliency through the use of health checks, load balancing, and autoscaling.
Explored and planned future opportunities to modernise whilst reducing operational overhead and becoming more cost-effective.
The implementation resulted in a significantly more stable and scalable environment for SportsShoes.com’s SystemX application. Automated monitoring and alerting capabilities greatly enhanced the team’s ability to proactively address potential issues. Thus, minimising downtime and improving overall service availability. The move to AWS and the use of serverless technologies allowed for cost optimisation and the flexibility to scale resources as needed to meet fluctuations in customer demand.
Infrastructure as code for quicker deployments
The introduction of Infrastructure as Code (IaC) transformed the deployment process, enabling quicker and more consistent deployments across environments.
SportsShoes.com now benefits from a modern, cloud-native architecture that is resilient, scalable, and easier to manage. Measurable results include significant reductions in deployment time, increased application uptime, which directly impact operational efficiency and customer experience.
Initially, we provisioned Cloud infrastructure to match the hardware specifications of their on-premises infrastructure. Whilst this allowed for a seamless migration cutover without a decrease in application performance, SportsShoes.com can now take the opportunity to right-size their workloads to avoid overspending on over-provisioned infrastructure. They can then purchase Reserved Instances or Cost Saving Plans to help reduce their monthly expenditure by committing to AWS for up to 3 years.
Future Modernization Strategy
In the longer term, SportsShoes.com plans to modernise SystemX to be more Cloud-Native by migrating to AWS services such as API Gateway and Lambda. This will allow them to adopt the Pay-as-you-go pricing model for serverless and make their workloads more cost-effective.
Additionally, by modernising their application code, they can upgrade from MySQL 5.7 to MySQL 8.0. This will allow their applications to take advantage of security updates to their database without the need to pay for Extended Support, which currently accounts for over $3k per month.

