ここ数年、SOAとマイクロサービスの相違点と類似点に関する記事がいくつか出た。SOAから学ぶべきことは多々あると言う人もいれば、マイクロサービスをSOAから遠ざける方が良いと考える人もいる。Neal Ford氏は、モノリシックなアーキテクチャからサービスベースのアプローチへの移行は、マイクロサービスへの移行よりも容易かもしれないと述べている。RedMonkのStephen O'Grady氏が記事を公開するまで、「SOAかマイクロサービスか」という全体的な議論はそれほど活発ではなかった。Stephen氏はその記事の中で、サービスのサイズは決定的な要因ではないと述べている。これは、ここ数年、Dan North氏やJeppe Cramon氏らが別個に主張していたことと同様だ。Jeppe Cramon氏は次のように述べている。
マイクロサービスを定義するのにサイズだけを使うのは不適切であり、サービスが適切な責務を持っているかを判断するのには役に立ちません [...]
実のところ、SOAとマイクロサービスには多くの関連があるとStephen氏は考えている。
あらゆる欠点に関して、SOAというエンタープライズのビジョンは、現在、進歩な組織が、特にマイクロサービスで構成された、クラウドネイティブのアーキテクチャで構築しているものとそっくりに見えます。コア部分まで絞り込むと、SOAというのは、アーキテクチャはモノリシックなアプリケーションではなくサービスから構成されるべきである、というアイデアだったのです。
記事の中で、Stephen氏はGoogle Trendsを使って2つの図を作っている。最初の図は人気を表している。SOAは比較的に短期間のうちにピークを迎えて人気になった。
差異化要因としてのサイズに関する議論は、SOAの人気が凋落してマイクロサービスが登場した真の理由を無視している、あるいは曖昧にしている、と彼は考えている。彼の見方は、SOAはベンダードリブンだったが、マイクロサービスはもっと開発者ドリブンである、というものだ。
AWSなどのプラットフォームの成功を考えると、サービス駆動プラットフォームは、スケールするプラットフォームの構築にとって効果的な方法ではない、とか、現時点で支配的なアプローチではない、と主張するのは困難です。とりわけ、サービスベースのプラットフォームは、広く開発者の構成要素になっています。もともとSOAドリブンの世界は、大きなベンダーによって構想されました。そのサービスは複雑な(しばしば政治的な)「標準」が入り組んだフレームワーク上に構築されており、開発者がそれに関わりたくないという単純な理由から、決して実現することはありませんでした。
何がうまくいって何がうまくいかなかったのかという点で、マイクロサービスはSOAの恩恵を受けている、Stephen氏は語る。
マイクロサービスはモノリシックなものよりも開発しやすく、SOAにあるベンダー標準の負担もありません。 [...]
この数年、他の人も同じことを主張している。Asanka氏は次のように語った。
現在、エンタープライズはクリーンなSOAに向かっており、SOA内のMSA(Microservice Architecture)という概念を採用しています。その最大の魅力は、マイクロサービスが提供するコンポーネント化と単一機能化でしょう。これによって、コンポーネントを素早くデプロイし、必要に応じてスケールさせることができます。新しい概念ではありませんが。
Stephen氏が示した2番目のGoogle Trendsの図も興味深いものだ。
Rate this Article
- Editor Review
- Chief Editor Action