读完《云原生架构白皮书》,我们来谈谈开放应用模型(OAM)

简介: 受阿里云邀请,我有幸在《云原生架构白皮书》发布前试读了该书,本文结合白皮书内容,谈谈开放应用模型(OAM)

前言

7月21日阿里云发布了《云原生架构白皮书》,该书由阿里云众多技术专家共同编撰而成,从云原生定义、技术、架构、产品、实践和发展趋势几个方面详细介绍了云原生这一近些年来大火的技术概念。受阿里云邀请,我有幸在该书发布前试读了该书,但是由于最近比较忙,现在才有空和大家分享我的试读感受。

熟悉我的朋友肯定知道,去年开放应用模型(OAM)概念一经提出,我就十分关注这一技术模型,最近更是参与到了该模型的实现项目 Crossplane 中,同社区中的同学共同实现云原生技术“以应用为中心”这一终极愿景。但是苦于社区中的资料都是英文,同时自己的理解又比较片面,在向身边同事和其他不了解该项技术的同学科普 OAM 时,往往很难准确表达我的观点。

OAM 是什么?OAM 能做什么?我们为什么需要 OAM?每每被同事进行灵魂拷问时,总是不能拿出完整、条理、有说服力的东西,只能根据自己的理解以及一些零零散散的技术文章来说明我的观点,很是不爽。但是当我读到《云原生架构白皮书》第三章中的开放应用模型(OAM)章节时,我知道我的问题解决了。该章系统的介绍了 OAM 这项技术的背景、定义、概念、实现和未来,读者只要对云原生稍有理解,就能轻松从这章中找到前面那些问题的答案。

那么 OAM 到底是什么?

从《云原生架构白皮书》的内容出发,结合我的理解,大致将 OAM 的特点分为以下三点:

以应用为中心

今年是 Kubernetes 项目诞生的第六年,在这六年中,以 Kubernetes 为首的云原生技术快速的改变着我们的技术架构,一个又一个的应用被拆分成微服务,打包成容器,运行在 Kubernetes 上。然而随着微服务越拆越多,管理微服务的难度也呈指数型增长,Kubernetes 中并没有”应用“这一概念,提供给我们的只有 deployment、StatefulSet 这样工作负载粒度的资源,而一个应用,可能由多个 Deployment、Service、以及各种相关配套资源组成(如:HPA 用于弹性伸缩、Ingress 用于外部访问等)。Kubernetes 并没有提供给我们一个统一的资源或者说是方法来管理这些相关资源,各个公司只能开发自己的 PASS 平台或设立规范约束自己的应用。

OAM 的出现补充了“应用”这一概念,建立对应用和它所需的运维能力定义与描述的标准规范。换言之,OAM 既是标准“应用定义”同时也是帮助封装、组织和管理 Kubernetes 中各种“运维能力”的工具。通过 OAM 中应用的可交付对象 - Application Configuration,我们可以轻松的掌握我们的应用到底有那些 Kubernetes 工作负载组成,这些工作负载都使用了哪些运维特性,这些内容都会以 Kubernetes API 对象的形式展示,查看起来和查看 Deployment 与 Service 资源一样方便。

Application Configuration

关注点分离

在实践中,如果基础架构和应用是由不同团队维护的,由于各个团队的关注点不同、对 Kubernetes 了解的程度不同、使用习惯不同,很容易产生混乱。实际上,对于业务研发人员和运维人员而言,他们并不想配置这些如此底层的资源信息,而希望有更高维度的抽象。这就要求一个真正面向最终用户侧的应用定义,一个能够为业务研发和应用运维人员提供各自所需的应用定义原语。

通过组件(Component)和运维特征(Trait)将业务研发人员与运维人员关注的不同特征进行分离,再将不同的运维特征(Trait)与业务组件(Component)进行绑定,最终再由OAM 可交付物 – Application Configuration 将所有组件组装为一个统一的应用。研发与运维对资源的控制进行细粒度的划分,可以有效的解决实际情况中存在的类似”我比你更懂 Kubernetes,要听我的“的现象,避免了研发与运维之间的甩锅与扯皮的情况。

面向最终用户的应用管理平台

这部分白皮书中并未详细提及,但这也是我们现阶段的主要工作和努力方向,经过不到一年的时间,OAM 的概念、思想已经基本成熟,而基于 OAM 的实现也已经出现 - Crossplane 项目,该项目目前为 CNCF 的 Sandbox 项目。

Crossplane 的出现解决了平台维护者,也就是负责维护 Kubernetes 的基础设施工程师的难题。但是对于应用研发和运维人员,也就是 OAM 的最终用户,操作起来并不是十分的友好。基础设施工程师为他们提供了一堆 CRD,他们必须逐个去挑选、测试和甄别,尤其是一些运维特征(Trait)可能存在功能冲突,不能同时与一个业务组件(Component)绑定,这都都要应用研发和运维人员自己去学习和测试,虽然可以通过文档来规范,但显然这样做并不优雅,这时 OAM App Engine(暂定名 RdurX)就出现了。

OAM App Engine 所在位置

OAM App Engine 的目标用户群体是应用开发者,是希望终端开发者用户可以感受到 OAM 提倡的各类应用管理理念带来的价值。相比于其他基于 K8s 的应用管理平台(如 rio ),OAM App Engine 将至少具备如下三大核心价值。

  1. 插件系统:App Engine 可以通过 OAM 具备快速纳管 operator 的能力,轻松扩展各种能力。
  2. 用户体验:贴近开发者,一切设计以最终开发者使用体验至上,复杂的概念做抽象,用户熟悉的概念不隐藏。
  3. 最佳实践:App Engine 将成为 OAM 实现的最佳实践。

OAM 架构

OAM App Engine 由 CLI 命令行工具、 Dashboard UI 管理页面和一系列编排文件/DSL 组成,目前还处于功能设计与开发当中,预计在8月底会和用户见面。OAM App Engine 的开发者均来自 OAM 中国社区,来自不同的公司和组织,是真正的从社区中来,服务社区用户。

欢迎对 OAM 有兴趣的朋友加入,社区每双周都会进行视频例会,欢迎大家发表自己的见解或提出相关疑问。

OAM 中国社区

结语

《云原生架构白皮书》的编写集合了阿里云众多技术专家,基于这些年阿里云海量的技术实践,对云原生这一当下十分火爆概念进行了十分深入的剖析,在分享知识和实践经验的同时还对云原生相关技术、架构设计和发展趋势等内容进行分析和描述,为那些对于云原生这一概念还十分陌生和迷茫的开发者/管理者提供了一份干货满满的参考资料。这里借用白皮书序言里的一句话:

云计算的下一站,就是云原生;

IT 架构的下一站,就是云原生架构 ;

希望所有的开发者、架构师和技术决策者们,共同定义、共同迎接云原生时代。

《云原生架构白皮书》下载链接 : https://developer.aliyun.com/topic/download?id=721

<img src="https://tva3.sinaimg.cn/large/ad5fbf65gy1gfm3j2vo79g20b90b9x6r.gif" style="width: 150px;">

相关实践学习
深入解析Docker容器化技术
Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。Docker是世界领先的软件容器平台。开发人员利用Docker可以消除协作编码时“在我的机器上可正常工作”的问题。运维人员利用Docker可以在隔离容器中并行运行和管理应用,获得更好的计算密度。企业利用Docker可以构建敏捷的软件交付管道,以更快的速度、更高的安全性和可靠的信誉为Linux和Windows Server应用发布新功能。 在本套课程中,我们将全面的讲解Docker技术栈,从环境安装到容器、镜像操作以及生产环境如何部署开发的微服务应用。本课程由黑马程序员提供。 &nbsp; &nbsp; 相关的阿里云产品:容器服务 ACK 容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情: https://www.aliyun.com/product/kubernetes
目录
相关文章
|
8月前
|
消息中间件 人工智能 安全
云原生进化论:加速构建 AI 应用
本文将和大家分享过去一年在支持企业构建 AI 应用过程的一些实践和思考。
2067 78
|
8月前
|
Cloud Native Serverless API
微服务架构实战指南:从单体应用到云原生的蜕变之路
🌟蒋星熠Jaxonic,代码为舟的星际旅人。深耕微服务架构,擅以DDD拆分服务、构建高可用通信与治理体系。分享从单体到云原生的实战经验,探索技术演进的无限可能。
微服务架构实战指南:从单体应用到云原生的蜕变之路
|
9月前
|
数据采集 机器学习/深度学习 搜索推荐
MIT新论文:数据即上限,扩散模型的关键能力来自图像统计规律,而非复杂架构
MIT与丰田研究院研究发现,扩散模型的“局部性”并非源于网络架构的精巧设计,而是自然图像统计规律的产物。通过线性模型仅学习像素相关性,即可复现U-Net般的局部敏感模式,揭示数据本身蕴含生成“魔法”。
369 3
MIT新论文:数据即上限,扩散模型的关键能力来自图像统计规律,而非复杂架构
|
8月前
|
人工智能 JavaScript 前端开发
GenSX (不一样的AI应用框架)架构学习指南
GenSX 是一个基于 TypeScript 的函数式 AI 工作流框架,以“函数组合替代图编排”为核心理念。它通过纯函数组件、自动追踪与断点恢复等特性,让开发者用自然代码构建可追溯、易测试的 LLM 应用。支持多模型集成与插件化扩展,兼具灵活性与工程化优势。
676 6
|
8月前
|
Java Linux 虚拟化
【Docker】(1)Docker的概述与架构,手把手带你安装Docker,云原生路上不可缺少的一门技术!
1. Docker简介 1.1 Docker是什么 为什么docker会出现? 假定您在开发一款平台项目,您的开发环境具有特定的配置。其他开发人员身处的环境配置也各有不同。 您正在开发的应用依赖于您当前的配置且还要依赖于某些配置文件。 您的企业还拥有标准化的测试和生产环境,且具有自身的配置和一系列支持文件。 **要求:**希望尽可能多在本地模拟这些环境而不产生重新创建服务器环境的开销 问题: 要如何确保应用能够在这些环境中运行和通过质量检测? 在部署过程中不出现令人头疼的版本、配置问题 无需重新编写代码和进行故障修复
697 2
|
9月前
|
人工智能 Cloud Native 中间件
划重点|云栖大会「AI 原生应用架构论坛」看点梳理
本场论坛将系统性阐述 AI 原生应用架构的新范式、演进趋势与技术突破,并分享来自真实生产环境下的一线实践经验与思考。
|
9月前
|
存储 弹性计算 Cloud Native
云原生数据库的演进与应用实践
随着企业业务扩展,传统数据库难以应对高并发与弹性需求。云原生数据库应运而生,具备计算存储分离、弹性伸缩、高可用等核心特性,广泛应用于电商、金融、物联网等场景。阿里云PolarDB、Lindorm等产品已形成完善生态,助力企业高效处理数据。未来,AI驱动、Serverless与多云兼容将推动其进一步发展。
459 8
|
9月前
|
机器学习/深度学习 人工智能 vr&ar
H4H:面向AR/VR应用的NPU-CIM异构系统混合卷积-Transformer架构搜索——论文阅读
H4H是一种面向AR/VR应用的混合卷积-Transformer架构,基于NPU-CIM异构系统,通过神经架构搜索实现高效模型设计。该架构结合卷积神经网络(CNN)的局部特征提取与视觉Transformer(ViT)的全局信息处理能力,提升模型性能与效率。通过两阶段增量训练策略,缓解混合模型训练中的梯度冲突问题,并利用异构计算资源优化推理延迟与能耗。实验表明,H4H在相同准确率下显著降低延迟和功耗,为AR/VR设备上的边缘AI推理提供了高效解决方案。
1479 0
|
8月前
|
人工智能 Kubernetes Cloud Native
Higress(云原生AI网关) 架构学习指南
Higress 架构学习指南 🚀写在前面: 嘿,欢迎你来到 Higress 的学习之旅!
3153 0
|
8月前
|
机器学习/深度学习 存储 缓存
115_LLM基础模型架构设计:从Transformer到稀疏注意力
大型语言模型(LLM)的架构设计是其性能的核心决定因素。从2017年Transformer架构的提出,到如今的稀疏注意力和混合专家模型,LLM架构经历了快速的演进。本文将全面探讨LLM基础架构的设计原理,深入分析Transformer的核心机制,详细介绍稀疏注意力、MoE等创新架构,并展望未来架构发展方向。通过数学推导和实践案例,为构建高效、强大的LLM提供全面指导。
1145 0

热门文章

最新文章