《汪晟杰-腾讯云全链路高效开发上云实践.pdf》由会员分享,可在线阅读,更多相关《汪晟杰-腾讯云全链路高效开发上云实践.pdf(36页珍藏版)》请在三个皮匠报告上搜索。
1、腾讯云全链路高效开发上云实践主讲人:汪晟杰演讲嘉宾介绍汪晟杰 腾讯云Cloud Studio 产品总监 腾讯云 Cloud Studio 产品总监,负责推进 云端开发环境建设 历任阿里高级技术专家,从事钉钉云效核心业务线、Teambition 合伙人、Autodesk 首席软件架构师、十多年 SAP 云平台、SuccessFactors HCM、Sybase数据库 PowerDesigner 等产品的开发经理,在软件架构设计、产品管理和项目工程管理、团队敏捷提效等方面拥有逾 18 年的经验。CONTENT目录2023K+01云端开发环境的价值云原生开发流程架构探索企业级最佳实践案例分享0203
2、个人开发者最佳实践分享04Part 01腾讯云-云端开发环境 Development Environment(简称 CDE)定义:利用云上快捷弹性的资源能力,进行云上开发到测试的新开发模式。它基于容器隔离性,与企业内的研发规范流程结合,赋能企业开发及管理者,优化并控制研发成本。提效 开发一键运行生产力 可并行工作规范 DevOps 监管 FinOps、成本、资源 云端开发环境 具备四大要素容器化:成本降低隔离性,不受干扰;并行开发,成本降低标准化:环境统一统一的开发环境,企业急需寻找标准的研发流程控制。代码安全开发DevOps从需求开发到一键拉起CDE,到提交合并、PR完毕出发Ops流程发布云
3、上化:计算弹性隔离性,不受干扰;并行开发,成本降低加速研发流程效率,降低风险,对于开发者化繁为简价值一:研发流程=云端开发环境+DevOps云成为新数字体验的核心“云原生技术成为一种普遍现象”价值二:更一致的团队开发环境标准化代码化版本化发布你的工作区为自定义模版你可以把你当前的工作区及项目发布并保存成自定义模版,分享出来的自定义模版通过链接可以分享给团队其他成员。让他们可以以此为模板开启自己的开发空间。模版定义 即代码我们也允许用户定义workspace.yml描述语言来定义启动自定义环境镜像、插件、运行脚本等价值三:容器化+弹性使用DevOps它应开始于 DevOps 流程中的需求(任务)
4、的认领,然后创建一个分支,开发完成,测试没问题,提交代码,最终结束于该任务的开发状态。容器短暂性环境不受污染的开发环境,配置主流语言镜像或者是企业自建镜像,拉起使用用完即可回收资源。弹性资源云端开发环境并非指 Web IDE,我们更推崇你用本地 IDE 去连接云端开发环境,这样可以享受到云的弹性资源的优势。价值四:云开发+持久化+协同编码多人在一个工作空间协同开发通过简单的复制当前工作空间实例链接,并通过IM分享给你要邀请的人,就可以实现多人工作在一个工作空间实例中,一起协同开发完成项目开发任务。多人终端协同分享喜欢终端码字的用户,也可以方便的把当前的终端快速分享出去,实现终端协同。代码沟通讨
5、论代码、文字讨论具体问题、代码提前评审、架构讨论留言板适合邀请前后文字留言,推送新消息等音视频沟通(公有云)基于腾讯云TRTC团队的合作,实现邀请协作参会人进行语音、视频沟通。Pair Programming Demo价值五:连接不同产品之上的场景Flutter 应用开发教学面试云端开发连接上层业务,开发场景腾讯云开发者套件https:/ 02云端开发的基础架构建设的探索从痛点出发碎片化严重历史包袱标准化问题模块形态不同内核、插件多种编程语言难以统一混乱的依赖关系各模块版本难以统一协同共享、发版带来困难monorepo 的模式提供了优势:更好的依赖管理 一致化的各组件、模块版本管理 集中式统一
6、管理的构建平台(由 CODING CI、Bazel等构成)更便利的协作、文档共享、统一的目录管理等。发现问题 构建更大,花费的时间更长 需要将几 GB 的经常变化的工件下载到笔记本电脑或在本地构建 离开 办公环境,快速进行开发是一项挑战。有时,克隆一个新项目并从头开始配置本地开发环境,会花费数小时甚至一天的时间。解决问题的唯一途径 性能 云端IDE启动:预热并更优的 IDE 启动链路 内网下载依赖构建,设置中央仓库缓存,找到最近的最快的网络下载位置 在产品上设置团队依赖库的缓存能力,实现秒级挂载,无需额外重新下载。优化 Git 配置Linux 文件系统,与笔记本电脑文件系统相比性能更好Git
7、网络代理,内网访问加速 预加载所需的开发环境里的插件、预热了镜像启动,预热了依赖库 提供更多计算资源,在编译过程中弹性提升规格,在不用时降低高规格的占有率。更好的开发体验每个用户多个云端开发环境独立于笔记本电脑上运行的其他进程进行隔离。在开发上可以做到真正并行。Cloud Studio 的开发架构预热和缓存的整体流程连接云端开发环境价值一:并行开发,环境隔离价值二:资源弹性,用完释放价值三:更快的云原生复杂架构的环境准备Cloud Studio 的模块云端调试云端 IDE 结合 nocalhost 调试理念,在进一步缩短云原生应用的调试网络链路的同时,达到完全零配置,开发者可以无任何心智的负担
8、的做开发调试工作,从而快速开发业务、定位解决问题。应用托管贯彻 DevOps 的理念,通过代码描述一整套应用环境并完全将应用托管到云上,从而使项目从开发到部署的整个周期都持久化到代码中,并左移纳入到研发阶段。最终仅需要仓库地址,无论新手老手都能轻松的一键就绪一整套的应用开发、测试、预发与生产环境。应用管理贯彻 DevOps 的理念,通过代码描述一整套应用环境并完全将应用托管到云上,从而使项目从开发到部署的整个周期都持久化到代码中,并左移纳入到研发阶段。最终仅需要仓库地址,无论新手老手都能轻松的一键就绪一整套的应用开发、测试、预发与生产环境。Deploy Kit一键部署精简的Deploy.yam
9、l资源描述自动识别当前框架01020403弹性的云端开发和运行内置更专业的Docker等能力,拉起运行比本地更快速更细粒度的版本,让不同版本运行相互隔离Part 03企业级最佳案例分享云原生开发、测试左移Demo企业级开发规范严控,云上代码不落地与虚拟桌面下开发相比,云端开发环境更具优势Part 04个人最佳案例分享从开源仓库到云端开发环境浏览器插件更方便的缩短打开路径,您只需要登陆,授权,就可以进行代码克隆。腾讯云开发者套件连接开发者与腾讯云的资源能力,快速进行本地应用发布,端云联调等会海量仓库一键运行预览找到一个满意的开源代码仓库,往往需要很复杂的本地克隆运行。通过Cloud Studio
10、的云端开发环境,加上强大的预览能力,我们可以轻松打开,并进行运行和预览仓库的云端运行徽标精简的Deploy.yaml资源描述自动识别当前框架01020403演示+产品效果图Cloud Studio 运行徽标浏览器插件macos桌面版(beta)本地图形化运行到云端开发环境的运行Part 05AI赋能云端开发环境 未来可期AIGC(Code)化繁为简2022 年 Github copilot 重磅上线,加上 Github 海量的训练模型,在开发的圈子里,其热度一直不减。与此同时,OpenAI 不断升级 GPT 模型,从 GPT2.5 到 GPT4,让 ChatGPT 成为科技圈的宠儿。在官方演示中,GPT4 可以识别手绘网页草图,并仅用十秒钟左右,就可根据草图写出网站代码。这一切赋予了我们极大的想象空间,是不是有一天,AI 可以根据行业术语、企业研发规范、需求描述,自动生成一个云端开发环境,并且自动生成好项目代码,生成自动测试脚本,接入 DevOps 研发流程,根据你开发习惯开启配置,并且自动运行起来。而你做的只是进入 AI 的云端开发环境,微调后直接提交代码。摘自企业级腾讯云云端开发环境标准