本文作者: 何文强——腾讯云 CODING 高级架构师 。
负责 CODING DevOps 产品解决方案架构设计和技术产品布道以及 CODING 云原生技术钻研与落地实际。在多个技术大会负责演讲嘉宾,腾讯云 CODING DevOps 课程认证出品人,腾讯云云原生训练营外围初创成员。
精通麻利精益、DevOps 和云原生畛域,技术扎实,视线宽阔,格局前瞻;在泛互、教育、工业、政务、金融等多个行业领有数字化落地布局和实战经验;多年技术开发和团队治理教训,目前专一于一站式研发效力平台的建设和推广,聚焦于 “以利用为核心“的云原生的落地与实际 ,致力于中国软件工程能力的晋升和改良。
Orbit 是腾讯云 CODING 推出的一个企业级云原生利用交付平台(图 3 -1)。Orbit 以利用为核心进行设计,次要包含利用建模、利用交付、利用运维和申明式基础设施设施交付 4 个方面进行平台设计,围绕着基于 OAM 利用建模、Application As Code、GitOps 版本化治理、对立可观测性 4 个维度进行具体价值主张申明。
图 3-1
基于 OAM 利用建模
Orbit 基于凋谢利用模型 OAM(Open Application Model)进行利用建模(图 3 -2),采纳研发和运维视角拆散的准则,云原生专家或运维平台团队负责服务标准、服务模板和服务插件的制订,研发人员通过表单参数的形式援用平台团队定制模板和插件。通过这种职能视角拆散,研发人员在不须要学习和把握 Kubernetes 简单技术细节的状况下,轻松实现利用云原生化,极大升高利用云原生化的门槛;运维人员或平台团队通过对模板和标准的建设,可能无效晋升利用配置的一致性和可维护性,升高云原生规模化的老本和推广难度。
图 3 -2
Orbit 将利用代码(镜像)、数据库、配置和环境等利用因素进行了对立的定义和治理,通过对立的利用模型,屏蔽了利用底层的基础设施,不与具体云厂商绑定,兼容多云 Kubernetes 平台,反对企业基础设施的平滑降级和渐进式演进。
Application As Code
Orbit 将服务、配置、数据库、部署流水线、基础设施和环境的利用因素进行层级划分 (图 3 -3)。服务、配置和数据库作为业务层,部署流水线作为交付层,基础设施和环境作为资源层。Orbit 将利用的所有因素都以代码的形式组织和存储到代码库中,以代码库作为利用因素的繁多事实起源,所有的变更都以代码提交的形式进行记录和存储,Orbit 通过代码库的版本控制系统能力,实现利用在任意时刻都可追溯、可审计、可回退能力。
图 3 -3
通过分层的设计模式实现利用配置在代码仓库中的正当有序组织,为不同的层级定义不同的目录层级,并给予相应的目录权限,实现细粒度的利用配置信息的权限管制,在加强通明、信赖与合作的同时也满足组织外部的平安合规和敏感数据治理规定。
GitOps 版本化治理
Orbit 部署基于 GitOps 理念进行利用交付。GitOps 是以 Git 为外围进行利用配置信息的存储,通过有且只有惟一的存储库实现繁多事实起源,并利用 Git 的 Commit、Diff、Revert、Merge 等外围能力进行版本变更治理。开发人员将代码或配置的批改提交到代码仓库中,会触发继续集成流水线进行代码的编译构建,生成镜像推送到制品库,Orbit 会监听制品库和配置的变动,通过 Git Diff 能力主动拣配以后版本与上一版本的差别,按需抉择变更内容进行公布单创立。运维人员或公布人员通过对公布单内容的审查,进行版本的公布。在审计方面,通过 Git Commit 信息,能够查看每次变更的内容,实现变更内容的审计与追溯。在公布可靠性和回滚方面,通过 Git 版本化实现利用的原子化公布,也通过 Git 的 Revert 命令,让利用回滚变得简略牢靠。
图 3 -4
对立可观测性
云原生利用可观测性次要围绕日志(Logging)、链路追踪(Tracing)、监控(Monitoring)三个维度进行建设,对立的可观测平台有利于疾速的发现问题、定位问题和和解决问题。Orbit 在可观测方面以对立观测为目标,以生态凋谢为准则,以兼容支流为伎俩。在产品设计上可能兼容支流的可观测平台和工具,并通过 Adapter(适配器)模式进行生态插件的集成与适配,同时兼容 OpenTelemetry 标准,实现日志、链路追踪、监控的对立展现和数据互通。
图 3 -5
理解了 Orbit 的设计理念和价值主张后,咱们将在下一篇文章对 Orbit 的外围能力 OAM、GitOps、可观测性、数据库治理等进行解说和实际,敬请期待!