javaone 2016総括 #jjug
TRANSCRIPT
JavaOne 2016総括
2016/10/15
鈴木雄介グロースエクスパートナーズ株式会社 執行役員
日本Javaユーザーグループ 会長
JavaOne 2016 報告会
#JJUG
1
鈴木雄介• グロースエクスパートナーズ(株)
» 執行役員/アーキテクチャ事業本部長
» http://www.gxp.co.jp/
• 日本Javaユーザーグループ
» 会長
» http://www.java-users.jp/
• SNS
» http://arclamp.hatenablog.com/
» @yusuke_arclamp
アジェンダ
• 標準Javaについて
• コミュニティについて
• トレンド
2
標準Javaについて
3
標準Javaについて
「特に進展なし」• Java SE 9、Java EE 8については新しい情報なし
»むしろ、EE 8については一部の仕様がドロップ
»Java SE 10は未定
• Java ME、JavaFXについてはキーノート発表なし
»Java MEはJava SE Embededへ移行
»JavaFXは標準として開発がされていくのか?
▸ファンは多いためOSSでの継続が期待されるところ?
4
標準Javaについて
今後への懸念は払拭されず• Java EE Guardians
»https://javaee-guardians.io/
»ORACLEのJavaEEへのコミット低下を懸念する団体
»Java EEの推進を実現力があるベンダーへ移行することを提案
• ロードマップは出たけども…
»本当にリリースできるのか?は不安
• 問題はEEだけではない
5
MAKE JAVA GREAT AGAIN
6
MAKE JAVA GREAT AGAIN
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
8http://www.slideshare.net/DanHeidinga/j9-under-the-hood-of-the-next-open-source-jvm
※今まで
9http://www.slideshare.net/DanHeidinga/j9-under-the-hood-of-the-next-open-source-jvm
※これから
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
11https://www.eclipsecon.org/na2016/sites/default/files/slides/OMR%20Modern%20Toolkit%20for%20Building%20Language%20Runtimes.pdf
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
MAKE JAVA GREAT AGAIN
誰がJavaを偉大にするのか?• 標準Javaの歩みが遅くなっても誰かが追い越していくだけ
»MicroProfileでも「標準外をいれよう」という議論がある
• OSSとコミュニティが進化を加速していく
»その中でビジネスができるようにしていくのはどうするのか?
13
コミュニティについて
14
15
16
エピソード21:コーダーの覚醒
ダースコーダーとデュークトルーパーは銀河中の開発者からモジュールを盗み、彼らのコードがコンパイルできなくなうようにしてしまいました。
17
OSGiがあるよ!それじゃダメなの!
18
絶大な力を持つダースコーダー
19
新たな仲間達との出会い
20
新たな師との出会い
21
敵の居場所を捜す
22
果たしてDarth Coderの正体とは!?
コミュニティの状況
Community Keynote• 相変わらずの学芸会ノリ
»コミュニティの人やORACLEの人によるJavaネタ大会▸ オンデマンド:https://www.oracle.com/javaone/on-demand/index.html
»特に情報はないけど「コミュニティが中心だ」というメッセージにはなっている!?
»Java祭りの出し物と思えば楽しい
• JavaOneは「ベンダー主導の情報発信の場」から「コミュニティが交流する場」へ
23
JavaOneの総括
Javaに閉じず(閉じてる意味がない)• “Java”というよりは、Javaで作られたアプリケーションを中心としたエンジニア同士の情報交換の場
»あくまでも正装はTシャツとジーパン
• 雰囲気はオープン!
»開かれていることがJavaの価値
• エンタープライズ色が強めなのが特色
»金融系、政府系の人も多い
24
トレンド
25
キーワード
DevOps、Cloud、Microservices、Reacitve• 標準Javaに関連しない講演だと、もはやJavaの話は少ない
»サーバサイド系は特に
• エンタープライズ開発の定点観測としては重要
»去年は”Microservices”
26
キーワード
Agile• もはや議論すらない。常識の範疇
»“Agile”を含むセッションは6個(タイトルに含むのは1つだけ)
»ウォーターフォールがダメということではなく、アジャイルになるべきものはアジャイルになっている、ということだと理解
• どういうリリースサイクルか?という問いはある
»2週間、1ヶ月、3ヶ月、6ヶ月…
• あとは具体的なツールの話
»プロセス論が話されることは少ない
27
キーワード
DevOps 1/2• “DevOps”を含むセッションは51個
• 定義はそんなに重要ではない
»≒ Continuous Integration / Continuous Deploy (Delivery)
»ツールとしてもJenkinsやBambooが一般化
• 一周回って次の課題へ
»マイクロサービス環境におけるデプロイをどうしていくか
28
キーワード
DevOps 2/2• コンテナを前提としたデプロイ
»“Docker”は26個、Kubernetes+Mesos
• 複雑なパイプライン設計をどうしていくのか?
»Big one buildから、Network buildへ
• 長くなったテスト時間を短くするには?
»リリースサイクルに間に合わない
• メトリクスが重要
»監視の先へ
29
キーワード
Cloud• 使ってて当たり前
»“Cloud”を含むセッションは137個
»AWS勢が圧倒的に感じる
• サーバレスへの関心は高くなっている
»AWS Lambda
30
キーワード
Microservices 1/3• 一般的な概念として定着しつつある
»“Microservices”を含むセッションは52個
• なぜ分けるか?いかに分けるか?という議論より、分けたサービスをいかに管理するか?という議論
»メリットの話ではなく、デメリットを減らしていく議論へ
»Netflixのトップページでは500個のサービスが動く
▸Amazonは700-800個?
31
キーワード
Microservices 2/3• データ共有
»Event-Sourcing、ビュー、トリガー、ストアド、ETL連携
• Resilientなサービス設計
»タイムアウト、リトライ、サーキットブレーカー、遅延対応…
• テスト戦略
»Consumer-Driven Contract testing
• 疎結合を優先し、非同期処理での不整合を許容する
»「Amazonは処理に失敗したらクーポンを出しているよ」
32
キーワード
Microservices 3/3• Microservicesのプラットフォームは何がいいか?
»Spring Cloud→
»基本的にはJava EEも同じ方向性
33Bundling Microservices to Optimize Consumption for Devices with Spring Cloud and Netflix OSS [CON6461]
キーワード
Reactive• 用語定義やメリットの議論が継続中
»“Reactive”を含むセッションは26個
»Lightbend(元Typesafe)の存在感
• マイクロサービス間通信としてのReactive
»“通信する”という概念そのものがボトルネックに
▸RESTful over HTTP 1は限界
▸サービスチェーン問題への解決が必要
▸通信を抽象化した非同期/非対称なイベント駆動モデルが必要
34
未来予測
数千、数万のサービスで構成されたシステム• イベント駆動によるサービス間連携
»非同期/非対称でのやり取りで、システムの境界線が曖昧に
»サーバレスの延長?
• サービスの制御は全てプラットフォームに任せる
»ランタイムは数万~数十万
»デプロイしたコードに最適化されたランタイム上で動く
▸サービスに定義されたProfileにあわせてインフラとミドルを組み上げる
35
まとめ
36
Javaの未来について
誰がJavaを偉大にするのか?• コミュニティやOSSと協業できる企業
»Javaはオープン化されている
»健全なエコシステムがあることは重要
• JavaOneはコミュニティの交流の場として機能している
»もちろん、行く価値があります
»DevOps、Cloud、Microservices、Reacitve、その先へ
37
お知らせ
38
JJUG CCC Fall 2016
12/3(土)開催です!!• (冬じゃないか、という指摘は受付けてません)
• 過去最大:47セッション+ブース
»鋭意コンテンツ策定中!
39