1

We are trying to establish continuous deployment. We want to do network swaps when deploying new resources.

Sometimes the Azure infrastructure is not responsive provisioning the resources. As we can have a left over conflicting resources when a deployment fails due to unsuccessful deployments.

Question : Should we name our resources uniquely every time we deploy ? Such as giving our build number naming to our infrastructure.

enter image description here

PS:I have noticed that azure team already does this. As they have to host a multi tenant architecture. enter image description here

Rıfat Erdem Sahin
  • 1,738
  • 4
  • 29
  • 47
  • The screenshot you have is referring to a deployment, not a resource or a resource group. Deployments are uniquely named by tools so you have a history you can refer to... re: network swap - are you saying you want to have 2 services/apps running at the same time and then swap IPs/VIPs to minimize downtime? – bmoore-msft Jun 21 '17 at 15:21

1 Answers1

1

Arm is designed to be idempotent. That means you should be able to redeploy any template any time. When doing infrastructure as code you probably provision all resources in a resource group at the same time. Do the deployments in complete mode, then resources that no longer are linked in the templates are removed. Here is are article on versioning ARM templates that can help you:

versioning-arm-template-deployments

Peter
  • 27,590
  • 8
  • 64
  • 84
  • so does that mean that. The only versioning that should be done on the top level resource meaning the azure resource group ? As we want to do network swaps when deploying new resources. – Rıfat Erdem Sahin Jun 21 '17 at 09:29
  • I am not sure about idempotent. Such as when I am deploying resources they need unique names and I am trying to make them unique using functions on ARM templates. Even creating a replicate of a production environment script to playground is not direct. It needs so many updates. – Rıfat Erdem Sahin Jul 03 '17 at 10:01
  • In your templates you can use unique names. However idempotent just means you run the same template on the same environment the end state is the same. Even if there are already resources deployed. – Peter Jul 03 '17 at 10:05