狠狠撸

狠狠撸Share a Scribd company logo
2018年11月19日
数村 憲治
MicroProfileで
エンタープライズ品質
Copyright 2018 FUJITSU LIMITED0
スピーカー
Copyright 2018 FUJITSU LIMITED
.setMemberOf(“Jakarta EE WG”)
.setDirectorOf(“Eclipse Foundation Board”)
.workFor(“富士通”)
.build();
.setMemberOf(“JCP Executive Committee”)
Speaker me = SpeakerBuilder
.responsibleFor(“Launcher”)
1
アジェンダ
Copyright 2018 FUJITSU LIMITED
MicroProfile
マイクロサービスの現状
MicroProfileを使ったデモ
まとめ
2
アジェンダ
Copyright 2018 FUJITSU LIMITED
MicroProfile
マイクロサービスの現状
MicroProfileを使ったデモ
まとめ
3
microprofile.io
Copyright 2018 FUJITSU LIMITED
企業向けJavaによるマイクロサービスアーキテクチャ
個人?ベンダ?JUGの協業によるオープンソースコミュニティ
2016年6月 IBM?LJC?Red Hatなどにより設立
4
2016年12月 Eclipse Foundationのプロジェクトに
Eclipse MicroProfile
Copyright 2018 FUJITSU LIMITED
各ベンダーが実装を提供仕様を議論?策定
5
ロードマップ
Copyright 2018 FUJITSU LIMITED
既存Java EE7APIのみ
CDI/JSON-P/JAX-RS
ポータビリティ強化
(コンテナ環境等)
Config
1.2
信頼性の保証
HealthCheck
FaultTolerance
1.3
2.0
2.1
2.2
サービス呼出しのサポート
OpenTracing
OpenAPI
RestClient
1.4
リアクティブストリーム対応
Reactive
8
7
1.0
1.1
6
Duke’s Choice Award
Copyright 2018 FUJITSU LIMITED
https://blogs.oracle.com/java/announcing-2018-dukes-choice-award-winners
MicroProfile.ioが受賞
Oracle CodeOneで発表
7
アジェンダ
Copyright 2018 FUJITSU LIMITED
MicroProfile
マイクロサービスの現状
MicroProfileを使ったデモ
まとめ
8
新技術適応カーブ
Copyright 2018 FUJITSU LIMITED
http://enterpriseitadoption.com/
日本のEnterpriseIT
MSAの現在
エンタープライズ品質が課題
9
MSAに期待すること
Copyright 2018 FUJITSU LIMITED
36.6%
38.8%
12.7%
6.0%
6.0%
Microservices trends 2017, Hartmut Schlosser, April 12, 2017 (https://jaxenter.com/microservices-trends-2017-survey-133265.html)
DDD モノリスやめたい分散統治
35.1%
33.6%
17.2%
9.0% 5.1%
26.9%
18.7%
20.1%
20.1%
14.2%
26.1%
24.6%
11.9%
19.4%
17.9%
Full agree
75% agree
50% agree
25% agree
No agree
20.9%
33.6%23.1%
14.9%
7.5%
耐障害性 疎結合ディプロイ
51.5
%27.6%
9.0%
7.5% 4.4%
10
カナリアリリース
Copyright 2018 FUJITSU LIMITED
LB
問題がなければ
新リリースに
問題があれば
既存リリースに
既存リリース
新リリース
11
マイクロサービス重みづけ
Copyright 2018 FUJITSU LIMITED
μ
μ
μ
μ
μ μ
μ
サービスは均一ではない
SLAの低いサービス
SLAの高いサービス
カナリアリリース
プロダクトリリース
12
クックパッドの事例
Copyright 2018 FUJITSU LIMITED
https://techlife.cookpad.com/entry/2018/05/08/080000
Envoy、Prometheus、Grafanaで監視
13
クックパッドの事例
Copyright 2018 FUJITSU LIMITED
https://techlife.cookpad.com/entry/2018/05/08/080000
Envoy、Prometheus、Grafanaで監視
どのサービスとどのサービスが通信していて、
あるサービスの障害がどこに伝播するのか、
ということを規模の拡大とともに把握しづらくなってる
という問題がありました。
14
クックパッドの事例
Copyright 2018 FUJITSU LIMITED
https://techlife.cookpad.com/entry/2018/05/08/080000
Envoy、Prometheus、Grafanaで監視
それぞれのアプリケーションでライブラリを利用して、
タイムアウト?リトライ?サーキットブレーカーの設定を
行っていましたが、
どんな設定になっているかはアプリケーションコードを
別個に見る必要があり、
一覧性がなく状況把握や改善がしづらい状況でした。
15
クックパッドの事例
Copyright 2018 FUJITSU LIMITED
https://techlife.cookpad.com/entry/2018/05/08/080000
Envoy、Prometheus、Grafanaで監視効果
トラフィックの多いサービス同士の連携部分が複数あり、
今までそれらでは1時間に5,6件ほどの
ネットワーク起因の trivial なエラーが恒常的に
発生していたのですが、
それらがサービスメッシュによる適切なリトライ設定
によって、1週間に1件出るか出ないか程度に
下がりました。
16
課題
Copyright 2018 FUJITSU LIMITED
サービス間のつながり
障害発生時、どのサービスに影響あるか
Fault Toleranceの設定
サービス毎に違う
多数のサービスで最適な設定値をみつける
リリース判定
大量のメトリクスを目視で確認
パラメータを変更する度に再評価
17
Kayenta
Copyright 2018 FUJITSU LIMITED
https://github.com/spinnaker/kayenta
https://cloudplatform-jp.googleblog.com/2018/06/introducing-Kayenta-an-open-automated-canary-analysis-tool-from-Google-and-Netflix.html
(*)画像は上記URLより引用
自動カナリア分析ツール
NetflixとGoogleが共同開発
18
アジェンダ
Copyright 2018 FUJITSU LIMITED
MicroProfile
マイクロサービスの現状
MicroProfileを使ったデモ
まとめ
19
仮想フードコート
Copyright 2018 FUJITSU LIMITED
受付
アカウント
北京飯店
配送 来々軒
オーダー ???
new
20
デモ
Copyright 2018 FUJITSU LIMITED
MicroProfile Open Tracing
Jeagerによる可視化
MicroProfile Metrics
Prometheus / Grafana による監視
MicroProfile Fault Tolerance
障害分離
21
仮想フードコート エンドポイント
Copyright 2018 FUJITSU LIMITED
受付
北京飯店
来々軒
オーダー
new
22
http://...:8080/court/order?shop=店名&food=食物
http://...:7070/order?shop=店名&food=食物
http://...:6060/pekinhanten?food=食物
http://...:5050/rairaiken?food=食物
FoodCourt
OrderService
PekinHanten
Raraiken
メトリックス監視
Copyright 2018 FUJITSU LIMITED
MicroProfile
23
http://.../metrics/
Grafana
Prometheus
アジェンダ
Copyright 2018 FUJITSU LIMITED
MicroProfile
マイクロサービスの現状
MicroProfileを使ったデモ
まとめ
24
まとめ
Copyright 2018 FUJITSU LIMITED
監視?表示は、Prometheus/Grafanaがデファクト化
カナリアリリース判定?分析の研究は活発
MicroProfileを使うとPrometheus/Grafana対応が容易
最新の研究成果がそのまま利用可能に
25
惭颈肠谤辞辫谤辞蹿颈濒别でエンタープライズ品质

More Related Content

惭颈肠谤辞辫谤辞蹿颈濒别でエンタープライズ品质

  • 2. スピーカー Copyright 2018 FUJITSU LIMITED .setMemberOf(“Jakarta EE WG”) .setDirectorOf(“Eclipse Foundation Board”) .workFor(“富士通”) .build(); .setMemberOf(“JCP Executive Committee”) Speaker me = SpeakerBuilder .responsibleFor(“Launcher”) 1
  • 3. アジェンダ Copyright 2018 FUJITSU LIMITED MicroProfile マイクロサービスの現状 MicroProfileを使ったデモ まとめ 2
  • 4. アジェンダ Copyright 2018 FUJITSU LIMITED MicroProfile マイクロサービスの現状 MicroProfileを使ったデモ まとめ 3
  • 5. microprofile.io Copyright 2018 FUJITSU LIMITED 企業向けJavaによるマイクロサービスアーキテクチャ 個人?ベンダ?JUGの協業によるオープンソースコミュニティ 2016年6月 IBM?LJC?Red Hatなどにより設立 4
  • 6. 2016年12月 Eclipse Foundationのプロジェクトに Eclipse MicroProfile Copyright 2018 FUJITSU LIMITED 各ベンダーが実装を提供仕様を議論?策定 5
  • 7. ロードマップ Copyright 2018 FUJITSU LIMITED 既存Java EE7APIのみ CDI/JSON-P/JAX-RS ポータビリティ強化 (コンテナ環境等) Config 1.2 信頼性の保証 HealthCheck FaultTolerance 1.3 2.0 2.1 2.2 サービス呼出しのサポート OpenTracing OpenAPI RestClient 1.4 リアクティブストリーム対応 Reactive 8 7 1.0 1.1 6
  • 8. Duke’s Choice Award Copyright 2018 FUJITSU LIMITED https://blogs.oracle.com/java/announcing-2018-dukes-choice-award-winners MicroProfile.ioが受賞 Oracle CodeOneで発表 7
  • 9. アジェンダ Copyright 2018 FUJITSU LIMITED MicroProfile マイクロサービスの現状 MicroProfileを使ったデモ まとめ 8
  • 10. 新技術適応カーブ Copyright 2018 FUJITSU LIMITED http://enterpriseitadoption.com/ 日本のEnterpriseIT MSAの現在 エンタープライズ品質が課題 9
  • 11. MSAに期待すること Copyright 2018 FUJITSU LIMITED 36.6% 38.8% 12.7% 6.0% 6.0% Microservices trends 2017, Hartmut Schlosser, April 12, 2017 (https://jaxenter.com/microservices-trends-2017-survey-133265.html) DDD モノリスやめたい分散統治 35.1% 33.6% 17.2% 9.0% 5.1% 26.9% 18.7% 20.1% 20.1% 14.2% 26.1% 24.6% 11.9% 19.4% 17.9% Full agree 75% agree 50% agree 25% agree No agree 20.9% 33.6%23.1% 14.9% 7.5% 耐障害性 疎結合ディプロイ 51.5 %27.6% 9.0% 7.5% 4.4% 10
  • 12. カナリアリリース Copyright 2018 FUJITSU LIMITED LB 問題がなければ 新リリースに 問題があれば 既存リリースに 既存リリース 新リリース 11
  • 13. マイクロサービス重みづけ Copyright 2018 FUJITSU LIMITED μ μ μ μ μ μ μ サービスは均一ではない SLAの低いサービス SLAの高いサービス カナリアリリース プロダクトリリース 12
  • 14. クックパッドの事例 Copyright 2018 FUJITSU LIMITED https://techlife.cookpad.com/entry/2018/05/08/080000 Envoy、Prometheus、Grafanaで監視 13
  • 15. クックパッドの事例 Copyright 2018 FUJITSU LIMITED https://techlife.cookpad.com/entry/2018/05/08/080000 Envoy、Prometheus、Grafanaで監視 どのサービスとどのサービスが通信していて、 あるサービスの障害がどこに伝播するのか、 ということを規模の拡大とともに把握しづらくなってる という問題がありました。 14
  • 16. クックパッドの事例 Copyright 2018 FUJITSU LIMITED https://techlife.cookpad.com/entry/2018/05/08/080000 Envoy、Prometheus、Grafanaで監視 それぞれのアプリケーションでライブラリを利用して、 タイムアウト?リトライ?サーキットブレーカーの設定を 行っていましたが、 どんな設定になっているかはアプリケーションコードを 別個に見る必要があり、 一覧性がなく状況把握や改善がしづらい状況でした。 15
  • 17. クックパッドの事例 Copyright 2018 FUJITSU LIMITED https://techlife.cookpad.com/entry/2018/05/08/080000 Envoy、Prometheus、Grafanaで監視効果 トラフィックの多いサービス同士の連携部分が複数あり、 今までそれらでは1時間に5,6件ほどの ネットワーク起因の trivial なエラーが恒常的に 発生していたのですが、 それらがサービスメッシュによる適切なリトライ設定 によって、1週間に1件出るか出ないか程度に 下がりました。 16
  • 18. 課題 Copyright 2018 FUJITSU LIMITED サービス間のつながり 障害発生時、どのサービスに影響あるか Fault Toleranceの設定 サービス毎に違う 多数のサービスで最適な設定値をみつける リリース判定 大量のメトリクスを目視で確認 パラメータを変更する度に再評価 17
  • 19. Kayenta Copyright 2018 FUJITSU LIMITED https://github.com/spinnaker/kayenta https://cloudplatform-jp.googleblog.com/2018/06/introducing-Kayenta-an-open-automated-canary-analysis-tool-from-Google-and-Netflix.html (*)画像は上記URLより引用 自動カナリア分析ツール NetflixとGoogleが共同開発 18
  • 20. アジェンダ Copyright 2018 FUJITSU LIMITED MicroProfile マイクロサービスの現状 MicroProfileを使ったデモ まとめ 19
  • 21. 仮想フードコート Copyright 2018 FUJITSU LIMITED 受付 アカウント 北京飯店 配送 来々軒 オーダー ??? new 20
  • 22. デモ Copyright 2018 FUJITSU LIMITED MicroProfile Open Tracing Jeagerによる可視化 MicroProfile Metrics Prometheus / Grafana による監視 MicroProfile Fault Tolerance 障害分離 21
  • 23. 仮想フードコート エンドポイント Copyright 2018 FUJITSU LIMITED 受付 北京飯店 来々軒 オーダー new 22 http://...:8080/court/order?shop=店名&food=食物 http://...:7070/order?shop=店名&food=食物 http://...:6060/pekinhanten?food=食物 http://...:5050/rairaiken?food=食物 FoodCourt OrderService PekinHanten Raraiken
  • 24. メトリックス監視 Copyright 2018 FUJITSU LIMITED MicroProfile 23 http://.../metrics/ Grafana Prometheus
  • 25. アジェンダ Copyright 2018 FUJITSU LIMITED MicroProfile マイクロサービスの現状 MicroProfileを使ったデモ まとめ 24
  • 26. まとめ Copyright 2018 FUJITSU LIMITED 監視?表示は、Prometheus/Grafanaがデファクト化 カナリアリリース判定?分析の研究は活発 MicroProfileを使うとPrometheus/Grafana対応が容易 最新の研究成果がそのまま利用可能に 25