サービス指向アーキテクチャ(SOA)は、独立したサービスの集合体を中心にアプリケーションを設計するアーキテクチャのアプローチです。サービスとは、顧客注文の処理や、在庫レポートの作成といったアクションを完了し、具体的な成果を提供するあらゆるビジネス機能を指します。複数のサービスを組み合わせて、複合的なアプリケーションを作り出すことで、エンド ユーザーにより高度な機能を提供できます。
SOAアプローチのメリットとして、サービス コンポーネントの保守や更新が大幅に容易になることが挙げられます。各コンポーネントがより凝縮されて包含されるため、他のすべての要素に影響を与えることなく、コードの修正や要素の交換を簡単に実行できます。その一方で、サービス間のコミュニケーションをどのように実現するかが課題となります。SOAは、通常はエンタープライズ サービス バス(ESB)に関連付けられ、サービス間の中心的な通信手段として使用されます。ESBは変化にうまく対応できないことが多く、往々にして複雑化するため、サービスがどこから始まり、どこで終わるのかを確認するのが困難です。
SOAが、現在のマイクロサービスの定義によく似ていると思われることは珍しくありません。マイクロサービスも、1つ1つが独立して機能しながら連動することを目的とした、自己完結型の小さなサービスです。しかし、SOAとマイクロサービスには決定的な違いがいくつかあります。その例として、以下に2つの点をご紹介します。
多くの人がマイクロサービスをSOAの最終形態と考えていますが、実際は、両者を分ける重要な違いがいくつもあり、多くの点で、複雑なアプリケーションにはマイクロサービスの方がより効果的なアーキテクチャであると言えます。SOAとマイクロサービスの詳細については、無料のEブック「マイクロサービスの構築:粒度の細かいシステムの設計」をダウンロードしてご覧ください。
NGINX PlusとNGINXは、クラス最高レベルのロード バランシング ソリューションであり、Dropbox、Netflix、Zyngaなどの高トラフィックのWebサイトで使用されています。世界中で3億5,000万以上のWebサイトが、NGINX PlusとNGINX Open Sourceを利用してコンテンツを迅速に、確実に、そして安全に提供しています。
NGINX Plusは、ソフトウェアベースのアプリケーション デリバリ コントローラ(ADC)として、同等の機能を持つハードウェア ソリューションに比べて手頃な価格で、大幅に効果的にマイクロサービス アーキテクチャを促進するよう設計されています。