本記事のレポーター
- 岩塚 卓弥、水野 諭孝(NTTソフトウェアイノベーションセンタ)
- 小峰 規行、高橋 寛恒(NTTデータ)
- 杉本 真梨、宮嶋 健太(NTTコムウェア)
はじめに
SpringOne EssentialsはSpring Frameworkに関連したトピックを扱うカンファレンスで、その開発元であるVMwareによって開催されました。
本来は2022年の年末にSpringOne 2022という対面形式のカンファレンスが米国で開催される予定でしたが、米国において直近に対面形式で行われた他の技術系カンファレンスの状況等を鑑み、急遽オンライン形式のSpringOne Essentialsへと変更されました。
その影響もあってか、規模としては全体で1トラック13セッションと、例年のSpringOneと比べてコンパクトになっています。なお、本稿執筆時点で既にすべてのセッションの動画とスライドが誰でもアクセス可能な状態で公開されています(SpringOne Essentials公式サイト)。
前述の通り元から主要なトピックが厳選されたセッション構成ではあるのですが、以降ではさらにその中の一部に絞って内容を紹介します。
Main Stage: Elevate the Developer Experience
SpringOne EssentialsではMain Stageで行われるキーノートセッションと、個別の技術や事例に関してより詳細に語られる個別セッション(Breakout Sessions)が用意されています。キーノートセッションは複数のスピーカーが入れ替わりながら、カンファレンスのトピックが全体的に紹介される形式となっています。ここではSpring Frameworkとその周辺ライブラリに関する内容を中心にレポートします。
VMwareでSpring Frameworkの開発リーダを務めるJuergen Hoeller氏からは2022年11月18日にリリースされたSpring Framework 6.0の紹介がありました。
Spring Framework 6.0はベースラインをJava 17+とJakarta EE 9+としています。今後リリースされる新バージョンにいち早く対応するためにも、早めにJava17へのアップグレード、jakartaへの名前空間の変更、Spring Framework 6.0およびSpring Boot 3.0へのアップグレードを行うことを推奨しました。
今後については、Spring Framework 6.0.xラインに対応するSpring Boot 3.1が2023年Q2に、Spring Framework 6.1及びそれに対応するSpring Boot 3.2が2023年Q4にリリース予定とのことです。
Spring Framework 6については、Juergen Hoeller氏の個別セッションでより詳しく説明されていますので、後述する個別セッションのレポートも参照してください。
続いてGraalVMプロジェクトの創設者で開発リーダを務めるThomas Wuerthinger氏とSpring FrameworkコミッタでSpring Nativeプロジェクトの共同創設者であるSebastien Deleuze氏が登場し、Springアプリケーションをより低コストかつ効率的にクラウド上にデプロイする上で、どのようにGraalVMが活用できるかについて紹介しました。
Spring Boot 3.0ではGraalVMネイティブイメージへのコンパイルが公式サポートされ、さらにJavaエコシステム内のライブラリをネイティブイメージで利用できるようにするために、サードパーティライブラリのメタデータの提供をGraalVMチームとSpringチームが共同で行うなど、両チームは協力することでシナジーを発揮しているようです。
ネイティブイメージには、起動時間が早い、より少ないメモリ使用量で実行できるなどのメリットがありますが、デメリットもあることからどのような場合にネイティブイメージを利用すべきか判断するためのユースケースも紹介されました。現時点では有用な判断基準ではありますが、GraalVMの開発は継続して行われていることから以下の図に記載されている境界線が変化していないか確認は必要そうです。
また、Sebastien Deleuze氏とMicrosoftのSandra Ahlgrimm氏によって、後述するAzure Spring Apps上でSpring Boot 3.0ベースのネイティブアプリケーションを動かすデモも行われました。ネイティブイメージの実行はJVMによる実行と比べて起動時間が短いため、スケールをゼロに設定しておき、リクエストがあればスケールアップするといった運用が可能であることを説明したわかりやすいデモとなっていました。
続いてVMwareのSteve Riesenberg氏とJoe Grandja氏が登場し、Spring Authorization Serverについて紹介しました。
Spring Authorization ServerはOAuth 2.1が定義する認可サーバのサポートを提供するフレームワークです。2020年から開発が始まり、2022年11月22日にバージョン1.0がリリースされました。Joe Grandja氏は、Spring Security上に構築されているため、あらゆる認証システム、ユーザデータベースと統合可能であることがSpring Authorization Serverの利点であると説明しました。また、サポート期間やスコープを定めたVMware Tanzu OSS support policyが適用されることや延長サポート期間を提供するVMwareの商用サポートも利用可能である旨が紹介されました。
チュートリアルやサンプルアプリケーションについてデモを交えて紹介されていたため、興味のある方は実際に試してみてはいかがでしょうか。
その他のトピックとしては、Microsoftの常務執行役員であるAmanda Silver氏とVMwareのソフトウェア開発部門の責任者であるRyan Morgan氏によるAzure Spring Apps Enterpriseの新機能の紹介やVMwareのソフトウェア開発部門の責任者であるCatherine McGarvey氏によるVMware Tanzu Application Platformの紹介がありました。これらのプラットフォームに関する内容についても、以降の個別セッションのレポートの中で紹介していきます。