西安DevOps Meetup #7...关于DevOps Meetup • 技术分享、交流和学习 •...

51
西安DevOps Meetup #7

Transcript of 西安DevOps Meetup #7...关于DevOps Meetup • 技术分享、交流和学习 •...

  • 西安DevOps Meetup #7

  • 关于DevOps Meetup

    •  技术分享、交流和学习

    •  传播西安技术影响力

    •  Social

  • 感谢赞助商们

  • EXIN-国际信息科学考试学会

  • 感谢IT大咖说提供直播支持

  • 欢迎支持DevOps Meetup

  • So(wareisea-ngtheworld.� - MarkAndreessen

  • 张亚鹏《Kotlin - 开启高效开发之路》

  • 蒙维《使用AWS为企业开发移动APP和无服务器架构》

  • 马博文 《云设计模式和 Service Mesh》

  • Let’s bring it on.

  • 云设计模式和Service Mesh

  • 关于我:马博文

    •  了解几门编程语言,做过些web开发工作,大型互联网站的运维以及短期SRE的工作。

    •  熟悉微服务、持续交付、Docker、AWS等。

    •  参与翻译《Scala编程实战》、《DevOps实践》《DevOpsHandbook》、《基础设施即代码》等书。

    •  目前关注CloudNa-ve等技术。

  • 业务创新的要求

    •  速度,更快上市

    •  安全:– 可见性,度量所有。– 错误隔离、容错。– 自恢复,反脆弱性。

    •  可伸缩性,无状态服务。

    •  移动应用优先。

  • Agenda

    •  架构、基础设施演进历史 •  云设计模式

    •  Service Mesh

  • 单体架构

    hDps://www.thoughtworks.com/insights/blog/microservices-evolu-onary-architecture

  • 分层(layer/tier)架构

    hDps://en.wikipedia.org/wiki/Mul--er_architecture

  • SOA架构

    •  通过网络上的通信协议,应用程序组件将服务提供给其他组件。

    •  面向服务架构的基本原则是独立于厂商,

    产品和技术。

    •  服务是一个独立的功能单元,可以远程访问并独立执行和更新,例如在线检索信用卡帐单。

    hDps://en.wikipedia.org/wiki/Service-oriented_architecture

  • 微服务架构

    •  将单体应用程序划分成一组小的服务

    •  服务之间松耦合•  服务间通信通过轻量级通信协议

    (RPC/REST)•  独立部署

    特点

    好处•  更快上线(小,独)•  技术异构,更灵活•  可扩展性、伸缩性•  API first,对于mobile应用友好

  • 基础设施演进过程

    •  基础设施外包(成本,可维护性)•  更容易自动化(可编程基础设施)•  弹性,自恢复

    云化好处 容器化好处•  平台无关,标准化,(适于部署

    微服务)•  易伸缩•  资源利用率高

  • 云原生(Cloud Native) •  架构– 微服务(应用架构)–  12factors(应用无状态,开发、部署最佳实践)

    •  基础设施– 云化– 容器化

    •  工程实践:–  DevOps

    •  组织结构– 去中心化

  • Cloud Native LandSpace

    hDps://github.com/cncf/landscape

  • 云化的挑战

    •  改造遗留系统更适于部署在云上•  更加有效的利用已有的云服务

  • 微服务化的挑战 •  存量遗留系统改造成本– 微服务拆分(数据,功能,DDD……)– 不拆分,如何更低成本接入

    •  微服务化开发框架– 有限,e.g 基于Java(SpringCloud),Go(ServiceComb)

    – 团队学习成本– 升级维护成本

    •  微服务治理功能不完善,e.g 灰度

    •  微服务的监控、运维– 日志、调用链等

    Qcon 2017 Service Mesh:下一代微服务 by 敖小剑

  • Agenda

    •  架构、基础设施演进历史 •  云设计模式

    •  Service Mesh

  • 云设计模式

    •  Azure 架构中心推出

    •  32个云设计模式

    •  可重复的上云解决方案

    hDps://iambowen.gitbooks.io/cloud-design-paDern/content/hDps://github.com/iambowen/cloud-design-paDerns/

  • 设计模式解决软件的重复性

    云设计模式解决云化的重复性

  • 云设计模式分类和内容

    •  可用性 •  数据管理 •  设计实现 •  消息 •  管理和监控 •  性能和可扩展性 •  弹性 •  安全

    模式描述背景和问题解决方案问题和注意事项何时使用案例相关模式和指南

  • 可用性模式:健康端点监控模式

    A

    B

    DB

    /diagnos-c/status/nagios

    /diagnos-c/version/diagnos-c/heartbeat

    {dependencies:[

    { service:”B", status:200,

    “descrip-on”:“serviceb’sresponseisslow”},{….}

    ],descrip-on:“servicebisrespondingslowly.”

    }

    •  在应用程序内部实现检查的功能•  外部工具可以定期通过暴露出来的端点访问。•  帮助验证应用程序和服务是否正常运行。

  • 可用性模式 - 限流模式

    •  确保系统符合服务水平协议(SLA)。

    •  防止单一租户垄断应用程序提供的资源。

    •  处理突发事件。

    •  通过限制运行所需的最大资源水平来帮助优化系统成本。

  • 数据管理模式-静态内容托管模式

    •  将静态内容部署到云存储服务,直接返回给浏览器(e.g前后端分离)。

    •  使用CDN来提升性能。

    •  维护成本,基础设施开销更低。

  • 设计和实现-绞杀者模式

  • 设计和实现-网关聚合模式

  • 设计与实现-网关卸载模式

  • 设计与实现-网关路由模式

  • 设计与实现-挎斗模式(Side-Car)

    The image cannot be displayed. Your computer may not have enough memory to open the image, or the image may have been corrupted. Restart your computer, and then open the file again. If the red x still appears, you may have to delete the image and then insert it again.

  • 弹性-断路器模式(Circuit Breaker)

  • Agenda

    •  架构、基础设施演进历史 •  云设计模式

    •  Service Mesh

  • 什么是Service Mesh

    •  处理服务间通信的基础设施层•  在服务拓扑间实现请求可靠传递•  轻量级网络代理•  对应用程序透明

  • Istio

    控制面

    数据面

    •  服务发现•  路由、负载均衡•  容错、降级、熔断•  流量管理,灰度•  ……

    •  代理的访问控制•  遥测、监控、指标收集•  限流等

    •  身份认证(服务之间,用户)•  TLS offload•  密钥管理•  审计等

  • 好处

    •  0侵入接入遗留系统或者无微服务框架系统

    •  应用只需要关注业务逻辑

    •  解决微服务监控、运维、治理等问题

    •  Service Mesh本身的升级和运维是独立的

  • 目前的生态

    hDp://servicecomb.io/assets/slides/20171209/Prac-ceOfServiceMeshOnHuaweiPublicCloud.pdf

    •  数据面:Linkerd,Nginx,Envoy,Mesher,Conduit

    •  控制面:Istio,CSE

    •  大部分运行在k8s之上

  • 华为 Mesher

    hDp://servicecomb.io/assets/slides/20171209/Prac-ceOfServiceMeshOnHuaweiPublicCloud.pdf

  • 性能对比

    hDp://servicecomb.io/assets/slides/20171209/Prac-ceOfServiceMeshOnHuaweiPublicCloud.pdf

  • 仍在活跃发展中

  • 消灭重复性

  • Q & A

  • 反馈