Google Cloud Next’19でService Meshの動向を追ってみる

Aa3be1717d28cc9c5b7c8e524327700e?s=47 TairaTAIKI
May 22, 2019
260

Google Cloud Next’19でService Meshの動向を追ってみる

Google Cloud Next'19 での Istio の動向をまとめてみました。

Aa3be1717d28cc9c5b7c8e524327700e?s=128

TairaTAIKI

May 22, 2019
Tweet

Transcript

  1. Google Cloud Next’19で
 Service Meshの動向を追ってみる 2019/05/22 平良太貴

  2. アジェンダ • 自己紹介 • Google Cloud NEXT へ行った目的 • Service

    Mesh について • Istioの話 • オンプレミスの話 • まとめ/感想 • その他 4万人が来場したとされる会場 サンフランシスコの Moscone Center
  3. 自己紹介 名前: 平良太貴 社会人歴: 2015 ~ (5年目) DMM社歴: 中途入社 2018/08

    ~ 配属: サービス全般のサーバーインフラ → インフラ部IaaS 開発部 Twitter: @shien07 あまり技術的なこと呟きません! 興味あること: 仮想化、コンテナ関連、自動化周りなど
  4. Google Cloud NEXT に行った目的 - Service Mesh について調査 - 社内のサービスたくさん、なにかヒントになれば

    - Istio / Envoy - Kubernetes についての動向 - Googleのアップデート - オンプレとの関連 - マルチクラウド、ハイブリッドクラウドの動向 - GKE On-prem について
  5. ざっくり Service Mesh の必要性 - Microservice の特徴として、各サービスが機能ごとにDBやソースコード そのものを分けて実装 - Microservice

    のサービス間ネットワーク通信は複雑化する - 基本的にネットワークは信頼できない前提でサービスを実装 - Timeout を設定する - 対象のサービスが死んでしまってもサーキット・ブレイクで回避 - リクエストが失敗してもリトライを行う など - サービスの連携によって複雑化する通信を、分散トレーシングを用いて 可視化しなければならない - この機能が Service Mesh という形でまとめられ、登場した
  6. その解決策 Istio - コンテナやVMのワークロード同士のサービスのやり取りを自動化する open service platform - Sidecar proxies

    (Envoy) として Kubernetes の Pod や、VM の横に配 置 - すべての inbound / outbound トラフィックを調整 - いくつかのコンポーネントで構成され、 Proxy を経由するトラフィックを管理する
  7. その解決策 Istio Control Plane Pilot - Envoy proxy のインスタンスを特定の Istio

    service mesh にデプロイする - トラフィックのバランシングや比率で分 けるなど Galley - ユーザが定義した設定の validation Citadel - 鍵と証明書の管理 Mixer - 認証と監査 - ポリシーのコントロール、計測したもの を収集 Data Plane Proxy - Envoy Proxy
  8. Google Cloud NEXT’19 の Istio - 4/9 ~ 4/11 の3日間で

    Istio のセッションは 14 ほど - (私調べ) - 3日間の合計セッション数は600越えなので多いかは定かではない - 別で注目していた GKE On-Prem は 5 - どのセッションもかなり席が埋まっていた - セッションの多くはデモや事例など - 実際にアプリを動かし、それを触るデモ - しっかり Web アプリケーションを動かし、その状態でデモ - 使用している企業との対談形式でのセッション - 今回はマルチクラウドに焦点 - マルチクラウドにおける Service Mesh - Anthos との関わり
  9. セッションで聞いた Istio の話 - メリット メリット - サービス同士のやり取りを理解できる - サービス間のトラフィックの検査ができる

    - きめ細かいパーセンテージベースのルーティングができる - 既存のサービスに90%、新リリースに10%のような形 - HTTP Header ベースでのルーティング - カオステスト、サーキット・ブレイクなど - 1000 ものサービスのポリシーを自動化 - アプリケーションコードからネットワークを切り出すことができる Microservice の複雑性の課題を解決する一助に
  10. セッションで聞いた Istio の話 - 課題 課題 - Kubernetes 上で動くので、Kubernetes 自体が複雑

    - Control Plane が複数あり、それが大量のログを吐く - Config の量が多く、またAPIもあるので学習曲線が大きい - Policy のカスタマイズ性が高いが、失敗状態へ行くことも多い - まだ成長段階 - ツール周りがよわく、curl ベースのコマンドラインに頼る必要がある - ドキュメントも現在増加中
  11. セッションで聞いた Istio の話 - Istio 1.1 Istio 1.1 が Production

    ready に - Average latency が 30 %減 - Pod の開始時間が40%早くなった - Pilot の CPU 使用率 90 % 減 - Pilot の Memory 使用率 50 %減
  12. セッションで聞いたオンプレミスの話 - 社内仮想基盤の運用が主な仕事なため、今回はマルチクラウド、ハイブ リッドクラウドに注目 - Anthos - VM を GKE

    上で動作するコンテナへ変換 - マルチクラウドの管理 - オンプレミスとの連携を強化するセッション - 他ベンダーもマルチクラウドに焦点 - VMware - Anthos で管理する、GKE/Istio と PKS / NSX Service Mesh の連携 - Cisco - Cisco 製品を利用した GKE / GKE On-Prem の利用
  13. まとめ/感想 - Service Mesh は Microservice とともに進んでいるもの - Google Cloud

    NEXT’19 では Istio / Kubernetes (GKE) - Istio はまだ発展途中ではあるが、Micoservice を支えられるよう動いて いる - Microservice アーキテクチャにシフトしていくのであれば、 Service Mesh の検討は必要 - マルチクラウドへのアプローチが必要 - 次は Kubernetes / Istio について実際に手を動かし、体感したい - 弊社からは Data Analytics 系の方が行かなかったので、そこは勿体な かった
  14. その他 - Istio を GKE に入れてみる 英語のチュートリアル Istio on GKE

    が参考になる https://cloud.google.com/istio/docs/istio-on-gke/installing 下記でクラスタを作成する gcloud beta container clusters create istio-demo \ --addons=Istio --istio-config=auth=MTLS_PERMISSIVE \ --cluster-version=latest \ --machine-type=n1-standard-2 \ --num-nodes=4 これだけ。簡単ですね!
  15. その他 - Istio を GKE に入れてみる kubectl get service -n

    istio-system Istio の動いている namespace の service を見てみる kubectl get pods -n istio-system Istio の動いている namespace の Pod を見てみる
  16. その他 - Istio を GKE に入れてみる 以降はこちらでデモができます。 https://github.com/GoogleCloudPlatform/istio-samples/ istioctl kube-inject

    -f ./hipstershop/kubernetes-manifests.yaml | kubectl apply -f - なぜか auto inject が聞かなかったので下記で手動でいれました。 謎はまた別途、解き明かします。 kubectl apply -f canary/productcatalog-v2.yaml 新しいバージョンを投入 StackDriver でみてみます。
  17. その他 - @サンフランシスコ • ESTA ご存知ですか? • 僕は出発3時間前に知りました • Uber

    がとてつもなく便利 • ただしドライバーによっては遠回りを強いられたり • しかしその分の返金は一瞬でしてくれます • 親しく話してくれます • 日本車も見かけました • 景色が半端ない • 半端ない • 現地のスーパーの商品を眺める楽しさ • 面白い日本語の日本の製品があったり • 日本で発売されてる商品があったり ご清聴ありがとうございました!