Oracle的云基础架构(OCI)发展越来越快,截止现在,他们在全球已经部署了37个不同的数据中心,其中包括7个不同的Goverement 数据中心,另外他们还计划来年部署超过14个不同的数据中心。
https://www.oracle.com/cloud/data-regions/
当他们创建数据中心的时候,他们的策略和AWS略有不同,他们优先采用多region的方式部署,可以看到覆盖了很多不同的国家,大部分国家都在间隔相对较远的不同城市,部署两个或以上的数据中心。
那他们为什么不采用类似AWS的多可用区的方式呢?这里分析下这种策略的考虑点:
A.从两个方面来看影响基础架构SLA的因素 ,一个是系统运维,一个是物理硬件的可用。其中,运维事故是影响可用性的主要原因.
- 第一类常见运维事故(人为错误,升级出错,更新出错)对此多可用区的部署并不能改善运维因素导致的问题,反而带来运维更多复杂度,更高耦合性,出错率更高。
- 第二类常见运维事故(区域性的DNS问题,路由问题),它可以导致整个Region 不可用,即使多可用区也并不能改善多少
- 从物理可用性上看,位于不同城市的多Region的部署比多可用区的部署更能抵抗地震,水灾等大型自然灾难导致的整个城市瘫痪。
B. 除了SLA,在一个国家部署双region,还能保障用户数据留在同一个国家,更容易满足合规的要求,更多国家的覆盖,意味着可以满足更多国家的本地化数据存储要求。(AWS 在很多国家是单一region,如果它们做跨region的DR,数据必须跨越两个国家,可能有潜在数据合规出境的问题,另外他们的region数量比我们少很多,覆盖面不及OCI)
OCI建议的方式,跨Fault Domain 的HA + 同一个国家不同Region的DR,这是成本和价值的最佳组合。跨Fault Domain 的HA配置简单,提供最好的低延迟能力,保障物理主机的隔离,独立的电源供应和机架,虽然跨FD的SLA 比跨AD的SLA低0.05% (FD:99.95%。AD :99.99%, 和AWS相当),但这对业务的影响可以通过其他方面弥补 (业务面的SLA受更多因素影响,不完全由IT基础架构SLA决定),而获得的不出国的数据灾备环境收益则超过这一损失,所以OCI优先在多个国家实施双region 而不是多AD。
除了OCI之外,我们也看到有些其他的云厂商采用单可用区,多Region的部署方式,比如Azure在中国的部署就是多个不同的region,但是采用单一个可用区。