More Related Content Similar to Microprofileでエンタープライズ品質
Similar to Microprofileでエンタープライズ品質 (20) More from Kenji Kazumura (7) Microprofileでエンタープライズ品質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
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
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
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
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
26. まとめ
Copyright 2018 FUJITSU LIMITED
監視・表示は、Prometheus/Grafanaがデファクト化
カナリアリリース判定・分析の研究は活発
MicroProfileを使うとPrometheus/Grafana対応が容易
最新の研究成果がそのまま利用可能に
25