* この投稿は、米国時間 4 月 2 日、Google Cloud Platform の Global Head of Solutions, Miles Ward によって投稿されたものの抄訳です。また、Google Cloud Platform とのクロスポストです。
ギニア、シエラレオネ、リベリアで猛威を振るうエボラ出血熱の流行を受けて、国際的なチャリティ コミュニティでは、認知を高め、より広く救済活動を行うのに必要な救済金を集める刷新的な方法を模索しました。
Band Aid 30 はアフリカの飢餓を救う為に過去に成功を収めた
Band Aid キャンペーンの現代版として考え出され、グローバル チームが、ただちに世界のトップクラスのアーティストの数十人の出演するライブパフォーマンスの企画に取りかかったのです ...
Read More
* この投稿は、米国時間 4 月 2 日、Google Cloud Platform の Global Head of Solutions, Miles Ward によって投稿されたものの抄訳です。また、Google Cloud Platform とのクロスポストです。
ギニア、シエラレオネ、リベリアで猛威を振るうエボラ出血熱の流行を受けて、国際的なチャリティ コミュニティでは、認知を高め、より広く救済活動を行うのに必要な救済金を集める刷新的な方法を模索しました。
Band Aid 30 はアフリカの飢餓を救う為に過去に成功を収めた
Band Aid キャンペーンの現代版として考え出され、グローバル チームが、ただちに世界のトップクラスのアーティストの数十人の出演するライブパフォーマンスの企画に取りかかったのです。
かなり野心的な試みに聞こえますね。世界にインパクトを与えるベンチャーの多くがそうであるように、今回のケースでもキャンペーンを舞台裏で企画しているチームはみなさんが思っているよりもずっと小さいのです。このペースの早い、地球規模のプロジェクトのウェブサイトを担当する開発チームは、何と
2 人。Mukesh Randev と Jonathan Horne の 2 人で、彼らは Adtrak というイギリスのメディア エージェンシーのウェブ デベロッパーです。ノッティンガムから世界を変えようと試みる素晴らしい二人組、は言い過ぎですね、とりあえずウェブサイトをオンライン状態に保とう、と試みたのです。
プロジェクトが立ち上がってから動き出すまでの間はたったの 14 日弱で、その間に起きた変化はめまぐるしいものでした。ロゴは 17 回も変更され、レイアウトとトップのメッセージも頻繁に変わりました。トップページの寄付リンクはアメリカとイギリス用がありましたが、イギリスだけでいいのか?など…。Jonathan がずっと懸念していたのは、このサイトが公開され、合計 1 億を超すツイッターフォロワーを持つアーティスト達が世界中に寄付を呼びかけたとき、トラフィックはものすごい量と早さで押し寄せることでした。
チームは
Google Cloud Platform を使っており、まだ使い方には慣れていなかったのですが、負荷に対応できるようにするために、オート スケーリングをどうしても設定したいと考えていました。また、
Google DNS を使って、Wordpress をホストしている
Google Compute Engine のインスタンスへとトラフィックを促し、MySQL の ローカルインスタンスをデータベースとして使っていました。
標準的な
ベストプラクティスでは、この種のダイナミックなウェブサイトは「適切」に運営されなければなりません(例えばロードバランサ、レプリカプール、オートスケーラを使い、MySQL を MemCacheD 付きの CloudSQL に移行し、WordPress をパフォーマンスのために設定するなど)そんなとき、ある考えが思い浮かびました。その時の会話はこうです:
Miles:「ダイナミックなもので WordPress を通して処理しているものには何があるんだ?」
Mukesh:「特にはないんだ。支払い処理はオフロードだし、コメントは DISQUS を使ってるけど、レイアウトのためだけだし。それに、そうすれば広告・メディアチームがイベントの当日にアップデートができるしね。」
サイトは全てスタティックだったため、上記全てのサービスを始めから作るかわりに、Band Aid 30 のウェブサイトを
Google Cloud Storage にコピーすることにしました。Cloud Storage は、強力な分散エッジルーティングであり、スタティックなコンテンツに対して高いパフォーマンスを誇るキャッシュシステムである Google のフロントエンドと一体化しています。このシステムがどくらいの量のコンテンツをサポートしているか… YouTube、Google Play、Picasa……圧倒的なコンテンツ量になります!
サイトのコピーというと複雑に聞こえますが、そんなことはありません。実際のところ、コマンドライン プロンプトでたったの 3 行です:
//go get my website, make sure you go to an empty folder first
wget --convert-links -q --mirror -p --html-extension --base=./ -k -P ./ http://ipaddressforyourstagingserver
//put that website in the cloud
gsutil cp -R * gs://www.yourrockingwebsite.com
//let everyone read it
gsutil -m acl set -R -a public-read gs://www.yourrockingwebsite.com
これだけです!どこから見てもシンプルそのものです。
シンプルである、ということは
コスト削減にもなるということです。ダイナミックなセットアップ − 明らかにより機能的なセットアップなのですが − は、多数のサイト同時エディタや、データをもとにした機能、より優れたロギングなどを可能なものにしてくれますが、一方で著しく運営費用が高くなってしまいます。これら全てを網羅するとおおよそこのくらいになると考えられますが、そうするとコストは月$10,000 USD を超えてしまいます。
さて、一方で我々が
実際に構築したものと比べてみましょう:
そう、たったの $9.17 で(読み間違えではありません)この本番用ウェブサイトを公開日に運営することができ、しかもパフォーマンス上の小さな障害にも、オペレーション上の緊急事態にも一度も遭遇することはありませんでした。
最初に取ろうとしていたアプローチから、実に、99.9% のコスト削減です。Band Aid 30 の他に必要なコストがゼロだったと仮定すると(もちろんゼロではないのですが)、集まった 2,500,000 ポンドの寄付金に対して 40,621,592.14%の投資利益率(ROI)という計算になります。まずまずの出来ではないでしょうか。
Band Aid 30 がエボラ出血熱の被害者の方々のために役立つこと、
Mukesh と Jonathan、
Adtrak チーム全体が素晴らしい結果を出したこと(それも 14 日以下で)、そして、Google がこうして少しでも協力できたことに、とても嬉しく思っています。
- Miles Ward, Global Head of Solutions, Google Cloud Platform