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.
この記事の著者
関連記事
新着ホワイトペーパー PR
-
比較資料
[セコムトラストシステムズ株式会社] 「自社に合うEDR」はどれか分かる? 比較・検討時の見極めポイントを解説 -
製品資料
[アルプス システム インテグレーション株式会社] まだ社内で眠らせたまま? AI活用の糧となる「データ資産」を有効利用するには -
市場調査・トレンド
[AvePoint Japan株式会社] “SCS評価制度”対応の第一歩、自社環境と要求事項とのギャップを把握する方法 -
製品資料
[株式会社BREXA Technology] 情報整理の自動化でインシデントの初動対応を効率化、AIエージェント活用のコツ -
製品レビュー
[ヴィーム・ソフトウェア株式会社] SCS評価制度を導入するだけで十分? 組織の防御力を高める活用方法とは
こんなメディアも見られています
TechTargetジャパンに関連する情報をお探しであれば、こちらのメディアもお役に立てるかもしれません。
ベンダーコンテンツ PR
From Informa TechTarget
SpecialPR
アクセスランキング
-
1
情シスの約8割が転職や退職を意識 調査で分かった“辞めたくなる最大の理由”
-
2
「WSUS」終了の時限爆弾 “本命”移行先ツールとMicrosoft提唱の新管理手法
-
3
「IBM i(AS/400)はクローズドなシステム」という誤解 DXに寄与する一歩
-
4
「Wi-Fi 7」経由でWindowsが乗っ取られる? 最高権限奪取の恐怖
-
5
パッチなしで「今すぐサーバを落とせ」 Kiteworks異例警告の波紋
-
6
Claude Codeでは「エージェントを作るな、スキルを作れ」 Anthropicが示すAI構築術
-
7
「企業におけるAI導入検討度とIT投資優先度」に関するアンケート
-
8
「SCS評価制度 × 日本HP PC」に関するアンケート
-
9
「企業におけるAIの運用」に関するアンケート
-
10
「完璧な設計」なのに3000万円溶けた AWSの失敗事例から学ぶ3つの教訓
ホワイトペーパーランキング PR
-
1
「Google Workspace」活用事例34選、先進の生成AIによる組織変革の全貌
-
2
Linuxのスキルを証明する“激推し”の認定資格はこれだ
-
3
バックアップは“取っているから大丈夫”なのか? ランサムウェア時代の備え方
-
4
ネットワーク遅延の原因、「パケットロス」の基礎知識と効果的な解決策
-
5
月1000枚の紙を削減 9年動けなかった組織が、業務改革のその先に得たもの
-
6
「改正物流効率化法対策」徹底解説 総物流費を抑制するサプライチェーン戦略
-
7
Windows PCとMacの選択制で生産性向上 LINEヤフーが実践する運用管理方法とは
-
8
ソフトウェア開発の属人化と手戻りをどう防ぐ? 速さと品質を両立させる方法
-
9
AI活用を停滞させる「2:6:2の壁」を乗り越えるためのポイントとは?
-
10
ドラマで分かる、標的型攻撃メールの被害を受ける企業と回避できる企業の分岐点
TechTargetジャパン SNS
インフォメーション
注目情報をチェック
TechTargetジャパンをフォロー