Kubernetes 的祖先 Google Borg 论文精读
01 背景分析
大规模的后端服务,面对 SRE 操作复杂度的爆炸上升,平均每个 SRE 要管理超过上万台机器,人工操作已经无法满足,同事重复枯燥的运维工极易出错给公司造成损失,分布式系统中极小的概率事件也会常态化的出现 ,而复杂的 run-time 环境使得 SRE 与 DEV 都很难观察出系统出了什么问题,进而快速处理。
部署的复杂程度也直接影响到了研发效率,开发迭代的需求不能及时部署到线上进行验证,只能等待多个迭代积累之后上线。
大型的 CS 架构应用,占用大量的服务器资源,成为互联网公司的主要成本来源,机器的成本及维护机器的成本都非常的高,为此需要利用软件技术,来自动化管理机器资源,提高 SRE 的工作效率,降低机器资源的使用成本、故障处理的速度等。这样的系统,在 Google 叫做 Borg.

info
Google Borg 系统是一个集群管理器,运行着数千个应用程序的数以十万计的作业,跨多个由数万台机器组成的集群。
Borg 通过超配、进程级别资源隔离等,实现高效的资源利用率。支持应用高可用,最大限度的减少故障时间,并且可以通过调度策略降低相关故障发生的可能性。Borg 还提供了声明性工作规范语言,名称服务集成,实时作业监控以及分析和模拟系统行为的工具,简化用户操作。