$30 off During Our Annual Pro Sale. View Details »

What is service mesh?

threetreeslight
September 22, 2018
10

What is service mesh?

What is service mesh? on shinjuku-mokumoku vol.15

threetreeslight

September 22, 2018
Tweet

Transcript

  1. What is service mesh? @threetreeslight on shinjuku mokumoku programming #15

    1 / 24
  2. Who VP of Engineering at Event Organizer おじさん Repro 2

    / 24
  3. ネットワーク上の異なるコンピュータ上にコンポー ネントが配置されているシステム e.g. cloud 系のmanaged service を使ったsystem Distributed System? 3

    / 24
  4. 牧歌的な分散システム シンプルなサービスであればこんなイメージで⾏け るが、考えるべきことは多い 4 / 24

  5. 1. ネットワークは落ちない 2. 遅延はゼロ 3. 無限の帯域 4. セキュア 5. 変更されないトポロジ

    6. ⼀⼈の管理者 7. 転送コストはゼロ 8. 均⼀なネットワーク Fallacies of distributed computing 5 / 24
  6. 誤った考えに は対策しなき ゃいかん 6 / 24

  7. さらに求められること Rapid provisioning of compute resources Basic monitoring Rapid deployment

    Easy to provision storage Easy access to the edge Authentication/Authorisation Standardised RPC etc... 7 / 24
  8. これはやばい 8 / 24

  9. 対策としての 1. service discovery 2. circuit breakers 9 / 24

  10. Service Discovery 10 / 24

  11. What's Service Discovery 特定の要求を満たすサービスのインスタンスやコン テナを⾃動的に⾒つけるプロセスのこと 11 / 24

  12. Typically Service Discovery 以下のhealth check によって実現される事が多い 1. DNS 2. load

    balancer 12 / 24
  13. more complex requirement 1. client の負荷分散 2. staging, production などの異なる環境

    3. 別リージョン、クラウドに散らばる となると典型的な⽅法では苦しい、、、 13 / 24
  14. circuit brakers 14 / 24

  15. concern of remote request Remote Request は、timeout になるまでhang する その状態で多数のrequest

    がくるとresource を⾷いつぶ して死ぬかもしれない ref Martin Fowler - CircuitBreaker 15 / 24
  16. 何度も同じことをする すべてのサービスにおいて同じようなコードを同じ ように書きまくる必要がある 16 / 24

  17. こんな感じ 開発者はこれを意識しなければいけない 17 / 24

  18. 上記を踏まえ た昨今 18 / 24

  19. サービス規模・⼈員規模がそれなりになってくると 出てくること マイクロサービスいっぱい AWS, GCP の楽しいマルチクラウド いわゆる distributed microservice architecture

    19 / 24
  20. 開発者もDevOps も死ぬ 可搬性・スケーラビリティを考えたマイクロサービス設 計 必要とされている知識は利⽤するクラウドとサービス数 だけある 監視のための各種サービスのlog, metrics の収集、そのフ ォーマットの共通化

    サービス間の認証・認可によるアクセス制御 20 / 24
  21. 特に認証認可は、、、 上記の問題を解決するために⾔語向けSDK を提供して いた。が サービスごとにリリースサイクルは異なる SDK 提供する⾔語でしか効果がない 結果、SDK が揃わない。開発者はこれを意識しなけれ ばいけない

    21 / 24
  22. しょうがないから、、、 service と分離し、sidecar でいく 22 / 24

  23. そこでIstio 1. 勝⼿にサイドカー⽴てる 2. 上記の問題を解決するための設定を外部から注⼊ provides a uniform way to

    secure, connect, and monitor microservices. 23 / 24
  24. ref SOTA - Service mesh とは何か Phil Calçado - Pattern:

    Service Mesh The mechanics of deploying Envoy at Lyft Orilly - seeking SRE Introducing Istio Service Mesh for Microservices Martin Fowler - CircuitBreaker 24 / 24