【東京】JJUGナイトセミナー「Jakarta EE特集 - Mike Milinkovichさん(Eclipse Foundation代表)来日記念」に参加してきました(2018/11/19)
【東京】JJUGナイトセミナー「Jakarta EE特集 - Mike Milinkovichさん(Eclipse Foundation代表)来日記念」
MicroProfileを利用したクラウドネイティブでのエンタープライズ品質(数村憲治さん)
- jakartaEEになって、富士通さんが最初のコントリビューターになっていた。
日本もまだまだやる気である。実はアルファベット順だった。
自己紹介
- Exlipse foundationのBoardを務める
マイクロサービスの現状
- Oracle CodeOneでMicroProfile.ioが受賞している
- 新技術はエンタープライズに受け入れ難い。
<!-- -->
- 品質が課題ではないか。
- マイクロサービスに期待すること
- デプロイの期待が多い
- カナリアリリース
- 並行で動作させる。
- 新リリースが問題あれば既存リリース
- 今日はカナリアリリースがテーマ
サービスは均一でない問題
- SLAの高い低い
- プロダクトリリースとカナリアリリース
- SLAの低いサービスのデプロイでSLAの高いデプロイを汚染しては行けない
クックパッドの例
- 開発者ブログ
- service Meshを行った
- どのサービスとどのサービスが通信していて、サービスの影響範囲が分かりづらい
- タイムアウトリトライ、サーキとブレーカー、など、どこにどんな設定をしているかをアプリケーションを個別にかんしする
- ここでservice meshを入れた
- Envoy , Prometeus, Grafana...で監視した
- 1hに5,6件のtrivialエラーが出てたが、劇的に少なくなった
マイクロサービスの課題
- 解決しないと行けないが、明確な答えはない
Kayentaという解決策
- 自動カナリア分析ツール
- マイクロプロファイルはこことうまく付き合っていくことが大事
仮想フードコートの例
4つのサービス、Jax-RS
- 受付サービスはオーダーサービスに流すだけ
- オーダーサービスは、きた店によって振り分けることを行う
fujitsu launcherというマイクロプロファイルの設定を行う? 起動する
Jaeger UIを使う
- リクエスト数ごとにトレースを見ることができる
- リクエストリソースや、時間を見ることができる
来々軒の追加
- ただし2回に1回は3s遅延するように実装する
メトリクスを取る
- jakartaEEになって、富士通さんが最初のコントリビューターになっていた。 日本もまだまだやる気である。実はアルファベット順だった。
自己紹介
- Exlipse foundationのBoardを務める
マイクロサービスの現状
- Oracle CodeOneでMicroProfile.ioが受賞している
- 新技術はエンタープライズに受け入れ難い。
<!-- -->
- 品質が課題ではないか。
- マイクロサービスに期待すること
- デプロイの期待が多い
- カナリアリリース
- 並行で動作させる。
- 新リリースが問題あれば既存リリース
- 今日はカナリアリリースがテーマ
サービスは均一でない問題
- SLAの高い低い
- プロダクトリリースとカナリアリリース
- SLAの低いサービスのデプロイでSLAの高いデプロイを汚染しては行けない
クックパッドの例
- 開発者ブログ
- service Meshを行った
- どのサービスとどのサービスが通信していて、サービスの影響範囲が分かりづらい
- タイムアウトリトライ、サーキとブレーカー、など、どこにどんな設定をしているかをアプリケーションを個別にかんしする
- ここでservice meshを入れた
- Envoy , Prometeus, Grafana...で監視した
- 1hに5,6件のtrivialエラーが出てたが、劇的に少なくなった
マイクロサービスの課題
- 解決しないと行けないが、明確な答えはない
Kayentaという解決策
- 自動カナリア分析ツール
- マイクロプロファイルはこことうまく付き合っていくことが大事
仮想フードコートの例
4つのサービス、Jax-RS
- 受付サービスはオーダーサービスに流すだけ
- オーダーサービスは、きた店によって振り分けることを行う
fujitsu launcherというマイクロプロファイルの設定を行う? 起動する
Jaeger UIを使う
- リクエスト数ごとにトレースを見ることができる
- リクエストリソースや、時間を見ることができる
来々軒の追加
- ただし2回に1回は3s遅延するように実装する
メトリクスを取る
その際に以下のコードを仕込む
@Metric Timer pekinTimer;
@Metric Timer rairaiTimer;
... 中略
Timer.Comtext timer = null;
timer = pekinTimer.time(); // ストップウォッチが開始する
timer = rairaiTimer.time() // ストップウォッチが開始する
if(time != null)
timer.close; // タイマークローズと計測終了
- 何回かアクセスすると、メトリクスを見ることができる
- /metrics で確認可能
- これをもう少し見やすくするために、prometeusが活躍する <!-- -->
-
- これは色々なデータソースを見ることができる
- 今回はprometeusを使う
- prometeusのURLを指定してデータを収集する
- DashBoardで、色々データをカスタマイズすることができる
- リクエストの最大、平均などをリクエストごとに算出、比較することができる
- 負荷をかけるとこんな感じでメトリクスを見ることができる(写真)
何も設定していないと、来々軒のせいで北京飯店がアクセスに8.6sほどかかる
オーダーと来々軒にタイムアウトを設定する(マイクロプロファイルのアノテーション)
@Timeout(100)
...
Thread.interrupted();
return shop + "is bussy";
-
タイムアウトが起こることで、北京飯店の影響はどうなるか?
- 8.0sくらいに知人だ
サーキットブレーカーを入れるとどうなるか?
@CircuitVreaker successThreshold = 5, ...
-
タイムアウトが起こるとサーキットブレーカが失敗と判断する
- 失敗したときのリトライ設定なども行うことができるs
サーキットブレーカーを入れることで8.0s → 2.3sほどに短縮された
まとめ
- 監視、表示はPrometheus/Grafanaがデファクト化
- カナリアリリース判定・分析の研究は活発である
- MicroProfileを使うと、Prometheus/Grafana対応が容易
- 最新の研究成果がそのまま利用可能になる
質疑応答
- JakartaEEとマイクロプロファイルの統合はあり得るのか?
- 最終的には一緒の方向
- 今はまだその時期ではない。
- マイクロプロファイルがJakartaEEのプロファイルになるのでは?
- 日本ではマイクロプロファイルはピンときていない
- globalでも状況は変わらない
- マーケットを広げるためには...?
- Springが先行している。
- ようやく reactiveが来年2月、その後にブレイクするのでは??
The Future of Cloud Native Java by Mike Milinkovich-san
CloudでJavaを使う
- javaEEがEclipse Foundationに寄贈されて、JakaltaEEとしてリスタートされるお話が聞けるかもしれない
- Eclipse Foundation、IDEだけではない!
Eclipse Foundationは何をしているか?
- infrastructure
- community Development
- process & governance
- IP Management & Licensing
他のプロジェクトと何が違うか
<!-- -->
- Linux Foundation
- GitHub
- Apache Foundationとの比較
An international Community
- ドイツ、アメリカ、フランス、カナダと続く
Coloud Native Java
- mictoprofile
- vertx
- Jakarta EE
Open j9
これからはクラウドやk8sを利用したJavaが活発になるだろう
Jakarta EE
- JavaEEはなくなり、JakartaEEと移管された
- Strategic Members
- 富士通、IBM、ORACKE、redhat, pauara, tomitribe...
- Participation Members
- could bees, picotal, みずほ, Microsoft, SAP...
Working Group
- Industry consortium that ...
- Bendor Netural
Recent Accomplishments
- 39 new Eclipse projects
- JavaEE 8 TCK agreement completed with oracle
TCK is now open sourced
Technical Direction Guiding Principles
- 富士通、IBM、ORACKE、redhat, pauara, tomitribe...
- could bees, picotal, みずほ, Microsoft, SAP...
High Level Roadmap
Guiding Principles (JCPは何が違うのか)
What is Eclipse MicroProfile?
- オープンソースコミュニティ specification for Enterprise Java microservices→
implementations
- redhat IBM oracle ...
microprofile 2.1(Oct, 2018)
- Open Tracingが1.2に変更
- その他は2.0と同じ
Other news in this
Eclipse Open J9
JIT compiler Per Microservice
- Cloud native
- マイクロサービスではJavaのアプリケーション、メモリを多く消費する
- JVMの初回起動は一般的に重くなるが
- マイクロサービスにおいては初回起動が多く発生するため、なんとかしたい
- OpenJDKに比べて、Open J9では性能が40%アップしている
- 参考記事
Cloud Nation Open Innovation
- Jenkins GithubのようなWebベースで設定できるIDE
- IoTコミュミティ
- hono IoTメッセージ (NTT Data Cloudではやく動く?)
質疑応答
pipovtalがJakartaEEの参加者であることに疑問(Participete)
- マーケティングpeopleとテクノロジーpeopleが存在する
- モノリシック アプリケーションサーバーというイメージがあるが...
- しかしJavaEEはツールキッドである
- JPA JAX-RS の企画を作る上でPivotalとても大事な存在
- Springとコラボレートもしている
マイクロプロファイルは大きくなりすぎるのでは
- テクニカルの仕事なのでなんとも言えない
- ただ、小さくするのは大事だ
- しかしSpringだってFatじゃないか!
IntelliJ J の急成長をどう見ているか?
- google switched IntelliJとeclipseをスイッチしている
- eclipseは 100% IBMが開発している
- しかしとても多くのコミュニティがある
- 参考記事
- eclipseはJunoで windows vistaで動かないバグを生み出した
- vs code はいいが、not visual studioである
- このように、EclipseとIntelliJの違いはあるだろう
なんでJakartaという名前にしたの
公式サイトはこちら
所感
- Springではすでに取り入れられているReactive、ServiceMeshなどがMicroProfileにはまだないため(2019/2頃予定)、やはり足並みはSpringのほうが早いなあとの印象を受けました。
JIT compiler Per Microservice
- Cloud native
- マイクロサービスではJavaのアプリケーション、メモリを多く消費する
- JVMの初回起動は一般的に重くなるが
- マイクロサービスにおいては初回起動が多く発生するため、なんとかしたい
- OpenJDKに比べて、Open J9では性能が40%アップしている
- 参考記事
Cloud Nation Open Innovation
- Jenkins GithubのようなWebベースで設定できるIDE
- IoTコミュミティ
- hono IoTメッセージ (NTT Data Cloudではやく動く?)
質疑応答
pipovtalがJakartaEEの参加者であることに疑問(Participete)
- マーケティングpeopleとテクノロジーpeopleが存在する
- モノリシック アプリケーションサーバーというイメージがあるが...
- しかしJavaEEはツールキッドである
- JPA JAX-RS の企画を作る上でPivotalとても大事な存在
- Springとコラボレートもしている
マイクロプロファイルは大きくなりすぎるのでは
- テクニカルの仕事なのでなんとも言えない
- ただ、小さくするのは大事だ
- しかしSpringだってFatじゃないか!
IntelliJ J の急成長をどう見ているか?
- google switched IntelliJとeclipseをスイッチしている
- eclipseは 100% IBMが開発している
- しかしとても多くのコミュニティがある
- 参考記事
- eclipseはJunoで windows vistaで動かないバグを生み出した
- vs code はいいが、not visual studioである
- このように、EclipseとIntelliJの違いはあるだろう
なんでJakartaという名前にしたの
公式サイトはこちら
所感
- Springではすでに取り入れられているReactive、ServiceMeshなどがMicroProfileにはまだないため(2019/2頃予定)、やはり足並みはSpringのほうが早いなあとの印象を受けました。
Author And Source
この問題について(【東京】JJUGナイトセミナー「Jakarta EE特集 - Mike Milinkovichさん(Eclipse Foundation代表)来日記念」に参加してきました(2018/11/19)), 我々は、より多くの情報をここで見つけました https://qiita.com/Takaichi00/items/7ccd409d6b595af29caa著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .