75

云计算与数据-基于 DevOps 的微服务生态系统与工程实践-王磊pic.huodongjia.com/ganhuodocs/2017-05-16/1494901527.92.pdf · 2017-09-26 · 微服务架构 8 Martin

  • Upload
    others

  • View
    36

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 云计算与数据-基于 DevOps 的微服务生态系统与工程实践-王磊pic.huodongjia.com/ganhuodocs/2017-05-16/1494901527.92.pdf · 2017-09-26 · 微服务架构 8 Martin
Page 2: 云计算与数据-基于 DevOps 的微服务生态系统与工程实践-王磊pic.huodongjia.com/ganhuodocs/2017-05-16/1494901527.92.pdf · 2017-09-26 · 微服务架构 8 Martin

G O P S 2017 全 球 运 维 大 会 · 深 圳 站

基于DevOps的微服务生态系统与工程实践

Page 3: 云计算与数据-基于 DevOps 的微服务生态系统与工程实践-王磊pic.huodongjia.com/ganhuodocs/2017-05-16/1494901527.92.pdf · 2017-09-26 · 微服务架构 8 Martin

G O P S 2017 全 球 运 维 大 会 · 深 圳 站

■微服务架构与DevOps

■微服务架构的生态系统

■微服务架构的工程实践

Page 4: 云计算与数据-基于 DevOps 的微服务生态系统与工程实践-王磊pic.huodongjia.com/ganhuodocs/2017-05-16/1494901527.92.pdf · 2017-09-26 · 微服务架构 8 Martin

华为2012软件工程技术专家西安尚度元科技CTOThoughtWorks首席咨询师SybaseTechLeader

4

关于我

•《微服务架构与实践》作者

•《DevOpsHandbook》中文译者之一

•国内较早倡导和实践微服务的先行者

•精通敏捷/持续交付/DevOPS的核心理念、价值观和方法论

•对于自动化测试、持续集成、持续交付有丰富的实战经验

•西安DevOpsMeetup联合发起人

Page 5: 云计算与数据-基于 DevOps 的微服务生态系统与工程实践-王磊pic.huodongjia.com/ganhuodocs/2017-05-16/1494901527.92.pdf · 2017-09-26 · 微服务架构 8 Martin

5

Areyouusingmicroservices?

Page 6: 云计算与数据-基于 DevOps 的微服务生态系统与工程实践-王磊pic.huodongjia.com/ganhuodocs/2017-05-16/1494901527.92.pdf · 2017-09-26 · 微服务架构 8 Martin

6

https://www.nginx.com/resources/library/app-dev-survey/

Page 7: 云计算与数据-基于 DevOps 的微服务生态系统与工程实践-王磊pic.huodongjia.com/ganhuodocs/2017-05-16/1494901527.92.pdf · 2017-09-26 · 微服务架构 8 Martin

7

什么是微服务架构

Page 8: 云计算与数据-基于 DevOps 的微服务生态系统与工程实践-王磊pic.huodongjia.com/ganhuodocs/2017-05-16/1494901527.92.pdf · 2017-09-26 · 微服务架构 8 Martin

微服务架构

8

MartinFowler,Mar2014

Microservices- thenewarchitecturalstyle

微服务架构是一种架构模式,它提倡将单一应用程序划分成一组小的服务,服务之间互相协调、互相配合,为用户提供最终价值。

每个服务运行在其独立的进程中,服务与服务间采用轻量级的通信机制互相协作(通常是基于HTTP协议的RESTful API)。

每个服务都围绕着具体业务进行构建,并且能够被独立的部署到生产环境、类生产环境等。

Page 9: 云计算与数据-基于 DevOps 的微服务生态系统与工程实践-王磊pic.huodongjia.com/ganhuodocs/2017-05-16/1494901527.92.pdf · 2017-09-26 · 微服务架构 8 Martin

不同的声音......

9

Micro(u)ServicesArchitecture- small,shortlivedservicesratherthanSOA.

FredGeorge2012/3

Page 10: 云计算与数据-基于 DevOps 的微服务生态系统与工程实践-王磊pic.huodongjia.com/ganhuodocs/2017-05-16/1494901527.92.pdf · 2017-09-26 · 微服务架构 8 Martin

不同的声音......

10

Micro(u)ServicesArchitecture- small,shortlivedservicesratherthanSOA.

FredGeorge2012/3

Looselycoupledserviceorientedarchitecturewithboundedcontexts.

AdrianCockcroft2014/11

Page 11: 云计算与数据-基于 DevOps 的微服务生态系统与工程实践-王磊pic.huodongjia.com/ganhuodocs/2017-05-16/1494901527.92.pdf · 2017-09-26 · 微服务架构 8 Martin

不同的声音......

11

......

Micro(u)ServicesArchitecture- small,shortlivedservicesratherthanSOA.

FredGeorge2012/3

Looselycoupledserviceorientedarchitecturewithboundedcontexts.

AdrianCockcroft2014/11

MicroservicesarethefirstpostDevOpsrevolutionarchitecture.

NealFord2015/10

Page 12: 云计算与数据-基于 DevOps 的微服务生态系统与工程实践-王磊pic.huodongjia.com/ganhuodocs/2017-05-16/1494901527.92.pdf · 2017-09-26 · 微服务架构 8 Martin

12

以缩短交付周期为核心基于DevOps

构建的演进式架构

IamnotperfectinmywalkbutIwanttodotherightthing.

KirkCameron

Page 13: 云计算与数据-基于 DevOps 的微服务生态系统与工程实践-王磊pic.huodongjia.com/ganhuodocs/2017-05-16/1494901527.92.pdf · 2017-09-26 · 微服务架构 8 Martin

13

为什么以缩短交付周期为核心?

Page 14: 云计算与数据-基于 DevOps 的微服务生态系统与工程实践-王磊pic.huodongjia.com/ganhuodocs/2017-05-16/1494901527.92.pdf · 2017-09-26 · 微服务架构 8 Martin

14

为什么以缩短交付周期为核心?

Wecan’tdelivernewbusinessvalueasfastasthebusinessneedsit.Itisabsolutelyclearthatoldapproachesareshowingdownthecompany’sgrowthandweareatriskoflosingoutcompetitiveadvantages.

我们交付特性的速度已经无法满足业务变化需要。旧的工作方式阻碍了组织的发展,而我们也因此正在丧失竞争力。O’ReillySoftwareArchitectureConference2017.4

Page 15: 云计算与数据-基于 DevOps 的微服务生态系统与工程实践-王磊pic.huodongjia.com/ganhuodocs/2017-05-16/1494901527.92.pdf · 2017-09-26 · 微服务架构 8 Martin

15

https://www.continuousdelivery.com/

•Fastertimetomarket•Lowerriskrelease•Higherquality•Lowercosts•Betterproducts

为什么以缩短交付周期为核心?

Page 16: 云计算与数据-基于 DevOps 的微服务生态系统与工程实践-王磊pic.huodongjia.com/ganhuodocs/2017-05-16/1494901527.92.pdf · 2017-09-26 · 微服务架构 8 Martin

16

Page 17: 云计算与数据-基于 DevOps 的微服务生态系统与工程实践-王磊pic.huodongjia.com/ganhuodocs/2017-05-16/1494901527.92.pdf · 2017-09-26 · 微服务架构 8 Martin

17

Page 18: 云计算与数据-基于 DevOps 的微服务生态系统与工程实践-王磊pic.huodongjia.com/ganhuodocs/2017-05-16/1494901527.92.pdf · 2017-09-26 · 微服务架构 8 Martin

18

为什么基于DevOps?

Page 19: 云计算与数据-基于 DevOps 的微服务生态系统与工程实践-王磊pic.huodongjia.com/ganhuodocs/2017-05-16/1494901527.92.pdf · 2017-09-26 · 微服务架构 8 Martin

19

为什么基于DevOps?

Page 20: 云计算与数据-基于 DevOps 的微服务生态系统与工程实践-王磊pic.huodongjia.com/ganhuodocs/2017-05-16/1494901527.92.pdf · 2017-09-26 · 微服务架构 8 Martin

20

为什么基于DevOps?

■ Communication■ Automation■ Measuring■ Sharing

https://www.supinfo.com/articles/single/3652-what-is-devops

Page 21: 云计算与数据-基于 DevOps 的微服务生态系统与工程实践-王磊pic.huodongjia.com/ganhuodocs/2017-05-16/1494901527.92.pdf · 2017-09-26 · 微服务架构 8 Martin

21

什么是演进式架构?

Page 22: 云计算与数据-基于 DevOps 的微服务生态系统与工程实践-王磊pic.huodongjia.com/ganhuodocs/2017-05-16/1494901527.92.pdf · 2017-09-26 · 微服务架构 8 Martin

22

■架构一旦确定,很难改变

什么是演进式架构?

Page 23: 云计算与数据-基于 DevOps 的微服务生态系统与工程实践-王磊pic.huodongjia.com/ganhuodocs/2017-05-16/1494901527.92.pdf · 2017-09-26 · 微服务架构 8 Martin

23

■架构一旦确定,很难改变

■支持增量式变更作为第一原则

什么是演进式架构?

■动态平衡 ■延迟非重要决策点 ■痛苦的事情提前做■运维意识是关键

Page 24: 云计算与数据-基于 DevOps 的微服务生态系统与工程实践-王磊pic.huodongjia.com/ganhuodocs/2017-05-16/1494901527.92.pdf · 2017-09-26 · 微服务架构 8 Martin

24

■微服务架构是一种演进式架构

Page 25: 云计算与数据-基于 DevOps 的微服务生态系统与工程实践-王磊pic.huodongjia.com/ganhuodocs/2017-05-16/1494901527.92.pdf · 2017-09-26 · 微服务架构 8 Martin

25

以缩短交付周期为核心基于DevOps

构建的演进式架构

IamnotperfectinmywalkbutIwanttodotherightthing.

KirkCameron

Page 26: 云计算与数据-基于 DevOps 的微服务生态系统与工程实践-王磊pic.huodongjia.com/ganhuodocs/2017-05-16/1494901527.92.pdf · 2017-09-26 · 微服务架构 8 Martin

G O P S 2017 全 球 运 维 大 会 · 深 圳 站

■微服务架构与DevOps

■微服务架构的生态系统

■微服务架构的工程实践

Page 27: 云计算与数据-基于 DevOps 的微服务生态系统与工程实践-王磊pic.huodongjia.com/ganhuodocs/2017-05-16/1494901527.92.pdf · 2017-09-26 · 微服务架构 8 Martin

27

■ 服务拆分与解耦

■ 分布式事务的一致

■ 注册/发现/路由机制■ 安全与认证机制

■ 基础设施(云/虚拟机)■ 持续集成/持续部署■ 交付流水线

■ 端到端工具链

■ API网关■ 服务开发框架

■ 测试验证框架

■ 配置管理框架

系统化的工程 框架层出不穷 工具百花齐放

Page 28: 云计算与数据-基于 DevOps 的微服务生态系统与工程实践-王磊pic.huodongjia.com/ganhuodocs/2017-05-16/1494901527.92.pdf · 2017-09-26 · 微服务架构 8 Martin

2 8

微服务生态系统

API网关/EdgeService

基础设施

业务层-聚合服务-基础服务

交付流水线与工程实践

CaaS/PaaSIaaS

微服务

开发框架

工程实践与规范

持续交

付流水线

到端的工具链

支撑层 注册发现 监控调用链 路由授权认证 日志聚合流控集中配置

接入层

Page 29: 云计算与数据-基于 DevOps 的微服务生态系统与工程实践-王磊pic.huodongjia.com/ganhuodocs/2017-05-16/1494901527.92.pdf · 2017-09-26 · 微服务架构 8 Martin

2 9

微服务生态系统

API网关/EdgeService

基础设施

业务层-聚合服务-基础服务

交付流水线与工程实践

CaaS/PaaSIaaS

微服务

开发框架

工程实践与规范

持续交

付流水线

到端的工具链

接入层

支撑层 注册发现 监控调用链 路由授权认证 日志聚合流控集中配置

Page 30: 云计算与数据-基于 DevOps 的微服务生态系统与工程实践-王磊pic.huodongjia.com/ganhuodocs/2017-05-16/1494901527.92.pdf · 2017-09-26 · 微服务架构 8 Martin

3 0

API网关

■流量限制 ■调用统计 ■安全认证

■提供单一接口,解耦内部变化

■请求转发

■提高通信效率

Page 31: 云计算与数据-基于 DevOps 的微服务生态系统与工程实践-王磊pic.huodongjia.com/ganhuodocs/2017-05-16/1494901527.92.pdf · 2017-09-26 · 微服务架构 8 Martin

3 1

微服务生态系统

API网关/EdgeService

支撑层

基础设施

业务层-聚合服务-基础服务

交付流水线与工程实践

CaaS/PaaSIaaS

微服务

开发框架

工程实践与规范

持续交

付流水线

到端的工具链

注册发现 监控调用链 路由授权认证 日志聚合流控集中配置

接入层

Page 32: 云计算与数据-基于 DevOps 的微服务生态系统与工程实践-王磊pic.huodongjia.com/ganhuodocs/2017-05-16/1494901527.92.pdf · 2017-09-26 · 微服务架构 8 Martin

3 2

服务设计与拆分

■面向对象分析

■可重用的逻辑

■资源密集型的业务

■领域驱动设计

Page 33: 云计算与数据-基于 DevOps 的微服务生态系统与工程实践-王磊pic.huodongjia.com/ganhuodocs/2017-05-16/1494901527.92.pdf · 2017-09-26 · 微服务架构 8 Martin

3 3

基础服务实现

https://github.com/mfornos/awesome-microservices

Node.js

Java

Page 34: 云计算与数据-基于 DevOps 的微服务生态系统与工程实践-王磊pic.huodongjia.com/ganhuodocs/2017-05-16/1494901527.92.pdf · 2017-09-26 · 微服务架构 8 Martin

3 4

聚合服务实现

Proxy Chained

SharedCache AsynchronousMessaging

https://dzone.com/articles/microservice-design-patterns

Page 35: 云计算与数据-基于 DevOps 的微服务生态系统与工程实践-王磊pic.huodongjia.com/ganhuodocs/2017-05-16/1494901527.92.pdf · 2017-09-26 · 微服务架构 8 Martin

3 5

微服务生态系统

API网关/EdgeService

支撑层

基础设施

业务层-聚合服务-基础服务

交付流水线与工程实践

CaaS/PaaSIaaS

微服务

开发框架

工程实践与规范

持续交

付流水线

到端的工具链

注册发现 监控调用链 路由授权认证 日志聚合容错集中配置

接入层

Page 36: 云计算与数据-基于 DevOps 的微服务生态系统与工程实践-王磊pic.huodongjia.com/ganhuodocs/2017-05-16/1494901527.92.pdf · 2017-09-26 · 微服务架构 8 Martin

3 6

注册发现

■ 服务重启/升级后的IP地址变化

■ 水平伸缩后服务的实例数量变化■ 同一个结点运行多个服务(端口不同)

Page 37: 云计算与数据-基于 DevOps 的微服务生态系统与工程实践-王磊pic.huodongjia.com/ganhuodocs/2017-05-16/1494901527.92.pdf · 2017-09-26 · 微服务架构 8 Martin

3 7

集中配置

■ 如何动态更新服务的配置信息■ 如何同步多实例间的配置变更■ 配置的追溯/回滚以及版本管理

Page 38: 云计算与数据-基于 DevOps 的微服务生态系统与工程实践-王磊pic.huodongjia.com/ganhuodocs/2017-05-16/1494901527.92.pdf · 2017-09-26 · 微服务架构 8 Martin

3 8

容错(Resilient)

■ 降级 - 关闭非核心业务,保证核心业务可用

■ 限流 -请求超过处理能力,采用某种策略丢弃

■ 熔断 - 避免某个服务不可用导致的故障蔓延

Page 39: 云计算与数据-基于 DevOps 的微服务生态系统与工程实践-王磊pic.huodongjia.com/ganhuodocs/2017-05-16/1494901527.92.pdf · 2017-09-26 · 微服务架构 8 Martin

3 9

微服务生态系统

API网关/EdgeService

支撑层

基础设施

交付流水线与工程实践

CaaS/PaaSIaaS

微服务

开发框架

工程实践与规范

持续交

付流水线

到端的工具链

注册发现 监控调用链 路由授权认证 日志聚合熔断集中配置

基础设施

业务层-聚合服务-基础服务

接入层

Page 40: 云计算与数据-基于 DevOps 的微服务生态系统与工程实践-王磊pic.huodongjia.com/ganhuodocs/2017-05-16/1494901527.92.pdf · 2017-09-26 · 微服务架构 8 Martin

4 0

微服务开发框架

■ DropWizard■ SpringBoot■ Lagom(Scala)■ Seneca(NodeJS)

Page 41: 云计算与数据-基于 DevOps 的微服务生态系统与工程实践-王磊pic.huodongjia.com/ganhuodocs/2017-05-16/1494901527.92.pdf · 2017-09-26 · 微服务架构 8 Martin

4 1

微服务开发框架

华为CSE微服务开发框架

Page 42: 云计算与数据-基于 DevOps 的微服务生态系统与工程实践-王磊pic.huodongjia.com/ganhuodocs/2017-05-16/1494901527.92.pdf · 2017-09-26 · 微服务架构 8 Martin

4 2

持续交付流水线

■ 基于SaaS■ TravisCI■ CircleCI

■ 产品■ Jenkins■ Bamboo■ GoCD

……

Page 43: 云计算与数据-基于 DevOps 的微服务生态系统与工程实践-王磊pic.huodongjia.com/ganhuodocs/2017-05-16/1494901527.92.pdf · 2017-09-26 · 微服务架构 8 Martin

4 3

端到端工具链

Page 44: 云计算与数据-基于 DevOps 的微服务生态系统与工程实践-王磊pic.huodongjia.com/ganhuodocs/2017-05-16/1494901527.92.pdf · 2017-09-26 · 微服务架构 8 Martin

4 4

微服务生态系统

API网关/EdgeService

支撑层

基础设施

业务层-聚合服务-基础服务

交付流水线与工程实践

CaaS/PaaSIaaS

微服务

开发框架

工程实践与规范

持续交

付流水线

到端的工具链

注册发现 监控调用链 路由授权认证 日志聚合容错集中配置

接入层

Page 45: 云计算与数据-基于 DevOps 的微服务生态系统与工程实践-王磊pic.huodongjia.com/ganhuodocs/2017-05-16/1494901527.92.pdf · 2017-09-26 · 微服务架构 8 Martin

G O P S 2017 全 球 运 维 大 会 · 深 圳 站

■微服务架构与DevOps

■微服务架构生态系统

■微服务架构的工程实践

Page 46: 云计算与数据-基于 DevOps 的微服务生态系统与工程实践-王磊pic.huodongjia.com/ganhuodocs/2017-05-16/1494901527.92.pdf · 2017-09-26 · 微服务架构 8 Martin

46

Netflix / 2009-2016 / 600+ microservices/AWS

Page 47: 云计算与数据-基于 DevOps 的微服务生态系统与工程实践-王磊pic.huodongjia.com/ganhuodocs/2017-05-16/1494901527.92.pdf · 2017-09-26 · 微服务架构 8 Martin

47

People try to copy Netflix, but they can only copy what they see. They copy the results, not the process.

AndrianCockroft,formerChiefCloudArchitect,Netflix

Page 48: 云计算与数据-基于 DevOps 的微服务生态系统与工程实践-王磊pic.huodongjia.com/ganhuodocs/2017-05-16/1494901527.92.pdf · 2017-09-26 · 微服务架构 8 Martin

工程化实践

48

测试

部署

运维

开发

Page 49: 云计算与数据-基于 DevOps 的微服务生态系统与工程实践-王磊pic.huodongjia.com/ganhuodocs/2017-05-16/1494901527.92.pdf · 2017-09-26 · 微服务架构 8 Martin

开发实践

49

■独立代码库

■自解释文档

■易于本地运行

Page 50: 云计算与数据-基于 DevOps 的微服务生态系统与工程实践-王磊pic.huodongjia.com/ganhuodocs/2017-05-16/1494901527.92.pdf · 2017-09-26 · 微服务架构 8 Martin

自解释文档

50

服务介绍,基本功能消费者以及业务场景✓服务介绍

✓服务维护者✓服务SLA

✓运行环境✓开发相关✓测试相关✓部署相关✓运维相关

维护者及其联系方式

服务的可用时间

测试环境、类生产环境、生产环测等访问地址

如何搭建开发环境如何运行服务/如何调试

测试策略、如何运行测试

如何部署到指定环境

日志聚合、监控、告警

✓ CI相关 CI的地址、DashBoard等

Page 51: 云计算与数据-基于 DevOps 的微服务生态系统与工程实践-王磊pic.huodongjia.com/ganhuodocs/2017-05-16/1494901527.92.pdf · 2017-09-26 · 微服务架构 8 Martin

易于本地运行

51

■ 本地环境配置 + Mock/Stub■ 使用Docker-compose■ 依赖环境共享与租用

服务A ETL

开发/测试环境生产环境

MockS3存储

遗留系统

S3存储

Page 52: 云计算与数据-基于 DevOps 的微服务生态系统与工程实践-王磊pic.huodongjia.com/ganhuodocs/2017-05-16/1494901527.92.pdf · 2017-09-26 · 微服务架构 8 Martin

工程化实践

52

测试

开发开发

部署

运维

Page 53: 云计算与数据-基于 DevOps 的微服务生态系统与工程实践-王磊pic.huodongjia.com/ganhuodocs/2017-05-16/1494901527.92.pdf · 2017-09-26 · 微服务架构 8 Martin

测试实践

53

■测试策略

Page 54: 云计算与数据-基于 DevOps 的微服务生态系统与工程实践-王磊pic.huodongjia.com/ganhuodocs/2017-05-16/1494901527.92.pdf · 2017-09-26 · 微服务架构 8 Martin

契约测试

54

消费者 提供者

契约(v0)

请求

响应

交互元数据

接口(v0)

Page 55: 云计算与数据-基于 DevOps 的微服务生态系统与工程实践-王磊pic.huodongjia.com/ganhuodocs/2017-05-16/1494901527.92.pdf · 2017-09-26 · 微服务架构 8 Martin

契约测试

55

消费者 提供者

契约(v0)

请求

响应

交互元数据

接口(v0)

接口破坏

Page 56: 云计算与数据-基于 DevOps 的微服务生态系统与工程实践-王磊pic.huodongjia.com/ganhuodocs/2017-05-16/1494901527.92.pdf · 2017-09-26 · 微服务架构 8 Martin

契约测试

56

消费者 提供者

契约(v0)

请求

响应

交互元数据

接口(v0)

消费者 提供者

契约(v0)

请求

响应

交互元数据

接口(v1)

接口破坏

Page 57: 云计算与数据-基于 DevOps 的微服务生态系统与工程实践-王磊pic.huodongjia.com/ganhuodocs/2017-05-16/1494901527.92.pdf · 2017-09-26 · 微服务架构 8 Martin

消费者驱动的契约测试

57

■ BDD/TDD模式在架构层面的应用■ 由消费者根据业务驱动出契约■ 基于契约对提供者进行接口验证■ 将在线的集成测试转成离线的单元测试

消费者驱动

契约 契约验证

提供者

1 2

Page 58: 云计算与数据-基于 DevOps 的微服务生态系统与工程实践-王磊pic.huodongjia.com/ganhuodocs/2017-05-16/1494901527.92.pdf · 2017-09-26 · 微服务架构 8 Martin

58

多语言的支持 契约共享和重绘

Page 59: 云计算与数据-基于 DevOps 的微服务生态系统与工程实践-王磊pic.huodongjia.com/ganhuodocs/2017-05-16/1494901527.92.pdf · 2017-09-26 · 微服务架构 8 Martin

Pact的工作原理

59

请求

响应

消费者 提供者

消费者端生成契约

Pact文件

模拟提供者

1

2

3

4

Page 60: 云计算与数据-基于 DevOps 的微服务生态系统与工程实践-王磊pic.huodongjia.com/ganhuodocs/2017-05-16/1494901527.92.pdf · 2017-09-26 · 微服务架构 8 Martin

Pact的工作原理

请求

响应

消费者 提供者

模拟

消费者

提供者端完成校验

Pact文件

1

2

3

4

数据Fixture

Page 61: 云计算与数据-基于 DevOps 的微服务生态系统与工程实践-王磊pic.huodongjia.com/ganhuodocs/2017-05-16/1494901527.92.pdf · 2017-09-26 · 微服务架构 8 Martin

工程化实践

61

开发开发

运维

部署

测试

Page 62: 云计算与数据-基于 DevOps 的微服务生态系统与工程实践-王磊pic.huodongjia.com/ganhuodocs/2017-05-16/1494901527.92.pdf · 2017-09-26 · 微服务架构 8 Martin

部署核心流程

62

持续集成服务器构建

x.y.z

部署流水线

x.y.z

测试环境 类生产环境 生产环境

a.b.c

发布包 配置文件

Page 63: 云计算与数据-基于 DevOps 的微服务生态系统与工程实践-王磊pic.huodongjia.com/ganhuodocs/2017-05-16/1494901527.92.pdf · 2017-09-26 · 微服务架构 8 Martin

部署优化原则

63

■ 标准化的包管理(及版本化)

■ 一条命令完成部署

deploy [service-name][service-version][env]

Page 64: 云计算与数据-基于 DevOps 的微服务生态系统与工程实践-王磊pic.huodongjia.com/ganhuodocs/2017-05-16/1494901527.92.pdf · 2017-09-26 · 微服务架构 8 Martin

工程化实践

64

开发开发

部署

运维

测试

Page 65: 云计算与数据-基于 DevOps 的微服务生态系统与工程实践-王磊pic.huodongjia.com/ganhuodocs/2017-05-16/1494901527.92.pdf · 2017-09-26 · 微服务架构 8 Martin

运维实践

65

■监控■告警■日志聚合

Page 66: 云计算与数据-基于 DevOps 的微服务生态系统与工程实践-王磊pic.huodongjia.com/ganhuodocs/2017-05-16/1494901527.92.pdf · 2017-09-26 · 微服务架构 8 Martin

运维实践

66

■监控类型

系统监控

-磁盘- CPU

-内存……

应用监控

-语言相关(JVM)-响应时间-健康检查……

业务监控

-打点记录-上报数据-统计分析……

Page 67: 云计算与数据-基于 DevOps 的微服务生态系统与工程实践-王磊pic.huodongjia.com/ganhuodocs/2017-05-16/1494901527.92.pdf · 2017-09-26 · 微服务架构 8 Martin

运维实践

67

告警升级通知方式

-电话-短信-邮件- IM工具……

- OnCall工程师- Backup工程师-服务Owner-产品经理……

■告警

Page 68: 云计算与数据-基于 DevOps 的微服务生态系统与工程实践-王磊pic.huodongjia.com/ganhuodocs/2017-05-16/1494901527.92.pdf · 2017-09-26 · 微服务架构 8 Martin

运维实践

68

清晰的告警处理流程,以及组内角色的轮换

五步处理法

Page 69: 云计算与数据-基于 DevOps 的微服务生态系统与工程实践-王磊pic.huodongjia.com/ganhuodocs/2017-05-16/1494901527.92.pdf · 2017-09-26 · 微服务架构 8 Martin

运维实践

69

■日志聚合

Splunk ELK

■ 集中化收集日志■ 可视化、搜索与过滤■ 能够反映任何时间段服务的状态

Page 70: 云计算与数据-基于 DevOps 的微服务生态系统与工程实践-王磊pic.huodongjia.com/ganhuodocs/2017-05-16/1494901527.92.pdf · 2017-09-26 · 微服务架构 8 Martin

70

■微服务架构与DevOps■以缩短交付周期为核心,基于DevOps的演进式架构

■微服务架构的生态系统■接入层、业务层、支撑层、基础设施、交付流水线

■微服务架构的工程实践■开发、测试、部署、运维

总结

Page 71: 云计算与数据-基于 DevOps 的微服务生态系统与工程实践-王磊pic.huodongjia.com/ganhuodocs/2017-05-16/1494901527.92.pdf · 2017-09-26 · 微服务架构 8 Martin

71

推荐书籍

Page 72: 云计算与数据-基于 DevOps 的微服务生态系统与工程实践-王磊pic.huodongjia.com/ganhuodocs/2017-05-16/1494901527.92.pdf · 2017-09-26 · 微服务架构 8 Martin

7 2

谢谢

Page 73: 云计算与数据-基于 DevOps 的微服务生态系统与工程实践-王磊pic.huodongjia.com/ganhuodocs/2017-05-16/1494901527.92.pdf · 2017-09-26 · 微服务架构 8 Martin

G O P S 2017 全 球 运 维 大 会 · 深 圳 站

会议

• 3月18日 DevOpsDays 北京

• 8月18日 DevOpsDays 上海

• 全年 DevOps China 巡回沙龙

• 4月21日 GOPS深圳

• 11月17日 DevOps金融上海

培训 咨询

• EXIN DevOps Master 认证培训

• DevOps 企业内训

• DevOps 公开课

• 互联网运维培训

• 企业DevOps 实践咨询

• 企业运维咨询

商务经理:刘静女士电话 /微信:13021082989邮箱:[email protected]

Page 74: 云计算与数据-基于 DevOps 的微服务生态系统与工程实践-王磊pic.huodongjia.com/ganhuodocs/2017-05-16/1494901527.92.pdf · 2017-09-26 · 微服务架构 8 Martin

G O P S 2017 全 球 运 维 大 会 · 深 圳 站

Thanks高效运维社区

开放运维联盟 荣誉出品

Page 75: 云计算与数据-基于 DevOps 的微服务生态系统与工程实践-王磊pic.huodongjia.com/ganhuodocs/2017-05-16/1494901527.92.pdf · 2017-09-26 · 微服务架构 8 Martin

G O P S 2017 全 球 运 维 大 会 · 深 圳 站

想第一时间看到

高效运维社区公众号

的好文章吗?

请打开高效运维社区公众号,点击右上角小人,如右侧所示设置就好