我们的工作是运维全世界所有服务器,可以想象我们要在许多环境中运维许多东西,包括所有世界的主要公有云(连同实体服务器和几种类型的私有云)。这一直是一件很有趣的事,所以我要简单介绍一下。

首先我们要讲的是各种云。如今我们云络有很多客户部署在AWS, Rackspace, Aliyun, U-Cloud, QingCloud, ChinaNetCenter和台湾、韩国这些地方的一些小型云服务公司。其中阿里云和AWS的云服务是我们最常用的,其次是Rackspace。

为了让服务更有趣,大多数云都是不断改进的,增加特征,改变服务模式,尝试让服务保持趣味性。例如AWS让VPC托管所有新系统,许多地方需要作大的设计更改。另外会持续增加新特性,比如EBS储存,CDNs,RDS等类型的服务。虽然许多特性功能的改变很微妙,通常都是去除限制或者增加特性,以致很难跟进。

幸运的是,这些云是我们在遍布7-8个国家的一百多家运维所在数据中心的一小部分。所以我们已经考虑到跨地区的,复杂通讯和服务/升级过程,和不同的或复杂或有趣的数据中心环境,限制,网络,服务等等。云只是加在这之上。

然而,云自身具有相当大的复杂性,因为他是一个完整的部署系统,包括操作系统,网络,防火墙,I/O,通常还有其他的小服务。每一个云又都是不一样的(即使是是基于同一个底层系统的云,比如OpenStack)。那么我们怎么来处理它呢?

首先,我们有一个超过100多个点的特性比较矩阵。其中包含有每个云的比较,体现云是如何运作的,从VM的可用性、公有/私有/动态/静态IP地址、网络、防火墙、VPC、磁盘EBS、用户、密码、镜像等角度。我们也建立使用系统的流程,比如账户建立、计费、管理控制台、API和其他用户交互功能。

当然,我们研读了云的所有文档,玩转系统,建立支持流程,创建各种必要的监控,培训工作团队进行架构、搭建、管理、监控、备份、支持这些系统。我们将会扩展我们的网络以便处理不同的磁盘布局和设备、网络结构和长期的API支持。

最后,一旦一个云足够流行,云业务得以保证,我们将把这个云设计到我们的DesignSystem,并配备相关的最佳实践。这些将被扩展到我们的OS/Cloud Harmonizer, 将云OS和配置与我们的最佳实践相匹配,以致我们标准安装的系统能够安装用户、服务、防火墙和搭建系统所需要的其他因素。

最后,所有这些系统是相同的又是不同的。总之,服务全世界大部分知名公有云是我们运维的关键之处。毕竟我们的目标是在任何地方运维每件任何东西。尽管这不是一桩简单的事,但我们有程序和流程,以及整套系统去管理全球所有如此多样化而又复杂性的服务器。