Hardware and software are error-prone. Eventually, a hardware issue or software bug will affect any application. And yet, we’re increasingly expecting services—the applications that run on top of our infrastructure—to be up 24/7 by default. And if we’re not expecting that, our bosses and our customers are. What makes this possible is a high-availability stack: it automatically recovers applications and services in the face of software and hardware issues, and it ensures service availability and uptime. The definitive open-source high-availability stack for the Linux platform builds upon the Pacemaker cluster resource manager. And to ensure maximum service availability, that stack consists of four layers: storage, cluster communications, resource management and applications.