云原生应用交付平台Orbit设计理念与价值主张

news2024/12/23 23:37:10

本文作者:何文强——腾讯云 CODING 高级架构师

负责 CODING DevOps产品解决方案架构设计和技术产品布道以及 CODING 云原生技术研究与落地实践。在多个技术大会担任演讲嘉宾,腾讯云 CODING DevOps 课程认证出品人,腾讯云云原生训练营核心初创成员。

精通敏捷精益、DevOps 和云原生领域,技术扎实,视野开阔,格局前瞻;在泛互、教育、工业、政务、金融等多个行业拥有数字化落地规划和实战经验;多年技术开发和团队管理经验,目前专注于一站式研发效能平台的建设和推广,聚焦于**“以应用为中心“的云原生的落地与实践**,致力于中国软件工程能力的提升和改进。

Orbit 是腾讯云 CODING 推出的一个企业级云原生应用交付平台(图3-1)。Orbit 以应用为中心进行设计,主要包括应用建模、应用交付、应用运维和声明式基础设施设施交付 4 个方面进行平台设计,围绕着基于 OAM 应用建模、Application As Code、GitOps 版本化管理、统一可观测性 4 个维度进行具体价值主张声明。

img

图 3-1

基于OAM应用建模

Orbit 基于开放应用模型 OAM(Open Application Model)进行应用建模(图3-2),采用研发和运维视角分离的原则,云原生专家或运维平台团队负责服务规范、服务模板和服务插件的制定,研发人员通过表单参数的方式引用平台团队定制模板和插件。通过这种职能视角分离,研发人员在不需要学习和掌握 Kubernetes 复杂技术细节的情况下,轻松实现应用云原生化,极大降低应用云原生化的门槛;运维人员或平台团队通过对模板和规范的建立,能够有效提升应用配置的一致性和可维护性,降低云原生规模化的成本和推广难度。

img

图3-2

Orbit 将应用代码(镜像)、数据库、配置和环境等应用要素进行了统一的定义和管理,通过统一的应用模型,屏蔽了应用底层的基础设施,不与具体云厂商绑定,兼容多云 Kubernetes 平台,支持企业基础设施的平滑升级和渐进式演进。

Application As Code

Orbit 将服务、配置、数据库、部署流水线、基础设施和环境的应用要素进行层级划分(图3-3)。服务、配置和数据库作为业务层,部署流水线作为交付层,基础设施和环境作为资源层。Orbit 将应用的所有要素都以代码的方式组织和存储到代码库中,以代码库作为应用要素的单一事实来源,所有的变更都以代码提交的方式进行记录和存储,Orbit 通过代码库的版本控制系统能力,实现应用在任意时刻都可追溯、可审计、可回退能力。

img

图3-3

通过分层的设计模式实现应用配置在代码仓库中的合理有序组织,为不同的层级定义不同的目录层级,并给予相应的目录权限,实现细粒度的应用配置信息的权限控制,在增强透明、信任与协作的同时也满足组织内部的安全合规和敏感数据管理规则。

GitOps 版本化管理

Orbit 部署基于 GitOps 理念进行应用交付。GitOps 是以 Git 为核心进行应用配置信息的存储,通过有且只有唯一的存储库实现单一事实来源,并利用 Git 的 Commit、Diff、Revert、Merge 等核心能力进行版本变更管理。开发人员将代码或配置的修改提交到代码仓库中,会触发持续集成流水线进行代码的编译构建,生成镜像推送到制品库,Orbit 会监听制品库和配置的变化,通过 Git Diff 能力自动拣配当前版本与上一版本的差异,按需选择变更内容进行发布单创建。运维人员或发布人员通过对发布单内容的审查,进行版本的发布。在审计方面,通过 Git Commit 信息,可以查看每次变更的内容,实现变更内容的审计与追溯。在发布可靠性和回滚方面,通过 Git 版本化实现应用的原子化发布,也通过 Git 的 Revert 命令,让应用回滚变得简单可靠。

img

图3-4

统一可观测性

云原生应用可观测性主要围绕日志(Logging)、链路追踪(Tracing)、监控(Monitoring)三个维度进行建设,统一的可观测平台有利于快速的发现问题、定位问题和和解决问题。Orbit 在可观测方面以统一观测为目的,以生态开放为原则,以兼容主流为手段。在产品设计上能够兼容主流的可观测平台和工具,并通过 Adapter(适配器)模式进行生态插件的集成与适配,同时兼容 OpenTelemetry 规范,实现日志、链路追踪、监控的统一展示和数据互通。

img

图3-5

了解了 Orbit 的设计理念和价值主张后,我们将在下一篇文章对 Orbit 的核心能力 OAM、GitOps、可观测性、数据库管理等进行讲解和实践,敬请期待!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/671714.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

论文解读:DETRs Beat YOLOs on Real-time Object Detection

发表时间:2023 论文地址:https://arxiv.org/abs/2304.08069 项目地址:https://github.com/PaddlePaddle/PaddleDetection/tree/develop/configs/rtdetr 【官方】 或 https://github.com/ultralytics/ultralytics/tree/main/ultralytics/vit/r…

大数据云计算运维之HA高可用服务搭建

HA高可用服务搭建 1、HA Cluster高可用集群 HA是High Available缩写。 HA Cluster是指高可用性集群,是保证业务连续性的有效解决方案,一般 有两个或两个以上的节点,且分为活动节点及备用节点。 FailOver:故障自动切换&#xff…

前端后端交互-ElementUI(日期选择器)

日期选择器 页面效果 页面效果 组件源码 <!-- daterange: 范围选择类型format: 绑定后表单中显示的格式value-format: 传递时显示的格式--> <template><el-date-picker v-model"rangeTime" type"daterange" range-separator"至" …

RabbitMQ使用延迟插件,代码量直接减少一半!

今天介绍一下使用RabbitMQ的延迟插件方便实现延迟消息的方案。 RabbitMQ 是一个由 Erlang 语言开发的 AMQP(高级消息队列协议) 的开源实现。 RabbitMQ 是轻量级且易于部署的&#xff0c;能支持多种消息协议。 RabbitMQ 可以部署在分布式和联合配置中&#xff0c;以满足高规模…

【立体视觉(四)】之极线校正与双目视觉

【立体视觉&#xff08;四&#xff09;】之极线校正与双目视觉 一、极线校正一&#xff09;Fusiello校正法1. 转换矩阵计算1&#xff09;计算旋转矩阵 R n R_n Rn​2&#xff09;计算内参矩阵 K n K_n Kn​3&#xff09;计算转换矩阵 T T T 2. 核线影像生成 二、双目视觉 此…

css基础知识五:CSS中,有哪些方式可以隐藏页面元素?区别?

一、前言 在平常的样式排版中&#xff0c;我们经常遇到将某个模块隐藏的场景 通过css隐藏元素的方法有很多种&#xff0c;它们看起来实现的效果是一致的 但实际上每一种方法都有一丝轻微的不同&#xff0c;这些不同决定了在一些特定场合下使用哪一种方法 二、实现方式 通过…

【IC设计】ICC1 workshop lab guide 学习笔记——Lab 2 Design Planning Task1-4

文章目录 Lab 2 Design Planning2.1 Load the Design2.2 Initialize the Floorplan2.3 Preplace the Macros Connected to I/O Pads2.4 Perform Virtual Flat Placement Lab 2 Design Planning 2.1 Load the Design 进入lab2_dp目录并打开icc_shell&#xff0c;打开orca_lib.…

雪花去噪算法学习记录(一)之基础知识

在进行实验过程中&#xff0c;需要完成对雪天图像的处理&#xff0c;其中一个主要操作为去雪。相较于去雾&#xff0c;去雨模型&#xff0c;去雪模型相对较少&#xff0c;因此在研究时所能够借鉴的资料有限&#xff0c;这对我们的研究造成了一定困扰。 模型算法 DesnowNet网络…

[VPN]华为SecoClient客户端Linux使用

准备 安装环境&#xff1a;CentOS 下载安装包&#xff1a; # wget http://www.corem.com.cn/sites/default/files/tools/secoclient/secoclient-linux-64-7.0.2.26.run 安装 在root用户下&#xff0c;执行&#xff1a; # chmod x secoclient-linux-64-7.0.2.26.run # ./secoc…

瞎搞!你真的懂什么是ERP、中台、低代码吗?

企业数字化领域从来都不缺新概念 从制造资源计划到中台&#xff0c;企业MRP报表数字还没对齐&#xff0c;就要忙着“去烟囱”化&#xff1b; 从中台到低代码&#xff0c;企业“数据孤岛”还没打通&#xff0c;又要忙着“赋能数字化能力”给业务人员了。 这一来二去&#xff0c;…

已有仓库,上传代码,如果你是先写代码,想上传git上你可以这样操作

已有仓库,上传代码&#xff0c;如果你是先写代码&#xff0c;想上传git上你可以这样操作 第一步&#xff1a;初始化 git git init 第二步&#xff1a;添加文件 git add * 第三步&#xff1a;提交文件 git commit -m "完整项目可直接下载使用" 第四步&#xff1a;配置…

【MySql】MySql索引的操作

文章目录 索引结构问题聚簇索引与非聚簇索引索引操作创建主键索引唯一索引创建普通索引创建全文索引创建删除索引查询索引索引创建原则 索引结构问题 InnoDB 在建立索引结构来管理数据的时候&#xff0c;其他数据结构为何不行 链表:线性遍历,在效率上是不合适的 二叉搜索树&am…

如何用Jmeter提取和引用Token

1.执行获取token接口 在结果树这里&#xff0c;使用$符号提取token值。 $根节点&#xff0c;$.data.token表示提取根节点下的data节点下的token节点的值。 2.使用json提取器&#xff0c;提取token 变量路径就是把在结果树提取的路径写上。 3.使用BeanShell取样器或者BeanShell后…

在 Navicat Premium 中管理 MySQL 用户 | 第 2 部分:创建新用户

第 2 部分&#xff1a;创建新用户 第 2 部分&#xff1a;创建新用户 第 1 部分 中&#xff0c;我们学习了如何使用 Navicat Premium 用户管理工具保护 MySQL 的 root 帐号。本篇文章将集中介绍如何设置新用户的帐号详细信息、帐号限制和 SSL 设置。如果你想边学边用&#xff1…

做好用户体验设计 关键看5个方面

用户来了就走&#xff0c;用户吐槽不好用&#xff0c;用户留不住&#xff0c;好的功能没人用&#xff0c;这到底是怎么回事&#xff1f;问题关键在于好的用户体验设计&#xff0c;而做好用户体验设计&#xff0c;关键看5个方面&#xff1a; 1、是否有用 我们需要考量产品。对用…

如何用数字人技术让课堂活起来?番职院和3DCAT实时云渲染给出答案

2023年4月20日&#xff0c;广州市第二届智慧教育成果巡展活动在番禺职业技术学院&#xff08;下文简称番职院&#xff09;举行&#xff0c;本次活动的主题是智能AI助教—让课堂活起来。 活动现场&#xff0c;瑞云科技受邀展示了其自主研发的瑞云数字人课堂互动教学解决方案。数…

实时监控Active Directory用户登录操作

用户登录到其域计算机是任何企业中发生的日常活动。一开始&#xff0c;这可能看起来是一个简单的Active Directory事件&#xff0c;但分配了不同角色的管理员可以将这些有价值的数据用于各种审计&#xff0c;合规性和运营需求。组织需要审核“AD 用户登录日志”的详细信息&…

JavaWeb学习路线(5)——MyBatis

准备工作&#xff1a;JDBC 概念&#xff1a; JDBC&#xff08;Java DataBase Connectivity&#xff09;&#xff0c;就是使用Java语言操作关系型数据库的一套API。JDBC使用数据库的五大步骤 //步骤一&#xff1a;注册驱动 Class.forName("com.mysql.cj.jdbc.Driver"…

手机App弹窗的常用测试点

手机App弹窗是目前流行的一种内容展示形式&#xff0c;根据内容性质可以划分为消息、通知、广告、营销等等&#xff0c;展现形式也比较多变&#xff0c;刚上手测试特容易手忙脚乱&#xff0c;为了帮助新人能够快速入门&#xff0c;笔者在此将弹窗常见的测试点一一进行罗列&…

「网络编程」第二讲:网络编程socket套接字(三)_ 简单TCP网络通信程序的实现

「前言」文章是关于网络编程的socket套接字方面的&#xff0c;上一篇是网络编程socket套接字&#xff08;二&#xff09;&#xff0c;下面开始讲解&#xff01; 「归属专栏」网络编程 「笔者」枫叶先生(fy) 「座右铭」前行路上修真我 「枫叶先生有点文青病」「每篇一句」 I do…