Cloud303 took a phase-based approach with QuesGen. Two accounts were deployed for the client: a development account and a production account. To start, a backend infrastructure - consisting of a three-tier VPC, security tools, etc - was deployed to perform the migration. VPC peering was set up between the company’s existing disaster recovery (DR) environment and its new production account to facilitate simple database replication. AWS Data Migration Service was used to migrate the data from MariaDB running in EC2 to Aurora MySQL. Throughout the engagement, Cloud303 had work sessions with QuesGen to explain step-by-step the deployments that were performed. This allowed Cloud303 to teach QuesGen engineers exactly how to accomplish what they wanted to in AWS. Much of this engagement was a collaboration – some work would be accomplished together, then each team would have “homework” to do before the next session. For example, a QuesGen engineer wrote a CloudFormation template that deployed a development server, using EC2 user data to install the necessary components on launch. However, while that template worked in the old environment, it did not adhere to AWS best practices. In one work session, a Cloud303 solutions architect walked QuesGen engineers through all of the infrastructure deployments and then worked together to identify the changes that needed to be made to the existing CloudFormation template.