JavaOne 2016総括 #jjug

40
JavaOne 2016総括 2016/10/15 鈴木雄介 グロースエクスパートナーズ株式会社 執行役員 日本Javaユーザーグループ 会長 JavaOne 2016 報告会 #JJUG

Transcript of JavaOne 2016総括 #jjug

Page 1: JavaOne 2016総括 #jjug

JavaOne 2016総括

2016/10/15

鈴木雄介グロースエクスパートナーズ株式会社 執行役員

日本Javaユーザーグループ 会長

JavaOne 2016 報告会

#JJUG

Page 2: JavaOne 2016総括 #jjug

1

鈴木雄介• グロースエクスパートナーズ(株)

» 執行役員/アーキテクチャ事業本部長

» http://www.gxp.co.jp/

• 日本Javaユーザーグループ

» 会長

» http://www.java-users.jp/

• SNS

» http://arclamp.hatenablog.com/

» @yusuke_arclamp

Page 3: JavaOne 2016総括 #jjug

アジェンダ

• 標準Javaについて

• コミュニティについて

• トレンド

2

Page 4: JavaOne 2016総括 #jjug

標準Javaについて

3

Page 5: JavaOne 2016総括 #jjug

標準Javaについて

「特に進展なし」• Java SE 9、Java EE 8については新しい情報なし

»むしろ、EE 8については一部の仕様がドロップ

»Java SE 10は未定

• Java ME、JavaFXについてはキーノート発表なし

»Java MEはJava SE Embededへ移行

»JavaFXは標準として開発がされていくのか?

▸ファンは多いためOSSでの継続が期待されるところ?

4

Page 6: JavaOne 2016総括 #jjug

標準Javaについて

今後への懸念は払拭されず• Java EE Guardians

»https://javaee-guardians.io/

»ORACLEのJavaEEへのコミット低下を懸念する団体

»Java EEの推進を実現力があるベンダーへ移行することを提案

• ロードマップは出たけども…

»本当にリリースできるのか?は不安

• 問題はEEだけではない

5

Page 7: JavaOne 2016総括 #jjug

MAKE JAVA GREAT AGAIN

6

MAKE JAVA GREAT AGAIN

Page 8: JavaOne 2016総括 #jjug

MAKE JAVA GREAT AGAIN

IBM SDK for Java Going Open Source• IBMのJVM実装であるIBM J9をOpenJ9としてOSS化

»Coming Soon http://openj9.mybluemix.net/

»OpenJ9はEclipse OMRがベース

• “OpenJ9ベースのOpenJDK”が登場する

»おそらくHotSpotベースよりも起動が速く、footprintが小さい

»HotSpotベースのものがなくなるわけではない

7

Page 9: JavaOne 2016総括 #jjug

8http://www.slideshare.net/DanHeidinga/j9-under-the-hood-of-the-next-open-source-jvm

※今まで

Page 10: JavaOne 2016総括 #jjug

9http://www.slideshare.net/DanHeidinga/j9-under-the-hood-of-the-next-open-source-jvm

※これから

Page 11: JavaOne 2016総括 #jjug

MAKE JAVA GREAT AGAIN

Eclipse OMR• 2016年3月に公開。コンパイラを9月に追加

»Dual License : Eclipse Public License V1.0/Apache 2.0

»https://github.com/eclipse/omr

• 任意の言語の実行環境を開発するためのツールキット

»JITコンパイラ、GC、スレッドライブラリなど言語に非依存でVMに必要な機能を集めたもの

»CRubyをOSS提供済み▸ http://www.slideshare.net/craiglehmann/the-omr-gc-talk-ruby-kaigi-2015

▸CPythonは公開予定ありと思われる

10

Page 12: JavaOne 2016総括 #jjug

11https://www.eclipsecon.org/na2016/sites/default/files/slides/OMR%20Modern%20Toolkit%20for%20Building%20Language%20Runtimes.pdf

Page 13: JavaOne 2016総括 #jjug

MAKE JAVA GREAT AGAIN

今後の展開は注目• Apache Harmony論争再び?

»JDK 5, 6のオープンソース実装(Apache 2.0)を目指して公開

»Sunが対抗してOpenJDK(GPL)を提供

»なんやかんやでAndroidに組み込まれてAndroid訴訟に発展した

▸http://www.publickey1.jp/blog/16/googleoraclejava_apiitjjug.html

▸Android NougatではOpenJDK実装に切替え

• IBMによる言語ランタイムのOSS化

»Javaに限らず多くの言語で主流となるのか?

12

Page 14: JavaOne 2016総括 #jjug

MAKE JAVA GREAT AGAIN

誰がJavaを偉大にするのか?• 標準Javaの歩みが遅くなっても誰かが追い越していくだけ

»MicroProfileでも「標準外をいれよう」という議論がある

• OSSとコミュニティが進化を加速していく

»その中でビジネスができるようにしていくのはどうするのか?

13

Page 15: JavaOne 2016総括 #jjug

コミュニティについて

14

Page 16: JavaOne 2016総括 #jjug

15

Page 17: JavaOne 2016総括 #jjug

16

エピソード21:コーダーの覚醒

ダースコーダーとデュークトルーパーは銀河中の開発者からモジュールを盗み、彼らのコードがコンパイルできなくなうようにしてしまいました。

Page 18: JavaOne 2016総括 #jjug

17

OSGiがあるよ!それじゃダメなの!

Page 19: JavaOne 2016総括 #jjug

18

絶大な力を持つダースコーダー

Page 20: JavaOne 2016総括 #jjug

19

新たな仲間達との出会い

Page 21: JavaOne 2016総括 #jjug

20

新たな師との出会い

Page 22: JavaOne 2016総括 #jjug

21

敵の居場所を捜す

Page 23: JavaOne 2016総括 #jjug

22

果たしてDarth Coderの正体とは!?

Page 24: JavaOne 2016総括 #jjug

コミュニティの状況

Community Keynote• 相変わらずの学芸会ノリ

»コミュニティの人やORACLEの人によるJavaネタ大会▸ オンデマンド:https://www.oracle.com/javaone/on-demand/index.html

»特に情報はないけど「コミュニティが中心だ」というメッセージにはなっている!?

»Java祭りの出し物と思えば楽しい

• JavaOneは「ベンダー主導の情報発信の場」から「コミュニティが交流する場」へ

23

Page 25: JavaOne 2016総括 #jjug

JavaOneの総括

Javaに閉じず(閉じてる意味がない)• “Java”というよりは、Javaで作られたアプリケーションを中心としたエンジニア同士の情報交換の場

»あくまでも正装はTシャツとジーパン

• 雰囲気はオープン!

»開かれていることがJavaの価値

• エンタープライズ色が強めなのが特色

»金融系、政府系の人も多い

24

Page 26: JavaOne 2016総括 #jjug

トレンド

25

Page 27: JavaOne 2016総括 #jjug

キーワード

DevOps、Cloud、Microservices、Reacitve• 標準Javaに関連しない講演だと、もはやJavaの話は少ない

»サーバサイド系は特に

• エンタープライズ開発の定点観測としては重要

»去年は”Microservices”

26

Page 28: JavaOne 2016総括 #jjug

キーワード

Agile• もはや議論すらない。常識の範疇

»“Agile”を含むセッションは6個(タイトルに含むのは1つだけ)

»ウォーターフォールがダメということではなく、アジャイルになるべきものはアジャイルになっている、ということだと理解

• どういうリリースサイクルか?という問いはある

»2週間、1ヶ月、3ヶ月、6ヶ月…

• あとは具体的なツールの話

»プロセス論が話されることは少ない

27

Page 29: JavaOne 2016総括 #jjug

キーワード

DevOps 1/2• “DevOps”を含むセッションは51個

• 定義はそんなに重要ではない

»≒ Continuous Integration / Continuous Deploy (Delivery)

»ツールとしてもJenkinsやBambooが一般化

• 一周回って次の課題へ

»マイクロサービス環境におけるデプロイをどうしていくか

28

Page 30: JavaOne 2016総括 #jjug

キーワード

DevOps 2/2• コンテナを前提としたデプロイ

»“Docker”は26個、Kubernetes+Mesos

• 複雑なパイプライン設計をどうしていくのか?

»Big one buildから、Network buildへ

• 長くなったテスト時間を短くするには?

»リリースサイクルに間に合わない

• メトリクスが重要

»監視の先へ

29

Page 31: JavaOne 2016総括 #jjug

キーワード

Cloud• 使ってて当たり前

»“Cloud”を含むセッションは137個

»AWS勢が圧倒的に感じる

• サーバレスへの関心は高くなっている

»AWS Lambda

30

Page 32: JavaOne 2016総括 #jjug

キーワード

Microservices 1/3• 一般的な概念として定着しつつある

»“Microservices”を含むセッションは52個

• なぜ分けるか?いかに分けるか?という議論より、分けたサービスをいかに管理するか?という議論

»メリットの話ではなく、デメリットを減らしていく議論へ

»Netflixのトップページでは500個のサービスが動く

▸Amazonは700-800個?

31

Page 33: JavaOne 2016総括 #jjug

キーワード

Microservices 2/3• データ共有

»Event-Sourcing、ビュー、トリガー、ストアド、ETL連携

• Resilientなサービス設計

»タイムアウト、リトライ、サーキットブレーカー、遅延対応…

• テスト戦略

»Consumer-Driven Contract testing

• 疎結合を優先し、非同期処理での不整合を許容する

»「Amazonは処理に失敗したらクーポンを出しているよ」

32

Page 34: JavaOne 2016総括 #jjug

キーワード

Microservices 3/3• Microservicesのプラットフォームは何がいいか?

»Spring Cloud→

»基本的にはJava EEも同じ方向性

33Bundling Microservices to Optimize Consumption for Devices with Spring Cloud and Netflix OSS [CON6461]

Page 35: JavaOne 2016総括 #jjug

キーワード

Reactive• 用語定義やメリットの議論が継続中

»“Reactive”を含むセッションは26個

»Lightbend(元Typesafe)の存在感

• マイクロサービス間通信としてのReactive

»“通信する”という概念そのものがボトルネックに

▸RESTful over HTTP 1は限界

▸サービスチェーン問題への解決が必要

▸通信を抽象化した非同期/非対称なイベント駆動モデルが必要

34

Page 36: JavaOne 2016総括 #jjug

未来予測

数千、数万のサービスで構成されたシステム• イベント駆動によるサービス間連携

»非同期/非対称でのやり取りで、システムの境界線が曖昧に

»サーバレスの延長?

• サービスの制御は全てプラットフォームに任せる

»ランタイムは数万~数十万

»デプロイしたコードに最適化されたランタイム上で動く

▸サービスに定義されたProfileにあわせてインフラとミドルを組み上げる

35

Page 37: JavaOne 2016総括 #jjug

まとめ

36

Page 38: JavaOne 2016総括 #jjug

Javaの未来について

誰がJavaを偉大にするのか?• コミュニティやOSSと協業できる企業

»Javaはオープン化されている

»健全なエコシステムがあることは重要

• JavaOneはコミュニティの交流の場として機能している

»もちろん、行く価値があります

»DevOps、Cloud、Microservices、Reacitve、その先へ

37

Page 39: JavaOne 2016総括 #jjug

お知らせ

38

Page 40: JavaOne 2016総括 #jjug

JJUG CCC Fall 2016

12/3(土)開催です!!• (冬じゃないか、という指摘は受付けてません)

• 過去最大:47セッション+ブース

»鋭意コンテンツ策定中!

39