一句话:提出应用与云运营商协同优雅降级,并利用关键性标签与 diagonal scaling 提升故障下关键服务可用性。
该论文针对云故障和容量紧张时缺乏兼顾应用可用性要求与运营商目标的优雅降级机制这一问题,提出应用与云运营商协同优雅降级的愿景。方法上,利用容器上的 criticality tags 进行 diagonal scaling,在容量危机时关闭非关键容器;设计 Phoenix 自动云弹性管理系统,在 Kubernetes 上最大化关键服务可用性,并开发开源 resilience 基准框架 AdaptLab。实验表明,Phoenix 在大规模故障中可将关键服务可用性提升最多 2 倍,并能在 10 秒内处理 10 万节点集群的故障。
Cloud resilience is crucial for cloud operators and the myriad of applications that rely on the cloud. Today, we lack a mechanism that enables cloud operators to perform graceful degradation of applications while satisfying the application's availability requirements. In this paper, we put forward a vision for automated cloud resilience management with cooperative graceful degradation between applications and cloud operators. First, we investigate techniques for graceful degradation and identify an opportunity for cooperative graceful degradation in public clouds. Second, leveraging criticality tags on containers, we propose diagonal scaling---turning off non-critical containers during capacity crunch scenarios---to maximize the availability of critical services. Third, we design Phoenix, an automated cloud resilience management system that maximizes critical service availability of applications while also considering operator objectives, thereby improving the overall resilience of the infrastructure during failures. We experimentally show that the Phoenix controller running atop Kubernetes can improve critical service availability by up to 2× during large-scale failures. Phoenix can handle failures in a cluster of 100,000 nodes within 10 seconds. We also develop AdaptLab, an open-source resilience benchmarking framework that can emulate realistic cloud environments with real-world application dependency graphs.