This is a practical course covering how to build systems robust against failures. From design fundamentals for service stability, various patterns to prevent failure propagation, asynchronous processing using message queues, to strategies for maintaining distributed data consistency, you will learn the core technologies and concepts required for a stable backend system.