宕机,是开发和运维人员最为敏感的事情,服务器一旦宕机会给服务商和访客造成不可预估的影响,降低访客对访问网站品牌的信任度。最近的GitHub出现了一次比较大规模的故障,服务中断的时间达到24小时。由于80%以上的工程师平时工作依赖于GitHub, 所以,24小时的故障导致绝大部分互联网企业的技术人员无法正常工作,影响很大。像微信、微博等应用的宕机事件也时有发生,但是由于仅仅影响的是生活的体验,所以还不算很严重。但是在金融行业,比如银行业务如果中断,产生的后果将不堪设想。
由此可以看出,服务的稳定性和持续性无论是在互联网行业,还是在传统行业都非常重要,跟我们的生活息息相关。但是宕机并不能完全消除,所以增强系统可靠性、提升业务连续性、使业务运行不受故障和灾难影响,就成了解决宕机的唯一办法,此时,多活应运而生。
多活:为解决宕机而生
多活的两个重要技术指标是RTO(业务恢复时间)和RPO(数据的丢失量)。对于互联网企业来说,更关注业务恢复时间。而对于银行、保险等跟民生相关的企业,则更关注数据的丢失量。最好的方式是两个都趋近于0,使业务可以7*24小时在线,并且是可用服务。
当然,并不是所有的业务都需要多活,需要多活的业务,一是这个业务很重要,如果发生故障会影响公司业务,导致客户受损;二是这个业务面向广泛的客户,影响面比较大。
多活的架构一直存在,但是,以往的多活架构存在诸多问题。首先是成本高,比如银行两地三中心的业务至少需要找两个城市,投入三个机房。这三个机房需要有网络连接,在每个机房里要投入大规模的硬件,业务在两个机房都要有部署。之前做多活依赖IBM、EMC等昂贵的硬件,花费巨额的成本。第二是当业务上线后需要有能够运维这些复杂多活系统的人,这就需要在人员投入上花费很多成本。第三是时间成本,包括挑选机房、铺设光纤和网络。一个两地三中心的架构的建设至少需要一到两年的时间。
青云:从三个层面助力企业部署多活
那么,究竟什么样的多活基础架构才能让客户以更低的成本、更低的门槛部署自己的多活业务?青云QingCloud运营副总裁林源指出,应该从基础设施、基础架构(IaaS)、分布式应用三个层面来考虑。在基础设施层,两地三中心的架构至少需要有城市、机房、光纤、网络。青云目前有三个大区提供Region服务:北京3区、广东2区、上海1区。
在基础架构(IaaS)层,则要给用户提供足够多的通用组件,如负载均衡器、网络、公网带宽等。青云提供的负载均衡、网络和公网本身就是多活的。负载均衡器用来承接用户外部的访问,本身是多机房部署,在北京区的三个数据中心都有部署。极端情况下,任意一个数据中心宕机,都不会影响给用户提供负载均衡器的服务。网络连通是一件相对比较难的事情,用户想做多活,就一定会在多个数据中心之间部署业务。这时候就需要通过简单的方式提供多个数据中心之间的网络互联,包括VPC、三层网络、二层网络、私有网络、弹性公网IP(外网)。无论哪个数据中心宕机,外网都不会受影响,流量可以从多个数据中心进来。
用户的业务主要有前端、中间件、数据库,要想在应用层或者PaaS层给用户提供很好的支撑,最难做的是数据库。青云的数据库本身是多活的,任何一个数据中心的宕机都不会影响数据库。这样一来,用户部署业务会变得更简单。
上图是在北京大区建立多活架构的展示。用户想构建多活的业务,只需要做最简单的应用层部分和中间件的部分。这部分的业务绝大部分情况下不会涉及数据,或者说不会涉及很复杂的数据一致性的问题,客户可以自己解决。其他的负载均衡器、Redis、MySQL以及多个数据中心之间的互联,都是由青云提供。所以通过这种方式,用户想部署一个多活的应用或者多活的业务,会变得很简单,而且很便宜。因为用户只需要付出他部署业务的资源,和他使用青云的PaaS资源就可以了。
全方位一体化的交付能力
青云不光提供公有云服务,同时也在做混合云和私有云的交付。在公有云上,可以交付多活的基础设施。如果客户的业务不是完全在公有云上,而是混合云的架构,在此情况下客户能否使用多活?青云的回答是可以的!利用青云的SD-WAN智能广域网服务,加上私有云和公有云统一架构,就可以给客户提供一个混合云架构下的多活基础设施。银行客户、保险客户大多属于这种情况。
总之,何为青云的真正多活?首先是高效、便捷很重要。站在用户的角度,提供一个门槛低的产品,帮助他们构建多活的服务。可靠也是至关重要的一环,包括数据中心的选择、带宽的连接以及组件等,都要经过考验。最后是全面,青云的多活架构不光可以在公有云上使用,在混合云、私有云方面,青云都有全面的交付能力。