产品白皮书
# 引言
# 概述
随云原生技术体系的逐渐成熟,基于云计算特性所设计的云原生应用相比传统的单体应用在安全性,扩展性,快速迭代,运维等各方面都有巨大的领先优势。 上云已成为行业共识,云原生从最开始的互联网行业起步,已经逐渐扩散到金融、政务、物流等各行各业。中间件作为业务上云的关键组件,也需要进行云原生演化,以适应新的云原生架构体系。 中件间基本上都是有状态的应用,对于 IO、性能、稳定性的要求都非常高,所以一直以来中间件的容量管理、交付、运维、容灾都是业界的难题,借助最新的云原生技术,不仅解决了自身弹性、韧性的问题,也使运维交付变得容易。使企业在构建自己的云原生架构体系时,得以将应用与中间件纳入统一的IT管理视角下,降低了架构复杂度,也提升了整体效率。
# 范围和读者
本文面向技术决策者和企业架构师、应用开发工程师及应用系统运维开发工程师。 阅读本文第二章和第三章,您可以从宏观上对金蝶Apusic云原生中间件平台有所认识,如果您想全面了解金蝶Apusic云原生中间件平台的全貌,建议您通篇阅读全文。
# 文档导航
产品概述
阐述云原生中间件核心理念,并简要介绍金蝶Apusic云原生中间件平台的整体功能。体系结构
详细介绍金蝶Apusic云原生中间件平台的体系结构及其带来的优势。功能与特性
详细介绍金蝶Apusic云原生中间件平台的主要功能与新特性。应用场景
简要介绍金蝶Apusic云原生中间件平台的典型应用场景。结论
总结金蝶Apusic云原生中间件平台的主要功能及其作用。
# 产品概述
# 核心理念
金蝶Apusic致力于利用云原生技术为用户提供开箱即用的中间件服务能力。通过平台接入能力将中间件专业团队提供的中间件的服务能力以更加业务化的方式提供给最终用户,推动云原生中间件的普及和使用,使用户可以尽早享受云原生中间件带来的好处。
# 产品介绍
金蝶Apusic云原生中间件平台(Apusic Cloud Middleware Plantform)是基于K8S-Operator技术构建的一站式云中间件管理平台。 满足用户对中间件部署、变更、监控、运维等全生命周的管理需求,帮助以企业以最佳实践的方式来使用和管理中间件。充分利用云中间件的快速部署、弹性伸缩、动态配置、高可用高可靠的特性,来为企业应用提供现代化的应用支撑能力。
# 面向的客户
- 使用中间件的业务开发人员
- 从事中间件维护工作的运维人员
- 负责构建企业架构的IT架构师
# 核心能力
ACMP基于K8S-Operator技术,为缓存、消息、网关等传统中间件赋予云原生特性,解决了传统中间件部署配置复杂、缺少弹性伸缩、运维升级难度大等诸多问题,帮助企业以云原生的方式来使用这些中间件。
开箱即用
ACMP提供自了常用的开源中间件服务和自研国产化中间件服务,涵盖了缓存、消息、网关等多种领域,用户可以根据需要一键部署所需的软件到指定的环境中。高效可靠
ACMP基于K8S-Operator云原生技术构建,天然具备高性能、高可靠、高可用及弹性伸缩能力,能够为业务提供更高等级的的运行保障。版本控制
ACMP采用规范化、集中化管理模式,通过统一部署运维能力对中间件实施统一的版本控制,使软件的一致性、可维护性、合规性都得到了保障。全面监控
ACMP内置统一监控、统一告警、统一日志等系统插件,能够对所有中间件的运行状态进行跟踪,通过平台提供的应用级聚合展示,使用户在一个界面上,即可查看中间件实例的所有相关信息。深度自助运维
ACMP提供运维操作定义能力,将底层的操作运维能力接入到用户侧,使普通用户也能够自主完成备份、还原、数据清理、数据迁移等复杂的运维操作。平台扩展能力
ACMP定义了云中间件标准服务接入规范,保证了云中间件服务有效性与规范性。为了更好的利用既有资产,平台规范兼容Operator Framework和Helm社区规范,并且原有社区规范的基础上,增加了监控、日志、告警等插件能力,使接入方只需进行简单的配置,即可将原有中间件增强为云中间件并纳入到平台内,享受云中间件统一管理、统一运维的好处。
# 产品架构
# 总体架构

ACMP将各类中间件以服务化的方式,纳入平台的统一管理。使服务管理、服务观测和服务运维工作更加简单快捷。
# 功能架构

ACMP基于云原生技术打造,支持在多种云基础上运行,内置主流开源中间件和自有国产化中间件,同时支持对开源和第三方中间件的纳入于管理。
ACMP提供可视化的配置与参数管理功能,使用户能够自助化的进行部署和配置调整,内置的运维操作能力,使普通用户也可以像专业运维人员一样,进行备份恢复和其它操作,将运维人员从这些繁琐重复的操作中解放出来。
ACMP采用RBAC权限模型,提供了完善的权限体系,用户可以按租户和项目对中间件服务进行隔离,使业务更稳定、更安全。
ACMP包含云中间件所必须的云原生能力,依托于统一的指标观测、日志分析、巡检、告警能力,不仅使中间件的接入更为容易,也使用户可以用统一的管理视角来管理这些中间件服务。
# 技术架构
技术架构图

服务包
ACMP提供了服务接入定义,用户可以通过服务包的方式,描述服务的基本定义、部署方式、引用的平台能力、运维操作、管控方式等。通过服务包用户可以快速利用已有资产和进行跨物理环境的服务定义迁移。服务市场
ACMP为服务提供了服务市场,用户可以在服务市场中管理和检索服务,使服务的管理过程更为简单和有序。镜像仓库
服务包包含了服务所需的所有镜像资源,用户在上传服务包到服务市场时,服务包内的资源会被自动发布到K8S能够访问的镜像仓库中,避免了因缺少资源或者版本不一致造成的服务无法使用的情况。服务声明周期控制器
ACMP通过服务生命周期控制器,实现对服务的全生命周期管理。服务生命周期控制器会记录用户对服务的配置并帮助用户对服务的状态进行跟踪和管理,当用户修改配置时,控制器会自动下发配置到K8S中,实现配置的自动变更。控制器也会帮助用户将底层的状态、日志等信息进行业务化的转换,使用户可以以业务视角对服务进行监管。基础支撑能力
ACMP内置了经过长期使用的通用服务能力,如接入、权限、采集、流控等。使服务开发者在定义服务时,可以以声明的方式使用这些能力,而无需编写实现代码。使服务开发的速度和稳定性都得到了保障,也使使用者遇到的问题大大减少。K8S-Operator
ACMP基于K8S-Operator实现通过K8S-Operator的能力,平台得以将各种能力动态的插入到服务中,实现底层控制和数据采集的能力。同时也能够最大程度的利用K8S原生的高可用、高可靠能力。
# 产品功能
服务定义
提供对语义化服务定义能力,将中间件服务以软件包的形式进行发布,使服务可以被纳入平台,实现平台融合和能力增强。服务发布
将提供者制作的云中间件服务包,发布到平台中,成为平台用户能够直接使用的云中间件管理服务。服务下架
管理员可以将已淘汰废弃的服务进行下架,避免用户再创建此类服务。但已创建的实例不会受到影响。实例部署
提供可视化云中间件部署能力,用户可以通过中间件服务将云中间件以自己所需要的配置,部署到指定的集群中.实例监控
平台提供云中间件的运维视图,用户可以进入实例详情页面,查看对应实例的监控、日志等运维信息。配置更新
用户可以对已有实例的配置进行修改,配置完成后平台会自动对中间件实例进行更新,包括实例配置更新、资源缩放、网络调整等。运维操作
服务包中若定义了对应中间件运维操作能力,用户可以通过这些定义完成对实例的操作,如数据清理、备份还原、数据传输等。实例删除
当实例不再使用,用户可以对实例发起删除操作。平台将帮助用户清理回收所有相关资源。
# 关键技术特性
# 服务规范定义
ACMP提供语义化的标注规范,服务提供者可以通过简单的配置,即可将中间件包装成服务,发布到平台中。规范定义了如何使用平台能力,使服务提供者无需开发代码,即可使用平台提供的增强能力,如日志、采集等。
# 可视化配置技术
ACMP基于语义化技术,将中间件配置转化为可视化配置表单,简化了用户的配置过程,也使配置更加动态化和场景化。使服务能够适应更多场景。
# 监控与状态跟踪
ACMP深度融合K8S和K8S-Operator,实现了对底层资源和状态的跟踪。通过Agent和metrics技术实现了对系统中任意节点的监控和跟踪。系统支持Cloud shell能力,通过接入运行节点,帮助用户更好的管理节点运行状态。
# 可靠性保障
ACMP借助于K8S的高可用、高可靠特性,实现了业务服务级高SLA保障。提供了故障检查、故障恢复能力,并提供了备份还原、数据迁移、数据同步等能力,使用户有更多手段保障系统的可靠性。
# 主要应用场景
# 自助式快速交付
随着业务应用规模逐年增加,系统中引入的中间件种类也越来越多,不同环境、不同架构带来的差异越来越大,给运维人员带来的很大的学习成本。 ACMP通过提炼中间件最佳使用实践,将软件以服务化的方式进行封装,帮助使用人员实现自助式一键部署安装,把运维人员从繁重、重复的安装部署过程中解放出来,也使中间件应用能够更快的交付到业务侧,提升了整体效率。
# 资源动态调配
传统中间件部署后,资源即被锁定。使用者和运维人员都很难根据使用情况,对资源进行调整,造成大量物理资源闲置和浪费。 ACMP基于云原生特性,支持对资源进行动态调配,使用者和运维人员都可以根据业务情况,对中间件进行动态伸缩,使可用性与资源使用率达到了更好的平衡。
# 统一版本控制
不同的中间件版本可能存在多种接入方式与运维管理方式,给企业内部带来了混乱和安全风险。 ACMP通过对中间件的统一生命周期管理能力,实现了对中间件版本的监控与管理,帮助企业实现统一标准、统一升级,提升了中间件管理的一致性、安全性和可运维性。
# 自助运维
中间件软件不仅需要提供业务支撑能力,还需要备份、还原、数据迁移、数据清理、预热等运维能力。运维人员时常需要花费大量的时间开发对应的脚本,但这些脚本往往是一次性的,随着中间件的升级,需要再次投入时间进行修改和测试。 ACMP提供的运维能力接入功能,使中间件开发团队可以将软件运维的最佳实践进行封装,开发和运维人员只需使用这些能力,即可完成自助运维,大大降低了运维工作量。
# 业务价值
ACMP通过为企业建立统一平台和统一技术底座,实现知识沉淀和能力复用,帮助企业对业务进行赋能,实现节能增效的目标。
# 简单易用
基于可视化配置,一键创建中间件集群。基于K8S的一站式生命周期管理,提升自助水平,使用户随需而用,加快业务构建速度。
# 稳定可靠
由单体部署转变为集群部署,满足业务高可用、高可靠、高稳定的需求。支持水平伸缩、自动故障恢复、滚动升级,打造不间断的服务能力。
# 集中运维
平台统一部署、统一维护、统一技术兜底。使运维工作更加集中和聚焦,减少沟通成本,提升运维效率。
# 灵活弹性
在业务不中断的情况下,动态调配资源节点数。避免资源绑定,使业务更具灵活性,资源使用更具弹性。
# 资产复用
复用业界优秀的中间件使用经验,将介质和配置进行模板化,通过服务市场进行全组织应用,避免各自为政,提升信息资产复用率,加速业务稳定。
# 产品运行环境
# 硬件环境
推荐最小化配置(1 master+ 2 node)
- master节点
| 项目 | 配置要求 |
|---|---|
| 服务器 | PC服务器或 Linux 服务器,以及支持华为鲲鹏或飞腾芯片的国产服务器。 |
| CPU | 4C或以上 |
| 内存 | 8G或以上 |
| 硬盘 | 500G或以上 |
| 网络 | 千兆或以上 |
- node节点
| 项目 | 配置要求 |
|---|---|
| 服务器 | PC服务器或 Linux 服务器,以及支持华为鲲鹏或飞腾芯片的国产服务器。 |
| CPU | 8C或以上 |
| 内存 | 16G或以上 |
| 硬盘 | 1T或以上 |
| 网络 | 千兆或以上 |
# 软件环境
| 项目 | 配置要求 |
|---|---|
| 操作系统 | Windows 系统、Linux 系统、中标麒麟(龙芯)系统、银河麒麟(飞腾)系统。 |
| kubernetes | V1.20+ |
| helm | v3.0.0+ |
| 数据库 | MySql 5.7.0+ |
| 缓存 | Redis6.2.0+ |
| nexus | v3.34.0+ |
| Harbor | v2.3.5+ |
# 浏览器
| 项目 | 配置要求 |
|---|---|
| Chrom | 60.0.3112.113+ |
# 总结
高可用、高可靠的中间件已成为了现在系统的的基本要求,中间件云原生化也将成为中间件发展的必然。通过基于云原生架构的中间件平台,帮助用户实现对云原生中间件部署、变更、监控、运维、变更等全生命周期的管理,使用户能够将中间件业务快速的转换到云原生体系下,从而实现降本增效,以应对互联网时代业务快速发展的需要。
# 术语及缩略语表
# 术语
K8S:K8S(Kubernetes) 是一个可移植的、可扩展的开源平台,用于管理容器化的工作负载和服务,可促进声明式配置和自动化。
K8S-Operator:Operator是通过扩展Kubernetes自定义Custom Controller,通过观察应用并根据实际状态执行自定义任务。Operator能够为有状态应用提供更好的管控能力和更快的开发速度。
Pod:Pod是可以在 Kubernetes 中创建和管理的、最小的可部署的计算单元。
PV:K8S中作为存储资源,主要包括存储能力、访问模式、存储类型、回收策略、后端存储类型等关键信息的设置。
Metrics:以时序的方式对各类监控指标进行采集。
# 缩略词表
| 英文缩写 | 英文全名 |
|---|---|
| ACMP | Apusic Cloud Middleware Plantform |
| K8S | Kubernetes |