Combining Azure Devops and AWS AutoScaling

Viewed 892

What are best practices to deploy from Azure Pipeline to pool of AWS Autoscaling instances?

Our current configuration:

  • ELB and few stateless app servers
  • Azure Agent on each server (single deployment group)
  • Pipeline deploy new app to deployment group one by one

Here are couple of challenges I know (probably, there are also some things to discover) which confuses me:

  1. Autoscaling group needs an AMI. In theory it is possible to create a CLI process to create AMI from one of instances, but how can I prevent specific instance from deletion?

  2. Multiple Azure Deployment Agents with same configuration looks like single server in deployment group. Provided release happens during peak hour and we scaled from 2 to 4 I have no control over which of instance actually received update, thus I will not know which instance should be used as a source for AMI.

1 Answers

You can use Packer for creating base image/es and UserData&SecretStore for later customization(like VSO agent installation+registration) or trigger more complex CM provisioning.

I have another issue: After scaling up, joining the deployment group and etc. I don't know how can I run the pipeline only on the new instance and not all instances with the same tags....

Related