1、潘俊明腾讯云 CODING 应用管理产品总监平台工程让研发返璞归真腾讯云Orbit 实践分享潘俊明腾讯云 CODING 应用管理产品总监多年技术架构经验,完整经历多家企业应用上云,对企业应用上云最佳实践有独特见解。2019年开始在 CODING 负责持续部署产品研发,帮助多个行业客户完成研发效能的方案设计和最终落地。CONTENT 目录0101云原生应用交付问题与挑战0202平台工程 x 应用交付探索与实践0303云原生应用交付未来发展趋势云原生应用交付问题与挑战01问题与挑战(一):研发认知负荷的冲突云原生技术生态繁荣,新理念新工具层出不穷,导致IT团队认知负荷急剧上升,身心疲惫,不堪重负。
2、持续集成流水线配置IaCKubernetesArgoCDSonaruqbe内建质量制品仓库HarborPrometteusDockerfileSCAGit平台工程Spinaker质量门禁持续交付Pod持续部署灰度发布GitOpsSonarqube自动化测试监控Istio渐进式发布功能开关ServiceIngressResourcesDeployment测试左移Envoy金丝雀发布DevOps代码扫描JenkinsDecSecOps服务网格Rollout供应链安全分批部署DockerHelm可观测性Yaml人工审核容器安全Dapr版本控制问题与挑战(二):研发效率和交付效率的冲突开发们为了开发效
3、率而选择了微服务,但微服务 x 多环境,最终让各个环境的部署效率急剧下降。运维研发研发研发那么多服务我干不过来那么多服务我干不过来Ops Ops 我忘了发布我忘了发布!用户网站挂了网站挂了数据库配置微服务灰度发布太麻烦灰度发布太麻烦直接上线算了直接上线算了运维大哥帮我发数据库运维大哥帮我发数据库问题与挑战(三):聚焦局部指标的传统监控体系失效微服务让每一次业务的调用链变得很长。加上传统运维体系下,信息视角割裂,工具孤岛,问题排查难上加难。问题与挑战(四):环境需求和环境供应的冲突研发的敏捷使得研发对环境的需求增多。而环境的供应无法满足需求的增加。谁把未提测的东西发到集成环境了?帮我搭个测试环境
4、帮我搭个测试环境A 迭代环境集成测试环境B 迭代环境运维平台工程 x 应用交付探索与实践02平台工程DevOps 已死,平台工程才是未来开发者不喜欢和基础设施打交道企业在发展过程中又需要控制自己的基础设施平台工程运维/云平台研发平台研发运维视角分离探索(一):OAM视角分离应用建模实践(一):OAM 落地实践价值(一):OAM价值优势 研发自助建模,自助发布 视角分离,研发低门槛,同时专家统一控制规范 关注“应用”和“业务”,而非“资源”配置透明化版本化,高效集成GitOps 低门槛的同时具有高扩展性,新增功能不需平台修改 多云管理,厂商中立探索(二):GitOps进行应用配置管理 声明式 版
5、本化且不可变 基于 Git 协作核心原则实践(二):GitOps 落地实践基于 Application as Code 理论,实现统一演进,可审计、可回溯代码化存储实践(二):GitOps 落地实践实践(二):GitOps 落地实践价值(二):GitOps 价值优势 提高生产力:缩短反馈回路径,加快“平均部署时间”增强可靠性:Git 实现稳定且可重现的回滚 方便安全审计:Git记录所有变更相关的详细信息 一致性和标准化:所有操作需满足Git的标准规范,不容易冲突 改善开发者体验:开发者熟悉Git,上手成本低探索(三):IaC实现基础设施资源自服务基础设施即代码(IaC)工具允许使用配置文件,以
6、声明式的方式而不是通过图形界面的动作来管理基础设施。实践(三):IaC实践-视角分离实践(三):IaC实践-运维人员-资源模板实践(三):IaC实践-研发人员-资源申请实践(三):IaC实践-研发人员-资源申请实践(三):IaC实践-运维人员-资源审批实践(三):IaC实践-研发人员-资源使用实践(三):IaC实践-研发人员-资源使用价值(三):IaC 价值优势 提高一致性,减少“配置漂移”等人为错误 利用自动化,提高环境的供应量 缩短交付周期,加快产品服务的上市时间 更好的知识能力沉淀和组织资产传承 让资源更按需使用,更有弹性探索(四):以应用为中心可