前言
当前各行各业在积极拥抱云计算,但由于一些历史原因和合规要求导致很多企业全面上云比较困难,比如企业监管制度及合规要求一些核心数据库必须保留在本地数据中心;本地数据中心作为企业固定资产不容易完全抛弃;有些大型集团企业IT架构复杂,全面迁移上云的影响难以评估等等。因此,国内很多企业还处在基于自有服务器、IDC等部署业务的传统IT架构模式下。
本地或IDC托管服务器集群在计算、存储、备份及安全防护能力上均会有所限制,而公有云具备灵活易扩展、弹性付费、安全可靠等优势,如果将本地环境和公有云打通融合成混合云架构,就能够保障在本地部署自主可控的同时,还能享受公有云带来的红利。
据Gartner预测,2021年,超过75%的大中型企业将采用某种形式的混合云和/或混合IT策略。IDC预测,到2022年,全球90%以上的企业将依靠本地部署/专用私有云、多个公有云和传统平台的组合来满足其基础设施需求。混合IT策略兼顾公有云灵活低成本和本地部署私密安全的双重优势,正在受到全球企业的广泛采用。
混合云背景
在云计算出现之前以及云计算发展前期,很多企业选择租用传统IDC或者自建IDC的服务器搭建本地环境。尤其是租用IDC服务器,在很长一段时间承载了企业IT系统的发展,相比自行组建购买服务器、组网、租用IDC服务器已经提供了非常大的便利。但传统IDC相对云计算存在交付周期长、资源弹性扩展能力差、一次性硬件成本投入大等问题。
本地环境还包括企业部署在办公室的服务器,一般用于运行内部系统、内部测试环境、官网等服务,即便这些业务上云,也难以一次性裁撤本地的服务器。
除此之外,还有很多企业通过私有云模式来搭建本地环境,虽然私有云相比IDC已经具备按需计费、自主管理等优势,但也面临私有云数据存储备份能力不足、私有云中现有产品线不齐全、安全防护能力较弱等问题。
对于上述问题,混合云架构无疑是企业的最佳选择。企业在保留原有本地数据中心资源的同时,又能够借助公有云平台来实现资源的弹性扩展,弥补本地数据中心的安全防护、数据存储备份等方面能力不足的短板。
混合云架构的三种形态
(架构图:UCloud混合云架构解决方案)
如上图所示,混合云架构的形态一般包括:
一些特定行业用户基于合规、制度的要求,业务不采用公有云方式,可选择独立采购硬件服务器或租用IDC的方式,存在的问题是维护的人力成本高,需要专业运维团队进行维护;
对于用户已有购买或租用服务器集群的情况,可考虑将服务器托管到UCloud云平台,减少用户侧运维硬件服务器的工作,享受与公有云数据中心相同等级的电力、组网、资源维护等服务;
相比之下,将UCloud云计算虚拟化操作系统进行私有化部署,也就是采用UCloudStack私有云的交付方式,可以复制借鉴公有云使用方式、享受稳定的云操作系统及各项产品与服务,并且有UCloud技术团队提供运维服务,通过“交钥匙”的方式为用户提供私有云服务。
IDC服务器+公有云
云计算最早出现在2006年,在国内发展起来是在2010年甚至更靠后的时间,而之前已经非常成熟的传统IT系统、服务器集群、数据中心等设备采用VMware等虚拟化技术或OpenStack操作系统,银行、政务、传统企业、电商等平台基于传统IT架构已经构建了非常完善的基础设施资源和应用系统。
这些设备和系统已经能够稳定运行,但是在发展的过程中也会遇到设备老化需要更新换代、系统能力不足以支撑当前的业务扩容、安全防护能力有限等问题。设备更新换代还需要重新购买资源、需要预估后续几年的使用量,也就要求为后续冗余计算能力进行买单。
采用混合云架构的方式,则可以将原有服务器集群、数据中心与公有云通过网络进行连通,把应用系统和部分数据复制到公有云中,核心数据库写操作依然全部放到本地环境中,从而可以实现将更多业务请求分发到后端云平台上。
托管云+公有云
(架构图:UCloud托管混合云架构)
托管服务器的形式更加适合需要急迫上云、不想对现有业务进行修改适配的项目,同时又需要保证部分核心业务的物理隔离,通过服务器级别直接进行搬迁,在托管云区能够直接运行和原来本地环境一致的服务。
托管云可以作为从本地环境完整迁移到公有云的中间过程,亦可将公有云上的托管区作为用户在公有云上的“私有IDC”来托管自有物理服务器,再通过内部专线连通到公有云区。资源扩展伸缩、采用更多的公有云服务则在公有云区完成,最终实现托管区和公有云区的混合云架构。
私有云+公有云
前面提到的IDC/服务器集群是用户在服务器上部署VMware、OpenStack等操作系统或自行进行虚拟化,相对来说维护成本高、需要有成熟的技术团队来维护,一种更优的方案是选择云厂商的云计算操作系统进行私有化部署。
UCloud提供更加轻量化的云操作系统——UCloudStack,在部署方案中管理节点只需3+云服务器,因为在云操作系统层面进行了优化,默认只配置一部分云计算基础功能,通过配置和选配模块来为私有化部署提供更多产品服务。UCloudStack能够在1 台服务器中实现POC验证、3 台服务器中构建生产环境,部署时长只需要几个小时,适用于受安全或合规限制短期无法使用公有云但有云化或虚拟化需求的用户场景。UCloudStack留有公有云对接接口,方便实现私有云+公有云的一体化管理。
三种形态对比:
混合云架构的使用场景
1、扩展计算能力
本地环境通常会因为数据中心容量有限、服务器集群计算能力有限,不容易快速实现资源扩容。特别是面临突增的业务流量、预知的业务流量高峰或临时的业务流量抖动时,难以在短期内完成资源扩容。如果按照业务流量高峰值来配置服务器,则会在业务低谷期造成资源长期闲置,在成本上也不划算。
比如新零售场景,在双十一时业务流量持续增长而在双十一之后流量会降低,是典型的具有流量波峰波谷的场景,既需要在高峰期扛下超大的业务流量,又希望能够压缩整体的支出成本。
解决方案
将本地环境与公有云连通组成混合云架构,实现对本地环境计算能力的快速扩展。构建混合云架构需要先连通网络,以便实现跨平台的数据库写请求、组件调用等;其次需要将本地环境的业务和数据同步到云端,在云端能够承载业务流量;最后进行流量切分,将一部分流量转发到云平台中。从这个角度上来说,构建混合云架构很大程度上可以扩展本地环境的计算能力。
(架构图:通过UCloud混合云架构扩展计算能力)
- 通过专线接入UConnect、公网或SD-WAN方式来打通本地环境和云平台;
- 参考典型的三层架构互联网业务,应用层和逻辑层都是无状态设计,可以在在本地环境和云端环境分别部署独立部署;
- 将本地自建数据库作为主库而云端数据库作为从库实现数据的主从同步,当然也可以反过来云端数据库作为主库。并且主库和从库通过MySQL等数据库的binlog机制保持数据单向同步,本地环境和云端环境的逻辑层连接相应的主从库进行读操作,对于写操作均需要连接本地环境的数据库主库进行;
- 正常流量切分到本地环境,额外新增流量切分到云平台;
- 云平台中可以通过自动伸缩UAS,根据云主机UHost的CPU等指标监测数据,自动增加或删除云主机资源,来应对业务流量的变化。
上面考虑的是先有本地环境再构建的混合云架构,所以按照数据库主库部署在本地环境进行介绍,对于混合云架构而言,主库在其中一侧即可,另外一侧采用从库。
对于业务运行在本地,且当前业务压力接近计算能力上限、在可预计的时间段会达到计算能力上线,这时可考虑将业务流量切分一部分到公有云端,最开始可选择切分少量流量。
2、扩展存储备份能力
本地存储存在容量范围有限、扩容不及时、扩容时难以预测未来存储容量等难题,选择混合云架构将数据存储能力扩展到公有云,公有云端的存储容量对于用户来说时“无限”的,用户只需关注存取数据,扩容和可靠性则由云平台保障。
解决方案
(架构图:通过UCloud混合云架构扩展存储备份能力)
为了实现日志等数据存储到公有云,可将本地环境连接公有云实现内网通信,然后将本地数据存储到云端。本地环境中单独划分出来主机作为存储网关,收集本地数据并根据配置规则转存到UCloud公有云文件存储UFS、对象存储US3中。本地环境的日志可通过LogStash进行收集,同时选择公有云的ElasticSearch服务中的内网IP进行输出,就可实现本地环境日志直接上传到公有云中。
有些用户自身业务有对数据实现同城备份的需求、合规和一些行业制度也对数据备份有要求,而通常建设符合标准的备份数据中心需要较长的时间和成本,UCloud公有云与本地环境同城的可用区就是做备份非常好的选择。公有云的数据中心至少Tier 3级别,并且运行经过大量用户业务验证,稳定性、安全性毋庸置疑。在UCloud公有云端对象存储US3中创建用于备份的存储空间,本地环境通过存储备份网关将数据进行收集、加密等处理之后上传到US3。在UCloud US3中可以根据存储周期管理,将长期备份文件存为“低频存储”来降低用户成本,在一个月或三个月之后根据设定策略自动转存为“归档存储”,进一步压缩存储成本。
此外,还可以在UCloud公有云端实现温备份,将本地环境的主机以迁移的方式部署到公有云端,无需按照生产环境的主机数量进行部署,只需选择在云端运行最小环境,可实现混合云架构下对本地环境的容灾服务。
本地存储存在容量有限、扩容不便、扩容难以预测未来存储容量时,可选择对数据脱敏之后将本地数据存储或备份到公有云端。
3、扩展安全防护能力
本地环境由于安全防护设备更新换代慢,面对层出不穷、升级换代的各类攻击时,本地的安全攻击防护和安全风险预测能力有限。加上本地环境通常采用硬件WAF、接入设备进行攻击检测与拦截,一旦遇到大规模网络攻击时通过部署硬件安全服务也难以及时有效响应。
解决方案
UCloud云平台面向多租户提供计算、存储、安全防护等服务,相对而言遇到的各类挑战和攻击种类更多更复杂,云服务商为保障平台中用户业务安全、可靠,势必时刻投入精力来应对挑战和攻击,因此能提供更加完善的安全解决方案,具备更丰富的应对安全攻击风险的实践经验。
在混合云架构中,业务运行在本地环境时,可以将所有流量切到云端,通过云端安全服务进行过滤,再将正常业务流量切分到本地环境和云端环境后端进行处理。当遇到网络攻击时,攻击流量也会分发到云平台先进行流量清洗后,使攻击流量被云平台过滤阻断。
从安全防护的角度来讲,云平台相当于本地环境的延伸,除了可以利用云平台海量资源清洗DDoS攻击流量之外,还能够借助UCloud云平台种类丰富的安全产品、更强的防护能力,对本地环境中的业务、资源、数据提供安全攻击拦截、安全风险预警识别等安全措施。
(架构图:通过UCloud混合云架构实现本地环境的DDoS高防服务)
如图所示,遇到DDoS攻击,可以将请求切换到云端,通过业务系统最前面部署的DDoS高防服务进行流量清洗,所有请求在云端清洗、过滤完成后,正常流量再切分到本地环境和云端环境后端资源进行请求处理。这里UCloud会分为两种情况:
一般攻击流量小于10G时,高防服务对流量进行自动清洗,采用多种防御策略,支持防御网络层攻击,比如TCP类报文攻击、SYN Flood攻击、ACK Flood攻击,流量清洗通常免费提供,应对一些小规模的攻击和大流量,由于是DDoS高防服务自行处理,管理人员无需介入;
攻击流量大于10G时建议采用高防IP进行流量牵引、隐藏源站IP,不过需要通过高防IP来代替源站IP需要人员介入,也需要一定切换生效时间。
除了DDoS攻击防护,面对Web应用攻击时,可在云端采用Web应用防火墙WAF,应对cc攻击、SQL注入、XSS攻击等,应用接入时WAF会分配一个CNAME域名,在域名服务商处增加新的CNAME解析即可将流量引入WAF,经过过滤后流量会返回到源站IP,而源站在本地环境、云端、其他云平台均可。
本地环境中没有有效的安全防护能力,需要对DDoS、cc攻击等进行流量清洗和防护的,可将所有流量从公有云中绕一圈进行过滤清洗后再回源。
4、拓展产品能力
在本地环境中原有产品能力有限,已经在使用的可能是计算虚拟化、存储、MySQL数据库、Hadoop等服务。随着业务的发展,除了使用的计算、存储能力进行扩展,可能也会遇到使用更多技术能力的需求,比如对接数据湖、对海量日志的分析与处理、Serverless开发框架等,如果在本地环境安装、长期维护又需要一定的技术门槛。
解决方案
例如本地环境中产生主机日志、用户业务日志,通过本地自建ElasticSearch方式保存在本地,现在经过版本升级需要生成周报并推送给相关管理员或用户,可采用公有云日志服务存储日志、采用竞价实例处理报告任务。具体步骤如下:
本地的日志分析模块,可放在公有云上进行处理,在日志产生时通过LogStash等工具上传到云端ElasticSearch,在云端存储和分析。对日志的收集和存储,需要大数据组件ELK的支持,采用公有云上现成的ElasticSearch可减少自行安装部署的操作,也节省了维护成本;
生成和推送报告并非实时性的需求、还会抢占当前核心业务的资源,可以在云主机上搭建运行生成报告、推送给用户的功能,或者通过触发Serverless函数来处理。通过灵活采用公有云上按时计费、按使用计算资源计费的产品来减少费用;
公有云云主机有竞价实例云主机,在未抢到竞价实例云主机时进行等待,抢到之后进行任务处理,并及时将报告数据写入到US3对象存储或进行推送,如果未抢到竞价实例的时间过长,在报告必须要推送前还未申请到资源,则会启动创建普通云主机进行计算任务,优先保证不影响业务。
再例如,对于业务有需要训练AI模型的,也可以交给UCloud公有云。一般通过公网方式传输数据时间会较长,如果不能接受较长时间可考虑专线传输、寄送硬盘方式上传数据,或者直接通过UCloud公有云UAI -Train训练平台加载数据训练模型,将训练得到的模型传回到本地环境,每次优化后的模型也更新到本地环境,同时在本地提供UAI- Inference在线服务。
有大数据分析、AI模型训练等与主要业务可解耦的功能组件,可交由公有云端进行计算,将计算结果回传到本地、云端存储、对外推送消息等,减少本地部署和运维。
5、实现业务平滑过渡
业务迁移方案设计和实施过程中,对现有IT资源、业务架构掌握难以非常充分;迁移到公有云时需要做一些产品变更和替换,迁移后能否真实可用也是一个疑问,这些都造成了业务迁移的难点。
解决方案
先将业务包括数据进行复制,在本地环境和公有云端均保留相同的业务和数据,通过全局负载均衡进行流量切分,在业务稳定之后再切换。这种方式的优势便是小步迁移,迁移的业务还会通过少量真实请求进行验证,保证了迁移后的环境是可用的。
(架构图:通过UCloud混合云架构实现业务平滑迁移)
上图所示,实现业务平滑迁移的过程可分为以下步骤:
1.在迁移过程中先实现业务和数据复制到云端,通过混合云架构提供服务。应用层不保存状态,更容易实现业务复制到公有云端;
2.数据库部分,先将历史数据进行复制,再通过迁移工具UDTS逐步实现增量数据同步;数据库的所有写操作还是放在本地环境中,公有云端云主机对数据库的读操作可放在公有云端的数据库中;
3.在迁移的整体过程中形成混合云架构的临时状态,将用户请求流量按照一定比例切分到本地环境和公有云环境中;
4.在迁移切割窗口期,将数据库、消息队列等服务的写操作从本地环境切换到公有云端,原有的读操作还可以保持不变;
5.逐渐将本地环境中的流量缩减为0,从而完成业务和数据平滑迁移过渡到云端;
6.最后清理本地环境中的业务和数据。
需要进行业务和数据的迁移,均可考虑混合云架构的平滑迁移方式。
总结
本文介绍了三种混合云架构的组成方式,包括租用IDC或自有服务器与公有云连通、(云计算操作系统私有化部署的)私有云与公有云连通、托管云与公有云连通。并重点介绍了通过混合云架构延展本地环境的五个场景及对应解决方案。笔者认为无论是租用IDC、自购服务器、私有云、托管服务器,其本地环境的资源和能力都是有限的。相比之下,公有云资源和能力是“无限”可扩展的,因此可以通过混合云架构扩展计算、存储备份、安全防护、新产品服务的能力,以及基于混合云架构实现迁移过程中的业务平滑过渡。
在下篇中将会继续介绍混合云架构下网络连通、通过DNS和转发集群实现全局负载均衡、对混合云架构进行统一管理的云管理平台CMP,还有对资源的跨平台调度、保证业务连续性的实践分享。