Best practise for managing deploys to VMs (environments vs agent pools)

Copper Contributor



I wanted to ask about best pracitices when it comes to deploying IIS sites and windows services to virtual machines. Let's say we have a setup of 2 web vms that host a website and 1 vm that's running some windows services.

I can see two options for deploy setup:

1. create environment (i.e. dev, prod etc.), register single agent per virtual machine (specific for site - so each site can be deployed independently, reducing downtime)

2. create Agent Pool per VM and register multiple agents


So for Web I would go with 1. - adding 2 vm's to environments with proper tags, so we can deploy with rolling deployment strategy to reduce downtime.

For services I would create an agent pool and register there multiple agents so we can reduce deployment time (considering we have a bunch of services) and deploy them in parallel.


Service deploy would run under specific environment but will just use agent pool. I dont see a point of using environments here, as we only have 1 VM and it's harder to manage multiple agents there - seems like it was not created for this purpose.


I hope I have explained it clear, what are your thoughts?



1 Reply
Rafal. Sorry to see no replies. I am curious how your setup went. Looks like you can set the "best practices" or have you found another solution? Thanks.