Case Study
アマゾンの混乱に秩序をもたらしたSOA
1995年に1台のサーバからスタートしたアマゾン・コムは、その信頼性と拡張性を守るため、2001年にはすでにSOAを導入していた。
SOA導入の成功のカギは、洗練された詳細な計画の策定にあると信じているアーキテクトに対し、アマゾン・コムでワールドワイドアーキテクチャ担当副社長兼CTO(最高技術責任者)を務めるワーナー・ボーゲルス氏は、やや異なるアプローチを提案している。
「アマゾンでは多くの研究を行っているが、われわれはそれらを研究とは呼ばず、開発と呼んでいる」――サンディエゴで開催されたガートナー主催のEnterprise Architecture Summitの基調講演でボーゲルス氏はこう語った。さらに同氏は、SOA開発とは矛盾するようにも思えるモデルを提案した。それは、ハードワーク、失敗、さらなるハードワーク、成功、そしてさらなるハードワークというアプローチである。
ボーゲルス氏は、皮肉を込めたユーモアを交えながら、「Order in the Chaos: Building the Amazon.com Platform」(混乱の中の秩序:アマゾン・コムのプラットフォーム構築)と題されたプレゼンテーションを行った。
ボーゲルス氏によると、アマゾンは1995年、1台のサーバ上で稼働する簡単なWeb注文アプリケーションを使って営業を開始したが、当時のアーキテクチャは非常にシンプルで、文字通り紙ナプキンに描くことができたという。現在では、同社のサイト上だけでも150種類ものWebサービスが利用できるが、当時はこのようなSOAプラットフォームを構築するという壮大な計画などはなかった、と同氏は話す。
同氏によると、Web上で本を販売するという地味な試みから進化した巨大なオンライン小売りWebサイトは現在、小さな古本屋から、オンライン販売の規模ではウォルマートを追い抜いたターゲットのような大手小売店に至る100万社の小売りパートナーをホスティングしているという。
「ある意味では当然かもしれないが、われわれはプラットフォームになった」とボーゲルス氏はアマゾンの技術的進化について語った。
アマゾンの技術の簡単な歴史の紹介の中で同氏は、顧客情報と在庫のデータベースを運用していた1台のサーバが、顧客情報専用と在庫専用の2台のサーバに増えたいきさつについて語った。そして顧客および製品が増えて事業が拡大するのに伴い、次々とデータベースサーバが追加されていったという。
アマゾンでデータベースのパフォーマンスが問題になったとき、口のうまいセールスマンに勧められるまま、メインフレームを購入した。しかしビッグアイアン(メインフレーム)では問題は解決しなかった。これは技術的判断の誤りであり、ボーゲルス氏は今でもそれを後悔しているという。
「1999年当時のインターネット企業の例に漏れず、われわれもメインフレームを買った」と同氏は話す。しかし、拡張性、信頼性、パフォーマンスのすべてにわたってニーズを満たすことができなかったため、アマゾンはこのハードウェアの電源プラグを引き抜いた。
ボーゲルス氏によると、アマゾンをこれほどまでに有名な企業にした“秘密のソース”については、さまざまな意見があるという。同氏の意見は、「秘密のソースとは、規模拡大時における運用の信頼性である」というものだ。
6000万人の顧客にサービスを提供し、彼らをすべて満足させるためには、スケーラビリティと信頼性が求められ、それは、大抵のSOA開発者/アーキテクトがプラットフォームに織り込む必要があるとしているレベルを上回るだろう、とボーゲルス氏は話す。例えば、大多数の顧客はオンラインショッピングカートに20冊の本あるいは20個の品物を入れたら、たくさんの買い物をしたと思うかもしれないが、アマゾンは6000万人の顧客の中の1人がショッピングカートに2万個の品物を入れた場合にも対応できるようにしておく必要があるという。
1999年のメインフレーム導入で失敗した後、アマゾンは2001年ごろ、同社が必要とする信頼性と拡張性を実現するためには、Webサービスの手法を採用することにより、オンラインアプリケーションとの直接的なやりとりでデータベースの処理能力がパンクするのを防ぐしかないという状況に到達した。
「SOAが流行語になる前から、われわれはそれを実践していた」とボーゲルス氏は話す。
アナリストカンファレンスなどでの講演者の多くとは違い、ボーゲルス氏は、SOAが優れた戦略なのか、あるいは実現可能な理論なのかについて、回りくどい言い方をしない。同氏はプレゼンテーションの冒頭、「サービス指向は有効だ」と言い切った。
アマゾンはLinuxで動作するブレードサーバで成功したといわれているが、「サービス指向なしでは、決してこのプラットフォームを構築することができなかっただろう」とボーゲルス氏は話す。
ボーゲルス氏は、アマゾン社内の開発者の組織についても言及し、チーム方式を採用していることを明らかにした。各Webサービスは、1組の開発者チームが責任を持って担当するという。各チームはサービスを開発するだけでなく、それをテストし、最終的に本稼働させるまで責任を持ち、その後はチームのメンテナンス担当者が管理する仕組みになっている。
ボーゲルス氏はWebサービスチームのメンバーに、「君たちが作り、君たちが所有するのだ」と話している。
これは、各チームがWebサービスの運用にも責任を持つことを意味する。Webサービスが真夜中に停止すると、チームのメンバーが修理のために呼び出されるのだ。
「開発には終着点がない」というアマゾンのポリシーは、開発者にWebサービスをできる限り堅牢なものにしようという気にさせるのだ。
システムの複雑さは信頼性の敵であるため、ボーゲルス氏は開発者に対し、Webサービスをできるだけシンプルなものにするよう促しているという。
「シンプルさは最も厳しい設計基準だ。サービスをデザインするに当たり、われわれは『もっとシンプルなサービスを作ることはできないだろうか』と常に自問している」(ボーゲルス氏)
ボーゲルス氏が強調するもう1つの設計基準は、特定の技術や標準に固執しないということだ。アマゾンの開発者は顧客のニーズからスタートし、それから、彼らの役に立つ技術はどれかという検討に入るのだ、と同氏は話す。
この方針は、Webサービス標準の実装に対しても適用される。ある小売りパートナーがSOAPを利用したがっており、別のパートナーがREST(Representational State Transfer)を利用したがっていれば、それぞれが求める標準に対応するようにしているという。
「当社の開発者は、SOAPにもRESTにもこだわっていない。すべては顧客次第なのだ」(ボーゲルス氏)
Copyright © ITmedia, Inc. All Rights Reserved.
この記事の著者
関連記事
こんなメディアも見られています
TechTargetジャパンに関連する情報をお探しであれば、こちらのメディアもお役に立てるかもしれません。
ベンダーコンテンツ PR
From Informa TechTarget
SpecialPR
アクセスランキング
-
1
急増する「AIはこう言ってる」マン 判断を狂わせる「AI忖度」を防ぐには?
-
2
取手市がVDIと決別した理由 更改費用「4倍超」を約1.7倍に圧縮
-
3
「データストレージの活用方法」に関するアンケート
-
4
自宅のWi-Fiが「遅い」「途切れる」本当の原因は? Dellが推奨する鉄則
-
5
本当に安いPCで十分か? “すぐ重くなる”を防ぐノートPC選びの絶対条件
-
6
Claudeの不可視透かしに批判殺到 著作権消失や誤判定に潜む企業リスク
-
7
100億円の「Linux更新」を回避 みずほ銀行が選んだ“おきて破り”のRHEL延命策
-
8
221人調査で分かった「情シス最大のストレス」は?
-
9
LLMの「過学習」、正しく説明している文章はどれ?
-
10
レガシー基幹システムをSAPに統合 山善が突き止めた「標準化と個別最適」の境界線
ホワイトペーパーランキング PR
-
1
年収2000万「クラウドセキュリティのプロ」になれる資格とは
-
2
セキュリティソフトをすり抜ける標的型攻撃メール、不審メールの見破り方とは?
-
3
Windows Updateの通信集中で回線が逼迫、ネットワーク刷新事例に学ぶ解決策
-
4
財務を戦略的組織へ進化させるAI活用術、4つの主要な障壁と解消方法
-
5
「NAS」「SAN」「DAS」は何が違う? いまさら聞けないストレージの基礎
-
6
“あのファイル転送”で暗躍するノーウェアランサム
-
7
標的型攻撃メールを見破るには? サンプル文面を例に傾向を解説
-
8
商用利用の安全性を確保し大量のコンテンツを高速で生成する、AI活用の秘訣
-
9
マンガで解説、1日で生成AI環境を構築できるワークショップの中身とは?
-
10
Dark AIが台頭する時代の新発想、「より高度なAIで対抗する」具体的方法とは?
TechTargetジャパン SNS
インフォメーション
注目情報をチェック
TechTargetジャパンをフォロー