ログイン / 登録 アカウント
Jump to section

マイクロサービスについて理解する

URL をコピー

従来のアプリケーション作成手法では、「一枚岩」(モノリシック) に重点を置いてきました。つまり、あるアプリケーションのデプロイ可能なすべてのパーツを、その 1 つのアプリケーションに含めることです。この手法の欠点は、アプリが大きくなればなるほど、新しい問題への対応や新機能の追加を迅速に行うのが難しくなるということです。マイクロサービスに基づくアプリ構築の手法は、このような課題を解消し、開発と対応を促進するのに役立ちます。

クラウドネイティブ・アプリケーションへの道

マイクロサービスは、アーキテクチャでもあり、ソフトウェア作成のアプローチでもあります。マイクロサービスでは、アプリケーションを互いに独立した最小コンポーネントに分割します。すべての機能を 1 カ所にまとめるという、従来のモノリシックなアプリ構築の手法とは異なり、マイクロサービスは 1 つ 1 つが独立し、同じタスクを達成するために連動します。それぞれのコンポーネント (つまりプロセス) が、マイクロサービスとなります。このソフトウェア開発手法は、細分化でき、軽量で、似通ったプロセスを複数アプリ間で共有できるという特長があります。アプリケーション開発をクラウドネイティブ・モデルに最適化する、主要コンポーネントです。

では、マイクロサービスに基づくインフラストラクチャを使用するメリットは何なのでしょうか。簡単に言えば、開発者が目指すのは、質の良いソフトウェアをより迅速に提供することです。マイクロサービスはこの目標を達成する 1 つの手段となりますが、他にも考慮すべき点があります。アプリを単にマイクロサービスに分割するだけでは不十分です。それらを管理し、オーケストレーションし、マイクロサービスが作成および変更するデータを処理する必要があります。

モノリシックなアプリケーションと比べて、マイクロサービスはビルド、テスト、デプロイ、アップデートが容易です。Red Hat では、この手法によって、従来のソフトウェア開発のように何年にもわたる「デスマーチ」に陥ることなく、新たな需要に対して迅速に対応できると考えています。また、開発チーム内のさまざまなグループがアジャイルな方法で同時に作業を進め、短期間で顧客に価値を提供できるようになります。

マイクロサービスの基本概念およびマイクロサービスの利用の長所と短所を確認し、オンデマンド・トレーニングを受講してマイクロサービスベースのアーキテクチャの構築方法を習得してください。

Linux コンテナは、マイクロサービスベースのアプリにとって、理想的なアプリケーションデプロイ単位であり、自己完結型の実行環境です。マイクロサービスをコンテナ内で使用すると、ハードウェアの有効活用が容易になり、ストレージ、ネットワーク、セキュリティなどのサービスを簡単にオーケストレーションできます。

このため、Cloud Native Computing Foundation では、マイクロサービスとコンテナは、クラウドネイティブ・アプリケーション開発の基盤であると述べています。このモデルによって開発が迅速になり、既存アプリケーションの転換と最適化が容易になります。このすべてが、コンテナ内のマイクロサービスから始まるのです。

マイクロサービス・アーキテクチャを実用的なクラウドアプリケーションとして機能させるためには、サービスはメッセージングによって常にデータを互いに要求する必要があります。アプリケーションにサービスメッシュ層を組み込むと、サービス間通信が単純化されます。しかし、マイクロサービス・アーキテクチャには、レガシー・アプリケーションとその他のデータソースを統合する必要もあります。

アーキテクチャが分散されているのに、統合作業をエンタープライズ・サービス・バス (ESB) などの一元化されたテクノロジーを一元化されたチームに管理させていては、マイクロサービスのビジネス目標を達成できません。

アジャイル・インテグレーションとはリソースを接続するアプローチで、統合テクノロジー、アジャイル・デリバリー・テクニック、およびクラウドネイティブ・プラットフォームを組み合わせてソフトウェア提供の速度とセキュリティを向上するものです。

Red Hat は、モノリシックなアプリケーションをマイクロサービスへと分割することを支援するだけではありません。マイクロサービスの管理、オーケストレーション、マイクロサービスが作成および修正するデータの処理もサポートします。マイクロサービスの継続的開発とデプロイをサポートし、マイクロサービスの統合と管理を支援します。その結果実現するのが、コードのデプロイメントをエンドツーエンドでサポートし、デリバリーチーム間のコミュニケーションとコラボレーションを促進する、マイクロサービス・ソリューションです。既存システム全体をオーバーホールしなくても、有益なメリットを得られます。オープンソース、オープンスタンダード、そして長年の経験から、貴社に最適なソリューションを見つけ出します。

関連資料

記事

マイクロサービスで医療における IT 統合をサポート

マイクロサービスを使用すると、医療やその他の業界の開発者は、疎結合のサービスから作られるアプリケーションを構築でき、開発、テスト、デプロイ、アップグレードを容易に行えます。

記事

マイクロサービスとは

マイクロサービスとは、独立して機能する個々のサービスを組み合わせてアプリケーションを構築するアーキテクチャ・スタイルです。

記事

サービスメッシュとは

サービスメッシュはアプリケーションに組み込まれたインフラストラクチャ・レイヤーであり、サービスの相互作用を文書化して、通信の最適化とダウンタイムの回避を容易にします。

マイクロサービスの詳細はこちら

製品

Red Hat OpenShift

エンタープライズ対応の Kubernetes コンテナ・プラットフォームで、ハイブリッドクラウド、マルチクラウド、エッジのデプロイメントを管理するフルスタックの自動運用機能を備えています。

リソース

アナリスト資料

マイクロサービス活用におけるビジネス自動化の価値

e ブック

Eclipse MicroProfile によるエンタープライズ Java マイクロサービス

トレーニング

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

Developing Cloud-Native Applications with Microservices Architectures

Illustration - mail

その他の関連コンテンツ

無料のニュースレター「Red Hat Shares」(英語) では、注目の IT トピックスに関するコンテンツをお届けしています。