蒋江伟:什么是真正的云原生?

简介: 使用原汁原味的云原生系统,将会带来巨大的竞争优势,充分享受到云计算的红利。

蒋江伟 / 文

对于云计算的用户来说,理解什么是云原生尤为重要。不是简单地使用容器来定义自己的系统,而是在设计、开发、部署等周期中,使用原汁原味的云原生系统,这将会带来巨大的竞争优势,充分享受到云计算的红利。

而今,云原生成了耳熟能详的热门词,似乎不提云原生 就落伍了,加入 CNCF(云原生计算基金会,Cloud Native Computing Foundation) 也成了云厂商引以为傲 的技术优势。

我们也看到各种云原生的定义,有来自 CNCF 的“微服 务 + 容器 + 持续交付 +DevOps”,也有来自不同云厂商 的说法。2020 年 9 月,阿里云成立了云原生技术委员会, 今天我就从云计算的初心尝试谈谈什么是真正的云原生。

狭义的云原生

让我们先回顾云原生的由来。

云计算兴起之后,以 Docker 为代表的容器浪潮,席卷业 界,以 DevOps 和标准化交付而广受青睐。在此背景下, Google 创造性地提出了云原生的概念,并发布了开源编 排工具 Kubernetes,从统一部署和标准化的角度切入, 其后更成立了 CNCF 基金会,成功地杀出了一片天地。

2020 年 12 月,CNCF 大使 Ian Coldwater 在社交媒体 上说:“Kubernetes 现已弃用了对 Docker 的支持。您 需要注意这一点,并作好相应的规划。这会搞坏您的集群。” 这说明云原生战略获得了历史性的进展。从这个角度来看, 将云原生等同于容器和服务网格,是早期对云原生狭义的 理解。

广义的云原生

那么,什么是广义的云原生呢?因云而生的软件、硬件、 架构,就是真正的云原生。

我们认为,云原生更多应该从客户应用的视角来看,部署 到云上的应用,必须用到了只有大规模公共云实践才能提 供的三类能力的一类或多类,即弹性、API 自动化部署和 运维等特性;服务化的云原生产品,如 RDS、EMR 等; 因云而生的软硬一体化架构。这,就是云原生。

首先,云原生应用是相对线下传统企业 IT 物理机上的环 境而言,要用云的方式来部署和管理应用,充分利用云的 供应效率,要全球部署、即开即用、按量付费。客户就近 获取云的能力,就是所谓弹性,我们去年出过一本书,书 名叫《弹性计算 无处不在的算力》,讲的就是背后的原 理,要具备这种极致的弹性才是云原生。在云上提供的 Kubernetes,是通过自动化部署和运维的 API 标准化, 实现了云原生。

其次,今天我们已经看到云原生数据库、云原生大数据、 云原生容器、云原生中间件、云原生安全等等概念,这 都是在云上可以随意获取的服务化云原生产品,是传统 线下没有的服务,有助于获得性能和成本上的加强,这 就是云原生。

特别值得一提的是以神龙架构为代表的软硬一体虚拟化。虚 拟化经历了纯软件虚拟化、通用硬件虚拟化、到现在的软硬 一体化虚拟化。通过计算存储的分离,使用专用的神龙芯片, 对虚拟化进行加速,从而达到超越物理服务器的高性能。作 为云计算架构的底层,所有中间件和应用层都能从中获得性 能的收益,而无需进行任何代码和架构的修改。

此外,神龙架构支撑的是同一套资源架构并池的资源能力, 包括 ECI(Serverless 容器)、VM、裸金属等,从而让 所有的资源能够统一调度,进而实现最深的弹性。这也是 业界第一次实现了统一架构和统一资源调度,被视为中国 云厂商的重大技术贡献。

从这种意义上来说,神龙架构就是因云而生,是典型的云 原生。简单而言,如果没有云计算的大规模部署场景,神 龙的优势就不能发挥得淋漓尽致。

所以,云原生的初心是在云上的原生,如果缺乏云的基 本特征,必然不是云原生。极端而言,如果你自己买了 两台服务器,放在办公室,上面部署了容器,然后用 Kubernetes 来管理,那就不是云原生,因为缺乏弹性、

API 自动化部署和运维的能力,连云都不是。

CNCF 更多的是倡导一个系统要用什么组件进行架构, 这样才能实现互联网架构和运维能力,实现快速迭代、 灵活扩展、高效运维。而这些能力的发挥需要这些架构 框架基于云,两者结合则为云原生。很多人会问,某个 开源软件是否是云原生?这个要看它的架构。以开源数 据库为例,如果其架构上还是针对传统的单机和小规模, 那就不是云原生;如果保持开源的接口兼容性,同时做 了云原生改造和重新设计,运维和管控都充分利用了云 的基础能力,那就是云原生的软件和服务,如阿里云的 PolarDB 数据库。

多云和混合云加速了云原生

历史的发展总是曲折的,因为相信所以看见,也总是一波 三折。在盘山公路上前行时,往往眼中只能看到有限的视野。

为达到更高的性价比、容错和效率,业界产生了多云和 混合云。多云是客户将业务负载分别部署到不同的公共 云厂商,而混合云更多是客户将业务负载部署到公共云 和专有云上。

多云是竞争的产物,虽然亚马逊和阿里云一直认为用户用 一家的云就够了。而混合云的产生角度不同,它是为了满足客户分步上云的意愿,同时满足部分行业监管合规的需 求,而构建的一种云架构。无论是多云还是混合云,云厂 商为了降低业务分布式部署的难度,让客户更容易接受, 都会敦促客户对业务进行单元化改造,因为 Kubernetes 解决了标准化部署和迁移的问题。

同时除了 Kubernetes 和容器之外,往往涉及到使用公共 云带来的弹性、加速等等服务能力,以及数据库、大数据、 音视频等系统的云原生改造。可见,Kubernetes 加速了 狭义的云原生能力。

云原生芯片

从计算芯片的角度而言,云计算带来了全新的应用场景, 从而对 CPU 提出了新的需求,也就是云原生芯片。
比如阿里云的神龙芯片,就是云原生芯片。它是整个设备 的核心,因为通过它可以让神龙服务器完完全全具有虚 拟机的特性,包括虚拟机的接口。基于神龙芯片的神龙 MOC 卡在整个架构中具有重要作用,它具备丰富的管理 接口和对外数据接口,可以帮助我们实现弹性裸金属服务 器具备的这些功能。

CPU 的多元化正在逐渐成为现实。首先是英特尔的对手 AMD 的崛起,虽然都是 x86 体系,但其芯片在性价比高 之外,性能和特性也突飞猛进;其次,x86 架构之外的发 展非常迅猛,除 Ampere 的 ARM 服务器芯片外,自研的 ARM 体系正成为很多云厂商的选择。

AWS 的 Graviton 2 自研芯片使用 64 位 ARM Neoverse 内核定制而成,设计思路是多核加每核单 Thread 负载, 每个内核都旨在通过尽可能多的、完全独立的内核来交付 实际工作负载,力图成为最节能的处理器。

微软也在设计一款用于数据中心的 ARM 处理器,这是微 软的重大战略举措,微软认为,自己的芯片更适合某些需 求,更具成本和性能优势。

云原生 CPU 正呈现一些共有的特性:主频不需要特别高功耗要特别低、独立运行的核、多核架构能更好地支持服 务网格的应用、有成熟的软件生态等等。

用云原生的思维,用好云原生架构

对于云计算的用户来说,理解什么是云原生尤为重要。不 是简单地使用容器来定义自己的系统,而是在设计、开发、 部署等周期中,使用原汁原味的云原生系统,将会带来巨 大的竞争优势,充分享受云计算的红利。

云原生不仅是实践,更是一种理念,带来的是时代变革。 开发人员的开发环境也要生在云上、长在云上。使用类 似无影这样的远程工具,让产品设计文档、开发调试环 境、部署工具、测试过程、POC 验证、资源消费等等, 全部基于云来进行。所以,云原生带来的是思维的变 化,是文化的变化,是新时代的生产力,远远超越了 CNCF 定义的 Kubernetes 标准接口,是未来使用云 的标准方式。

什么是真正的云原生

我们很幸运,我们正亲历一个迈入云时代的历史性进程。

多年以后,新一代的新新人类,他们会更幸运,他们接触 的一切计算环境都是云原生的。他们天生就会认为,云计 算资源是无处不在、取之不尽、用之不竭的,他们不会关 心云资源在哪里、有多少。就像今天我们使用自来水一样, 没有人会费劲心思考虑水从哪里来。

因云而生的软件、硬件、架构,就是真正的云原生;因云 而生的技术,就是云原生技术。

相关实践学习
通过Ingress进行灰度发布
本场景您将运行一个简单的应用,部署一个新的应用用于新的发布,并通过Ingress能力实现灰度发布。
容器应用与集群管理
欢迎来到《容器应用与集群管理》课程,本课程是“云原生容器Clouder认证“系列中的第二阶段。课程将向您介绍与容器集群相关的概念和技术,这些概念和技术可以帮助您了解阿里云容器服务ACK/ACK Serverless的使用。同时,本课程也会向您介绍可以采取的工具、方法和可操作步骤,以帮助您了解如何基于容器服务ACK Serverless构建和管理企业级应用。 学习完本课程后,您将能够: 掌握容器集群、容器编排的基本概念 掌握Kubernetes的基础概念及核心思想 掌握阿里云容器服务ACK/ACK Serverless概念及使用方法 基于容器服务ACK Serverless搭建和管理企业级网站应用
目录
相关文章
|
7月前
|
人工智能 Cloud Native 大数据
阿里云蒋江伟:什么是云原生芯片?
阿里云蒋江伟:什么是云原生芯片?
161 2
|
运维 Kubernetes Cloud Native
深度 | 阿里云蒋江伟:什么是真正的云原生?
而今,云原生成了耳熟能详的热门词,似乎不提云原生就落伍了,加入 CNCF 也成了云厂商引以为傲的技术优势。 我们也看到各种云原生的定义,有来自 CNCF 的“微服务+容器+持续交付+DevOps”,也有来自不同云厂商的说法。2020 年 9 月,阿里云成立了云原生技术委员会,今天我就从云计算的初心尝试谈谈什么是真正的云原生。
10593 0
深度 | 阿里云蒋江伟:什么是真正的云原生?
|
14天前
|
运维 Cloud Native 持续交付
深入理解云原生架构及其在现代企业中的应用
随着数字化转型的浪潮席卷全球,企业正面临着前所未有的挑战与机遇。云计算技术的迅猛发展,特别是云原生架构的兴起,正在重塑企业的IT基础设施和软件开发模式。本文将深入探讨云原生的核心概念、关键技术以及如何在企业中实施云原生策略,以实现更高效的资源利用和更快的市场响应速度。通过分析云原生架构的优势和面临的挑战,我们将揭示它如何助力企业在激烈的市场竞争中保持领先地位。
|
12天前
|
Kubernetes Cloud Native 微服务
探索云原生技术:容器化与微服务架构的融合之旅
本文将带领读者深入了解云原生技术的核心概念,特别是容器化和微服务架构如何相辅相成,共同构建现代软件系统。我们将通过实际代码示例,探讨如何在云平台上部署和管理微服务,以及如何使用容器编排工具来自动化这一过程。文章旨在为开发者和技术决策者提供实用的指导,帮助他们在云原生时代中更好地设计、部署和维护应用。
|
22天前
|
Cloud Native Devops 云计算
云计算的未来:云原生架构与微服务的革命####
【10月更文挑战第21天】 随着企业数字化转型的加速,云原生技术正迅速成为IT行业的新宠。本文深入探讨了云原生架构的核心理念、关键技术如容器化和微服务的优势,以及如何通过这些技术实现高效、灵活且可扩展的现代应用开发。我们将揭示云原生如何重塑软件开发流程,提升业务敏捷性,并探索其对企业IT架构的深远影响。 ####
35 3
|
23天前
|
Cloud Native 持续交付 云计算
云原生架构的演进与挑战
随着云计算技术的不断发展,云原生架构已成为企业数字化转型的重要支撑。本文深入探讨了云原生架构的概念、发展历程、核心技术以及面临的挑战,旨在为读者提供一个全面了解云原生架构的视角。通过分析Kubernetes、Docker等关键技术的应用,以及微服务、持续集成/持续部署(CI/CD)等实践案例,本文揭示了云原生架构在提高应用开发效率、降低运维成本、增强系统可扩展性等方面的显著优势。同时,也指出了云原生架构在安全性、复杂性管理等方面所面临的挑战,并提出了相应的解决策略。
|
12天前
|
运维 Cloud Native 持续交付
云原生技术深度探索:重塑现代IT架构的无形之力####
本文深入剖析了云原生技术的核心概念、关键技术组件及其对现代IT架构变革的深远影响。通过实例解析,揭示云原生如何促进企业实现敏捷开发、弹性伸缩与成本优化,为数字化转型提供强有力的技术支撑。不同于传统综述,本摘要直接聚焦于云原生技术的价值本质,旨在为读者构建一个宏观且具体的技术蓝图。 ####
|
15天前
|
弹性计算 运维 Cloud Native
云原生架构的崛起与未来展望
在数字化转型的浪潮中,云原生架构凭借其高效、灵活和可扩展的特性,正逐渐成为企业IT战略的核心。本文旨在探讨云原生架构的定义、关键特性、实施优势以及面临的挑战,同时展望未来的发展趋势。通过深入分析,我们期望为读者提供一个关于云原生架构全面而深入的视角,助力企业在云计算时代做出更明智的决策。
29 3
|
16天前
|
Cloud Native API 持续交付
云原生时代的微服务架构设计
随着云计算的蓬勃发展,云原生概念逐渐成为IT行业的热点。本文将通过深入浅出的方式,介绍在云原生环境下,如何设计一个高效、可扩展的微服务架构。文章不仅涉及理论概念,还将结合实际代码示例,帮助读者理解微服务架构的核心要素和设计原则,以及如何在云平台上实现这些设计。
|
24天前
|
Kubernetes Cloud Native Docker
云原生之旅:从传统架构到容器化服务的演变
随着技术的快速发展,云计算已经从简单的虚拟化服务演进到了更加灵活和高效的云原生时代。本文将带你了解云原生的概念、优势以及如何通过容器化技术实现应用的快速部署和扩展。我们将以一个简单的Python Web应用为例,展示如何利用Docker容器进行打包和部署,进而探索Kubernetes如何管理这些容器,确保服务的高可用性和弹性伸缩。