狠狠撸

狠狠撸Share a Scribd company logo
1
Microserviceの
今どきのインフラを探る
2020/09/25
日本Springユーザ会
土岐 孝平(合同会社 現場指向)
SpringOne2020 报告会尝罢
発表の背景
? Microserviceのインフラ(Service Discoveryや
Observabilityなど)として、いろいろな手段があって
お互い被ってるところがあるなー、と思っていた。
– ライブラリ(Spring Cloudなど)、Kubernetes、Service
Mesh(Istioなど)など
? 最近の主流や、使い方?使い分けなどが知りたいな
ー、と思っていたら、近しいセッションがあった。
? そのセッションの内容と、個人的な感想を共有した
い。
2
紹介するセッション
? Weaving Through the Mesh: Making Sense of
Istio and Overlapping Technologies
3
出典
https://springone.io/post-event/sessions/weaving-through-the-mesh-
making-sense-of-istio-and-overlapping-technologies
セッションの大まかな内容
? 代表的なアプローチ
– Application-based approach
– Application-based approach with gateway
– Service mesh approach
? 新しめのアプローチ
– Application-based approach with RSocket
? その他
– API Management solutions
– Spring CloudからIstioに移行する時の作業イメージ
4
本LTの
対象
インフラに求められること
5
出典:セッションのスライド
Application-based approach
6
出典:セッションのスライド
Application-based approach with gateway
7
出典:セッションのスライド
さまざまな製品
8
出典:セッションのスライド
Application-based approachの
メリット?デメリット
? メリット
– 開発チームだけで完結
? 自律性?俊敏性
– インフラとアプリを同じスキルセット(Javaなど)で対応できる
? デメリット
– 使用するフレームワークや言語ごとに、実装が変わる
9
出典:セッションのスライド
Service mesh approach
10
出典:セッションのスライド “And we can say that service mesh is just like an AOP for
microservices.”
出典:mediumの記事「Introduction To Service Mesh」
Application-basedとService meshの比較
11
出典:セッションのスライド
Application-based approach with RSocket 1/2
? RSocketの特徴
12
出典:セッションのスライド
Application-based approach with RSocket 2/2
13
出典:セッションのスライド
対応する製品
14
出典:セッションのスライド
メリット?デメリット
? メリット
– 開発チームだけで完結
? 自律性?俊敏性
– インフラとアプリを同じスキルセット(Javaなど)で対応できる
– 処理速度の向上
– リソースの削減 → お金の節約
? デメリット
– 使用するフレームワークや言語ごとに、作りが変わる
15
出典:セッションのスライド
いろんな言語の
Clientライブラリが提供されれば、
このデメリットがなくなるはず
API Management solution
16
出典:セッションのスライド
セッションのまとめ(Takeaways)
17
出典:セッションのスライド
出典:springoneのSlackのチャネル#session-weaving-through-the-mesh-making-
sense-of-istioでの投稿
個人的な感想
? 主流は無さそう。チームのレベルに合わせつつ必要性に応
じてステップを踏んで導入するのが良さそう
– 例えば、最初はライブラリ + Kubernetesから入って、必要性があれ
ばService Meshの導入を検討
? 手段をミックスさせることも必要。例えば???
– KubernetesのPods間のLoad Balanceは単純なラウンドロビン(のは
ず)なので、Spring Cloud Kubernetes のRibbon連携機能を使う
– IstioのCircutBreakerだと柔軟な挙動が難しそう(fallbackの挙動が
指定できないらしい)なので、Spring Cloud CircuitBreakerでアプリ
で対応する
– Istioを使う場合であっても、TraceIDを伝搬するためにSpring Cloud
Sleuthを使う
? rsocket-routingの今後に注目
– sidecarベースのService Meshと同等もしくはそれ以上のキャパシテ
ィがあるかも 18
19
ご清聴ありがとうございました
20
ライセンスについて
? JSUGマスコットアイコン(本スライド左下)が残されている場合に限り、本作品(またそれを元にした派生
作品)の複製?頒布?表示?上演を認めます。
? 非商用目的に限り、本作品(またそれを元にした派生作品)の複製?頒布?表示?上演を認めます。
? 本作品のライセンスを遵守する限り、派生作品を颁布することを许可します。

More Related Content

惭颈肠谤辞蝉别谤惫颈肠别の今どきのインフラを探る