2024.05.07

登場から28年。Javaは今でも驚きの連続

Scott Sellers
Azul Systmes CEO 兼 共同創設者
このエントリーをはてなブックマークに追加

はじめに

皆さんこんにちは。私は Azul Systems, Inc. CEO 兼共同創設者である Scott Sellers です。このブログでは、Azul Javaに関して行った最近の調査の結果について説明します。

Javaは、1995年の登場以来、数十年にわたり、アプリケーションおよびインフラストラクチャ開発の主力となってきました。Javaの導入と様々な傾向を理解するためのガイドとして、当社ではAzul State of Java Survey and Report 2023(Azul;Javaの現状に関するアンケートとレポート2023)を実施しました。この中には、世界で最も広く使用されているプログラミング言語の1つであるJavaが、Oracleによる4回目の大幅な価格およびライセンシングの変更によって引き起こされた一連の課題を、数年間にわたり乗り越えてきた方法も含まれています。その他の課題としては、企業がJavaベースのアプリケーションをクラウドに移行する際のコストの上昇や、Log4jのような重大なセキュリティの脆弱性などが挙げられます。  

世界中から2,000人を超えるJavaユーザーが支援してくれたおかげで、目標を達成することができました。Javaに100%重点を置いている唯一の企業がこのブログで提供する、Javaの現状に関するアンケートとレポートの分析をお楽しみいただければ幸いです。ただし、これ以上お読みにならない場合は、こちらからレポートの全文にアクセスしてください。それでは早速、私たちが学んだことについてご説明します。

Javaの導入

私たちは、Javaが健在である状況を見ても、まったく驚きませんでした。事実、私たちが調査した企業の98%がJavaを使用し、57%が「Javaが自社の大半のアプリケーションおよびインフラストラクチャ資産のバックボーンである」と述べています。 

DevOpsチームは、KotlinなどのJavaベースの言語、Log4jなどのライブラリ、Spring Bootなどのインフラストラクチャを使用して、企業の重要な業務を支援しています。上記のテクノロジーを組み合わせると、実際にJavaを使用する企業の割合は、はるかに高くなります。 

それでも、驚くべきことではありません。Javaは、COBOLのような進化をやめた、今でも書き直されるのを待っている古いコードがあるという理由だけで存在しているようなレガシー言語ではありません。Javaは現在でも最も需要の大きなコーディング言語の1つであり、AIやクラウドといった新しい分野への進出を続けています。 

Javaは、その多用途性、信頼性、安定性、そしてDevOpsコミュニティのニーズに応える継続的な進化により、世界で最も広く使用されているプログラミング言語の1つとして活躍を続けています。以下は、Javaの主な特徴です。

  • オープンな性質:JavaはJava Community Process(JCP)を通じて定義されており、オープンソースOpenJDKプロジェクトの下で開発されています。 
  • 更新:2年ごとの長期サポートバージョンを含め、6か月ごとに更新されます。 
  • 強力な後方互換性:Javaの新バージョンで実行されるJavaベースのアプリケーションは、通常(ごくまれな例外を除いて)古いバージョンでも実行できるため、更新にあくせくする必要がありません。 
  • 「一度書けばどこでも実行できる」コンセプト:開発者は、単一のコードベースを作成するだけで、どのプラットフォーム(オペレーティングシステムとハードウェアの両方)でもプログラムを実行できます。

オラクルの市場シェアの縮小

オラクルによってJavaライセンス環境は混乱に陥りましたが、それはオラクルが2023年1月に従業員ベースの価格設定とライセンスモデルに移行し、「従業員」を次のように定義することを選択したことに端を発します。

(i)お客様のすべてのフルタイム、パートタイム、臨時従業員、および(ii)社内業務をサポートするお客様の代理店、請負業者、アウトソーサー、およびコンサルタントのすべてのフルタイム従業員、パートタイム従業員、および臨時従業員全員。必要なライセンスの数は、プログラムを使用する実際の従業員の数だけで決まるのではなく、従業員数によって決まります。 

azul_202405_01.png

初心者向けのOpenJDK移行ガイドを読む

私たちの調査では、回答者の82%が価格モデルの変更を懸念し、72%がOracle Java SEの代替案を積極的に検討していることが明らかになりました。OracleのJDKを使用している企業の割合は低下傾向にあり、他の調査によると2020年の70%以上から、当社のJavaの現状に関するアンケートとレポートでは42%に縮小しています。一方、他のディストリビューションは増加を続けています。つまり、現在のJava SEまたはOpenJDKプロバイダーに満足できなくても、選択肢が残されています。 

Oracleの価格設定により、なぜ代替JDKを求める企業が増えないのでしょうか? 私たちの調査では、参加者の26%が「多大な労力が必要だから」と回答しました。実際は、ほとんどの場合、OpenJDKの代替への移行は非常に簡単です。Azulの副CTOでJavaチャンピオンであるSimon Ritterは、このテーマにピッタリのOracle JDKの移行に関する本を執筆しました

Javaコンサルティンググループ、OpenValueのマネージングディレクターである、Roy Wasse氏は、ほとんどの移行はルーチンワークであると確証しています。同氏は、「多くのJDK移行を行いましたが、大規模な多国籍クライアント向けに行ったものでさえ9か月以内に完了しました。Azulとのパートナーシップにより、最も複雑な移行も簡単な方法で正常に完了できます」と述べています。

クラウドとクラウド革命

azul_202405_02.png

Azul State of Java Survey and ReportAzulJavaの現状に関するアンケートとレポート2023のインフォグラフィックを見る

Javaはクラウドでも成長しており、調査対象である組織の90%以上がクラウドでアプリケーションを稼働しています。Javaはクラウドの導入が普及する前から勢いを増していましたが、Javaの「一度書けば、どこでも実行できる」というコンセプトはクラウドに非常にマッチしています。Javaは主にオンプレミスでの使用に限定されていると考えている方は、考え直してください。 

他のプログラミング言語で書かれたアプリケーションと同様、クラウド上で実行されるJavaアプリケーションもクラウドコストの上昇と無縁ではありません。私たちの調査によると、参加者の95%が過去1年間にクラウドコストを削減するための措置を講じています。なぜなら、調査参加者の70%が十分に活用していないクラウド容量に対して料金を支払い、40%以上の参加者は料金を支払っているパブリッククラウドコンピューティング容量の60%未満しか使用していないと答えているためです。企業は多くの場合、必須ビジネスアプリケーションが、許容可能な低い障害率で正常に負荷に対応できるように、容量のプロビジョニングをしています。しかしチームは、次のような様々な懸念があるため、料金を支払っているクラウドコンピューティング容量の使用率を上げる自信がありません。

  • 運用上の問題
  • 高負荷時のサービスレベルの維持
  • 負荷の変動に応じ、需要により良くマッチするようにアプリケーションのインスタンスをオンまたはオフにすることによる中断を最小限に抑えることができない

この調査で明らかになった、喜ばしい傾向の1つは、回答者の46%がクラウドリソースを削減し、クラウド支出を最適化するために高性能Javaプラットフォームを使用しているということです。機能が拡張されたJVMにより、異常値、ジッター、一時停止が排除され、CPU使用率が高い場合でも動作の安定性が向上します。このため、チームは、サービスレベルの期待を満たしながら、自動スケーリングのしきい値をより高く設定し、コンピューティング容量の支出あたりの効率性を高める自信を持つことができます。

昨年1年間を通して、Javaベースのアプリケーションとインフラストラクチャのパブリッククラウド費用削減に向け、組織はどのようなアクションを起こしましたか?該当するものをすべて選択してください。

azul_202405_03.jpg

機能が拡張されたJVMは、優れたコンパイラの最適化により、少ないCPUでより高速にコードを実行します。その結果、1秒あたりのトランザクションが増加し、必要なコンピューティングインスタンスが減り、さらにコストが削減できます。さらに、高性能JVMは、新しいJVMインスタンスの起動時にJavaアプリケーションがフルスピードになるまでの時間を短縮することにより、Javaのウォームアップを加速し、実質的な弾力性を向上させます。この結果、チームは中断を最小限に抑えながら、容量を需要に合わせて、より適切に調整できるようになります。 

クラウドでビジネスを行うコストを制限することは複雑な課題であり、企業に適したソリューションは、状況に応じてそれぞれ異なります。一部の企業にとっては、サービスをクラウドからオンプレミスに戻すだけでもコスト効率が上がる場合があります。しかし、よりパフォーマンスの高いJVMを使用することにより、企業はそのような抜本的な措置を講じることなく、サービスをクラウドに残したままでコストを削減できると確信しています。

当社のフラッグシップJDK/JVMであるAzul Platform Primeは、OpenJDKの強化されたビルドであり、多くの企業の成功事例を支える、重要なコンポーネントです。代表例である、BazaarvoicePayaraSupercellTaboolahWorkday、その他多くのお客様の事例を当社のウェブサイトからご覧ください。 

Javaのセキュリティ

近視眼的な解決策といえば、2021年にLog4jライブラリがLog4Shellの脆弱性の影響を受けた後、多くの経営幹部が同ライブラリの使用を中止した可能性がありました。ところが、調査の回答から、Log4jライブラリは依然として最も人気のあるJavaベースの技術の1つであることが分かりました。  

しかしながら、調査の参加者は、サードパーティおよびオープンソースのアプリケーションとサービスの危険性をしっかり認識しています。それらが一般的な脆弱性と露出(CVE)の最も懸念される原因であると、参加者の約67%が回答しました。 

注目すべき結果の1つは、組織の80%がLog4jの影響を受けているということでした。最も多い説明は、エンジニアリングチームが潜在的な攻撃からの保護に多大な時間を費やさなければならなかったために、企業が間接的に影響を受けたというものでした。ほとんどの組織は、Log4jライブラリが環境内に存在するすべての場所と、パッチが適用されているかどうかを把握していませんでした。

さらに、回答者の30%はLog4jの直接的な影響を受けたと答え、その内訳は、脆弱性の悪用失敗による影響(17%)と、より警戒が必要な、悪用の成功による影響(13%)です。次のLog4ShellがDevOpsチームにどのような影響を及ぼすか、そして彼らの迅速で効果的な対応能力にどのような課題が待ち受けているのか、気になるところです。

Log4Shell脆弱性が会社に及ぼした影響はどのようなものでしたか?

azul_202405_04.jpg

Azul Vulnerability Detectionは2022年11月にリリースされ、大成功を収めました。2021年12月に利用できていたら、この製品を使用している企業は、本番環境でLog4Shellの脆弱性がある場所を(現在および過去の両方で)正確に把握し、はるかに効率的にパッチを適用できたことでしょう。どのアプリケーションに脆弱性があるのかが分からなかった企業は、強制的なアプローチを使用しました。

まとめ

Javaがいまだに幅広く導入されているのは、喜ばしいことです(でも、驚くことではありません)。Javaの持続力は、そのレガシーさではなく、その適応性と進化に基づいて築かれています。今後数週間のうちに、ウェビナー、ブログ投稿、インフォグラフィックなど、最初の調査結果に関する追加のインサイトを公開する予定です。この新しいアセットで、常に新鮮な発見ができるJava関連の新たな学習事項、Oracleのライセンシングと価格変更の影響、クラウドのコスト、セキュリティに関する情報をご覧いただけます。ぜひご参加ください。

関連リンク

Azul Systems公式サイト https://www.azul.com/ja/

Azul Platform製品紹介ページ

IT-EXchangeでAzul Plataformの詳しい製品説明をご覧ください。

この記事の著者:Scott Sellers

Azul Systmes CEO 兼 共同創設者

アズールシステムズは、20023月、スコット·セラーズ (社長兼CEO)とギル·テネ(CTO)によって設立されました。弊社は米国カリフォルニア州サニ ーベール、欧州、アジアにオフィスを構え、14 の地域で 300 人の従業員が勤務しています。投資会社 Vitruvian Partners (ロンドン) Lead Edge Capital (ニューヨーク)から出資を受けております。


DevOps Hubのアカウントをフォローして
更新情報を受け取る

  • Like on Feedly
    follow us in feedly

関連記事

このエントリーをはてなブックマークに追加

お問い合わせ

DevOpsに関することなら
お気軽にご相談ください。

Facebook、TwitterでDevOpsに関する
情報配信を行っています。