Learn about bulkheads, the dependency of servers, minimizing failure, bulkheads in cloud computing, and process binding.

Damage containment

In a ship, bulkheads are partitions that, when sealed, divide the ship into separate, watertight compartments. With hatches closed, a bulkhead prevents water from moving from one section to another. In this way, a single penetration of the hull does not irrevocably sink the ship. The bulkhead enforces a principle of damage containment. We can employ the same technique. By partitioning our systems, we can keep a failure in one part of the system from destroying everything. Physical redundancy is the most common form of bulkheads. If there are four independent servers, then a hardware failure in one can’t affect the others. Likewise, if there are two application instances running on a server and one crashes, the other will still be running (unless, of course, the first one crashed because of some external influence that would also affect the second).

Redundant virtual machines are not quite as robust as redundant physical machines. Most VM provisioning tools do not allow us to enforce physical isolation, so more than one VM may end up running on the same physical box.

Get hands-on with 1200+ tech skills courses.