Amazon.comがモノリシックな構造からSOAへ移行したときに気がついた間違い。同社CTOが語る
ニューヨークで開催されたイベント「AWS Summit 2016 New York」。基調講演で同社CTOのWerner Vogels氏は、Amazon.comのシステムがモノリシックな構造からSOAへ、そしてマイクロサービスへ移行する際に得た教訓について手短に紹介しています。
機能ドリブンでサービスを分解するべきだった
Werner Vogels氏。
10年前の話をしよう、Amazon.comは巨大なモノリシックな構造から転換してきた。私たちのお客様もおそらく、似たような経験をこれからするはずだ。
Amazon.comは、モノリシックな構造からSOAに転換すると決めた、それはいわゆるSOAが登場するよりも前の時期だ。
さまざまなコンポーネントをサービス化し、APIでつなげるようにした。これは非常にうまくいったが、しかし私たちは間違いにも気づき始めていた。
それは、データドリブンにサービスを分解していったことだ。
そのため、最大規模のデータ群のいくつかは、あらゆるコードがその周囲に存在していた。
特に「商品一覧(アイテム)」「顧客(カスタマ)」「注文(オーダー)」この3つの大規模データを例にすると、例えば顧客マスターサービスの周囲には、ロギング、アドレスブックなどあらゆる機能が組み入れられていた。
私たちはデータドリブンにサービスを分解するのではなく、機能ドリブン(Functional Driven)に分解するべきだったのだ。
なぜなら、たとえば顧客マスターサービスの中にあるさまざまなサービスはそれそれ異なるスケーラビリティ要求がある。アドレスブックサービスは顧客が買い物の勘定を済ませるときにしか使われないのに対し、ロギングサービスはもっと頻繁に使われる。
サービスごとに異なる可用性、スケーラビリティ、性能が要求されるのだ。
そこで私たちは、いま「マイクロサービス」として知られている手法を採用することにした。こうして私たちはモノリシックからマイクロサービスへ転換してきたのだ。
あわせて読みたい
ガートナーがIaaSクラウド市場のマジッククアドラント2016年版を発表。Amazonクラウドの圧倒的リーダーは変わらず
≪前の記事
Amazonクラウド、URLでルーティング可能な新ロードバランサー「Application Load Balancer」提供開始