Chapter 14

  1. To install UCP in AWS:
    1. Create a VPC with subnets and a security group.
    2. Then provision a cluster of Linux VMs, possibly as part of an auto scaling group. Many Linux distros are supported, such as CentOS, RHEL, Ubuntu, and so on.
    3. Next, install Docker on each VM.
    4. Finally, select one VM on which to install UCP using the docker/ucp image.
    5. Once UCP is installed, join the other VMs to the cluster either as worker nodes or manager nodes.
  2. Cloud vendor-specific and proprietary solutions, such as ECS, have the advantages of being tightly and seamlessly integrated with the other services, such as logging, monitoring, or storage, provided by the cloud vendor. Also, often one does not have to provision and manage the infrastructure but this will be automatically done by the provider. On the positive side, it is also noteworthy that to deploy a first containerized application usually happens pretty quickly, meaning that the startup hurdles are pretty low.
    On the other hand, choosing a proprietary service such as ECS locks us into the ecosystem of the respective cloud provider. Also, we have to live with what they give us. In the case of Azure ACS, this meant that when choosing Docker Swarm as the orchestration engine, we were given classic Docker Swarm which is legacy and has long been replaced with SwarmKit by Docker. 
    If we chose a hosted or self-managed solution based on the latest versions of Docker Swarm or Kubernetes,  we enjoy the latest and greatest features of the respective orchestration engine.