SlideShare a Scribd company logo
SpringOne Platform 2018
全体報告
2018/11/29 (木) JSUG勉強会
SpringOne Platform 2018 参加報告会
• 名前:岩塚 卓弥
• 所属:NTTソフトウェアイノベーションセンタ
• NTTの研究所の中でソフトウェアを専門に扱う
• 自部署ではソフトウェア工学を研究
• Springベースのグループ共通フレームワークの整備を担当
• SpringOne Platfromについて
• 前身のSpring One含めて4回目の参加
• 最初に参加したときの開催地もWashington D.C.
• 参加レポートも読んで下さい
• https://codezine.jp/article/detail/11180
自己紹介
2
• 名前:岩本 純佳
• 所属:NTTデータ 技術革新統括本部
• システム技術本部 生産技術部 ソフトウェア工学推進センタ
• 社内フレームワークの整備、普及展開
• SpringOne Platfromについて
• 初めての参加
• 参加レポートも読んで下さい
• https://codezine.jp/article/detail/11180
自己紹介
3
1. イベント概要
2. Spring Frameworkの改善と今後
3. その他のテクニカルなテーマ
4. ユーザ企業のDX事例
目次
4
1. イベント概要
5
• 10年以上前から開催
• 現在は開発元のPivotal社が年に1度米国で開催
• カンファレンスの内容は多岐に渡る
• Spring Framework
• Cloud Foundry, プラットフォーム
• 開発方法論
• ユーザー企業における実事例
SpringOne Platformとは
6
JavaのOSSフレームワーク
Spring Frameworkに関する最大規模のカンファレンス
• 日程:2018年9月24日-27日
• 開催地:Gaylord National Resort & Convention Center,
Washington, D.C.
• 参加者:約3000名 (対前年差+200)
• 日本からも40名程度が参加
SpringOne Platform 2018
7
SpringOne Platform 2018は
前年と同程度の規模で開催
日本からの注目の高まり
8
4年連続スポンサーを務めるNTTデータの他
富士通もスポンサーに加わった
• Main Stage (基調講演)...参加者全員が聴講
• Breakouts (セッション)...参加者それぞれが
選択して聴講
カンファレンスの様子
9
Pivotal, Google, Accentureを始めとする各社が
出展しており、ハンズオンやノベルティ配布など
様々なコンテンツで集客を行っていた。
展示ブースの様子
10
セッションの傾向
11
重点がSpring Frameworkから
プラットフォームに移りつつある印象
カテゴリ セッション数
Transformation, Case Studies 25
Cloud Foundry 21
DevOps, CI/CD, Agile 20
Kubernetes 19
Data, Databases 16
Event Driven, Reactive 15
Geode 15
Core Framework 13
Serverless, Microservices 13
Modern Web 11
カテゴリ
セッション数
(重複あり)
カテゴリ
セッション数
(重複あり)
Spring 26 DevOps 4
Cloud Foundry 16 Web & JS 4
Microservices 14 Integration & Messaging 3
Cloud Native 11 Product Management 3
Data & Databases 7 Security 3
Case Study 5 CI/CD 2
Transformation 5 Executive 2
Agile 4 Reactive programming 2
Big Data 4 Containers 1
Culture 4 Data Grid 1
• (参考) SpringOne Platform2016のセッションの様子
セッションの傾向
12
2. Spring Frameworkの
改善と今後
13
• 引用元
• Current and Future State of Java
• https://www.youtube.com/watch?v=onZJ8beVEtI
• Spring Framework 5.1 on JDK 8 & 11
• https://www.youtube.com/watch?v=h6PUjxe-blw
• How Fast is Spring?
• https://content.pivotal.io/springone-platform-2018-core-
framework/how-fast-is-spring
Spring Frameworkの改善と今後
14
Spring と Java
15
2017 2018 2019 2020
Java 9 Java 10
・・・
Java 8
(LTS)
2014/7
Spring 5.0
公式サポート
ベストエフォート
サポート
Spring と Java
16
2017 2018 2019 2020
Java 9 Java 10 Java 11
(LTS)
・・・
Java 8
(LTS)
2014/7
Spring 5.0 Spring 5.1
Spring と Java
17
2017 2018 2019 2020
Java 9 Java 10 Java 11
(LTS)
Java 12 Java 13
・・・
Java 8
(LTS)
2014/7
Spring 5.0 Spring 5.1 Spring 5.2
2019/6 GA予定
サポートについて
言及なし
Spring と Java(昨年時点の予定)
18
2017 2018 2019 2020
Java 9 Java 10 Java 11
(LTS)
Java 12 Java 13
・・・
Java 8
(LTS)
2014/7
Spring 5.0 Spring 5.1 Spring 5.2
2018 2Q 2018末 OR 2019初旬
実際のスケジュールとは3ヶ月以上乖離している
→ 5.2 は現在の予定通りリリースされるだろうか
• 関数型Bean定義/Bean取得の改善
• Webアプリケーションのデバッグログの改善
• フレームワーク内のリフレクション使用の最適化
• GraalVM による native image へのコンパイルに対応
• …
Spring Framework 5.1
19
• 改善の詳細自体は割愛
• 関数型スタイル VS アノテーションスタイル ??
• アノテーションスタイルがなくなるわけではない
• 疎結合,説明的で理解が容易なのがメリット
• 関数型スタイル“も”選択できる
• パッケージのスキャンは必要ない
• Kotlin DSLを使えばさらに簡潔に書ける
関数型Bean定義/Bean取得の改善
20
Webアプリケーションのデバッグログの改善
21
Spring Framework 5.0
GET で “/” にアクセスがあり “Hello” を返す例
GET で “/hoge” にアクセスがあり 404 のエラーページを返す例
Webアプリケーションのデバッグログの改善
22
Spring Framework 5.1
GET で “/” にアクセスがあり “Hello” を返す例
GET で “/hoge” にアクセスがあり 404 のエラーページを返す例
23
フレームワーク内のリフレクション使用の最適化
出典:How Fast is Spring?
Spring 5.1(Boot 2.1)にするだけで
起動時間が短縮される
Spring 5.1(Boot 2.1)にするだけで
最大ヒープサイズが少なくても起動できる
関数型Bean定義で
すべて明示的に定義すると
さらに高速起動&省メモリ
24
Springアプリケーション起動の高速化
How Fast is Spring? の内容を手元で実験
環境:MacBook Pro(Late 2016) 13-inch / 16GB RAM
2.2847
2.1063
1.8157
1.0126
0
0.5
1
1.5
2
2.5
ミニマムなSpring Bootアプリケーションの
起動にかかる時間
(sec)
Boot 2.0
25
Springアプリケーション起動の高速化
How Fast is Spring? の内容を手元で実験
環境:MacBook Pro(Late 2016) 13-inch / 16GB RAM
2.2847
2.1063
1.8157
1.0126
0
0.5
1
1.5
2
2.5
ミニマムなSpring Bootアプリケーションの
起動にかかる時間
(sec)
Boot 2.1に変更
26
Springアプリケーション起動の高速化
How Fast is Spring? の内容を手元で実験
環境:MacBook Pro(Late 2016) 13-inch / 16GB RAM
2.2847
2.1063
1.8157
1.0126
0
0.5
1
1.5
2
2.5
ミニマムなSpring Bootアプリケーションの
起動にかかる時間
(sec)
以下の依存ライブラリをexclude
・hibernate-validator
・netty-transport-native-epoll
・spring-boot-starter-logging
・spring-boot-starter-json
27
Springアプリケーション起動の高速化
How Fast is Spring? の内容を手元で実験
環境:MacBook Pro(Late 2016) 13-inch / 16GB RAM
2.2847
2.1063
1.8157
1.0126
0
0.5
1
1.5
2
2.5
ミニマムなSpring Bootアプリケーションの
起動にかかる時間
(sec)
以下の起動オプションを設定
-XX:+AlwaysPreTouch
-noverify
-XX:TieredStopAtLevel=1
-Djava.security.egd=file:/dev/./urandom/
-Dspring.jmx.enabled=false
-Dspring.config.location=
file:./src/main/resources/application.properties
• GraalVM
• http://www.graalvm.org
• OracleがOSS公開している多言語対応VM
• JVM言語をネイティブコンパイルする機能も備える
• JVMを使わずに動作する
• 起動が速い
• メモリフットプリントが小さい
• まだまだ開発途中…
• 本資料作成時点の最新版は1.0.0-RC9
• 制約も多い
GraalVM による native image へのコンパイル
28
GraalVM による native image へのコンパイル
29
参考資料:https://github.com/dsyer/spring-boot-micro-apps
こちらも手元で実験
• JDK 12のサポート
• GraalVMへの完全対応
• Kotlin 1.3の完全サポート
• Hibernate ORM 5.4 サポート
Spring Framework 5.2
30
3. その他の
テクニカルなテーマ
31
• Reactive
• RSocket, R2DBC
• 槙さんから後ほどご紹介いただきます
• Springプロジェクト諸々
• Spring Security 5.1
• Reactive 対応の拡大
• OAuth 2.0 リソースサーバ機能
• Spring Data Lovelace
• Immutable Object のサポート 他
• その他も色々
• プラットフォーム
• PCF
• Kubernetes
• Istio
• Knative
…
その他のテクニカルなテーマ
32
4. ユーザー企業の
DX事例
33
• デジタルトランスフォメーション (DX) 事例が多数
• 全150セッション中25セッション
• DBS銀行、ボーイング、アメリカ空軍など
• 下記によりDXを達成
• Pivotal Cloud Foundry (PCF) の導入
• Pivotal Labs 開発手法の導入支援
• 技術面だけでなく、社内文化の変革の重要性を
主張する内容が多かった
ユーザー企業のDX事例
34
DX成功の鍵は社内文化の変革
• Development Bank of Singapore銀行
• 1968年発足
• 南アジアで最大の銀行
• 2015-2018年の4年間でDXを達成
• ユーロマネー誌から「ワールド・ベスト・デジタルバンク」を
受賞 (2016年、2018年)
• 世界最大規模の銀行APIを公開
DBS銀行のDX事例(1/3)
35
• 開発手法・アーキテクチャの刷新
• ウォーターフォール→アジャイル
• モノリス→マイクロサービス
• Pivotal Labsの支援によるアジャイル開発手法導入
• Pivotal LabsメンバとDBS銀行内の開発者が一緒に
チームを組んで開発することによって、
テスト駆動開発やペアプログラミングの手法を定着させる
• PCFの導入による開発コスト・品質の改善
• 製品化までの期間を6分の1に短縮
• 開発コストを6分の1に削減
• システム停止時間0分
DBS銀行のDX事例(2/3)
36
• ソフトウェアの開発・サポートを社内で行うようにし、
外注と内製の割合を8:2から2:8に逆転
技術の社内展開
• 新たに技術・開発手法を身につけた開発者と他の開発者を
ペアにすることによって技術を横展開し、
社内全体の技術力を効率的に向上させた
新規人材雇用
• 2015年より人材雇用のための様々な取組を実施
• 2017, 2018年にはハッカソンを取り入れた採用方法「Hack2Hire」を実施。
金融以外を含めた様々な分野から高い技術力を持った人材を雇用するこ
とを目的とし、採用プロセスにオンラインの技術テストや1, 2日のハッカソ
ンを取り入れている。
DBS銀行のDX事例(3/3)
37
技術の社内展開と人材雇用により
技術の内製化を行った
最後に
38
次回のSpringOne Platformは下記の通り開催予定
• 日程: 2019年10月7日-10日
• 開催地:Austin, Texas
SpringOne Platform 2019
39
CodeZineにSpringOne 2018の参加レポートを寄稿
https://codezine.jp/article/detail/11180
Web記事の紹介
40
Thank you!

More Related Content

PDF
Androidアプリ開発にクリーンアーキテクチャを取り入れよう (OSS編)
PDF
Laravel5.1をつかったWebアプリケーション開発
PPTX
.NET vNext
PDF
【19-B-4】 そろそろ俺たちの本気を見せてやるぜ!~ マイクロソフトとOSSごった煮 DevOps 衝撃デモシリーズ!
PDF
価値を届ける技術 #bpstudy 96
PDF
関数型っぽくROSロボットプログラミング
PDF
Redmineをちょっと便利に! プログラミング無しで使ってみるREST API
PPTX
Spring tools4
Androidアプリ開発にクリーンアーキテクチャを取り入れよう (OSS編)
Laravel5.1をつかったWebアプリケーション開発
.NET vNext
【19-B-4】 そろそろ俺たちの本気を見せてやるぜ!~ マイクロソフトとOSSごった煮 DevOps 衝撃デモシリーズ!
価値を届ける技術 #bpstudy 96
関数型っぽくROSロボットプログラミング
Redmineをちょっと便利に! プログラミング無しで使ってみるREST API
Spring tools4

Similar to SpringOne Platform 2018 全体報告 (20)

PDF
Microsoft Team Foundation Service 入門
PDF
Jsug2015 summer spring適用におけるバッドノウハウとベタープラクティス
PDF
Spring知っておきたい
PDF
6製品1サービスの開発にPortfolio for JIRAを使ってみた
PPTX
Visual Studio 2019で始める「WPF on .NET Core 3.0」開発
PDF
LIGでのDocker活用
PDF
大規模・長期保守を見据えたエンタープライズ システム開発へのSpring Frameworkの適用
PDF
チケット管理システム大決戦第二弾
PDF
2018 07-23
PPTX
Hueによる分析業務の改善事例
PDF
Lineにおけるspring frameworkの活用
PDF
ALMツールたべくらべ
PPTX
Desktop app dev strategy for .net core 3.0
PPTX
Chainerで学ぶdeep learning
PDF
[db tech showcase Tokyo 2018] #dbts2018 #E37 『Attunity Replicateが変えた Oracle D...
PDF
Cloud operator days tokyo 2020講演資料_少人数チームでの機械学習製品の効率的な開発と運用
PPTX
Net fringejp2016
PDF
Spring.project
PPTX
Spring I/O 2019 報告 Spring Frameworkのロードマップと5.2の新機能
PDF
JavaでWebサービスを作り続けるための戦略と戦術 JJUG-CCC-2018-Spring-g1
Microsoft Team Foundation Service 入門
Jsug2015 summer spring適用におけるバッドノウハウとベタープラクティス
Spring知っておきたい
6製品1サービスの開発にPortfolio for JIRAを使ってみた
Visual Studio 2019で始める「WPF on .NET Core 3.0」開発
LIGでのDocker活用
大規模・長期保守を見据えたエンタープライズ システム開発へのSpring Frameworkの適用
チケット管理システム大決戦第二弾
2018 07-23
Hueによる分析業務の改善事例
Lineにおけるspring frameworkの活用
ALMツールたべくらべ
Desktop app dev strategy for .net core 3.0
Chainerで学ぶdeep learning
[db tech showcase Tokyo 2018] #dbts2018 #E37 『Attunity Replicateが変えた Oracle D...
Cloud operator days tokyo 2020講演資料_少人数チームでの機械学習製品の効率的な開発と運用
Net fringejp2016
Spring.project
Spring I/O 2019 報告 Spring Frameworkのロードマップと5.2の新機能
JavaでWebサービスを作り続けるための戦略と戦術 JJUG-CCC-2018-Spring-g1
Ad

More from apkiban (11)

PPTX
システム間連携を担うSpring Integrationのエンタープライズ開発での活用
PDF
Spring Initializrをハックする-カスタマイズを通してその内部実装を覗く
PDF
What happens in Spring Cloud Netflix
PDF
GraalVM の概要と、Native Image 化によるSpring Boot 爆速化の夢
PDF
新しいTERASOLUNA Batch Frameworkとは
PDF
Javaエンジニアに知ってほしい、Springの教科書「TERASOLUNA」
PDF
TERASOLUNA Framework on the Spring IO Platform
PPTX
Application Re-Architecture Technology ~ StrutsからSpring MVCへ ~
PDF
脆弱性の探し方 ~発見と対応のノウハウ in NTTDATA~
PPTX
バッチは地味だが役に立つ
PDF
Spring 5 でSpring Test のここが変わる
システム間連携を担うSpring Integrationのエンタープライズ開発での活用
Spring Initializrをハックする-カスタマイズを通してその内部実装を覗く
What happens in Spring Cloud Netflix
GraalVM の概要と、Native Image 化によるSpring Boot 爆速化の夢
新しいTERASOLUNA Batch Frameworkとは
Javaエンジニアに知ってほしい、Springの教科書「TERASOLUNA」
TERASOLUNA Framework on the Spring IO Platform
Application Re-Architecture Technology ~ StrutsからSpring MVCへ ~
脆弱性の探し方 ~発見と対応のノウハウ in NTTDATA~
バッチは地味だが役に立つ
Spring 5 でSpring Test のここが変わる
Ad

SpringOne Platform 2018 全体報告