BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース Stefan Tilkov氏: モノリスではなく、マイクロサービスから始めよう

Stefan Tilkov氏: モノリスではなく、マイクロサービスから始めよう

ブックマーク

原文(投稿日:2015/06/10)へのリンク

この数ヶ月間,Martin Fowler氏やSam Newman氏を始めとする多くの人々が,マイクロサービスアーキテクチャはモノリスを出発点とするべきだとする論を展開している。しかしStefan Tilkov氏は,これが正しくない場合もあることを伝えている。明確に分離されたモジュールを備え,十分に構造化されたモノリスを後になってマイクロサービスに移行するというのは,不可能ではないとしても,多くの場合は非常に困難だと言うのだ。

innQの共同創設者でプリンシパルコンサルタントのTilkov氏は,しかしながら,必然性があるならば分散システムを迷わず選択すべきだ,とする考えには同意する。氏が考える最も重要な理由は,大規模システムの個々のパーツを迅速かつ独立的にデリバリ可能にする,というものだ。マイクロサービスの中心的なメリットは,システムのパーツ間に明確かつ厳密なバウンダリを設けることにある,と氏は考えている。本質的に異なるパーツが接続されて結合関係が複雑化する,というリスクを最小限にすることができるのだ。確固とした規律を用いれば,これはモノリスでも可能なはずだ。しかし自身の経験から,これを実現できた例はほとんどない,と氏は記している。

氏が考えるモノリスの基本的なアイデアは,各部分を相互に連結することだ。技術的な見地からは,すべてのパーツが同じプラットフォーム,同じ抽象化,おなじライブラリを使って,同じプロセス内に存在するという前提でコミュニケーションする。ビジネス的な見地では,すべてのドメインオブジェクトが場所を問わず利用可能で,同じ永続化モデルを使用し,すべての変更にわたってトランザクションが常に使用可能である。これらすべてが事実として結合性を増加させている,とする氏は,その点からも,既存のモノリスを分離するのは極めて難しい作業であることを改めて強調する。

必ずしもモノシリック設計を出発点とするのではなく,システムの規模が十分に大きければ最初から個々のサブシステム化を考慮しておいて,それぞれを可能な限り自律的に構築するべきだ,と氏は考える。

マイクロサービスで構成されたシステムの例として氏は,Otto.deを紹介している。昨年のQCon Londonでプレゼンテーションされた,ドイツのEコマースサイトだ。

氏は以前,さまざまなタイプのシステムの特徴を比較した上で,マイクロサービスよりも大規模ではあるが,同じく単一のビジネスドメインに特化した自立型サービスを説明して,SCS(Self-Contained System/自己完結型システム)という造語を紹介している。

この記事に星をつける

おすすめ度
スタイル

BT