1.2 云原生与混合云
私有云和公有云究竟谁代表了未来云计算的主要形态?关于这个问题的争论由来已久。最早,国外流行的说法是“未来的云都是公有云”。而在国内,大型政企又投入大量人力和物力搭建私有云,私有云的发展也如火如荼。
从2019年开始,云计算未来的主流形态就基本清晰了。如果未来只有一种云,那么它就是混合云。同时,也是在2019年,国内外各大主流云服务商都推出各自的混合云产品和解决方案。
混合云是什么?业务应用在混合云中是什么样的?云原生在混合云生态中扮演什么角色?本章将从云原生与混合云的关联入手,讲解这几个问题。
1.2.1 混合云的概念
混合云顾名思义就是混合起来的云,这里被混合起来的实体是私有云和公有云。
在国内云计算最初的发展阶段中,大量的集团企业以及政府部门需要推进自己的信息化建设步伐,构建自己的私有云数据中心。采取的方式是采购大量的服务器、安全虚拟化软件和私有云管理平台,通过私有云管理平台来配置和管理自己的云。
另外,以金融类为代表的行业用户和政府用户对数据和业务安全保障极为重视,将业务和数据放在自己的数据中心成了唯一的选择。对于一些超大型的、具有行业影响力的集团企业,也在逐步通过云计算构建具备行业属性的、跨企业的大型私有云,使之成为行业云。时至今日,私有云仍然是政府、金融等行业的必需选择。
随着移动互联网的全面普及,一大批互联网创业公司诞生,比如直播、游戏等公司。它们作为初创互联网企业,为了节约成本和提升效率,不再自己购买服务器搭建私有云,而是购买公有云的服务,按照使用量进行付费。此外,还有众多中等规模以下的企业,面对市场的竞争需要通过信息化建设手段提升竞争力,采用公有云提供的随时取用的服务成了它们的优先选择。这些业务场景促进了公有云的迅速发展,成就了国内一线大型公有云服务商。
现今的IT技术不断发展,AI、5G、IoT技术的成熟,进一步刺激了公有云的需求。同时也催生了基于公有云的创新应用服务,越来越多的政企也在尝试接入公有云获得这些能力。比如政府机关,针对老百姓提供的各种办事业务都在互联网上进行。另外通过互联网提供的技术能力,也可以进行很多的业务创新,比如消费券发放业务等。同时,金融类客户将涉及货币交易和客户数据放在自己的私有云,而把创新应用放在公有云。
于是,这些已经拥有了私有云的政企(政府相关部门及企业)开始考虑业务上公有云。从而降低成本、增加存储和可扩展性、提高可用性和访问能力、提高敏捷性和可开发和使用新技术能力、实现边端云统一管理等,需要使用混合云解决方案。
根据RightScale 2019年云状态报告显示,混合云已经成为全球企业用云的主要形式,有84%的受访企业采用了多云部署策略。其中,使用混合云的企业比例继续提高,由2018年的51%增长到2019年的58%。科技市场研究机构IDC也预测,基于混合云和多云部署的方式会成为未来云计算的主要使用方式。
1.2.2 混合云应用架构设计
部署在混合云上的应用,常见的使用场景有以下几种。
1)将内部核心业务放在私有云环境中,将面向公众的、互联网性质的业务部署在公有云上。
这种场景下,分为两个业务区,一个是公共服务区,另一个是核心业务区。这两个业务区分别部署在公有云和私有云上。内部通过VPN通道建立连接,通常是公共区访问核心区的接口和数据,如图1-1所示。
•图1-1 公共服务区与核心业务区
2)把基础的、需长时间稳定运行的业务放在私有云环境中;把创新的、短暂的、需动态扩展的业务放在公有云上。
这种场景下,将常规运行的业务放在自己的私有云中。为了避免突然的流量峰值,依赖公有云上的资源进行弹性扩容,以应对突发的业务访问量。同时,也避免了在私有云中需提前准备大量服务器而带来的资源闲置问题。
另外,针对创新性、试验性、测试性的业务运行在公有云中,利用公有云的即取即用、按需付费来降低成本,具体如图1-2所示。
•图1-2 从私有云向公有云上动态扩容
3)针对数据类业务应用,将数据存储在本地环境即私有云上,而将数据访问类和面向公众的业务放在公有云上。
这个场景下,数据的存储以及访问应用都部署和运行在私有云中。对外提供的数据服务由部署在公有云中的实例来承接。这样的好处有两个,一个是数据放在私密环境中,容易进行管控;另一个是,对外的大量业务需要占用较多的底层资源,适合运行在公有云中。需要注意的一点是,私有云中的数据访问能力并不是由数据库直接提供,而是通过上层封装的数据访问接口来提供的。在数据访问接口这一层上,进行数据访问的鉴权、数据的加密与脱敏等操作。具体如图1-3所示。
•图1-3 私有云进行数据存储,公有云进行数据访问
4)针对AI类型的应用,在线下(私有云)进行推理运算,在线上(公有云)进行算法运算。针对传统业务应用,在线上(公有云)进行开发测试,在线下(私有云)进行生产部署。
1.2.3 云原生与混合云的关系
在常见的混合云应用场景下,大部分场景需要私有云和公有云是同构的,即底层架构是相同的。比如,在公有云上开发的应用,放在私有云上运行;再比如,在私有云上的应用弹性扩容到公有云上。如果底层架构是不同的,往往迁移起来就需要重新适配改造、重新测试。在注重效率和革新的云化生态中,这种不利因素所带来的影响是很大的。
由于云原生统一了软件平台、软件架构以及软件开发流程,基本上针对应用的各个层面都做了标准化。这个标准化是超越了私有云和公有云的界限的。
基于云原生技术开发的应用,能够在业界各个平台畅行无阻。部署在私有云、公有云里的都是一样的技术体系和架构,也就意味着将私有云中开发的应用部署在公有云上是很容易的,同时也很容易把私有云中的应用扩展运行到公有云上。另外,从公有云迁移到私有云也是很方便的,对业务应用基本不用做什么改动。