Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Google Cloud Next’19でService Meshの動向を追ってみる
Search
TairaTAIKI
May 22, 2019
3
350
Google Cloud Next’19でService Meshの動向を追ってみる
Google Cloud Next'19 での Istio の動向をまとめてみました。
TairaTAIKI
May 22, 2019
Tweet
Share
More Decks by TairaTAIKI
See All by TairaTAIKI
Ansible x NSX-T の可能性を探る
shien07
0
1.3k
Featured
See All Featured
Large-scale JavaScript Application Architecture
addyosmani
510
110k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
33
1.9k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
191
16k
Facilitating Awesome Meetings
lara
50
6.1k
GraphQLとの向き合い方2022年版
quramy
43
13k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
226
22k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
1
170
Statistics for Hackers
jakevdp
796
220k
How to train your dragon (web standard)
notwaldorf
88
5.7k
Unsuck your backbone
ammeep
668
57k
Mobile First: as difficult as doing things right
swwweet
222
8.9k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
246
1.3M
Transcript
Google Cloud Next’19で Service Meshの動向を追ってみる 2019/05/22 平良太貴
アジェンダ • 自己紹介 • Google Cloud NEXT へ行った目的 • Service
Mesh について • Istioの話 • オンプレミスの話 • まとめ/感想 • その他 4万人が来場したとされる会場 サンフランシスコの Moscone Center
自己紹介 名前: 平良太貴 社会人歴: 2015 ~ (5年目) DMM社歴: 中途入社 2018/08
~ 配属: サービス全般のサーバーインフラ → インフラ部IaaS 開発部 Twitter: @shien07 あまり技術的なこと呟きません! 興味あること: 仮想化、コンテナ関連、自動化周りなど
Google Cloud NEXT に行った目的 - Service Mesh について調査 - 社内のサービスたくさん、なにかヒントになれば
- Istio / Envoy - Kubernetes についての動向 - Googleのアップデート - オンプレとの関連 - マルチクラウド、ハイブリッドクラウドの動向 - GKE On-prem について
ざっくり Service Mesh の必要性 - Microservice の特徴として、各サービスが機能ごとにDBやソースコード そのものを分けて実装 - Microservice
のサービス間ネットワーク通信は複雑化する - 基本的にネットワークは信頼できない前提でサービスを実装 - Timeout を設定する - 対象のサービスが死んでしまってもサーキット・ブレイクで回避 - リクエストが失敗してもリトライを行う など - サービスの連携によって複雑化する通信を、分散トレーシングを用いて 可視化しなければならない - この機能が Service Mesh という形でまとめられ、登場した
その解決策 Istio - コンテナやVMのワークロード同士のサービスのやり取りを自動化する open service platform - Sidecar proxies
(Envoy) として Kubernetes の Pod や、VM の横に配 置 - すべての inbound / outbound トラフィックを調整 - いくつかのコンポーネントで構成され、 Proxy を経由するトラフィックを管理する
その解決策 Istio Control Plane Pilot - Envoy proxy のインスタンスを特定の Istio
service mesh にデプロイする - トラフィックのバランシングや比率で分 けるなど Galley - ユーザが定義した設定の validation Citadel - 鍵と証明書の管理 Mixer - 認証と監査 - ポリシーのコントロール、計測したもの を収集 Data Plane Proxy - Envoy Proxy
Google Cloud NEXT’19 の Istio - 4/9 ~ 4/11 の3日間で
Istio のセッションは 14 ほど - (私調べ) - 3日間の合計セッション数は600越えなので多いかは定かではない - 別で注目していた GKE On-Prem は 5 - どのセッションもかなり席が埋まっていた - セッションの多くはデモや事例など - 実際にアプリを動かし、それを触るデモ - しっかり Web アプリケーションを動かし、その状態でデモ - 使用している企業との対談形式でのセッション - 今回はマルチクラウドに焦点 - マルチクラウドにおける Service Mesh - Anthos との関わり
セッションで聞いた Istio の話 - メリット メリット - サービス同士のやり取りを理解できる - サービス間のトラフィックの検査ができる
- きめ細かいパーセンテージベースのルーティングができる - 既存のサービスに90%、新リリースに10%のような形 - HTTP Header ベースでのルーティング - カオステスト、サーキット・ブレイクなど - 1000 ものサービスのポリシーを自動化 - アプリケーションコードからネットワークを切り出すことができる Microservice の複雑性の課題を解決する一助に
セッションで聞いた Istio の話 - 課題 課題 - Kubernetes 上で動くので、Kubernetes 自体が複雑
- Control Plane が複数あり、それが大量のログを吐く - Config の量が多く、またAPIもあるので学習曲線が大きい - Policy のカスタマイズ性が高いが、失敗状態へ行くことも多い - まだ成長段階 - ツール周りがよわく、curl ベースのコマンドラインに頼る必要がある - ドキュメントも現在増加中
セッションで聞いた Istio の話 - Istio 1.1 Istio 1.1 が Production
ready に - Average latency が 30 %減 - Pod の開始時間が40%早くなった - Pilot の CPU 使用率 90 % 減 - Pilot の Memory 使用率 50 %減
セッションで聞いたオンプレミスの話 - 社内仮想基盤の運用が主な仕事なため、今回はマルチクラウド、ハイブ リッドクラウドに注目 - Anthos - VM を GKE
上で動作するコンテナへ変換 - マルチクラウドの管理 - オンプレミスとの連携を強化するセッション - 他ベンダーもマルチクラウドに焦点 - VMware - Anthos で管理する、GKE/Istio と PKS / NSX Service Mesh の連携 - Cisco - Cisco 製品を利用した GKE / GKE On-Prem の利用
まとめ/感想 - Service Mesh は Microservice とともに進んでいるもの - Google Cloud
NEXT’19 では Istio / Kubernetes (GKE) - Istio はまだ発展途中ではあるが、Micoservice を支えられるよう動いて いる - Microservice アーキテクチャにシフトしていくのであれば、 Service Mesh の検討は必要 - マルチクラウドへのアプローチが必要 - 次は Kubernetes / Istio について実際に手を動かし、体感したい - 弊社からは Data Analytics 系の方が行かなかったので、そこは勿体な かった
その他 - 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 これだけ。簡単ですね!
その他 - Istio を GKE に入れてみる kubectl get service -n
istio-system Istio の動いている namespace の service を見てみる kubectl get pods -n istio-system Istio の動いている namespace の Pod を見てみる
その他 - 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 でみてみます。
その他 - @サンフランシスコ • ESTA ご存知ですか? • 僕は出発3時間前に知りました • Uber
がとてつもなく便利 • ただしドライバーによっては遠回りを強いられたり • しかしその分の返金は一瞬でしてくれます • 親しく話してくれます • 日本車も見かけました • 景色が半端ない • 半端ない • 現地のスーパーの商品を眺める楽しさ • 面白い日本語の日本の製品があったり • 日本で発売されてる商品があったり ご清聴ありがとうございました!