Migration of a tracking platform for sports activities from AWS to MS Azure
Brief description
The customer wants to consolidate his IT platforms. In this context the app currently hosted on AWS is to be migrated to MS Azure. This includes the migration to containers of the Ruby-On-Rails app, as well as the setup of a container repository on Azure. Furthermore, the infrastructure was set up on Azure, which includes many Azure Services (Azure Conainer Instances, Azure App Service for Linux, Azure Function App, Blob Storage Instance, Azure Postgres DB and Azure Front Door). An Azure Devops CI/CD pipeline is set up for continuous provision of the application.
Supplement
As the Azure App Service does not support the required Rails environment, it was decided to deploy the app as a container. Three instances are created: An Azure App Service for Linux with 'Custom Container' on which the actual Web Service runs, an Azure Container Instance on which a worker process runs. Another Azure Container Instance is used for the Sync Service, which synchronizes data to the Postgres DB once a day. To trigger the synchronization process, an Azure Function (Linux-based) was created that starts the container instance responsible for synchronization once a day. App Service and Container Instances are configured to be updated automatically when a new version of the container is loaded into the container registry.
Subject description
The customer's main goal is to consolidate their IT environment: they decided to use MS Azure as their cloud provider and now want to migrate projects hosted by other providers to Azure. Functionally, the migration does not change anything about the app.