从基础设施到云原生应用,全方位解读阿里云原生新锐开源项目
来源 | 阿里巴巴云原生公众号
2020 年 11 月 19 日,由 InfoQ 主办的“2020 中国技术力量年度榜单盛典”隆重召开,并正式揭晓了“开源杰出贡献人物”、“开源新锐项目”和“云原生行业落地典范”等重大奖项。在此前的入围赛中,仅“开源新锐项目”单项,阿里云原生就入围了 10 多个开源项目,在创新能力、社区成就和用户反馈等多项指标中一骑绝尘,占据了参评项目整体近五分之一。而在本次揭晓的“2020 中国技术力量年度榜单”决赛结果中,最终阿里云高级技术专家罗毅荣获“十大开源杰出贡献人物”、Open Application Model(OAM)荣登“十大开源新锐项目”、由阿里云原生团队支撑的完美日记电商业务案例获评“2020 年度十大云原生行业落地典范”。
在 2020 年,阿里不仅实现了 双11 核心系统全面云原生化,一举成为全球规模最大、实力最硬核的云原生实践,并首次实现自研、开源、商业“三位一体”,以此为基础拉开了极具竞争力的云原生产品家族的序幕。为了让大家有更全面的认识,我们借此机会整理了阿里从应用层到中间件到基础设施三层立体结构的云原生新锐开源项目和技术能力。
云原生生态价值“聚焦点”:OAM 开放应用模型与 KubeVela 开放应用平台项目
现如今,云原生技术的迅猛发展可能让很多人都感觉到眼花缭乱,但如果我们去探寻“云原生”的本质,就不难发现这项技术与理念发起的初衷,是为了让云端的开发人员更轻松的、以完全基础设施无关的方式去交付与管理应用。伴随着这个初衷和诉求,才有了 Kubernetes 这样为平台团队屏蔽掉了“虚拟机”、“存储”等底层概念的统一的基础设施层抽象项目。然而,实际的落地过程告诉我们,仅仅有基础设施层抽象,离云原生“丝般顺滑”的云端应用管理与交付体验,还是存在着巨大的鸿沟。在 Kubernetes 与用户之间,还存在着一层名叫“应用层”抽象亟待填补。
作为本次 2020 年中国技术力量十大开源新锐项目的获奖者,Open Application Model(OAM)开放应用模型,以及它的 Kubernetes 实现 —— KubeVela 项目,正是阿里云联合微软等云原生社区中坚力量,共同推出的云原生应用层核心项目。其中,OAM 的设计思想是为包括 Kubernetes 在内的任何云端基础设施提供一个统一、面向最终用户的应用定义模型;而 KubeVela,则是这个统一模型在 Kubernetes 上的完整实现。所以,对于业务研发人员来讲,KubeVela 可以被认为是云原生社区的 Heroku。而对于平台团队来讲,KubeVela 由于具备极高的可扩展性,可以被认为是一个“以应用为中心”的、高度可扩展的 Kubernetes 发行版。
有了 OAM 和 KubeVela,现今的平台工程师终于拥有了一个可以方便快捷地将任何一个 Kubernetes 社区能力封装抽象成一个面向最终用户的应用层平台特性的强大工具。而作为这个平台的使用者,业务研发们不需要了解任何 Kubernetes 相关的知识,只通过极简的应用层语义就可以完整描述出自己的代码构建和应用部署细节,然后一键交付出去。
云原生中间件实现自研、开源、商用“三位一体”,形成微服务最佳实践
中间件是云原生从概念到落地的承接。K8s 屏蔽了底层云基础设施的差异,成为了云原生时代微服务应用的操作系统。在云原生操作系统和云原生应用之间,需要一层抽象,向下屏蔽掉底层的复杂性,向上提供便捷、可靠的能力,让应用低成本、甚至无成本的迁移到新的云基础设施上部署和运行,并享受到云按需付费、极致扩缩容等能力。阿里云原生中间件承担了这样的职责。
阿里云原生中间件脱胎于阿里集团内部,并通过 双11 这样独一无二的场景形成了微服务领域最佳实践,从 2011 年 Dubbo 开源开始,阿里云原生中间件就开始尝试在云产品和开源方面进行努力,希望能让支持阿里核心业务的中间件系统从封闭走向开放,服务更广泛的用户。在而后几年陆续推出了 Dubbo、RocketMQ、Spring Cloud Alibaba、Nacos、Sentinel、Arthas、Seata、ChaosBlade 等多个为人熟知的开源项目,并形成了微服务领域最佳实践。短短两年时间,Spring Cloud Alibaba 从 Spring 社区毕业,成为了最受中国开发者欢迎的 Spring Cloud 实现。
此次入选“十大开源杰出贡献人物”的罗毅,便是 Dubbo 第二代掌门人、Apache Dubbo PMC 主席、Spring Cloud Alibaba 负责人。2017 年,正是罗毅操盘重启了 Dubbo 的开源,仅用十五个月将 Dubbo 孵化成 Apache 顶级项目。社区目前拥有 18 名 PMC 成员,57 名 Committer,以及 370 名贡献者,社区代码比例超过 50%,罗毅通过开源的方式贡献微服务,在云原生领域产生较大影响力。
新应用、新边界,打造智能、互联的云原生基础设施
K8s 对网络、存储、计算进行了标准化编排,已经成为云原生操作系统新界面的事实标准,极大简化了用户的运维,提升了资源的弹性,真正做到了按需使用。因此,以 K8s 为界面的云原生基础设施正在快速被企业和开发者接受。更高资源利用率、更快部署速度、更强应用治理能力,使得云原生基础设施成为“肥沃土壤”,向上可以基于大数据、AI 等技术长出“新应用”,向外可以基于边缘计算拓展“新边界”。阿里云原生致力于打造智能、互联的云原生基础设施,让企业快速实现云原生化,驱动技术升级,实现商业创新。
-
新应用:针对 AI、大数据场景,提升复杂作业管理和高级调度能力,阿里云提供云原生 AI 加速套件,从底层异构计算资源,到上层计算框架进行全栈优化,主要特性包括异构资源统一管理、统一调度器架构、大数据场景优化、AI 作业调度等。同时,阿里云也积极通过开源,与学术界和社区共同推进云原生 AI 的迭代和落地。比如数据集加速项目 Fluid 是和南京大学 PASA 大数据实验室以及 Alluxio 共建;AI 任务管理项目 Arena 与 Kubeflow 社区共建。来自苹果、IBM、微博等贡献者共同参与到 AI 作业调度,GPUShare 等开源项目共建,推动广阔云服务场景下的大数据、AI 落地新应用。
-
新边界:K8s 有强大的容器编排、资源调度能力,可以满足边缘 / IoT 场景低功耗、异构资源适配、云边网络协同等需求。阿里云 OpenYurt 秉承非侵入式增强 K8s 的设计理念,将云原生能力拓展至边缘端,主要特性包括 Kubernetes 生态全兼容、边缘异构资源支持、高可靠和稳定性等,使用户获得云边一致性运维体验、实现大规模边缘业务轻松管理。OpenYurt 现已接管业务容器数量超过百万,覆盖新零售、医疗、物联网等众多行业,致力于加速云计算向边缘全面拓展边界的进程,与社区共建未来云原生边缘计算架构的统一标准。
沉淀方法论赋能客户,发布《云原生架构白皮书》
本次获得“2020 年度十大云原生行业落地典范”的《完美日记电商业务案例》,是基于阿里云的云原生相关产品与服务,借助阿里云先进的云原生架构设计理念,真正实现有效的技术驱动业务增长与创新,已成为电商行业落地云原生的典范。
在 2020 双11 期间,完美日记利用容器服务 ACK 的弹性伸缩能力,合理规划资源,服务器成本降低 50% 以上。利用 PTS 和 ARMS 预判系统整体业务承载能力,利用 AHAS 的限流降级和系统防护功能,对系统的关键资源进行防护,对整体系统水位进行兜底,最终做到了大促常态化。
近期,由阿里云 20+ 位云原生技术专家共同编撰的《云原生架构白皮书》已正式发布。作为业界第一本全方位构建云原生架构规划与实践全景图的白皮书,本书在详细阐述云原生架构定义的同时,完整展示云原生架构应用所需的演进路径与设计规则,旨在帮助企业更好地理解与应用云原生架构,助力企业数字化转型升级。