2020年云原生迎来“应用大年”,成为云计算领域的开源急先锋

2022-04-15 17:09:17 浏览数 (1)

在过去三到五年时间里,云计算技术正在日益深刻地改变各行业、各领域的信息化建设。在一些信息化建设历史久远,系统比较完善的行业和领域内,企业的IT架构正面临从传统的单体架构向更加适应云环境的微服务架构转型的迫切需求。

对于那些IT架构刚刚搭建不久的初创型互联网公司,日益增长的业务量也对服务的稳定性和运维的效率提出了更高的要求。

近年来,IT架构转型的需求催生了云计算领域中一个蓬勃发展的细分赛道——云原生。

自2018年来,云原生技术开始在企业IT架构搭建和转型中发挥引领性作用,容器、DevOps、微服务、敏捷方法、持续集成、持续交付等云原生理念日益深入人心,这也是云计算浪潮发展到一个成熟阶段后的必然结果,随着虚拟化技术的成熟和分布式架构的普及,用来部署、管理和运行应用的云平台被越来越多的提及。

2019年,是云原生理念和技术普及的“元年“,2020年,云原生将迎来全面应用之年,在不久的将来,云原生将会变成一个新常态。

数字化转型呼唤云原生技术

在容器技术、可持续交付、编排系统等开源社区的推动下,以及微服务等开发理念的带动下,应用上云已经是不可逆转的趋势。随着云化技术的不断进展,云原生的概念也应运而生。

云原生(Cloud Native)的概念,由来自Pivotal的Matt Stine于2013年首次提出,被一直延续使用至今。

这个概念是Matt Stine根据其多年的架构和咨询经验总结出来的一个思想集合,并得到了社区的不断完善,内容非常多,包括DevOps、持续交付(Continuous Delivery)、微服务(Micro-Services)、敏捷基础设施(Agile Infrastructure)和12要素(The Twelve-Factor App)等几大主题,不但包括根据业务能力对公司进行文化、组织架构的重组与建设,也包括方法论与原则,还有具体的操作工具。

从字面意思上来看,云原生可以分成“云”和“原生”两个部分。

云是和本地相对的,传统的应用必须跑在本地服务器上,现在流行的应用都跑在云端,云包含了IaaS、PaaS和SaaS。

例如,敏捷的不可变基础设施交付类似于IaaS,用来提供计算网络存储等基础资源,这些资源是可编程且不可变的,直接通过API可以对外提供服务;

有些应用通过PaaS服务本来就能组合成不同的业务能力,不一定需要从头开始建设;

还有一些软件只需要“云”的资源就能直接运行起来为云用户提供服务,即SaaS能力,用户直接面对的就是原生的应用。

原生就是土生土长的意思,我们在开始设计应用的时候就考虑到应用将来是运行云环境里面的,要充分利用云资源的优点,比如️云服务的弹性和分布式优势。

采用基于云原生的技术和管理方法,可以更好地把业务生于“云”或迁移到云平台,从而享受“云”的高效和持续的服务能力。

云并非把原先在物理服务器上跑的东西放到虚拟机里跑,真正的云化不仅是基础设施和平台的事情,应用也要做出改变,改变传统的做法,实现云化的应用——应用的架构、应用的开发方式、应用部署和维护技术都要做出改变,真正的发挥云的弹性、动态调度、自动伸缩……一些传统IT所不具备的能力。

这里说的“云化的应用”也就是“云原生应用”。云原生架构和云原生应用所涉及的技术很多,如容器技术、微服务、可持续交付、DevOps等。

今天,企业核心业务逐步走向云原生都已经是大势所趋,其中,作为微服务落地的基础,容器技术更是已经成为主流。

这很大程度上得益于Kubernetes的逐渐成熟,如今Kubernetes已经逐渐成为第一个真正意义上的云操作系统,对底层基础设施提供统一抽象,甚至可以应用到对任意资源的编排上。

为何全面拥抱云原生技术?

在大多数企业开始全面拥抱云计算的时代,三个重要转变正在显现:基础设施的云化、核心技术的互联网化、业务的数据化和智能化。

在各行各业中,都有很多业务应用从诞生之初就生长在云端,各个企业也因此越来越像互联网公司,而技术能力被视为不可或缺的核心竞争力。

那么我们为什么要拥抱云原生?一方面,云计算已经重塑了软件的整个生命周期,从架构设计到开发,再到构建、交付和运维等所有环节;另一方面,企业IT架构也随之发生巨大变化,而业务又深度依赖IT能力。

这带来了一定程度的复杂性和挑战性。正如人类社会发展伴随着技术革命与社会大分工一样,云原生技术的出现解耦了很多复杂性,这是IT技术的进步。

首先,Docker实现了应用与运行环境的解耦,众多业务应用负载都可以被容器化,而且应用容器化满足了敏捷、可迁移、标准化的诉求;

其次,Kubernetes的出现让资源编排调度与底层基础设施解耦,应用和资源的管控也开始得心应手,容器编排实现资源编排、高效调度;

随后,Istio为代表的服务网格技术解耦了服务实现与服务治理能力。

此外,一些云计算厂商还提供Open API、SDK等丰富的开发工具,实现第三方被集成,为云的生态伙伴提供广阔的可能性。这样的技术分层推动了社会分工,极大促进了技术和业务创新。

另外,云原生可以支持互联网规模应用,可以更加快速地创新、和低成本试错;其次,屏蔽了底层基础架构的差异和复杂性;同时,服务网格、无服务计算等新的计算类型不断涌现,给整体IT架构能力带来了极致弹性,从而更好地服务于业务。用户可以构建面向云原生框架,如面向机器学习的Kubeflow,和面向无服务器的Knative等等。

方兴未艾,容器应用的新思考

云原生技术理念是使企业用户及开发者只关注应用开发,无需关注基础设施及基础服务。

与之相似的Serverless计算,将应用服务资源化并以API接口的方式提供出来,使用者只需从客户端发起调用请求即可,更重要的是,pay as you go 能够真正为用户节省成本。

随着5G和物联网时代的到来,传统云计算中心集中存储、计算的模式已经无法满足终端设备对于时效、容量、算力的需求。将云计算的能力下沉到边缘侧、设备侧,并通过中心进行统一交付、运维、管控,将是云计算的重要发展趋势。

以Kubernetes为基础的云原生技术,在任何基础设施上提供与云一致的功能和体验,实现云-边-端一体化的应用分发, 支持不同系统架构和网络状况下,应用的分发和生命周期管理,并且针对边缘及设备进行如访问协议、同步机制、安全机制的种种优化。

如前所述,应用容器化实现了标准化的可移植性,促成了敏捷弹性的云原生应用架构。

不仅大大简化了多云/混合云的部署,而且优化成本,同时提供更多的选择,比如满足安全合规的要求、提升业务敏捷性、提升地域覆盖性等等。

基于容器技术构建的新架构,会催生新的应用业务价值。云原生AI是非常重要的应用场景,快速搭建AI环境,高效利用底层资源,无缝配合深度学习的全生命周期。

对于AI工程,云原生系统可以在四个维度上为提效:(1)优化异构资源调度弹性、(2)高效、细粒度(支持GPU共享)、(3)简化异构资源管理复杂性,提升可观测性和使用效率、(4)可移植、可组装、可重现的AI流程。

云原生时代,不仅是开发者最好的时代,也是云厂商更好发挥作用、为客户提供更多价值的时代。它不但可以很好的支持互联网应用,也在深刻影响着新的计算架构、新的智能数据应用。

云原生的DevOps、平台、持续交付、微服务都是云原生不可或缺的一部分,需要以全局的眼光看待问题,脱离任何一个元素,对于企业来说都是“管中窥豹”、“一叶障目”,只有加以整合才能见到云原生的全局风貌。

0 人点赞