Rolling deployment parallelism per role
We have an service environment right now that consists of two data centers that each contains 3 servers that host the services. These services hosts host 100+ services each and each server is hosting exactly one instance of each service; so they are in effect mirrored.
When we deploy to these servers, we do it one data center at a time. Since there are so many services per server, we can’t just remove the server from the load balancer. Also since we do round robin load balancing and want to have zero downtime and keep consistency in our responses during deployments we create a rule in the load balancer to redirect traffic to the service to the opposing data center.
Our problem is that to define this behavior, we’ve had to effectively define two environments for each actual environment. One for DC-1 and another for DC-2.
If we were able to tag the machines with a role which corresponded to their respective data center and could do a rolling deployment per role, that would really help with the clutter in our Octopus deploy dashboard.
Gísli Konráð Björnsson commented
More info on this with diagrams can be seen on the octopus deploy help page.