img
Home > Design Patterns > Multi-Container Isolation Control

Multi-Container Isolation Control (Erl, Naserpour)

How can the isolation level required by different microservices in containers be met?

Multi-Container Isolation Control

Problem

Microservice deployments may end up residing in containers that have specific deployment location requirements that, when not adhered to, can cause conflicts and runtime processing problems.

Solution

A control mechanism is used to dictate where each microservice or container can or cannot be deployed, based on pre-defined rules. Often factors, such as performance, licensing, governance and regulatory requirements are the basis of these rules.

Application

The control mechanism is created by defining affinity and anti-affinity rules and enforcing them at runtime. The control mechanism can comprise multiple rulesets and can be applied to a single microservice or container and a single or multiple hosts, or a combination of different microservices, containers and hosts.

A workload placement control mechanism is implemented that controls and audits where each of the containers or microservices can be hosted, enforces pre-defined affinity and anti-affinity rules and triggers an alarm if the situation is violated.

Multi-Container Isolation Control: Affinity rules are configured that enforce a control mechanism to always keep Containers A and B co-hosted on the same host.

Affinity rules are configured that enforce a control mechanism to always keep Containers A and B co-hosted on the same host.

Multi-Container Isolation Control: Even if the environment is rebalanced to distribute the workloads, Containers A and B are not moved and remain on the same host.

Even if the environment is rebalanced to distribute the workloads, Containers A and B are not moved and remain on the same host.

This pattern is applied by using and then enforcing pre-defined affinity and anti-affinity deployment rules, as explained and illustrated in the complete pattern description.

Module 10: Advanced Microservice Architecture & Containerization.

This pattern is covered in Module 10: Advanced Microservice Architecture & Containerization..

For more information regarding microservice and containerization courses and accreditation,
visit the Microservice Architect Certification program page..