BLOG | NGINX

Java プロジェクトのスキャフォールディングを行い、Kubernetesネイティブなアプリケーションを構築する方法

NGINX-Part-of-F5-horiz-black-type-RGB
Eric Braun サムネール
Eric Braun
Published March 13, 2024

現在、非常に多くのJava開発者が、アプリケーション性能を最適化するのに多大な時間と労力を費やしています。開発者は、ウェブ、モバイル、AI/ML(人工知能と機械学習)、エッジなど多岐にわたるクラウドベースのビジネス要件に取り組んでいます。直面する最も大きな障害の一つは、JavaとKubernetes間の互換性の低さです。簡単な処理さえ時間がかかるのは、不慣れなランタイム環境やプログラミン言語を習得して採用する必要があるからです。プロジェクトのscaffolding(スキャフォールディング)を行ってこれに対処すれば、時間を節約し、頭痛の種を解消することができます。

Scaffolding(スキャフォールディング)とは?

ソフトウェア開発においてスキャフォールディングとは、プログラムを開発およびテストしながら、一時的または汎用的なコードを作成することを指します。簡素化の例としては、ランタイムエラーをテストするためのコードの付加、フォーム記入ページのモックアップ作成などがあります。このモックアップすなわちスキャフォールドは、最終的なフォーム記入がどのように機能するかを示しますが、最終版とは見かけが異なっていたり、異なるコードを使用したりする場合があります。どちらにせよ、その結果は、最終的なシステムやプロジェクトに含めることを意図しない、アプリケーション機能の一時的なスケルトンとなります。

NGINXによるスキャフォールディングの事例

レイヤー7のデータプレーンとしてNGINX Open Sourceを利用する場合、開発者は一般的に、かなりの量のスキャフォールディングを作成して作業を進める必要があります。このスキャフォールディングには、認証と証明書管理の付加、ロギングの設定、オートメーションおよびCI/CD(継続的統合/継続的デリバリー)機能の接続などがあります。我々は、アプリケーションのテストや展開に対するあらゆる主要な要件が、一つまたは複数の高品質オープンソースコンポーネントによって満たされるよう、NGINXエコシステムの拡張に取り組んでいます。詳細については、当社のブログをご覧ください。

Javaプロジェクトのスキャフォールディングを行い、 Kubernetesネイティブなアプリケーションに取り入れる

「NGINX Sprint 2022」にて実施されたこのデモでは、レッドハット(Red Hat)のシニア・プリンシパルデベロッパー・アドボケイト(Senior Principal Developer Advocate)であるDaniel Ohが、Javaプロジェクトを最初からスキャフォールディングした後に、わずかなメモリフットプリントと数ミリ秒の起動時間で、Kubernetesネイティブなアプリケーションとして構築する方法を紹介しています。

さらにDanielダニエルは、内部ループ開発のローカルなデベロッパーエクスペリエンスを複製するというやり方で、リモートのKubernetes環境で既に展開されているアプリケーションのテストとデバッグを継続する方法を解説しています。


"This blog post may reference products that are no longer available and/or no longer supported. For the most current information about available F5 NGINX products and solutions, explore our NGINX product family. NGINX is now part of F5. All previous NGINX.com links will redirect to similar NGINX content on F5.com."