Amazon.comがモノリシックな構造からSOAへ移行したときに気がついた間違い。同社CTOが語る

2016年8月16日

ニューヨークで開催されたイベント「AWS Summit 2016 New York」。基調講演で同社CTOのWerner Vogels氏は、Amazon.comのシステムがモノリシックな構造からSOAへ、そしてマイクロサービスへ移行する際に得た教訓について手短に紹介しています。

機能ドリブンでサービスを分解するべきだった

Werner Vogels氏。

fig

10年前の話をしよう、Amazon.comは巨大なモノリシックな構造から転換してきた。私たちのお客様もおそらく、似たような経験をこれからするはずだ。

fig

Amazon.comは、モノリシックな構造からSOAに転換すると決めた、それはいわゆるSOAが登場するよりも前の時期だ。

さまざまなコンポーネントをサービス化し、APIでつなげるようにした。これは非常にうまくいったが、しかし私たちは間違いにも気づき始めていた。

それは、データドリブンにサービスを分解していったことだ。

そのため、最大規模のデータ群のいくつかは、あらゆるコードがその周囲に存在していた。

特に「商品一覧(アイテム)」「顧客(カスタマ)」「注文(オーダー)」この3つの大規模データを例にすると、例えば顧客マスターサービスの周囲には、ロギング、アドレスブックなどあらゆる機能が組み入れられていた。

私たちはデータドリブンにサービスを分解するのではなく、機能ドリブン(Functional Driven)に分解するべきだったのだ。

なぜなら、たとえば顧客マスターサービスの中にあるさまざまなサービスはそれそれ異なるスケーラビリティ要求がある。アドレスブックサービスは顧客が買い物の勘定を済ませるときにしか使われないのに対し、ロギングサービスはもっと頻繁に使われる。

サービスごとに異なる可用性、スケーラビリティ、性能が要求されるのだ。

そこで私たちは、いま「マイクロサービス」として知られている手法を採用することにした。こうして私たちはモノリシックからマイクロサービスへ転換してきたのだ。

Tags: AWS クラウド Microservices SOA

このエントリーをはてなブックマークに追加
ツイート
follow us in feedly





タグクラウド

クラウド / AWS / Azure / Google Cloud
コンテナ / Docker / Kubernetes
クラウドネイティブ / サーバレス
クラウド障害 / 運用・監視

プログラミング言語 / 開発ツール
JavaScript / Java / .NET / WebAssembly
HTML/CSS / Web標準

アジャイル開発 / スクラム / DevOps / CI/CD
ソフトウェアテスト・品質
ローコード/ノーコード開発

データベース / RDB / NoSQL / 機械学習・AI
Oracle Database / MySQL / PostgreSQL
Office / 業務アプリケーション

ネットワーク / HTTP / QUIC / セキュリティ
OS / Windows / Linux / VMware
ハードウェア / サーバ / ストレージ

業界動向 / 働き方 / 給与・年収
編集後記 / 殿堂入り / おもしろ

全てのタグを見る

Blogger in Chief

photo of jniino

Junichi Niino(jniino)
IT系の雑誌編集者、オンラインメディア発行人を経て独立。2009年にPublickeyを開始しました。
詳しいプロフィール

Publickeyの新着情報をチェックしませんか?
Twitterで : @Publickey
Facebookで : Publickeyのページ
RSSリーダーで : Feed

最新記事10本