Polling or Listening Tentacles
For Windows hosts, Octopus uses an agent called Tentacle. It uses a secure communications protocol, and can be configured in either listening or polling mode. In Listening mode, Tentacles listen on a TCP port (10933 by default) and Octopus contacts it to trigger a deployment. In Polling mode, Tentacle periodically connects to Octopus (on port 10943 by default) to ask if it needs to do anything. This gives you multiple choices for how to best configure your firewall.
Sometimes the only way outside the network is via a proxy server. Octopus and Tentacle can be configured to send communications via standard transparent proxies.
Bandwidth constrained networks
If production is a long way away from your Octopus server, fear not. Octopus uses delta compression to minimize the size of packages sent over the network, can be throttled to reduce the number of simultaneous operations, and has lots of smarts around timeouts and automatic retries in case the connection is lost. All packages are uploaded ahead of time, so that downtime is minimized as we don't have to wait for package transfers in the middle of a deployment.
DMZ's and isolated environments
Some deployment tools assume that your production servers are always on the same Active Directory domain as your deployment server - that's often not the case. The Octopus/Tentacle communication model is based on two-way trust established using X.509 certificates, like a B2B transaction, so you don't have to use hacks like creating users in different domains with the same names and passwords. This approach also makes our communications secure enough to travel directly over the internet.
Kiosks and remote branches
Sometimes you're deploying to remote sites, like kiosks or servers in a branch office or point of sale server systems in a retail environment. Octopus handles machines that sometimes disappear, and can automatically re-deploy to them when they disappear.
You might also like...
We've been overhauling our internal infrastructure and back-end systems over the past month, including a move back to full @OctopusDeploy deployments; rediscovering how nice it is to have a platform-agnostic orchestrator that can deploy practically anything, anywhere ❤Nicholas Blumhardt