Upgrade to Pro — share decks privately, control downloads, hide ads and more …

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

taiki45
July 29, 2019

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

taiki45

July 29, 2019
Tweet

More Decks by taiki45

Other Decks in Technology

Transcript

  1. 歴史 • 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
  2. 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
  3. 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
  4. 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
  5. 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
  6. まとめ Q&A • Microservices の進展とともに分散システムの課題がいっぱい増えてきた • 課題へのアプローチがライブラリモデルから out of process

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