Using microservices and containers
When software is built based on a combination of small, independent services, we normally say the software was built using microservices architecture. Microservices architecture is a way to develop applications by combining small services that might belong or not to the same software development team.
The success of this approach is due to the isolation between each service, which is accomplished by using Linux containers (described in Chapter 2). Using Linux containers is a good way to isolate memory, CPU, networks, and disks. Each Linux container can’t interact with other Linux containers in the same host unless a pre-defined communication channel is established. The communication channels of a service have to use well-documented APIs.
The machine that runs microservices is normally called a container host or just a host. A host can have multiple microservices that may or may not communicate with each other. A combination of hosts is...