蘑菇街 赵成-蘑菇街 DevOps 运维实践和转型之路

傅星洲

2018/05/13 发布于 技术 分类

谦益(赵成),蘑菇街运维经理,目前在蘑菇街平台技术从事基础技术架构和运维团队管理工作,跟团队一起开发了CMDB、持续集成发布、监控等基础运维平台,保障了蘑菇街双11和双12大促活动,在一次次的挑战和困境中打造出了一支极具战斗力的运维团队。目前专注致力于团队和公司DevOps文化的推进,以及运维标准化和自动化等基础运维项目的落地。在加入蘑菇街之前,曾在华为软件技术有限公司任职高级软件工程师。

文字内容
1. GOPS 全球运维大会 2018 2018.4.13-4.14 中国·广东·深圳·南山区 圣淘沙大酒店(翡翠店)
2. 蘑菇街DevOps实践和转型之路 赵成
3. 关于我 • 2008-2015.1,华为公司 • 2015.1-至今,蘑菇街 • 多年程序员、运维、架构设计 • 专栏作者
4. 目录 蘑菇街技术架构演进简介 DevOps和技术架构 持续交付实践
6. 蘑菇街基本数字 • 1000+万日活 • 80%移动流量&小程序流量 • 每日百万级订单量 • 1000+线上应用,核心链路占70%,Java为主 • 腾讯云+黑石混合云 • 700+开发,25人运维团队
7. 蘑菇街技术架构演进-早期(2011-2013)
8. 臃肿的PHP单体工程(2014年中后) 负载均衡层 LVS+Nginx Proxy View + 臃肿的PHP工程 逻辑 中间层 DB中间层 Cache中间层 基础设施层 MySQL集群 Redis集 群 Solr集群 MQ
9. 解决方案—拆! 服务化应用 APP-1 PHP单体工程 APP-2 APP-3 。。。。 APP-n 服务化接口 Service-1 Service-2 API-x API-y API-z Service-3 。。。。。。 。。。。。。
10. 蘑菇街技术架构演进-Java服务化 20% 80% 负载均衡层 LVS 代理层 WEB层 Nginx Proxy ATS Nginx+PHP-FPM(pool) + Java Web(pool) MWP NodeJS 平台层 平台化框架 流程编排 规则引擎 模块组装 业务服务组件层 Java服务化(用户+商品+交易+支付+会员…….) 中间件层 Raptor Corgi MetaBase Pigeon 基础设施层 MySQL集群 KV-Store HBase 实时搜索 Lurker Sentry CMDB hulk LogAgent Docker 文件存储
11. l技术架构跟DevOps有什么关系? lDevOps到底是做什么的? l为什么DevOps的需求会这么强烈?
12. 目录 蘑菇街技术架构演进简介 DevOps和技术架构 持续交付实践
13. 微服务不是没有代价的,甚至更高!! 服务化 应用1 服务化 应用n 单体应用 服务化 应用3 服务化 应用2 服务化 应用4
14. 复杂的调用关系
15. DevOps,本质上是技术复杂度上升到一定程度的 必然产物。 所谓的技术复杂度,就是微服务和分布式架构引 入带来的。 DevOps并不是单纯为了解决运维和开发之间矛盾 才产生的。
16. 目录 蘑菇街技术架构演进简介 DevOps和技术架构 持续交付实践
17. 服务化之后发布面临的问题 多环境 服务发现 环境管理 配置管理 流程管控 二方包、三 方包 Git管理 Maven 代码编译
18. 持续交付过程细节
19. 提交阶段-分支合并
20. 提交阶段-代码管理工具Gitlab
21. 功能测试-单元测试、依赖管理和代码覆盖率
22. 非功能性验证-安全扫描
23. 编译构建阶段-构建工具
24. 问题:这个阶段的难点是什么?
25. 复杂的多环境和配置管理 多环境 配置 线下环境 预发环境 Beta 生产环境
26. 多环境发布 开发环境 集成环境 预发环境 Beta环境 生产环境
27. 单台机器上线部署—场景分解 检查环境 下载WAR 关闭监控 服务下线 启动应用 发布代码 停应用 Web下线 健康检查 Web上线 服务上线 开启监控
28. 发布/部署模式 发 蓝绿部署 布 金丝雀发布 模 式 滚动发布
29. 效果比对 NoOps 每日线上发布100+ 每日预发+测试 1000+
30. 未完待续 效率 成本 稳定 运维 安全 体验
32. Thanks 高效运维社区 开放运维联盟 荣誉出品
33. 想第一时间看到高效运维社区 的新动态吗?