Jump to section

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

URL をコピー

従来のモノリシック (一枚岩) とも言われるアプリケーション作成手法では、アプリケーションのデプロイ可能なすべてのパーツが 1 つのアプリケーションに組み込まれ、全体がひとつの大きな岩のような構造になっています。この手法には、アプリが大きくなるほど、新しい問題への対応や新機能の追加を迅速に行うのが難しくなるという欠点があります。アプリケーション構築における「マイクロサービス」の手法は、このような課題を解消し、迅速な開発と対応を可能にします。

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

マイクロサービスは、ソフトウェア開発の手法およびアーキテクチャです。マイクロサービスでは、アプリケーションを複数の独立した小さなコンポーネントに分割します。従来のモノリシックな手法では、すべての機能がひとつの構造に組み込まれるのに対し、マイクロサービスでは複数の独立したサービスが連携して同じタスクを実行します。これらのコンポーネントまたはプロセスがそれぞれマイクロサービスとなります。このソフトウェア開発手法は、細分化でき、軽量で、類似のプロセスを複数のアプリ間で共有できるという特長があります。マイクロサービスは、クラウドネイティブ・モデルのアプリケーション開発を最適化する上でに欠かせません。

では、マイクロサービスをベースとするインフラストラクチャを使用するメリットは何でしょうか?簡単に言えば、マイクロサービスは、すべての開発者が目指す「質の良いソフトウェアをより迅速に提供する」という目標の達成に役立ちます。ただし、単にアプリをマイクロサービスに分割するだけでは不十分であり、マイクロサービスの管理およびオーケストレーション、またマイクロサービスが作成し、変更するデータの処理などをいかに効果的に行っていくかを考慮する必要があります。

マイクロサービスとは? (動画)

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

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

 

マイクロサービス・アーキテクチャでクラウドネイティブ・アプリケーションを開発する

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

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

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

アーキテクチャが分散していても、統合作業がエンタープライズ・サービス・バス (ESB) などの一元的なテクノロジーを管理する中央の 1 つのチームに依存しているなら、マイクロサービスのビジネス価値を実現することは難しくなるでしょう。

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

アジャイル・インテグレーションとは?(動画)

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

関連資料

記事

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

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

記事

マイクロサービスとは

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

記事

サービスメッシュとは

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

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

製品

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

リソース

アナリスト資料

アジャイル・インテグレーション:エンタープライズ・アーキテクチャのブループリント

トレーニング

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

Developing Cloud-Native Applications with Microservices Architectures