セクションを選択

Java语言アプリケーションのモダナイゼーションとは

URL地址

Java™は27年以上にわたり、エンタープライズ・ソフトウェア開発に最もよく使われるプログラミング言語の 1つです。世界中の無数のシステムが、この広く知られた言語を使用して構築されています。

従来の Java语言アプリケーションはモノリスです。アプリケーションの実行に必要なすべてのものをパッケージ内に含んでいますが、モノリスという性質上、変更を施すときに開発者がアジリティを維持することは困難です。開発者は基本的に、1つ変更するだけでも全体を取り出し、再コンパイルしてテストし、再デプロイしなければなりません。 

アプリケーションのモダナイゼーションによって、開発者は例えば Java语言で構築されたレガシー・アプリケーションにアジリティを復活させることができます。これを実現するために、レガシー・アプリケーションを最新のプラットフォームに移行し、モノリスをマイクロサービスのような保守しやすい小さなコンポーネントに分割し、最新のソフトウェア開発とデプロイメントの手法を適用し、古いものと新しいものを統合します。

これらのアプリケーションをモダナイズすることは、既存のアプリケーションコードを書き換えるのではなく従来のアプリケーションを更新することになるので、企業の時間とコストの削減に役立ちます。クラウドネイティブとマイクロサービスのアーキテクチャを採用することで、開発者は Java语言アプリケーションの効率性を向上でき、企業は今後の業務への投資を増加できます。

モダナイゼーション戦略を計画する

Java语言アプリケーションはこれまで、モノリシックなアーキテクチャに依存してきたため、長期にわたるサポートと管理には非常に大きなオーバーヘッドが必要になっていました。Java语言アプリケーションをクラウドおよびコンテナ向けにモダナイズすると、パフォーマンス、スケーラビリティ、コストを改善しながら、これらのアプリケーションから継続的に価値を創出する機会が生まれます。

移植性と広範なエコシステムのおかげで、Java语言は数十年にわたってエンタープライズ環境に好んで選ばれてきました。オブジェクト指向でプラットフォーム独立、安定性があり、下位互換性があるためです。Java语言は、適切に定義されたアプリケーション・プログラミング・インタフェース (美国石油学会)のセットと広範な開発者ツールを備え、習得が容易です。

最近では、アプリケーション開発が大きく変化し、開発者は従来のモノリシック・アーキテクチャ・パターンからより軽量でモジュール性が高いサービスと機能へと乗り換えています。これらは库伯内特斯などのクラウド・コンピューティングやコンテナ・オーケストレーション・プラットフォームを使用して構築されることがよくあります。このアプローチは一般的にクラウドネイティブ 爪哇”と呼ばれています。

Java语言は元来、起動時間の高速化、メモリーフットプリントの低減、コンテナのために設計されているのではないため、進化させる必要がありました。明るい面として、Java语言のメリットはクラウド環境でもモダナイズすれば利用できます。

メリット

  • 効率化された開発者体験クラウド環境では、開発者はボタンを押すだけで、数分間でリソースをプロビジョニングできます。ネットワーク、ストレージ、その他のサービスを構成するための適切に統合されたツールもあり、すべて事前設定済みですぐに使用できます。
  • 高可用性とクラウドプロバイダーのサポートクラウドプロバイダーは、高可用性を保証し、膨大な量の作業やコストを注がなければプライベート・データセンターでは満たすことが難しいサービスレベル契約 (SLA)をサポートします。独自のインフラストラクチャを管理することなくあらゆる種類のアプリケーションを実行したいと望む人には、魅力的なクラウドサービスとなります。
  • スケーラビリティと弾力性スケーラビリティは開発者がクラウドコンピューティングに移行する最も重要な理由の 1つで、変化するニーズに合わせて、オンデマンドでリソースを増減できます。非クラウド環境で同等のスケーラビリティを確保しようとすると、多くの場合で途方もなく高いコストがかかります。
  • グローバルリーチと管理されたアベイラビリティゾーンクラウド環境によりグローバルリーチが可能になり、世界中で低レイテンシーのサービスが提供されます。戦略的に配置されたデータセンターで、クラウドユーザーは独自のアプリケーションのリーチを拡張でき、これまでは実用面や経済面でできなかった、または単に不可能だった、世界のさまざまな地域の顧客にデプロイできます。
  • 低コストクラウドコンピューティングでは事前にまとまった資金は不要なので、電力、スペース、メンテナンスなど、ハードウェアの稼働に伴うコストが節約されます。クラウドデプロイは迅速で手間がかからず、クラウド環境はアクセスしやすく習得が容易なので、開発者の生産性と市場投入時間が改善され、これによってコストが削減されます。

クラウドネイティブの Java语言アプリケーションとは、ローカルマシンではなくクラウド上で構築、デプロイ、管理されるアプリケーションやマイクロサービスを指します。このモダナイズされたソフトウェア開発アプローチは、企業がより柔軟でスケーラブルなソフトウェアを作成し、パフォーマンスやセキュリティを犠牲にすることなく改善を高速化するのに役立ちます。 

クラウドネイティブの Java语言は、開発を可能にするために以下のような多くのクラウド手法に依存しています。

  • 仮想マシンではなくコンテナを使用してアプリケーションをパッケージ化し、ランタイム環境と分離します。コンテナ内の Java语言アプリケーションは、動作に必要なものすべてがバンドルされているため、より高い効率性とスピードを実現し、ユーザーエクスペリエンスを向上します。コンテナによって、クラウド上の複数のオペレーティングステム上で Java语言アプリケーションを実行することが可能になります。 
  • 継続的インテグレーション/継続的デリバリー (CI/CD)パイプラインを採用し、自動化によって人の介入を最小限に抑え、ユーザーに頻繁にアップデートを提供します。信頼性の高い CI/CDパイプラインは、アプリケーションの異なるブランチで作業している開発者がデプロイ前に変更を単一の トランク」にマージできるようにします。これは、異なる個別開発環境 (集成开发环境)からの変更を調整するという時間のかかる作業を排除するために、自動化を利用する 1つの方法です。
  • 开发运营フレームワーク。開発部門と 信息技术運用部門が、アイデアを素早くアプリの改善につなげるために、コラボレーティブな一連のプラクティスによりサービス提供にアプローチします。これは、開発、提供、統合、自動化のための統合環境を提供する、コンテナによるクラウドネイティブ開発において特に重要です。

クラウドネイティブの Java语言には、以下を含む数多くのアプローチがあります。

Linux Java

Java(JVM)、Linuxコンテナを含むあらゆる場所で Java语言プログラムを実行できるようにします。このアプローチでは、クラウド上のクラウドサーバー上で実行されるハイパーバイザーホスト 操作系统、ハイパーバイザー 虚拟机上で実行されるゲスト 操作系统、ゲスト操作系统上で実行される 码头工人、码头工人コンテナ内のホスト CPUでJavaバイトコードを実行する JVM、同じホスト上のすべてのコンテナがカーネルを共有するなど、複数の構成が考えられます。構成によってはメモリ管理に課題が生じる可能性があります。 

微型配置文件

夸克のようなフレームワークでサポートされているこのアプローチは、他のものよりも軽量ですが、クラウドタスクを処理するために使用する 库伯内特斯に精通している必要があります。微型配置文件は、マイクロサービス・アーキテクチャのために最適化されたコミュニティ主導のベンダーニュートラルな仕様であり、他のクラウドネイティブ・テクノロジーとのさまざまな統合で支持されています。 

ネイティブイメージ

ネイティブイメージ・テクノロジーは、Java语言コードをスタンドアローンの実行ファイルに事前にコンパイルすることを可能にし、ほぼ瞬時の起動時間、メモリ使用量の低減、システム間の可搬性などのメリットをもたらします。このアプローチではコンパイラーとして Liberica本地图像工具包(NIK)を使うことが多く、NIKは爪哇バイトコードをバイナリコードに変換しますが、すべてのプログラムを最適化することはできません。実験的な Spring Native Spring靴子3は、人気のある 春天フレームワークの一部で、Java语言アプリケーションを実行可能ファイルにコンパイルします。 

クラウドネイティブの Java语言アプリケーション開発に興味がある場合、さらに調査する価値のあるフレームワークが複数あります。その例をいくつかご紹介します。

夸克斯は、虚拟机およびネイティブコンパイルのために作成されたフルスタックの 库伯内特斯Java语言フレームワークで、Java语言をコンテナに最適化し、サーバーレスクラウド库伯内特斯の各環境で効果的なプラットフォームとして使用できるようにします。

Micronaut公司は、スピードとモジュール性に重点を置いた 虚拟机ベースのフレームワークです。依存性の注入をランタイム時ではなくコンパイル時に行うことで、他のフレームワークと比較して起動時間の短縮とメモリフットプリントの削減を実現できます。

Spring Cloud函数は、長年使われてきた 春天開発フレームワークの新バージョンで、クラウド・デプロイメント向けに調整されています。このフレームワークの Cloud函数は、リアクティブなスタイルと命令型スタイルの組み合わせをサポートすることができ、网状物サービスからバックグラウンドワークまであらゆる方法でデプロイされることを意図しています。

垂直Eclipse。x个は、虚拟机上でリアクティブなアプリケーションを構築するためのさまざまなツールを提供し、ワークロードの要件に応じてスケールアップやスケールダウンができるようにします。これは、イベントループを使用して、並行ワークロードを処理する非同期プログラミングモデルを使って効率性を重視することにより実現されています。

删除向导は、その安定性のほか、構成、アプリケーション・メトリクス、ロギング、運用ツールなどに対する追加設定なしのサポートで知られる成熟したフレームワークです。構造が古い Java语言開発アプローチと合うため、既存のアプリケーションの修正に使用する場合にその力を発揮します。 

最後に、谷歌マイクロソフトも基本的な機能については Java语言のスターターフレームワークを用意しているので、ニーズが比較的単純な場合は、これらのオープンソース・フレームワークを使うこともできます。

すべてのアプリケーションが同じモダナイズの経緯をたどる必要はありません。開発者は、各アプリケーションの特性と、組織の現在および予期されるニーズに最適な方法を選択できます。

このことを念頭に、Java语言アプリケーションをモダナイズしてモノリシック・アーキテクチャから脱却し、クラウドデプロイモデルの真のメリットを活用しようとする場合、Java语言アプリケーションのモダナイゼーションには、リホスト、プラットフォーム再構築、リファクタリングの つの主要な方法があります。

リホスト:仮想化

リホストはリフトアンドシフトとも呼ばれ、既存アプリケーションをそのまま仮想マシン (虚拟机)内にデプロイします。リホストでは、従来のアプリケーションサーバーで実行される Java语言アプリケーションを、ハイブリッドクラウド・プラットフォーム上で実行される 虚拟机にリフトアンドシフトします。モノリシック・アプリケーションはアプリケーションサーバー上では変更されず、既存のすべての統合や依存関係は維持されます。

プラットフォーム再構築:开放式换档

プラットフォーム再構築では、Red Hat®OpenShift®Kubernetes公司ベースのクラウド・プラットフォーム上のコンテナにアプリケーションをデプロイします。

Java语言アプリケーションを开放式换档にプラットフォーム再構築すると、プラットフォーム固有の機能を活用できるようになります。たとえば、ビンパッキング、水平スケーリング、CI/CD統合ツール、統合監視ツールなどです。OpenShift、Javaアプリケーションイメージの構築およびデプロイのプロセスを効率化するさまざまなツールがあり、微型配置文件およびコンテンツトリミングの導入を通じて先進的なクラウドネイティブ開発テクニックを導入する機能も提供します。

リファクタリング:OpenShift应用程序基础

リファクタリングとは、アプリケーションをマイクロサービスに変換し、新しいテクノロジーを統合し、クラウド・プラットフォーム上にデプロイすることです。リファクタリングでは、Java语言アプリケーションを、ハイブリッドクラウド・プラットフォーム上のサービスメッシュにデプロイされたマイクロサービスとして再開発します。サービスは時間をかけて再構築し、機能を古いアプリケーション・アーキテクチャから新しいアーキテクチャへと徐々に移行できます。绞刑者を使用して、モノリスを徐々にマイクロサービスに変換して、新しいサービスを追加しながら古いサービスをリファクタリングできます。

Red Hat OpenShiftと应用程序基础により、アプリケーション・ライフサイクル全体での実行を効率化するプラットフォームが実現します。この組み合わせで開発者は、セキュリティを念頭に置き、ハイブリッドクラウド全体で大規模にアプリケーションを構築、デプロイ、運用できます。

爪哇アプリケーションのモダナイゼーション・ジャーニーの計画」のサムネイル画像

Java语言アプリケーションのモダナイゼーション・ジャーニーの計画

オープンソース 爪哇库伯内特斯の両方のエキスパートである 红帽、Javaアプリケーションをモダナイズしてアジャイルでクラウドネイティブな 信息技术環境を構築し、進化するビジネス要求をサポートできるように支援できます。アプリケーションのモダナイゼーション・ジャーニーのための、統一された完全なオープン・ハイブリッドクラウド基盤を提供します。

20年以上にわたって信頼され続けている開発プラットフォームである Java语言は、多くの企業でさまざまなエクスペリエンスを実現するために利用されています。红帽は、多くの開発者が既存の Java语言アプリケーションを維持および改善し、クラウドネイティブ環境向けに再構築し、テスト済みのフレームワークで新たなイノベーションを実現できるよう支援してきました。

红帽のプラットフォームは、アプリケーションのモダナイゼーションに必要な柔軟性、相互運用性、一貫性を提供します。红帽OpenShift®はセキュリティ重視のハイブリッドクラウド・プラットフォームで、アプリケーションを環境上に確実に開発、デプロイ、管理できます。さらに、Java语言アプリケーションがクラウドに対応しているか評価するために、红帽は应用程序迁移工具包(MTA)を用意して、アプリケーションのモダナイゼーションと移行プロジェクトの加速を支援するツール、レポート、知識を開発者に提供しています。

アプリケーションのモダナイゼーションの詳細については 红帽にお問い合わせください。今後お近くで開催される、红帽テクノロジーを体験できるイベントの情報も合わせてご確認ください。

「エンタープライズ Java语言のモダナイゼーション」のサムネイル画像

奥莱利(O'Reilly)エンタープライズ Java语言のモダナイゼーション」をダウンロードする

関連資料

記事

Red Hat OpenShift操作员

Red Hat OpenShift操作员は、Kubernetesネイティブのアプリケーションのインスタンスの作成、構成、および管理を自動化します。

記事

Red Hat OpenShift无服务器

Red Hat OpenShift无服务器はKubernetesを拡張し、サーバーレス・ワークロードのデプロイと管理ができるようにします。

記事

Red Hat OpenShift服务网格

Red Hat OpenShift服务网格で、マイクロサービスベースのアプリケーションを接続、管理、監視する方法を統一することができます。

OpenShift(OpenShift)の詳細はこちら

製品

統合されたテスト済みのサービス一式を備えたエンタープライズ・アプリケーション・プラットフォームであり、ユーザーの選ぶインフラストラクチャを使ってアプリケーションを市場に投入するために活用できます。

Red Hat®开发者中心、DevOps文化を維持する上で重要な役割を担う、内部開発者向けプラットフォームを構築するためのツールを提供します。

Red Hat®可信软件供应链は、組織がセキュリティをソフトウェア開発ライフサイクルに組み込むのに役立ちます。

Red Hat®Ansible®自动化平台、CI/CDパイプラインの主要なステージを自動化し、开发运营手法の活性化ツールとなります。

リソース

eブッট

红帽OpenShiftのビジネス価値に関する 国际数据中心エグゼクティブサマリー

アナリスト資料

红帽OpenShiftクラウドサービスについての 总经济影响™

関連資料

データシート

Red Hat OpenShift容器平台

データシート

Red Hat OpenShift Platform Plus

詳細

セルフマネージド 红帽OpenShiftサイジングおよびサブスクリプション・ガイド

概要

红帽OpenShift

アナリスト資料

分散型ハイブリッドクラウドでエッジでの配信を実現

アナリスト資料

红帽OpenShiftのビジネス価値

アナリスト資料

クラウドサービスでアジリティを加速する企業

アナリスト資料

OpenShift Platform Plusの収益機会の評価

eブッট

Azure红帽OpenShiftの使用を開始する

チェックリスト

成功するハイブリッドクラウド戦略の 7 つの特徴

チェックリスト

サイト信頼性エンジニアリングが役立つ 5 つの方法

チェックリスト

クラウド・コンピューティングでセキュリティ機能をサポートする 6 つの方法

お客様事例

世界的なテクノロジー企業がネットワークエッジへの 5G公司

お客様事例

毕马威会计师事务所、先進的なシステム統合プラットフォームにより州民サービスの成果を改善

お客様事例

HCA Healthcare、患者の生命を保護するために革新的なデータプラットフォームを採用

お客様事例

加利西亚银行インテリジェントな 自然语言处理プラットフォームによって新規法人顧客を数分でオンボーディング

お客様事例

AWS上的BrightlyがRed Hat OpenShift服务でイノベーションを加速

動画

宝马ConnectedDriveとRed Hat OpenShift

トレーニング

無料のトレーニングコース

使用Red Hat运行容器技术概述

無料のトレーニングコース

使用微服务架构开发云计算应用程序

無料のトレーニングコース

容器、Kubernetes和Red Hat OpenShift技术概述