NoOps Meetup Tokyo #7: 入門サービスメッシュ

44e6e0e9bcc3d8279020aad563f16f34?s=47 taiki45
July 29, 2019

NoOps Meetup Tokyo #7: 入門サービスメッシュ

44e6e0e9bcc3d8279020aad563f16f34?s=128

taiki45

July 29, 2019
Tweet

Transcript

  1. 2.
  2. 4.

    歴史 • 2011年8月 Finagle public release • 2013年10月 SmartStack public

    release • 2014年11月 Prana public release • 2016年2月 Linkerd public release ◦ 2017年4月 Linkerd v1.0 public release ◦ 2018年9月 Linkerd v2 pubic release • 2016年9月 Envoy public release 4
  3. 5.

    Microservices 界の当時の状況 • Service discovery, routing, load balancing • Observability

    outputs (stats, tracing, logging) • Implementations of retry, circuit breaking, rate limiting, timeouts, and other distributed systems best practices. • Protocols (HTTP/1, HTTP/2, gRPC, databases, caching, etc.). • Authentication and Authorization 5
  4. 11.

    Envoy config management via xDS APIs • Envoy is a

    universal data plane • xDS == * Discovery Service (various configuration APIs). E.g.,: ◦ LDS == Listener Discovery Service, CDS == Cluster Discovery Service • Both gRPC streaming and JSON/YAML REST via proto3! • Central management system can control a fleet of Envoys avoiding per-proxy config file hell • Global bootstrap config for every Envoy, rest taken care of by the management server • Envoys + xDS + management system == fleet wide traffic management distributed system 11
  5. 12.

    List of xDS APIs • Cluster Discovery Service • Route

    Discovery Service • Endpoint Discovery Service • Listener Discovery Service • Health Discovery Service • Rate Limit Service • Secret Discovery Service • Metric Service 12
  6. 13.

    xDS APIs • API definitions (mirror) https://github.com/envoyproxy/data-plane-api • Framework for

    Go https://github.com/envoyproxy/go-control-plane • Framework for Java https://github.com/envoyproxy/java-control-plane • 基本的にデータソース (e.g. k8s API server) からデータを取得、いい感じな データ構造に変換して配信 13
  7. 15.

    まとめ Q&A • Microservices の進展とともに分散システムの課題がいっぱい増えてきた • 課題へのアプローチがライブラリモデルから out of process

    モデルへと変 遷してきた • 同時に静的な設定ファイルモデルから動的なマネージメントサーバー方式へ と変化してきた Q&A: @taiki45 でも対応