谷歌SRE以服务为导向的集群上线流程
在下一次迭代中,Admin 服务器成为服务团队的工作流程的一部分,这包括作为机器管理的Admin 服务器(安装包和重新启动服务器),以及集群级别的 Admin 服务器(如进入排水模式,或者服务上线)。SRE从在自己的主目录里维护shell脚本迁移到了构建评审过的 RPC 服务器与细粒度的 ACL 上。后来,在认识到上线流程必须由服务团队维护之后,我们找到了一种以服务为导向的架构(SOA)来解决集群上线问题的方法∶服务拥有者将负责创建一个Admin 服务器,处理系统在集群就绪之后发出的集群上线/下线RPC。反过来,每个团队将按照合同(API)提供自动上线所需的自动化,然而仍然可以随意改变底层实现细节。随着一个集群进入"网络就绪",自动化系统将给每个负责上线的 Admin 服务器发送RPC。
我们现在拥有的是低延迟、能力强以及非常精确的流程;更重要的是,这个流程在变更率、团队的数量,以及服务的数量每年翻一倍的情况下仍然保持可靠。
如前所述,集群上线自动化进化遵循这样一个路径∶
1.操作人员触发手动操作(无自动化)。
2.操作人员编写,系统特定的自动化。
3.外部维护的通用自动化。
4.内部维护,系统特定的自动化。
5.不需要人为干预的自治系统。
虽然这种演变宽泛地说是成功的,但Borg的案例研究描述了我们考虑自动化问题的另一种方式。
页:
[1]