解读容器的 2020:寻找云原生的下一站

2020 年注定是不凡的。它在阴霾中开始,在惊叹中结束,也让未来变得更加扑朔迷离。那么,容器与云原生的 2020 年呢?你是否记得它是怎样开始的?它又将走向何方?

Kubernetes:企业基础设施的标准抽象

在 2020 年,没有人再会去质疑一个平台团队采纳 Kubernetes 作为自己的基础设施的合理性。事实上,2020 年的 Kubernetes 项目已经非常接近于地完成了它最重要的使命,即:为云计算基础设施带来一层可以让平台团队基于此构造“一切”的平台层抽象。

我们已经能够看到,今天的云原生社区已经开始广泛认可 Kubernetes 项目作为“The platform for platform”的定位与价值,越来越多的平台团队正在基于 Kubernetes 构建各种各样的上层平台,比如 PaaS / Serverless / AI Platform  / Database PaaS 等等。面向终态的声明式 API 与其背后“辛勤”工作的控制器,为“构建基础设施层抽象”这个充满了挑战的技术难题,提供了一个能够在复杂度与可用性之间取得平衡的解决方案。正是基于此,Kubernetes 项目才拥有了庞大的集成生态,让这个“企业基础设施的标准抽象”,逐步成为了业界公认的事实。

而更为重要的是,Kubernetes 真正的成功之处,在于它真正押注的是构建抽象的方法而非这些抽象本身。在绝大多数情况下,企业基于 Kubernetes 构建上层平台,都会引入各种各样其他的抽象作为补充,甚至取代或者隐藏掉 Kubernetes 的部分内置抽象:阿里巴巴开源的 、腾讯的  实践等扩展型工作负载等都是这个趋势的最好的案例。

伴随着 Kubernetes 生态从底层到应用层能力的逐步完善,在 2020 年,更多大型互联网终端企业开始加入到了云原生的梯队当中。我们看到原本的 Mesos 生态标杆 Apple 公司成为了 KubeCon 2020 北美上的绝对主角,而金融巨头 MasterCard 则分享了他们基于 OAM、Kubernetes 和 Crossplane 项目构建跨云、跨运行时应用交付平台的内部落地案例。而尤为值得一提的是,这些以往在底层基础技术上给人以”保守“印象的大型非云企业,在 2020 年纷纷祭出了对很多新兴技术比如  和上的落地与思考。云原生浪潮对整个技术产业带来的深远影响可见一斑。

此外,我们也不难观察到,Kubernetes 的极大普及以及基于它兴起的上层生态,正在跟安卓(Android)的发展路径越来越明显的趋同。安卓能够对下以一套统一的方式抽象与集成不同的手机、电视、甚至汽车等硬件设备,对上则为程序员暴露出统一的一套开发接口,使他们能够以这套统一的抽象去访问或者享受到这些基础设施能力。这种定位与 Kubernetes 非常类似,这里唯一的区别在于,安卓服务的程序员是 APP 开发者,而 Kubernetes 服务的“程序员”,则是平台构建者。在这个背景下,诸如“Kubernetes 抛弃 Docker”之类的新闻会很容易理解:安卓本身就不需要专注于手机的电池是哪个牌子的。

这个路径,可能也是 Google 比较擅长的一个“打法”:全力地去免费推广一个“操作系统”,真正获取商业价值的方式则是是去“收割”操作系统远程桌面上层的生态价值,而不是操作系统本身。毕竟用户是不会花钱去购买安卓的。所以 Google Cloud 目前正在 All-in 的,正是通过  这样的 Kubernetes 混合云底座,将 Google Cloud 服务交付到在全世界任何一个数据中心上去。

正在被打破的云计算“三层架构”

长久以来,业界对云计算的认知,一直围绕着“SaaS + PaaS + IaaS”这样经典的三层架构模型展开。然而,在 2020 年,随着云原生技术的极大普及,我们却发现这个模型似乎正遭受着挑战。

今天的云原生技术,起源于 Docker 以及容器这个创新性的技术革命,又受益于经典 PaaS (比如 Cloud Foundry)持续已久的心智普及,最终在开发者与平台构建者的双重关注下,以 Kubernetes 生态为载体最终落地。

在 2020 年,伴随着云原生技术逐步成熟,面向用户的应用管理平台的形态也逐渐开始从以 Cloud Foundry/Heroku 为主体的经典 PaaS 形态(即:企业级 PaaS),向轻量级的 App Service 比如  和  等方向靠拢。不过,轻量级 App Service 本质上还是 Heroku 体验在 Kubernetes 底座上的复刻,它们在提供出色的开发者使用体验的同时,也继承了经典 PaaS 的“封闭”与“不可扩展”,这在很多大型企业基于云原生技术栈 “DIY” 属于自己的“PaaS”的诉求下,依然会显得力不从心。

事实上,对于越来越多的平台构建者来说,随着云原生技术的日趋落地,“PaaS”本身的“解释权”不再属于某一家提供商,而更多取决于平台构建者的业务场景和其终端用户的实际需求。此外,对于“SaaS”来说,云原生带来的容器化软件打包与交付体系和 Kubernetes 底座,也已经极大地改变了云端软件的分发与运维方式。所以,无论是 PaaS 也好,还是 SaaS 也好,本质上正在被“云原生”的技术浪潮迅速“压平”,在这种背景下,传统“水平”划分云计算体系的方法其实已经变得难以自洽。一个典型的例子就是:今天你既不能把 Kubernetes 称作是 PaaS,也不能把它称作是 IaaS。它是一个独特的基础设施能力接入层与平台层抽象,作为平台构建者,你可以基于它构建你心目中任何上层平台,而至于你把这个上层平台称作是 PaaS / Serverless / FaaS,甚至是 SaaS,只是进一步抽象的程度和依赖的垂直能力不同而已:这里并没有”谁盖在谁头上”这样的划分。

下一代云原生平台构建体系的崛起

Kubernetes 的成功,极大使能了“平台构建者”这个以往被人们遗忘在企业成本中心(Cost Center) 里的重要角色。事实上,Kubernetes 之所以能够取代 Docker 生态成为今天云计算平台上的主角,很大程度上是这个群体做出了最终的决定。否则,按照 Docker 所触达到的用户群体规模以及其在开发者生态中的被接纳度, Kubernetes 几乎毫无胜算。这一点经常是被大家所忽视的。实际上,在企业级平台落地的过程中,平台的最终用户(比如业务研发与运维)虽然是“顾客与上帝”,但真正能在这个过程中起到关键作用和具有最终决定权的,往往还是业务背后的平台团队和老板们。

但与此同时,Kubernetes 之上的平台构建生态,在今天依然是高度集中的。一个典型的观察就是,今天能够基于 Kubernetes 成体系构建出完整上层平台的团队,其实集中在一、二线大型互联网公司当中,并且其实践往往“仅供参考”,鲜有可复制性。进一步的,云原生的极大普及,似乎并没有真正能够让平台构建者轻松地构建 PaaS 或者其他上层平台。这其实也进一步解释了前面我们观察到的“PaaS 生态“在云原生时代的停滞:基于 Kubernetes 构建上层平台(包括 PaaS),在 2020 年依然是大型公司和高技术水位团队们的专利。

这种平台构建生态的高度集中,与云原生希望构建的“普惠式”未来,显然是不相符的。当然,既然技术发展还没有跟上愿景,那么云原生社区也就不会停下脚步。

事实上,平台构建者之所以要基于 Kubernetes 进一步构建上层平台,其根本动机无非来自两个诉求:

更高的抽象维度:比如,用户希望操作的概念是“应用”和“灰度发布”,而不是“容器”和“Pod”。

更多的扩展能力:比如,用户希望的应用灰度发布策略是基于“双 Deployment + Istio” 的金丝雀发布,而不是 Kubernetes 默认的 Pod 线性滚动升级。这些增强或者扩展能力,在 Kubernetes 中一般是以 CRD + Controller 的插件方式来实现的。

所以说,基于 Kubernetes 构建上层平台在今天看起来似乎杂乱无章、没什么规律,但本质上都不会离开“抽象 + 插件能力管理”这两个核心诉求。再举个例子,今天大家为 Kubernetes 构建的各种 Dashboard,其实就是一种“抽象”的实现方式:这些 Dashboard 本质上是在 Kubernetes API 对象的基础上暴露出了一组允许用户填写的字段,从而实现了“简化用户使用心智、提升用户体验”的目的 —— 这当然也是所有“抽象”的根本目标。

基于对“抽象 + 插件能力管理”这两个诉求的持续实践与思考,云原生社区在 2020 年诞生了像  这样专注于使能平台团队构建上层平台的开源项目。这个项目的定位在整个云原生生态中是非常独特的:它并不是某种垂直能力,更像是一套基于 Kubernetes 构建上层平台的“工具”组合,比如:

基于模板的抽象机制,以及基于此生成能力使用文档和 OpenAPI Schema 的自动化流程(从而帮助平台团队快速构建 Dashboard 或者 Appfile)。

基于 OAM 模型的插件式能力注册、管理与发现机制,以此来模块化、自动化的管理插件能力,甚至提前预警插件能力之间的冲突等。

(0)

相关推荐

  • KubeVela:标准化的云原生平台构建引擎

    作者 | 孙健波(天元) 来源|阿里巴巴云原生公众号 本文由"GO 开源说"第三期 KubeVela 直播内容修改整理而成,视频内容较长,本文内容有所删减和重构. 点击查看视频 K ...

  • 腾讯Q3财报红了,To B底牌亮了

    挑战.机遇.无人区,转型"产业互联网"的关键词 " 作者 | 王刚 移动互联网创业的蛮荒时代,风口是给做APP的公司准备的,如今的淘宝.微信.滴滴.今日头条,自成体系,皆 ...

  • 某大型商业银行容器网络监控实践

    业务大量上云与应用架构变迁 在过去数年里,在十三五规划指引下,金融行业通过私有云.行业云.生态云的建设以及大力发展金融科技的战略,已经成为上云的领航者.目前各金融企业正在大力建设基于容器和K8S的云平 ...

  • KubeVela 成为 CNCF 沙箱项目,让云端应用交付更加简单

    2021 年 6 月 22 日,在云原生计算基金会(CNCF)的 TOC 例会上投票决议通过,KubeVela 正式成为 CNCF 官方沙箱项目.透明.开放.开源中立的 KubeVela,未来将持续致 ...

  • Docker已死?听听他怎么说

    2020年底,Kubernetes在当时最新的Changelog中宣布,自V1.20后将弃用Docker,一石激起千层浪.Docker镜像不能用了?Podman难道要取Docker而代之? 此后唱衰D ...

  • 云计算交付模型 之 IaaS、PaaS、SaaS

    对于互联网公司而言,迁移到云是一个明智的决定.它减少了总的成本支出,同时最大限度地提高了工作效率和生产率,本文将指出迁移到云或者建设私有云优缺点以及边界在哪里? 1.什么是云计算 云计算(cloud ...

  • 2020年中国容器云市场研究报告

    核心摘要: 容器的发展历史:容器技术在国内发展主要经历了三个阶段,分别是2014-2016年的技术探索期.2017-2018年的行业试水期以及2019年以后的规模应用期,容器与国内欣欣向荣的云计算产业 ...

  • 独家解读:阿里云原生应用的布局与策略

    因云而生.为云变化,云原生成为云计算的再升级 " 作者 | 杨丽 受访人 | 丁宇 出品 | 雷锋网产业组 进化到这一阶段,云原生使得客户的数字化转型路径不断缩短.如果说云原生时代一切是以客 ...

  • 云原生,下一个云时代

    云原生赛道,云时代的下一个方向. 2006年开始兴起的云计算产业对整个IT行业产生了革命性的影响,云化的趋势不可逆转,虚拟化.OpenStack.软件定义等一系列技术被大众广泛讨论.然而最近两年,容器 ...

  • 云原生数据中台技术与趋势解读

    数据中台发展至今,大体经历了 4 个重要阶段:数据库 - 数据仓库 - 大数据平台 - 数据中台.每次新的变革,都是为了解决上一阶段存在的问题. 当前,走向云原生成为数据中台的必然和必须. 云原生从何 ...

  • 云原生系列5 容器化日志之EFK

    上图是EFK架构图,k8s环境下常见的日志采集方式. 日志需求 1 集中采集微服务的日志,可以根据请求id追踪到完整的日志: 2 统计请求接口的耗时,超出最长响应时间的,需要做报警,并针对性的进行调优 ...

  • 边缘计算 | 一图解读:分布式云×云原生,云基础设施新范式

    为云重磅发布分布式云全系列产品组合(含智能边缘小站IES等).新一代计算实例.云原生服务中心OSC.容器镜像仓库SWR.容器洞察引擎CIE.超低时延直播.自由视角.网络研讨会8大系列新品.同时预告了今 ...

  • 云原生之路:容器技术落地最佳实践

    作者:易立 阿里技术 没有集装箱,就没有全球化.--<经济学人> 什么是容器? 容器的英语是 Container,它的意思是集装箱.我们知道,经济全球化的基础就是现代运输体系,而其核心正是 ...

  • “云原生”的应用价值及关键属性解读

    [作者]汪照辉 王作敬 中国银河证券股份有限公司 信息技术部IT研发中心 "云原生"是云计算中很重要的一个概念,不过对"云原生"的认识和解读各有侧重.我们觉得云 ...

  • IBM硬件系统布局混合云 加速企业容器应用和云原生

    2020年下半年以来,IBM收购红帽的成果相继落地,IBM Z云化速度进一步加快,不仅IBM Z和LinuxONE全面支持Red Hat OpenShift,11月又有新发布,加快企业容器应用和云原生 ...

  • 物联网关键技术:云原生容器技术在边缘计算中的应用

    何为云原生 随着云计算的应用普及,最近几年,云原生技术(Cloud Native)的概念很火.Pivotal公司的Matt Stine于2013年首次提出云原生的概念:云原生的具体含义在过去的几年中也 ...