This document discusses designing applications for resiliency in cloud environments. It defines resiliency, high availability, and disaster recovery. It describes why resiliency is important given the transient faults that can occur in cloud systems. The document outlines a process for improving resiliency that includes planning, designing, implementing, testing, deploying, monitoring, and responding to failures. It provides examples of resiliency techniques like load balancing, failover/failback, data replication, retries, circuit breakers, and deployment strategies.