本文分享自天翼云开发者社区《全栈混合云综合架构方案研究和落地》,作者: y**n
(一)业务背景
随着云服务的便利性日益被市场接受,企业客户越来越倾向采用公有云服务补充其现有的企业内部部署的数据中心和私有云基础架构的不足。因此,混合云成为云服务市场的重要发展趋势。广义上讲,混合云的形态可以包括云与云的组合、云与传统IT系统的组合、云与虚拟化技术的组合等,它们可根据具体业务场景需求使用混合IT方式解决具体问题;狭义上讲,混合云指的是至少使用了两种不同部署模式(公有云、私有云、社区云)的云服务。当前,应用较多的混合云形式为公有云+私有云的组合。
现有混合云管理方法主要解决以下四方面痛点问题:
(1) 资源管理:将物理上分散的资源构建成逻辑上统一的云资源池,进行计算、存储及网络资源的统一管理和监控。面临异构兼容,控制融合的挑战。
(2) 运维管理:对所有数据中心的资源进行统一运维,提供集中的告警、日志分析等故障定位手段,提供性能、报表、仪表盘等监控方式。
(3) 服务运营管理:将云资源包装成服务,提供基于服务目录的端到端的服务开通、服务监控、服务计量等一系列服务运营支撑能力。
(4) 统一门户:管理员门户提供资源管理和运维管理的统一界面,对云资源进行统一管理和维护,包括虚拟资源和物理资源。自服务门户提供用户订购云服务,并对已有的虚拟化资产进行管理,包括虚拟资源的使用和释放等。
(二)整体技术架构
天翼云全栈混合云云采用原生云架构,以分布式技术和产品为基础,一套体系支撑所有云产品和云服务,提供完整的云平台开放能力,具备完善的企业级服务特性,具备完善的容灾和备份能力,是一个完全自主可控的云平台。面向企业客户提供资源统一开通、统一运营、统一运维等能力,简化云管理,满足企业容灾备份、应用弹性扩展等场景需求;整合天翼公有云、第三方公有云、私有云能力,提供混合多云管理能力。
(三)高可用架构
高可用性(High Availability)通常来描述一个系统经过专门的设计,从而减少停止服务的时间,而保持其服务的高度可用性的状态。全栈混合云平台,基于资源冗余,故障转发得轻量级策略,在保证从底层资源池到上层接入层得全链路高可用得前提下,资源得使用率是最低的,满足部分资源敏捷化的场景,并且资源在云上和云下均可弹性扩展。
资源高可用:底层的自研的CNP 资源池,均以集群的方式进行部署,包含不限于控制器组件,网元组件,计算组件,存储组件等,保证了底层资源池的可用性和可靠性。
数据高可用:云管平台的控制面数据采用数据持久化到数据库中, 并且数据库采用PXC 模式多主集群提供数据层面服务,每个数据节点均可单独提供数据服务,即使部分节点宕机,其他节点仍可对外提供数据持久化服务,保证业务连续性。
服务高可用:云管平台后台服务单元采用微服务的架构,提供服务集群的方式提供管理服务,包括登录服务,资源开通,平台运营,系统管理,统计监控等。
平台高可用:云管的前端控制台采用双活的方式,保证业务用户使用平台的稳定性,减低平台单点故障带来的业务阻塞的风险,同时提供健康检查的机制,能够及时发现不稳定的前端服务,并做熔断处理。降低业务处理的错误率和异常率。
转发高可用:采用高性能的HaProxy 反向代理和负载均衡软件。进行业务流量的服务代理转发。基于双活的架构,对业务流量进行自动负载转发。并可以配置后端服务健康检查探针,及时洞察后端服务健康状态,根据预置策略,自动进行相关处理。
入口高可用:基于虚拟IP方式,采用业界比较流行的方式Keepalive工具,双机主备的部署,保证流量转发到稳定和高可用,主节点例外宕机, 备节点秒级接管转发流量,保证流量高效稳定的转发。
(四)标准部署架构
全栈混合云部署架构采用分层部署的架构,入口组件,云管组件,资源池基础组件,安全组件分开部署的模式。在保证每层高可用的前提下,保证组件之间的逻辑/物理隔离,最大程度减轻组件耦合。提高业务的运维的效率,同时提高系统的可维护性,可扩展性。
入口组件: 主要提供管理流量的过滤和转发,基于虚拟IP 和 Keepalived的组合模式,后端级联路由组件Haproxy,保证流量正确的分发到云管区域。组件基本采用双活的部署模式。
云管组件: 主要部署全栈混合云管理平台,全部采用虚机/容器化部署模式,包括前台web组件, 中台Java组件, 后台的混合云适配组件,缓存Redis组件,RabbitMQ 组件和数据库PXC集群组件等,每个组件采用多活的方式,对外提供服务,降低单点故障
CNP资源池组件:标准的CNP组件的部署模式,典型的组件,包括管理组件,网元组件,计算组件,存储组件。根据天翼云深耕多年的技术沉淀,采用慧匠自动化部署工具,根据业务需求,一键式部署底层全部组件。极大提高了部署交付的效率
安全组件:保证平台基本的安全,包括典型的下一代防护墙,抗Dos设备,堡垒机,密码机等。采用硬件,软件,或者软硬融合的组件,在保证业务高效的前提下,达到内部业务系统的审计和安全防护技术要求并且更好的保障系统的安全稳定运行。
(五)容灾部署架构
全栈混合云多Region场景下,支持地域内同城容灾、跨地域异地容灾和跨地域备份,可满足不同行业的灾备等级要求。
(1)同城/异地容灾
同城容灾:是在同城或相近区域内 (<=200K M )建立两个数据中心 : 一个为数据中心,负责日常生产运行 ; 另一个为灾难备份中心,负责在灾难发生后的应用系统运行。同城灾难备份的数据中心与灾难备份中心的距离比较近,通信线路质量较好,比较容易实现数据的同步 复制 ,保证高度的数据完整性和数据零丢失。同城灾难备份一般用于防范火灾、建筑物破坏、供电故障、计算机系统及人为破坏引起的灾难。
异地容灾:主备中心之间的距离较远 (>200KM ) , 因此一般采用异步镜像,会有少量的数据丢失。异地灾难备份不仅可以防范火灾、建筑物破坏等可能遇到的风险隐患,还能够防范战争、地震、水灾等风险。由于同城灾难备份和异地灾难备份各有所长,为达到最理想的防灾效果,数据中心应考虑采用同城和异地各建立一个灾难备份中心的方式解决。
同地域:采用多AZ 方式保证业务和数据的相关备份,保证区域内高可靠。
DC之间:采用私有云为生产站点主中心,提供服务,同城/异地数据中心为灾备中心,基于云专线异步的方式进行数据同步,底层存储数据(弹性文件,云盘,对象存储)可以利用CDP/Relication工具进行同步,系统故障最大数据丢失量趋于0(RTO≈0),系统故障最长停机时间在5分钟到几小时不等。满足系统容灾要求。
(2)公有云容灾
概念:为企业提供业务容灾的灾备方案,相比传统容灾具备了多方面的优势。公有云容灾允许用户将传统的采购模式转化为按服务交付使用的方式,云数据中心的各种资源即开即用,能够快速部署,大幅缩短了灾备中心建设的进程,节约了建设传统灾备中心的时间和金钱成本。让云容灾成为一种普惠型的灾备服务,中小型企业也可以享受到灾备服务,让大型企业可以摆脱传统灾备的高成本负担。
同地域:采用多AZ 方式保证业务和数据的相关备份,保证区域内高可靠。
公有云为灾备中心:采用私有云为生产站点主中心,提供服务,公有云数据中心为灾备中心,基于云专线异步的方式进行数据同步,最大利用公有云资源巨大弹性和免运维的巨大优势,保证了业务连续性。
总结
经过一年多团队的刻苦攻坚,目前全栈混合云1.0版本的方案已经落地多个场景,包括(政务云,一城一池,企业云,能源云)等多个场景,已经有超过近百个客户的实践经验,未来全栈混合云将从“可纳管”到“智能纳管”全面迭代,整体架构将想云原生的方向进行全面转化。行而不辍,未来可期。