なぜマイクロサービスなのか?
マイクロサービスは、ソフトウェア開発の手法およびアーキテクチャです。マイクロサービスでは、アプリケーションを複数の独立した小さなコンポーネントに分割します。従来のモノリシックな手法では、すべての機能がひとつの構造に組み込まれるのに対し、マイクロサービスでは複数の独立したサービスが連携して同じタスクを実行します。これらのコンポーネントまたはプロセスがそれぞれマイクロサービスとなります。このソフトウェア開発手法は、細分化でき、軽量で、類似のプロセスを複数のアプリ間で共有できるという特長があります。マイクロサービスは、クラウドネイティブ・モデルのアプリケーション開発を最適化する上でに欠かせません。
では、マイクロサービスをベースとするインフラストラクチャを使用するメリットは何でしょうか?簡単に言えば、マイクロサービスは、すべての開発者が目指す「質の良いソフトウェアをより迅速に提供する」という目標の達成に役立ちます。ただし、単にアプリをマイクロサービスに分割するだけでは不十分であり、マイクロサービスの管理およびオーケストレーション、またマイクロサービスが作成し、変更するデータの処理などをいかに効果的に行っていくかを考慮する必要があります。
マイクロサービスとは? (動画)
マイクロサービスのメリット
モノリシックなアプリケーションの場合とは異なり、マイクロサービスではビルド、テスト、デプロイ、アップデートを簡単に実行できます。Red Hat では、この手法によって、従来のソフトウェア開発での「デスマーチ」(何年も続くシステム開発現場の過酷な労働状況) に陥ることなく、新たな需要に対して迅速に対応できると考えています。また、開発チーム内のさまざまなグループがアジャイルな方法で同時に作業を進め、短期間で顧客に価値を提供できるようになります。
マイクロサービスの基本概念およびマイクロサービスの利用の長所と短所を確認し、オンデマンド・トレーニングを受講してマイクロサービスベースのアーキテクチャの構築方法を習得してください。
マイクロサービス・アーキテクチャでクラウドネイティブ・アプリケーションを開発する
マイクロサービスとコンテナとの関係
Linux コンテナは、マイクロサービスベースのアプリにとって、理想的なアプリケーションデプロイ単位であり、自己完結型の実行環境です。マイクロサービスをコンテナ内で使用すると、ハードウェアの有効活用が容易になり、ストレージ、ネットワーク、セキュリティなどのサービスを簡単にオーケストレーションできます。
このため、Cloud Native Computing Foundation (CNCF) では、「マイクロサービス」と「コンテナ」が、クラウドネイティブ・アプリケーション開発の基盤であると述べています。このモデルによって開発が迅速になり、既存アプリケーションの変革と最適化が容易になります。このすべてが、コンテナ内のマイクロサービスから始まるのです。
マイクロサービスによるアプリケーションの「統合」とは?
マイクロサービス・アーキテクチャを実用的なクラウドアプリケーションとして機能させるためには、サービスはメッセージングによって常にデータを互いに要求する必要があります。アプリケーションにサービスメッシュ層を組み込むと、サービス間通信が単純化されます。しかし、マイクロサービス・アーキテクチャには、レガシー・アプリケーションとその他のデータソースを統合する必要もあります。
アーキテクチャが分散していても、統合作業がエンタープライズ・サービス・バス (ESB) などの一元的なテクノロジーを管理する中央の 1 つのチームに依存しているなら、マイクロサービスのビジネス価値を実現することは難しくなるでしょう。
今後の統合に必要となるのは、アジャイル・インテグレーションというアプローチです。アジャイル・インテグレーションは、各種のリソースを接続するアプローチであり、統合テクノロジー、アジャイル・デリバリー・テクニック、およびクラウドネイティブ・プラットフォームを組み合わせてソフトウェア提供の速度とセキュリティを向上させるものです。
アジャイル・インテグレーションとは?(動画)
Red Hat のマイクロサービスを選ぶ理由
Red Hat は、モノリシックなアプリケーションをマイクロサービスへと分割することを支援するだけではありません。マイクロサービスの管理、オーケストレーション、マイクロサービスが作成および修正するデータの処理もサポートします。マイクロサービスの継続的開発とデプロイをサポートし、マイクロサービスの統合と管理を支援します。その結果、コードのデプロイメントをエンドツーエンドでサポートし、デリバリーチーム間のコミュニケーションとコラボレーションを促進する、マイクロサービス・ソリューションをご利用いただけます。既存システム全体を全面的に見直さなくても、有益なメリットを得られます。Red Hat は、オープンソース、オープンスタンダード、そして長年の経験から、貴社に最適なソリューションを見つけ出します。