第39问:如何理解“云原生”与“业务上云”?

云原生(Cloud Native)是一种新型的技术体系,旨在通过使用容器、微服务、DevOps等技术,实现分布式系统的自动化、高可扩展、高可用性等优秀软件系统技术特征。云原生既是一种构建和运行应用程序的方法,也是一套关于数字化应用的前沿方法论。在该方法论的指导下,开发者不必关心底层“云计算”的技术实现,在开发过程中只要聚焦关注对前端业务功能的动态实现,同时也可充分发挥云平台的弹性和分布式优势,满足快速部署、按需伸缩、不停机交付等技术管理需求。

2013年,Pivotal公司的Matt Stine首次提出云原生的概念,2015年,云原生计算基金会(CNCF)成立,最初把云原生定义为包括:容器化封装+自动化管理+面向微服务,2017年,Matt Stine在采访时将云原生架构归纳为模块化、可观察、可部署、可测试、可替换、可处理的六大特质;在当前最新的Pivotal官网中,关于云原生的架构可以归纳为四个核心要点,即DevOps、持续交付、微服务,和容器。

云原生的流行本质上来自于前端不断变化的数字化需求,支撑这些需求的快速、柔性相应,其背后需要依靠统一、标准、强大的技术能力底座—“云计算”来实现。“云计算”的概念最初来自于分布式计算,即通过互联网环境将大规模、复杂的数据处理任务拆解为多个简单任务进行并行计算,以此来提高数据处理的综合效率。在当今数字化时代,“云计算”已经拥有了更加广泛的含义,即通过“云”的方式为企业提供可在不同业务场景中“随用随取”的数字技术服务能力,满足企业复杂、不确定的业务需求,提供更强的数据资源和技术资源的开放和共享能力。

1. 云原生的技术要点

微服务:微服务架构是一项在云中部署应用和服务的新技术,目的是将单一程序划分为一个一个独立的模块,自成一个服务,各个独立的模块可以根据具体业务需求使用不同的技术实现,它们之间通过轻量级的通信机制,如基于HTTP的RESTful API进行调用。微服务架构的每个项目之间的耦合度大大降低,减少了后期维护的成本,可以当前端应用需求发生变化时,通过服务增减的方式快速进行功能迭代。

微服务是云原生的理想技术选型,该架构允许每个服务都是独立运行的,如果某个服务出现故障,并不会影响其他服务的运行,可以保证整个系统运行过程的鲁棒性。此外,在开发过程中,可以支撑并行开发的团队协作效果,各数字化开发条线的工程师可以专注于自己的服务需求,不用担心对系统其他部分的影响。

容器:是适配微服务架构的一种轻量级、可移植的虚拟化技术组件。在微服务架构中,容器作为满足服务运行的底层技术环境,可以让每个服务独立地运行在自己专有的软件进程中,Docker是当今业界最为流行的容器引擎之一。基于云原生的软件应用可以动态管理容器在虚拟机群的部署,在软件发生故障时提供弹性的扩展和恢复重启功能。

DevOps:是一种以云原生技术为基础的、高度自动化的、用于开发、运维和质量保障的实践方法。它强调了开发(Dev)和运维(Ops)之间的沟通、协作和整合,以实现快速、高效、可靠地交付软件产品和服务。基于DevOps方法,开发人员和运维人员共同负责应用程序的开发、集成、测试、部署、监控等一系列技术项目活动。DevOps是一个敏捷思维,是一个沟通文化,同时也是组织形式,为云原生提供持续交付能力。DevOps开发方法在技术上可以快速进行鲁棒性的测试,在业务上也能更及时地进行需求试错和能力迭代。

持续交付:基于DevOps可以实现数字化系统的持续交付效果,即通过全新的开发模式让软件产品可以持续、稳定地交付到生产环境。持续交付关注的是从原始需求识别到最终产品部署到生产环境这个过程中的需求流动,以及如何通过自动化工具和实践来提高交付效率和可靠性。

在基于云原生的持续交付过程中,自动化和反馈循环是两个核心要素,通过自动化工具可以让开发团队在软件构建、测试、部署等流程中提高交付效率和质量,反馈循环则可以让团队及时了解软件产品的状态和问题,以便快速修复和改进。

2. 业务上云

云原生是从技术的视角理解“云计算”,而业务上云,是从数字化产业应用的视角看待云计算。所谓业务上云,是指企业在数字化转型过程中,将传统的IT系统迁移到云端,采用基于云计算的底层技术架构,重新定义信息系统基础框架,更好地适应企业在数字化转型中进行数据能力、IT能力、业务能力的集中汇聚、统一管理,和资源共享需求。

业务上云的方式,与企业在数据中台和业务中台方面的数字化底座建设需求相兼容,通过在云端采用微服务架构的方式进行系统开发和部署,在提高系统功能的交付效率的同时,保证系统对企业内外应用服务能力的柔性拓展。

图33. 基于“云”架构的企业中台能力框架

业务上云是企业数字化转型中IT架构变革的重要技术手段,在新的技术架构下,企业可以解决自身早期信息化发展中“烟囱式”系统建设导致的资源重复投入、数据孤岛等典型问题,实现各业务条线数据链路的“全连接”,以及线上线下的全域信息可感知、可识别、可分析、可追踪。业务上云的方式,有利于推动企业存量信息系统能力的“中台化”转变,让企业的数据资源更加集中,技术资源更加协同,从而实现对前端数字化需求的响应更加敏捷高效。

具体来看,企业业务上云对数字化变革的好处是多方面的:首先,业务上云可以满足企业的移动化办公和移动办公,让用户可以不受地理位置限制访问企业的信息化和数字化资源,提高远程办公协作效率;此外,业务上云可以降低企业IT系统运维的复杂性,可以更好地响应系统功能的上下线变更,提高企业系统应用状态的稳健性,同时也更有利于集成更先进的技术能力组件;从系统开发和升级的成本投入角度,采用云的架构性价比更高,可以随着具体使用情况来扩充或缩减系统所占用的计算和存储资源;从系统交付的方面,业务上云的方式可以使得企业有效缩短对系统功能的研发周期,可以更好地满足不断出现且变化的新的数字化应用需求。

未来,越来越多的企业将通过业务上云的方式改变原有陈旧的IT架构,一方面,企业将存量业务系统进行“云迁移”改造,另一方面,以云原生的软件构建方法来推进增量数字化系统或工具的有序开发。在基于云的技术架构下,企业可以更加动态、灵活、低成本地开展数字化应用实践,探索可靠、稳健、创新的数字化发展道路。