トピック

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

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

マイクロサービスとは

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


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

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

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

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

Why microservices

マイクロサービスの接続方法

マイクロサービス・アーキテクチャを実用的なアプリケーションとして機能させるためには、サービスはデータを他のサービスから常に要求する必要があります。では、一部のサービスが要求で過負荷になった場合、どうなるでしょうか。ここで登場するのが、サービスメッシュです。要求を他のサービスに転送することで、すべての構成要素が最適に連携できるようにします。


基本的にサービスメッシュは、さまざまなマイクロサービスが互いにデータをどのように共有するかを制御する方法です。サービス間通信を管理するその他のシステムとは異なり、サービスメッシュは、アプリケーションに直接組み込まれた専用インフラストラクチャ層です。このインフラストラクチャ層は、アプリケーションのさまざまな部分の間の通信がどの程度うまくできているか (またはできていないか) 文書化できるので、通信を最適化し、アプリケーションを拡張するときのダウンタイムを防止することが簡単になります。

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

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

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

 
Containers

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

ホワイトペーパー

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

リファレンス・アーキテクチャ

Red Hat JBoss EAP によるマイクロサービスの構築

ビデオ

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

ブログ

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

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

サービス

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

プラットフォーム

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

ミドルウェア

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

ミドルウェア

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

ミドルウェア

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

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