概述
环境是 AutoMQ Cloud 重要的运维资源,本文介绍 AutoMQ Cloud 环境的定义、资源模型、内部属性、分类和使用建议。
本文中提及 AutoMQ 产品服务方、AutoMQ 服务方、AutoMQ,均特指安托盟丘(杭州)科技有限公司。
本文中提及的云厂商、公共云厂商等名词,均特指用户指定的 AutoMQ Cloud 底层依赖的云服务商服务,例如 AWS、GoogleCloud、Azure 、阿里云、腾讯云、华为云等厂商。
定义
环境是 AutoMQ Cloud 提供的一种逻辑抽象资源,用于确定 Kafka 在运行时层面需要共享的基础配置信息,并统一管理实际使用的 Kafka 实例(集群)。环境定义了例如基础设施类型、网络环境、权限策略等信息,后续所有的 Kafka 实例都归属于环境进行创建和管理。
环境的主要作用展开如下:
约定 Kafka 服务的底层基础设施,明确基础设施的云厂商类型、地域、权限策略等基础信息。
约定整套管控系统底层的网络拓扑、可用区拓扑、对外服务暴露方式等基础信息。
约定跨实例公共的基础配置,例如 Metrics 集成配置。
环境根据底层资源的归属账号和运维责任差异分为 SaaS 环境和 BYOC 环境。SaaS 环境下所有物理资源归属于 AutoMQ 服务方,由 AutoMQ 服务方提供维护和管理;BYOC 环境下所有物理资源归属于用户,由用户授权 AutoMQ 服务方提供维护和管理。
模型关系
在 AutoMQ Cloud 的领域模型中,环境是运维管理产品实例的顶层资源,大概如下图所示:
内部属性
属性:基础设施配置
基础设施配置是AutoMQ Cloud 环境部署的必要配置,用于约定基础设施的类型、网络拓扑、权限策略等配置信息。后续环境控制台会使用该配置部署和管理实际的 Kafka 集群。
属性:集成配置
集成配置是在环境级别对跨集群通用的、用于对外数据集成的配置抽象。例如,Metrics 集成配置可以支持将环境内多个集群的 Metrics 数据推送到用户自定义的普罗米修斯集群,实现自定义监控和分析。
属性:环境版本
环境自身在技术实现上是一个软件底座,因此环境会伴随软件的持续迭代,定义了多个环境版本。环境版本的运维升级一般不影响上层的产品服务。建议用户定期更新到最新的环境版本,确保缺陷修复和功能优化。
属性:环境状态
环境状态展示了环境生命周期中各种服务状态,环境完整的生命周期过程会存在如下流程和状态:
创建中: 初始创建环境操作是一个异步过程,创建操作完成时后台会异步部署完整的软件底座,该过程中用户不可操作任何变更,直到创建完成。
运行中: 当前环境处于有效运行状态,可以正常提供内部产品实例的增删改查等运维使用操作。
变更中: 当前环境执行运维变更、版本升级等操作,由于执行过程是异步的,隐藏需要等待完成,在此期间禁止任何对环境的操作变更。
服务异常: 当前环境因执行创建、运维变更 或者底层基础设施异常导致的无法正常提供服务。
BYOC 环境
环境架构
如上文所述,BYOC 环境是由 AutoMQ Cloud 代理运维的环境,底层资源归属于用户自定义云账号下的 VPC,这种方式可以实现完整的数据隔离和自主控制。在该环境类型下,数据面系统和管控面系统如下图所示:
资源位置: 管控面系统(环境控制台)和数据面系统(Kafka 服务集群)全部部署在用户自定义的网络环境中。
网络暴露: 环境控制台可以根据用户选择,默认提供公网访问方式,也可以根据用户选择仅保留私网访问。数据面系统目前只支持私网访问。
运维授权: BYOC 环境是完全私网隔离的私有环境,需要用户提供授权,AutoMQ 代替用户运维环境(问题排查和版本升级)。
系统可观测: BYOC 环境通过云厂商提供的运维 Bucket 收集系统Metrics、日志数据,并由用户授权 AutoMQ 服务方进行只读访问,实现系统运行的监控、告警。
SaaS 环境
环境架构
如上文所述,SaaS 环境是由 AutoMQ Cloud 全托管运维的环境,底层资源归属和运维都由 AutoMQ 负责。在该环境类型下,数据面系统和管控面系统如下图所示: