This intro level hackathon will help you get hands-on experience migrating databases from on-premises PostgreSQL and MySQL to Azure DB for PostgreSQL and MySQL.
In this hack you will solve a common challenge for companies migrating to the cloud: migrating open source databases to Azure. The application using the database is a sample e-commerce application written in Java. It will be configured to use both PostgreSQL and MySQL databases.
The participants will learn how to:
- Perform a pre-migration assessment of the databases looking at size, database engine type, database version, etc.
- Use offline tools to copy the databases to Azure OSS databases
- Use the Azure Database Migration Service to perform an online migration
- Do cutover and validation to ensure the application is working properly with the new configuration
- Use a private endpoint for Azure OSS databases instead of a public IP address for the database
- Configure a read replica for the Azure OSS databases
- Challenge 0: Pre-requisites - Setup Environment and Prerequisites!
- Prepare your environment to run the sample application
- Challenge 1: Assessment (features differences and compatibility)
- Assess the application's PostgreSQL/MySQL databases
- Challenge 2: Size analysis
- Determine the CPU/memory configuration and database file size and map to an equivalent size in Azure
- Challenge 3: Offline migration
- Dump the "on-prem" databases, create databases for Azure DB for PostgreSQL/MySQL and restore them
- Challenge 4: Offline Cutover and Validation
- Reconfigure the application to use the appropriate connection string and validate that the application is working
- Challenge 5: Online Migration
- Create new databases in Azure DB for PostgreSQL/MySQL and use the Azure Database Migration Service to replicate the data from the on-prem databases
- Challenge 6: Online Cutover and Validation
- Reconfigure the application to use the appropriate connection string for Azure DB for PostgreSQL/MySQL
- Challenge 7: Private Endpoints
- Reconfigure the application to use configure Azure DB for PostgreSQL/MySQL with a private endpoint so it can be used with a private IP address
- Challenge 8: Replication
- Add an additional replica to the Azure DB for PostgreSQL/MySQL
- Access to an Azure subscription with Owner access
- If you don't have one, Sign Up for Azure HERE
- Familiarity with Azure Cloud Shell
- Visual Studio Code (optional)
../Coach
- Lecture presentation with short presentations to introduce each challenge
- Example solutions and coach tips to the challenges (If you're a student, don't cheat yourself out of an education!)
../Student/Resources
- Pizzeria application environment setup
- Daniel Kondrasevich
- Israel Ekpo
- Pete Rodriguez
- Sumit Sengupta