While most of this guide is concerned with the preparation your application servers for containerization, we're going to need some tools to manage those containers and how they work together on our network. Even if we only have one or two containers to start with, part of why we're making this investment is to enjoy the benefits of easy scalability. Also, even if we only end up running a single container for our CF engine, we still want to be able to do "rolling updates" of that container, which leads us to the concept of orchestration: a standardization of container environment beyond the specific hardware host and operating system upon which the containers are running.
Any guide attempting to describe an end-to-end software pipeline will rely on all kinds of assumptions and generalizations; ordinarily, we try to let you know through these asides when we're making any when discussing subjects with many solutions that depend on your particular need (for instance, Firewall or VPN topology). Nowhere is this more the case then with container orchestration. Docker Swarm is the only tool that let us get off the ground quickly enough to be useful for this guide, but we expect that we'll have to revisit this section once Kubernetes matures to a point where it's suitable "out of the box" for a simple pipeline such as ours without a lot of setup time.