カラオケJOYSOUNDを展開する株式会社エクシング(以降 エクシング ) では、多くの Java 資産のコンテナ化とクラウドの移行に VMware Tanzu Platform (以降 Tanzu Platform) をご使用いただいております。エクシングは、Cloud Native Buildpacks を使い、ソースコードを変更することなくコンテナ化を実現しています。Tanzu Platform で管理することで、Cloud Native Buildpacks の商用サポートと自動的なパッチ適用の恩恵を得られています。結果として Java 資産のスムーズなクラウド移行を実現しただけでなく、運用コストの最適化を行うことができました。このブログではエクシングの事例をご紹介させていただきます。
導入前の課題
- Java 資産のオンプレミスからクラウドへの移行方法
- 移行後、運用コストの最適化
エクシングでは、数百にも及ぶ Java 資産をオンプレミスからクラウドへと移行することを検討していました。移行元は多くが vSphere 上の仮想マシン上で稼働しており、当初はそれらを単純にクラウドの仮想マシンへと移行する計画をもっていました。ところが、クラウド側が設けている OS の最小サポートバージョンの制約が阻み、OS のアップグレード、そこから派生する他のソフトウェアの依存関係の管理が課題となってしまいました。また、クラウドの仮想マシンへの単純移行だと運用コストがオンプレミス環境と大差がなく、ROI(Return of Investment) が低いことに悩んでいました。
導入後得られた効果
- Java 資産をソースコードを変更することなく高品質なコンテナ化の実現
- Amazon ECS を中心にマネージドサービス利用による運用コスト削減
Cloud Native Buildpacks を利用することで Java 資産のコンテナ化をすることができました。それらは Tanzu Platform により、JVM、 Tomcat パッチ適用の自動化が行われます。コンテナ化を実現したことにより、Amazon ECS での稼働が可能となりました。結果として多くのパッチ適用作業の負荷から解放され、運用コスト削減を実現しました。
” 当初クラウド移行を実施するにあたり、クラウドサービス側のサポートバージョンへのアップグレード対応を想定していましたが、VMware Tanzu Platformを導入することにより、ソースコードをほぼ変更することなく高品質なコンテナ化を実現することができ、結果大幅なクラウド移行のコスト抑制を図ることができました。
また、本来複雑なコンテナ作業を標準化することが可能で、複数の開発ベンダー様に利用して頂くにあたり,コンテナ化作業を共通化することができ、運用コストの抑制もできました。” – 株式会社エクシング ITシステム部 基盤戦略G工藤 雅己
Cloud Native Buildpacks を活用したコンテナ化
Cloud Native Buildpacks とは Broadcom が主体的に貢献している CNCF (Cloud Native Computing Foundation) のオープンソースプロジェクトです。
Cloud Native Buildpacks は以下の特徴をもっています。
- 自動検出:ソースコードを解析し、特別な構成ファイルなく最適なコンテナイメージを作成します。
- マルチ言語対応: Java だけでなく複数言語の対応が行われています。
- コミュニティベース: 日々生まれる新しい最適化アプローチの追随を楽にします。
- リベースによる高速パッチ:コンテナのレイヤリングの仕組みを使い、パッチ適用を数秒で行うことが可能です。
- SBoM (Software Bills of Materials) : OSSライブラリの一覧を常にファイルで生成し、脆弱性検査を効率的に行うことができます。
エクシングでは、これに加え、Java 本来が持ち合わせている強い後方互換性保証の機能を使うことで、Java のソースコードにほぼ変更をいれず、かつ意識することなく推奨設定が完了したコンテナイメージを作成することができました。
Tanzu Platform による自動パッチの実現
Tanzu Platform では、Cloud Native Buildpacks の商用版である Tanzu Buildpacks を提供しています。これにより、Java 8 の2031年までの長期サポート(Bellsoft 社と同等のサポート期間を提供)、脆弱性への素早いアクセスもさることながら、Spring および Tomcat に主体的な貢献をしている Broadcom からの技術支援も受けれられることができています。
さらに、Tanzu Platform では、Cloud Native Buildpacks のリベースを自動的に行う機能を提供しています。これは、kpack とよばれる OSS をベースとした機能です。これにより、Tanzu Buildpacks の公開から数秒でパッチ適用が完了されたコンテナイメージをつくることができています。
作成されたコンテナは稼働環境を選ばないものです。エクシングでは、Tanzu Platform だけでなく、Amazon ECS を組み合わせることでクラウドの提供するマネージドサービスの恩恵も得られ、パッチ適用による負荷を大幅な削減を実現してます。
また今後は Tanzu Platform が提供する脆弱性検査ダッシュボードを利用を促進して、効率的な脆弱性管理を行うこと計画しています。(脆弱性検査は SBoM をベースに行われます。)
おわりに
エクシングと Tanzu Platform による Java 資産のコンテナ化およびクラウド活用の事例をご紹介をさせていただきました。より詳細な情報は担当 Broadcom 営業までお問い合わせください。