云原生架构下蚂蚁 Cloud IDE 的应用实践
如果无法正常显示,请先停止浏览器的去广告插件。
1. 云原生架构下蚂蚁 Cloud IDE 的
应用实践
王兴⻰(蛋总)
蚂蚁集团 Cloud IDE 工程师
2. 目录
01 什么是 Cloud IDE ?
02 Cloud IDE 在蚂蚁内部,有哪些最佳实践?
03 在云原生架构下,Cloud IDE 到底有哪些新玩法?
3. /01
什么是 Cloud IDE?
4. 本地研发痛点
? 不能随时随地
? 分享协作难
出⻔在外得背个电脑才放心!
这个项目启动报错,谁来帮我看看?
? 不能极致性能
⛔ 高⻛险难管控
被电脑⻛扇烫伤算工伤吗?
推动升级 Java8 -> Java 11 实在是太难了
5. Cloud IDE 的优势
? 随时随地开发
? 一键分享
招之即用,用完即走
分享整个研发环境不再是难事
? 释放本地资源
✅ 低⻛险易掌控
弹性计算资源, All in Cloud
易于集成各类代码检查工具,环境统一升级
6. Cloud IDE != Web IDE
Web Electron 客户端 提供多个场景使用 解决快捷键冲突问题 VS Code / JetBrains Gateway
与平台结合更紧密 更多本地系统权限 使用更熟悉的 IDE 来开发
更易于分享
三方客户端
7. /02
Cloud IDE 在蚂蚁内部,
有哪些最佳实践?
8. 研发场景的环境准备
蚂蚁研发场景
通用技术栈镜像
基础镜像
代码仓库
Java
测试平台
Node.js
代码评审
Go
基础研发容器镜像
发布平台
Python
新人培训
C++
Rust
9. 云测平台:运行单测
10. 云测平台:运行单测
11. 云测平台:查看 APP 实时性能
12. 云测平台:查看 APP 实时性能
13. 创建 PR
14. 创建 PR
15. 代码评审
16. 代码评审
17. 发布平台:流程推进
18. 新人培训:快速上手蚂蚁前端框架
19. 如何接入上述研发平台和研发工具?
20. Cloud IDE 插件进程架构
1. 插件进程和主进程分离
2. 新增 Browser 层和 Worker 层
3. 插件 UI 样式隔离和 JS 作用域隔离
4. 简化调用链路
21. Cloud IDE 插件体系
租户隔离 安全扫描 元数据管理 插件同步 能力检测
插件审核 静态资源存储 插件灰度 授权管理 OPEN API
插件市场
插件研发
基础能力
创建
插件 UI 组件
脚手架
开发
VS Code API 适配
预览
Cloud IDE SDK
构建
上架
异常自愈
22. /03
在云原生架构下,
Cloud IDE 到底有哪些新玩法?
23. 依赖和语言服务的提前准备
代码服务 Workspace 集群 OSS Workspace Pod
数据源获取 产物制作 产物存储 产物使用
24. 插件免下载
OSS
插件市场
OSS
插件市场
插件下载
Workspace Pod
插件激活
Workspace Pod
hook
插件激活
Overlay
传统插件安装
云上插件安装
Cloud IDE
OSSFS
25. 多容器架构
传统单容器问题
研发容器技术栈
用户研发进程
IDE 服务
插件进程
传统单容器架构
1. 隔离性较差
2. 服务耦合
26. 多容器架构
多容器架构优势
研发容器技术栈
IDE 服务容器
1. 隔离性好
用户研发进程
Mysql 容器
2. 服务解耦,自由组合
插件进程 代码扫描容器
用户研发容器 Sidecars
27. Cloud IDE 整体架构
浏览器
工作空间
编辑器
资源管理
SCM 面板
插件市场
调试器
终端
搜索面板
插件进程
OpenSumi
App Runtimes
Life Cycle
程序 A 预热 场景接入 配置管理 授权管理
程序 B 初始化 Pipeline 编排 任务调度 分享协作
Environments 启动
业务插件
测试服务
调试服务
语言服务
场景中台
索引
依赖
插件
kubernetes
容器服务
运行
停止
销毁
技术栈管理 镜像标准化 缓存池管理
开箱即用 健康检查 运维平台
存储服务
28. FAQ
钉钉
微信
29. 谢谢观看