検索

日本語

ログイン アカウント

ログイン / 登録 アカウント

Web サイト

トピック

マイクロサービス (microservices)

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

マイクロサービスとは

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


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

マイクロサービスのデプロイを Red Hat OpenShift 4 で管理すべき理由

モノリシック・アプリケーションを分割すると、 高品質なソフトウェアを迅速に提供できるようになります。しかし、マイクロサービスにはそうしたメリットとともに、複雑さを増加させるという側面もあります。パブリック、プライベート、オンプレミス・インフラストラクチャの組み合わせからコンテナにデプロイされるマイクロサービスを管理する必要があり、これにはエンタープライズ対応のコンテナ・オーケストレーション・プラットフォームが必要になります。

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

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

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

Why microservices

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

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

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

Containers

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

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

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

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

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

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

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

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

ホワイトペーパー

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

Web セミナー

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

ビデオ

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

ブログ

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

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

サービス

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

プラットフォーム

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

ミドルウェア

Red Hat Runtimes

クラウドネイティブ・アプリケーションの開発とメンテナンスに役立つ製品、ツール、コンポーネントを 1 つのセットとしてまとめて、アプリケーション開発と提供を迅速化します。Red Hat Runtimes は、マイクロサービスなど、高度に分散化されたクラウドアーキテクチャ用の軽量なランタイムとフレームワークを提供します。

ミドルウェア

Red Hat Integration

ハイブリッド・インフラストラクチャ全体でアプリケーションとデータを接続するための統合およびメッセージング・テクノロジーの包括的なツールで、インテグレーション開発を効率化します。Red Hat Integration は、アジャイルで分散型のコンテナ化された API 中心のソリューションです。

ミドルウェア

Red Hat Process Automation

ビジネス上の意思決定とプロセスをインテリジェントに自動化するための製品セットで、変化するビジネスニーズにすばやく適応します。ビジネスポリシーと手順を実行し、ビジネス運用を自動化、そして異種環境でのビジネスアクティビティの結果を測定します。

マイクロサービスと Red Hat のサービスについてさらに詳しく