Servers get have a tentacle which has an environment and tag. So you could say a server is test environment and tagged with main-web-app. While another server is production with the same tag. You promote a package from test to production. You configure your setup to say a package is deployed to a server tagged main-web-app.
Octopus is an orchestration tool so isn’t responsible for scaling up. But in AWS with an autoscale group you can configure Octopus to auto detect a new server tag it and deploy. Part of the deployment would add it to the load balancer.
As a side note you can deploy containers using octopus too. Tho I’ve never found a reason to use containers in production yet.
- How does it decide which servers to deploy to?
- Does it scale up the number of servers if the deployment is too large?
- What happens when a server dies?