67
CHAPTER 3 | Architecting container and microservice-based applications
Figure 4-23. A cluster of containers
You use one container for each service instance. Docker containers are “units of deployment” and a
container is an instance of a Docker. A host handles many containers. It looks like a logical approach.
But how are you handling load-balancing, routing, and orchestrating these composed applications?
The plain Docker Engine in single Docker hosts meets the needs of managing
single image instances
on one host, but it falls short when it comes to managing multiple containers deployed on multiple
hosts for more complex distributed applications. In most cases, you need a
management platform
that will automatically start containers, scale out containers with multiple instances per image,
suspend them or shut them down when needed, and ideally also control
how they access resources
like the network and data storage.
To go beyond the management of individual containers or simple composed apps and move toward
larger enterprise applications with microservices, you must turn to orchestration and
clustering
platforms.
From an architecture and development point of view, if you’re building large enterprise composed of
microservices-
based applications, it’s important to understand
the following platforms
and products
that support advanced scenarios:
Dostları ilə paylaş: