close copilot

Azure Migration with Terraform

Period
Domain
Team
Tech
2023 - 2023
IT
2 engineers
Terraform, Azure VMs, Azure Functions, Azure Application Gateway, Azure SQL Databases, Azure Cache f

Project Description

The existing application relied heavily on over 100 Azure resources including VMs, Functions, Application Gateways, SQL Databases and Redis Cache. The goal was to migrate all these resources from one Azure tenant to another and set up new IaC (infrastructure as code) with Terraform. Our team started with a discovery phase to understand the interactions between the Azure resources and external dependencies. We created a detailed discovery report with our initial observations, migration goals, a plan, and cost optimization recommendations. With the discovery phase complete, we began migrating resources in phases. First we obtained access to the destination subscriptions and broke down the infrastructure into reusable Terraform modules. We defined relationships between the modules and created a Terraform development environment. We deployed the infrastructure code using CI/CD. With the core infrastructure in place, we started moving the applications and databases, performing testing with the client throughout. Finally, we set up logging, monitoring and alerting for the new infrastructure.

Azure Migration with Terraform

Azure Migration with Terraform

Period
Domain
Team
Tech
2023 - 2023
IT
2 engineers
Terraform, Azure VMs, Azure Functions, Azure Application Gateway, Azure SQL Databases, Azure Cache f
Azure Migration with Terraform

Project Description

The existing application relied heavily on over 100 Azure resources including VMs, Functions, Application Gateways, SQL Databases and Redis Cache. The goal was to migrate all these resources from one Azure tenant to another and set up new IaC (infrastructure as code) with Terraform. Our team started with a discovery phase to understand the interactions between the Azure resources and external dependencies. We created a detailed discovery report with our initial observations, migration goals, a plan, and cost optimization recommendations. With the discovery phase complete, we began migrating resources in phases. First we obtained access to the destination subscriptions and broke down the infrastructure into reusable Terraform modules. We defined relationships between the modules and created a Terraform development environment. We deployed the infrastructure code using CI/CD. With the core infrastructure in place, we started moving the applications and databases, performing testing with the client throughout. Finally, we set up logging, monitoring and alerting for the new infrastructure.