Zadig 发布新架构:效率飙升 50%,开源更开放

为何选择3个月不迭代新业务?推出 V2.0.0 新开源架构?有哪些组件变化和架构的调整?

2023 年底,Zadig 官方合并了 Zadig 系列产品并正式发布了 V2.0.0 全新架构,此次合并基于开源 Zadig v1.18.0 最新版,并整合 Zadig 企业版全部新功能代码。新版本定名为 Zadig v2.0.0,服务端代码完全开源于 GitHub。对于社区用户而言,V2.0.0 在原有开源基础上提供更多企业级功能,改进了易用性和性能,优化了安全细节,工作流并行和复杂场景的执行效率显著提高,提升效率高达 50%。Zadig 的资源运行成本也降低了近 30%。未来迭代中,所有用户将持续获得产品底层能力的可靠性,助力更多企业提升云原生持续交付能力,为开发者提供更出色的体验。对于已在大规模使用 Zadig 的用户,平滑升级后可以免费激活并体验专业版功能长达 30 天,到期后数据保留,基础版功能仍可正常使用。以下将详细介绍架构升级细节、业务及系统架构变化内容。

# Why Zadig V2.0.0 ? 架构升级背景

随着业务的不断扩展,Zadig 面临的挑战也在不断演变。为了确保持续发展、满足用户需求,对 V1.x 系统架构进行升级已成为迫切需求。我们主要考虑到以下方面:

  1. 性能需求: v1.x 版本在处理大量请求时出现性能瓶颈,尤其在用户数量增加和权限配置复杂的情况下。升级旨在提高系统响应速度,改善用户体验。
  2. 安全需求: 随着系统功能逐渐完善,用户关注点转向使用体验和安全性。v1.x 版本中的权限系统可能存在配置信息泄露问题。为了满足更细粒度权限管控和更复杂用户系统的需求,我们需要进行架构升级。

# 升级涉及的组件变化

Zadig 的底层部署基于标准的 Helm Chart,组件资源和配置在 Chart 中定义。从 Zadig v1.x.0 到 Zadig v2.0.0,以下是组件的变化:

新增服务

  • user: 2.0.0
  • time-nlp: 2.0.0
  • redis: latest

下线服务

  • nsq
  • opa
  • resource-server

Zadig 使用标准 Helm 执行部署,组件资源以及配置均在 Chart 中定义,Chart 结构如下:

zadig
├── Chart.lock
├── Chart.yaml
├── charts                // Zadig 依赖的第三方组件
│   ├── dex
│   ├── gloo
│   ├── minio
├── templates            // Zadig 创建的资源定义
│   ├── NOTES.txt
│   ├── _helpers.tpl
│   ├── aslan-configmap.yaml
│   ├── aslan-deployment.yaml
│   ├── aslan-service.yaml
│   ├── cron-deployment.yaml
│   ├── dind-service.yaml
│   ├── dind-statefulset.yaml
│   ├── encryption_secret.yaml
│   ├── hooks        // Zadig 升级/安装时候的hook定义
│   ├── hubserver-deployment.yaml
│   ├── hubserver-service.yaml
│   ├── mongodb      // 内置mongodb
│   ├── mysql        // 内置mysql
│   ├── redis        // 内置redis
│   ├── policy-configmap.yaml
│   ├── rbac.yaml
│   ├── time-nlp-deployment.yaml
│   ├── time-nlp-service.yaml
│   ├── user-configmap.yaml
│   ├── user-deployment.yaml
│   ├── user-service.yaml
│   ├── vendor-portal-configmap.yaml
│   ├── vendor-portal-deployment.yaml
│   ├── vendor-portal-service.yaml
│   ├── vendor-server-cm.yaml
│   ├── vendor-server-deployment.yaml
│   ├── vendor-server-secret.yaml
│   ├── vendor-server-service.yaml
│   ├── virtual-service.yaml
│   ├── warpdrive-configmap.yaml
│   ├── warpdrive-deployment.yaml
│   ├── warpdrive-service.yaml
│   ├── zadig-portal-configmap.yaml
│   ├── zadig-portal-deployment.yaml
│   └── zadig-portal-service.yaml
└── values.yaml            // 安装/升级时可暴露的全量参数

# 升级后的架构图示

Zadig V2.0.0 业务和系统架构图如下所示,帮助深入了解 Zadig v2.0.0 的整体业务和技术架构。

Zadig v2.0.0 业务架构
Zadig v2.0.0 系统架构

# 业务效果显著

1.工作流效率提升: 使用模板构建、执行和列表页面加载速度显著提高,使用户操作更为高效。

2.环境页面加载效率提升: 页面加载效率提高了 40%,大大提升了诊断问题的速度。

3.系统资源优化: 预计系统整体负载将减少 30% - 40%,涉及 CPU 和内存资源的节约。

内部性能测试结果,不同场景下存在数据差异性,仅供参考。

Background Image

作为一名软件工程师,我们一直给各行各业写软件提升效率,但是软件工程本身却是非常低效,为什么市面上没有一个工具可以让研发团队不这么累,还能更好、更快地满足大客户的交付需求?我们是否能够打造一个面向开发者的交付平台呢?我们开源打造 Zadig 正是去满足这个愿望。

—— Zadig 创始人 Landy