トピック

マイクロサービスについて

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

マイクロサービスとは

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


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

マイクロサービスでできること

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

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

Why microservices

マイクロサービスでアプリケーション統合はどのように変わるのか

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

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

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

Red Hat のマイクロサービスを選ぶ理由

Red Hat は、モノリシックなアプリケーションをマイクロサービスへと分割することを支援するだけではありません。マイクロサービスの管理、オーケストレーション、マイクロサービスが作成および修正するデータの処理もサポートします。マイクロサービスの継続的開発とデプロイをサポートし、マイクロサービスの統合と管理を支援します。その結果実現するのが、コードのデプロイメントをエンドツーエンドでサポートし、デリバリーチーム間のコミュニケーションとコラボレーションを促進する、マイクロサービス・ソリューションです。

既存システム全体をオーバーホールしなくても、有益なメリットを得られます。オープンソース、オープンスタンダード、そして長年の経験から、貴社に最適なソリューションを見つけ出します。

マイクロサービスと Linux コンテナの関係とは

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

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

 
Containers

マイクロサービスに関する資料

ホワイトペーパー

マイクロサービス:より良いアーキテクチャ設計

Web セミナー

Web セミナー:Kubernetes、Docker、Maven による Apache Camel マイクロサービスの開発

ビデオ

マイクロサービス・アーキテクチャとサービス指向アーキテクチャの比較

ブログ

マイクロサービスに向けての段階的な道のり

マイクロサービスを使用し始めるために必要なもの

サービス

アプリケーション開発プロジェクトをスピードアップしましょう。革新的なオープンソース・テクノロジーを活用してプロトタイプを作成し、困難な課題を解決できるよう、Red Hat の専門家が皆様のチームを支援します。

プラットフォーム

開発者に焦点を当てたクラウドベースのコンテナ・プラットフォーム上で、マイクロサービスを実行します。Kubernetes を介したエンタープライズ・オーケストレーションによる、継続的な統合を行います。

ミドルウェア

マイクロサービスに基づくアプリ、データ、サービス、デバイスを、堅牢かつ柔軟で使いやすいプラットフォームに統合します。

ミドルウェア

マイクロサービスに基づく環境で多数の API を管理することで、より柔軟な IT システムの構築と維持に必要な可視性と制御が得られます。

ミドルウェア

アプリ開発者にとって不可欠な、使いやすい多くの共通サービスとプロジェクトを利用できます。

これは始まりにすぎません。マイクロサービスや Red Hat のサービスについて、さらに詳しくご確認ください。