导读
如果说水电煤是日常生活中必不可少的基础设施,那么未来十年,云计算就将成为数字经济时代的水电煤。云原生让云计算变得标准、开放、简单高效、触手可及,是释放云价值的最短路径,也是国内外互联网大厂纷纷积极布局的增长点。基于容器云管理平台,云原生可以实现敏捷部署、故障自愈、弹性扩缩容、不停机升级等一系列敏捷运维能力。此前,我们介绍了云原生的前世今生,今天,让我们进一步走近云原生,迎接云原生时代。
1、云计算的下一站:云原生
云计算从工业化应用至今已走过十五个年头,然而很多企业使用云的方式仍停滞在传统时代:虚拟机替代物理机、使用文件保存应用数据、没有经过架构改造的应用上云、传统的应用打包与发布方式等等。技术的应用方式本身没有对错,但毫无疑问,这些传统做法既不能从云技术中获得更高的可用性与可扩展能力,也不能利用云来提升发布和运维的效率,越来越不适用于如今高效、稳定迭代的市场竞争需求。
要充分释放云计算的技术红利,就必须将目光投向云原生。云原生是以容器、微服务、DevOps等技术为基础,在云计算环境中构建、部署和管理现代应用程序的软件方法。云原生旨在将云应用中的非业务代码部分进行最大化的剥离,从而让云设施接管应用中原有的大量非功能特性(如可用性、安全性、可维护性),使业务不再受非功能性业务中断的困扰,并实现轻量、敏捷、高度自动化。
容器和容器云是云原生的基础设施,是云原生带来颠覆性改变的核心。容器与虚拟机技术类似,但二者在原理上不同。虚拟机是将硬件虚拟化,容器则是将操作系统层虚拟化,因此容器可以无视基础设施的差异,部署到任何一个地方,并且提供更强的业界的隔离兼容。
容器云管理平台(Kubernetes,简称k8s)则让容器应用进入了大规模工业生产时代。它是一个以容器为中心的基础架构,可以在物理集群或虚拟机集群上调度和运行容器,实现容器自动部署、扩展和管理。
容器云管理平台特性
在实践应用中,云原生的下述价值,可以有效推进研发运维一体化,助力企业创新业务快速迭代。
敏捷部署
传统模式(虚拟机)基于可变基础设施,其由人工维护且经常被更改。而持续地修改服务器,就犹如一个可变变量的值经常发生变化、导致引入的状态不一致,存在不可预知的并发性风险。基于容器的云原生,则将构建应用及其运行时的依赖环境打包起来,构建为不可变的、可版本化管理的服务。它可以直接使用现成的镜像仓库,再加上持续集成和持续交付系统,实现敏捷快速部署和交付。
容器=不可变基础设施
故障自愈
人工处理告警,一直是运维心中的痛。早期的故障自愈依赖诊断、故障决策分析能力,将相关告警和异常事件按照风险维度进行聚合,快速定位到故障点,如已知风险事件,进而自动触发已配置的风险预案。而云原生时代,容器Pod副本管理技术可以实现快速故障自愈,一旦探针发现业务无法服务,容器平台会快速将业务进行重启、迁移等操作,确保有足够的副本运行在集群中。
具体而言,故障自愈主要包含三个环节:故障发现、故障诊断、故障恢复。首先,借助Prometheus、Skywalking等监控手段,利用海量业务服务器进行分层分级的探测,实时监控快速发现故障;其次,借助ElasticSearch、Kibana等日志大数据分析手段,从数据中心数百台网络集群核心层设备中,快速精准找到故障设备,进行故障诊断;最终,对故障设备进行隔离,避免发生故障扩散雪崩效应,待故障设备修复后及时回切现网,确认设备恢复正常后,再逐步增加流量到设备完全并网。
弹性扩缩容
弹性伸缩是根据业务需求和策略自动调整计算能力的服务,它既可以应对突发流量,又可以节省资源。在业务需求增长时,弹性伸缩自动增加指定类型的实例,来保证计算能力;在业务需求下降时,弹性伸缩自动减少指定类型的实例,来节约成本。弹性伸缩不仅适合业务量不断波动的应用程序,同时也适合业务量稳定的应用程序。
在云原生应用架构里可以很方便应用弹性伸缩方案,水平扩容应用系统,提高系统承载能力。当客户面临流量突发型业务或业务急剧上量,云原生通过快速纳管服务器资源来批量运行Pod,快速弹性扩容,实现持续部署、持续集成;当客户部署在私有云上的存量系统出现业务萎缩、资源浪费的情形时,云原生技术可以快速降配缩容,将资源灵活调配,最大程度上复用服务器资源,实现对业务创新的快速响应。
不停机升级
k8s中应用发布具备不停机升级能力,可在业务不中断的情况下完成应用软件版本升级。具体来说有如下三种形式。
● 滚动发布
它通过逐个替换实例来逐步部署新版本的应用,直到所有实例都被替换完成为止。例如当前应用提供的服务版本是v1,这个服务的后端有3个副本,那么在更新版本v2的时候,就一个副本一个副本地开始替换,直到最终服务的后端全部替换成v2版本。
● 蓝绿发布
它将服务版本v1与v2的后端pod都部署在环境中,通过控制流量切换来决定发布哪个版本。与滚动发布相比,蓝绿发布策略下的应用同时存在v1和v2两种pod,可以通过流量的切换来决定当前服务使用哪个版本的后端。
● 金丝雀发布(灰度发布)
以前矿工在下矿洞前,会先放一只金丝雀进去探测,通过金丝雀能否活下来从而判断是否存在有毒气体,金丝雀发布由此得名。它也被称为灰度发布,是在原有版本v1可用的情况下,同时在一台或在小比例服务器上部署一个新版本应用v2作为“金丝雀”,通过调整流量百分比的方式来逐步控制应用从v1向v2切换。相较于前两种发布方式,金丝雀发布可以在保障整体系统稳定的情况下测试新版本的性能和表现,万一新版本有缺陷也只影响少部分用户,把损失降到最低。
金丝雀发布(灰度发布)示意图
制图:聚量集团
阿里、腾讯、华为等互联网大厂已经纷纷拥抱云原生,将自身产品全面转向云原生架构。据Gartner数据,2022年成熟经济体中30%的大型企业在使用云原生,到2025年这个数字将达到85%,云原生技术应用正在取得火箭式的飞速发展。
金融业一直处在科技创新应用的前沿,国内部分银行“触电”云原生,在数字化转型之路上成效斐然。大型国有银行如中国工商银行,基于Docker和Kubernetes架构自主研发建设PaaS云平台,目前已承载行内200多个应用,20多万普通应用容器,形成可视化、易操作的自服务体系,并能够实现秒级扩容,降低停机扩容的运维成本和时间,保障业务的连续性和高可用性。互联网银行如众邦银行,以云原生技术为依托,形成了包含业务能力标准、服务开发方法论、系统运行机制和运营服务的体系生态,其信贷域和账户域的全部业务系统已经在容器上进行发布和运行。展望未来,云原生技术的深入应用必将为金融机构数字化转型注入更加充沛的活力,进一步提升其综合实力和核心竞争力。
总 结
作为云时代释放技术红利的新方式,云原生技术通过方法论、工具集和最佳实践重塑整个软件技术栈和生命周期,有效提升企业数字化转型效率,持续促进企业业务创新。融合先进的数字科技手段,聚均科技推出产业数字金融云原生信创一体机,依托不停机升级的云原生特性,满足银行客户对公业务数字化转型的高定制、高迭代所需,支撑其产业链金融服务的敏捷部署与快速迭代,为高质量发展按下“快进键”。
参考文献:
【1】阿里云:《云原生架构白皮书(2022)》
【2】华为:《云原生2.0架构白皮书(2022)》
【3】网商银行技术编委会:《金融级IT架构:数字银行的云原生架构解密》
【4】魏新宇、宋志麒、杨金锋:《金融级IT架构与运维:云原生、分布式与安全》