CloudNative CI CD探索
2020-03-01 56浏览
- 1.Cloud Native CICD 探索 陈鑫(神秀) 阿里巴巴高级技术专家
- 2.• 标题文本 Cloud Native时代的技术挑战 Content Title 2 从面向应用到面向服务交付 • Content Title 3 • 服务爆炸带来的质量与效率问题 • Content Title 4 Content Title 5 数据智能引领NoOps时代 • Content Title 6 •
- 3.Cloud Native时代的技术挑战
- 4.从一个idea的上线说起 Oh,我们已经进入Cloud Native时代了?
- 5.Cloud Native 到底是什么 技术视角: Pivotal :DevOps + Continuous Delivery + MicroServices + Containers CNCF:云原生的代表技术包括容器、服务网格、微服务、不可变基础设施和声明式 API AliCloud:云原生计算意味着定义云操作系统的API 2.0 用户视角: 最大的区别在于如何构建、交付和运维应用程序。最大价值在于仅关注业务逻辑, 频繁稳定的变更,以及运行成本大幅下降。
- 6.阿里巴巴服务端软件发展 2003 2008 2017 Monolithic Microservice 轻应用/Function
- 7.轻应用的发展 Jar or Function的方式交付 开发、部署速度快 实现Serverless
- 8.内因与外因 问题矛盾: 平台逻辑与业务逻辑迭代速度不一致 内因: 业务复杂性、多样性变高,交付变的不可靠 大量的胶水层代码编写拖慢研发速度 优势: 基础设施更加抽象、易用、稳定 外因: CICD领域工具发展迅速 具备PaaS标准化能力
- 9.对研发运维平台的挑战 从面向“应用”走向面向“服务”交付 服务爆炸带来的开发环境治理难题 分钟级迭代带来的OPS变化
- 10.从面向应用到面向服务交付
- 11.面向服务交付的特点 编码 面向应用 面向服务 测试 构建 环境 发布 回滚 以应用为单元 单测、集成测试 时间长 复杂多级环境 显式更新过程 重新发布 复杂技术栈 性能等 完整依赖的WAR 灰度、beta 时间长 历史版本 以函数为单元 单测 jar、class 日常、预发、 无需关注过程 流量回切 简单技术框架 基于服务平台测试 源码 正式 极速 极速,简单,定制化诉求低,交付过程无感 最合适的工具载体是什么?
- 12.CloudIDE产品方向 轻量IDE: 特点:文本编辑器, 轻架构,重体验,具备 基本语法支持。Gitlab 标准IDE: 特点:开发环境容器化, 开发工具微服务化, IDE的Web化。cloud 9 专业IDE: 特点:特定业务领域的IDE, 具备轻量和标准IDE的 一些特性,侧重于业务层面 编码发布。Aliyun IoT
- 13.全云端研发模式探索 编码 需求/任务 安全 云端工作空间 CICD 运维 开发、部署环境标准化 测试 环境治理能力无缝集成 代码评审 Cloud Local 沉淀研发数据,代码智能持续演进 IDE插件 标准工作空间:面向微服务,研发 生命周期中80%代码时间效率提升 浏览器 轻量工作空间:面向轻应用、函数, 代码评审,冲突修复,代码直播
- 14.技术架构 全云端研发体系 运维 CI/CD体系 应用中心 本地IDE插件 Cloud IDE 路由 调度中心 预热 备份 自愈 释放 环境中心 轻量空间 标准空间 IDE-Server User Service IDE-Server LSP Pty LSP Code Plugin Code Code Proxy 流水线 代码中心 Code 应用运维 容器调度
- 15.仍有一些挑战需要解决 同一需求多服务变更应该如何有效管理 多服务并存,兼容性如何保障 服务如何有效的归类和管理 如何建立统一的编写规范
- 16.服务爆炸带来的质量与效率问题
- 17.服务爆炸场景下的环境稳定性难题 人:测试代码天然存在不稳定 因素 事:维护多套环境成本巨大, 没有横向团队承接 物:测试环境没有SLA,基础设施 无有效保障 Just OK! 可用性大幅下降
- 18.过去的一些想法 稳定环境需要全局维护 配置项需要三个环境人工修改 分别维护三套环境基础软件包 大量需要人的介入 破窗效应,稳定环境逐步被废弃
- 19.方案演进 容器化 故障自愈 监控与SLA数据 分级保障 产品内部优先集成 外部依赖优先主干
- 20.核心问题——质量信心 服务爆炸场景下,如果不解决质量信心问题,不管用什么手段, 都仅仅是用技术或人力成本去掩盖问题
- 21.全网Java代码规约 IDE插件 本地检测 & 线上检测 Aone平台 本地编码 阶段 自动化测 试阶段 CodeRevi ew阶段 全网自动接入 数据化驱动问题清零 Github上Star数12000+,Fork数2600+, Alibaba所有开源库关注度排名第四, 插件下载量39w+
- 22.全网覆盖率检测 无感接入,适配主流部署架构 单测、集成测试、每日全量、增量报告 Javaagent增强,重启自动生效 集团、BU、团队覆盖率基线数据 Client自动升级
- 23.数据智能引领NoOps时代
- 24.从DevOps进化到NoOps 交付层 软件交付过程自动化、无人化 运维层 面向终态的基础设施自主演进 调度层 容器化与全局调度实现无运维介入 高频度变更 技术栈多样 变更不确定性风险 风险维度多样
- 25.无人值守发布故障检测 机器发布前 已发布机器 对比图 VS 机器发布后 VS 未发布机器 指标智能分析 发布前后监控数据采集 改进型的FUNNEL检测模型 发现异常指标则发布阻断
- 26.DevOps数据智能平台建设 提升开发者发现和解决问题 的效率 积累知识,共享方案,发现问题, 落地技术
- 27.链路风险插件设计 依赖链路,为应用风险分析提供数据基础 通过插件化设计,开放DevOps数据促进 多BU工具协同 在开发阶段暴露风险,阻断高危变更上线
- 28.云原生分发系统 Dragonfly 解决云原生分发问题: - 分发效率 - 分发流控 - 分发安全 17年10月 分发量达 3.42 PB 2017年11月 开源https://github.com/alibaba/Dragonfly 18年11月 进入 CNCF
- 29.与我联系 免费使用阿里云云效平台 钉钉OR微信扫一扫 我的微信
- 30.
- 31.
- 32.
- 33.
- 34.