产品简介
2024 年 07 月 26 日及之后注册 CODING 标准版、高级版团队的用户界面上没有「应用管理」功能,如需使用、您可将团队升级为旗舰版。
伴随着云原生降本增效的价值理念逐步被市场认可并接受,应用云原生化、容器化已成为国内广大开发者的共识。先进的观念与模式已来,如何在团队中落地呢?云原生本身的复杂程度、CI/CD 工作流建设混乱、缺乏成熟的应用运维工具,俨然已成为研发团队迈向先进模式的“拦路虎”。
应用中心(以下简称 Orbit)是 CODING 全新推出的云原生应用全生命周期管理系统。它在保证资源安全的情况下,帮助研发成员自主完成云原生应用的创建,修改,发布,运维与销毁。借助 Orbit 完善的管理能力,研发成员能够以全自动化的方式,安全、高效、可靠地把多个微服务组成的应用无缝发布到生产或测试环境,加速软件的价值交付循环。
产品能力
Orbit 主要面向云原生场景提供以下能力:
数据库管理
将数据库纳入至 Orbit 中统一进行管理,在应用发布时便捷地将变更发布至计算资源中。Orbit 能够为用户提供 SQL 语法检查、SQL 审核、预执行等能力,让数据库与集群变更的风险左移,提高变更的可靠性。
应用管理
应用模型通过代码化的方式进行描述,将代码存储在 Git 实现的代码仓库中,借由 Git 所提供的版本提交记录与合并能力,为应用模型的演进提供了可追溯和可审计的功能。掌握应用的变更情况,就能够在事故发生的时候,让追责和回滚变得更加简单。不仅如此,你还可以在控制面板中清晰地看到应用由哪些服务组成、运行在哪个环境中,同时还有多少变更未被发布。
可视化编辑
通过在线可视化的方式编辑 YAML 文件,我们相信通过图形化的方式能够帮助用户完成对服务的定义,从而将服务高效汇聚编写至应用中,提升发布效率。
版本控制
以版本定义应用的服务变更、配置变更与数据库变更等信息,提供宛如 Git 版本控制系统般流畅的原子化发布与回滚能力。
部署流程
研发成员能够在部署流程中灵活定义多项阶段,仅需通过一个完整流程便能将版本发布至各项环境中。
集群管理
优化集群的接入能力。只需在目标集群的任意路径下,下载并安装 CD 客户端后即可完成集群接入。客户端除了提供部署发布的功能,还支持与各项运维工具进行数据联动与上报,在弱网络环境及私有云场景下对集群纳管的支持更加友好。
环境监控
在应用中心能够全局查看应用的运行状态、已接入环境的总体资源状况,还可以查看各项服务的监控、日志与事件。
产品优势与价值
1. 降低应用云原生化门槛
Orbit 通过视角分离、模板化、自动化交付三种方式来降低企业落地云原生的门槛。
视角分离
将 Kubernetes(以下简称为 K8s)
yaml
文件的模板创建,统一的yaml
文件编写规范的工作收缩于团队中的运维角色。通过对 K8s 运维能力的封装,赋能研发角色交付稳定可靠的云原生应用,避免 K8s 的编排工作侵入研发流程。研发角色仅需根据由服务模板渲染出的可视化表单,填写运维指定的内容,即可在无需了解 K8s 集群的情况下,轻松完成容器化服务的创建与维护工作。
模块化
运维角色通过编写 K8s 的
Deployment
和Service yaml
文件,定义yaml
规范与交付运维能力。应用中心还提供yaml
文件语法提示和检查的能力,提高文件编写的可靠性。
自动化交付
当基础设施与基础服务迁移至云的 IaaS 和 PaaS 层产品后,需要用户反复登录云控制台并付出不小的学习成本。基于
infrastructure as code
方法论,应用中心的云资源自动化交付使用代码化与场景化的方式描述云资源,调用腾讯云 Tic 的执行能力。使用 Terraform 客户端自动化的创建和销毁云资源,有效降低企业管理云资源的门槛。
2. 提高应用交付效率与可靠性
应用中心通过控制创建应用变更、变更自动拣配、创建版本并发布三种流程提高应用交付效率与可靠性。
创建应用变更
应用中心为用户提供数据库变更、微服务启动顺序编排、企业级配置管理能力。
变更自动拣配
应用中心具备应用变更的自动拣配功能。无须人工干预,用户仅需进入应用控制台,应用的所有未发布变更已完成自动拣配,提高大规模微服务变更的效率。
创建版本发布
应用中心的版本管理机制,能够自动将应用的镜像、配置、数据库变更集中展示于版本的创建页面。你可以根据项目协同中的迭代内容,选择应用变更范围并进行版本创建。同时版本还支持关联任务、需求、缺陷等事项类型,便于用户追溯应用变更的业务侧需求来源。创建完版本之后,选择部署流程,即可实现版本的自动化发布。
3. 提供高效运维能力
应用中心的高效运维能力围绕发现问题、定位问题与解决问题进行展开。
发现问题
你可以根据使用场景,接入不同的运维工具至应用中心。例如日志在测试环境中使用开源免费的 Loki,在生产环境选择高可用和容量弹性的云日志产品。以应用为中心,统一了各个工具之间的串联,你可以顺滑的在应用中心切换各项应用运维工具。
定位问题
Orbit 能够统一多云的可观察工具的差异以及信息的差异,在 Orbit 的环境页面能够查看监控,日志,事件、调用链追踪以及容器服务运行的状态信息。当定位到不健康服务之后,可点击监控入口进入监控页面进行问题处理。以应用为中心组织可观察信息,使研发人员在问题排查的路径上有更高的效率,从而缩短故障感知和恢复的时间。
解决问题
问题定位后,使用应用中心的应用发布能力,可以快速实现 hotfix 自动化发布。如果是因为服务本身的异常,应用中心也支持通过服务的重启和扩缩容功能快速恢复服务。
应用场景
遵循 GitOps 实践场景
得益于已将应用模型代码化,因此应用中心采用了 GitOps 来实践 K8s 的应用发布。GitOps 的控制循环结合 K8s 的声明式 API 和终态控制,用户仅需将 K8s 的 yaml
文件提交至代码仓库中,GitOps 会自动感知到 yaml
文件的变化,配合代码仓库的合并请求功能,将 yaml
文件的变更自动推送至集群中,整个过程无需开发角色学习 K8s 的发布命令,也无需直接操作集群。
灵活的日常应用运维场景
面向应用视角的自动化运维工具建设,是支撑应用云原生化的关键之一。在日常的引用运维场景中,涵盖了监控告警、日志、调用链追踪的 K8s 事件工具。应用中心提供了工具的统一接入标准,你可以根据使用场景,接入不同的运维工具。比如日志在测试环境使用开源免费的 Loki,在生产环境选择高可用和容量弹性的云日志产品。以应用为中心,统一了各个工具之间的串联,你可以顺滑的在各项应用运维工具之间跳转。应用中心实现了应用运维工具的可插拔性。
在阅读中是否遇到以下问题?*
您希望我们如何改进?*
如果您希望得到回复,请留下您的邮箱地址。