Implementing Azure:Putting Modern DevOps to Use
上QQ阅读APP看书,第一时间看更新

The concept of container orchestration

Regarding this technology, we need an orchestration tool to provide this feature set. There are some well-known container orchestration tools available on the market, such as the following:

  • Docker swarm
  • DC/OS
  • Kubernetes

Kubernetes is the most-used one, and therefore could be deployed as a service in most public cloud services, such as in Azure. In general, it provides the following features:

  • Automated container placement: On the container hosts, to best spread the load between them
  • Self-healing: For failed containers, restarting them in a proper way
  • Horizontal scaling: Automated horizontal scaling (up and down) based on the existing load
  • Service discovery and load balancing: By providing IP-addresses to containers and managing DNS registrations
  • Rollout and rollback: Automated rollout and rollback for containers, which provides another self-healing feature as updated containers that are newly rolled-out are just rolled back if something goes wrong
  • Configuration management: By updating secrets and configurations without the need to fully rebuild the container itself