大規模サービスの運用事例まとめ

by tanabe on January 30, 2009

ここ数年の大規模サービスのシステム運用について調べてみたので参照したページやファイル、本へのリンクをまとめておく。PDF へのリンクも多数含まれているのでご注意を。

時代が時代なら企業のノウハウとして隠されていたような情報がこれだけ公開してもらえているというのが非常にありがたい。公開してくれている各企業や公開してくれている人に感謝。

あとで気付いたが、Google や Facebook の事例も探しておけばよかった。Thrift とかあったのに。「こんな情報もあったよ」などあればぜひ教えてください。追記していきます。


オマケ

あちこちの構成の情報

はてなと KLab(DSAS) の知恵が書いてある定番書。

[24時間365日] サーバ/インフラを支える技術 ~スケーラビリティ、ハイパフォーマンス、省力運用 (WEB+DB PRESS plusシリーズ) (WEB+DB PRESS plusシリーズ)
安井 真伸 横川 和哉 ひろせ まさあき 伊藤 直也 田中 慎司 勝見 祐己
技術評論社
売り上げランキング: 1160

こちらは Yahoo! のパフォーマンス担当。

ハイパフォーマンスWebサイト ―高速サイトを実現する14のルール
Steve Souders スティーブ サウダーズ
オライリージャパン
売り上げランキング: 1469

これは Flickr の知恵が。

スケーラブルWebサイト
Cal Henderson
オライリー・ジャパン
売り上げランキング: 90613

ちと古いけど、Livedoor Reader とはてなブックマークの事例が。

まるごとPerl! Vol.1
まるごとPerl! Vol.1
posted with amazlet at 09.01.30
小飼 弾 宮川 達彦 伊藤 直也 川合 孝典 水野 貴明
インプレスコミュニケーションズ
売り上げランキング: 153077
  

iPhone の Push Notification Service から読み取れるもの

by tanabe on July 16, 2008

iPhone について、否定的なエントリをいくつか読んで、ちょっと違和感があった。別に iPhone 好きでも Apple 好きでもないので、否定的に受け止められること自体は構わない。

だけど、こういうものを捉えるときのアプローチとしては、「もし、後々これが大きなターニングポイントになるとしたら、何をもってターニングポイントになりうるのか?」という視点で検討したほうがいいのではないか。と思ったのだ。

その脅威が実現する可能性についてはまた別途検討すればいい。結果として何でもない単なるおもしろインターネット端末でした、という結論なら安心してスルーするか、祭りを楽しめばいい。

ただ、検討もしないで「あれがない」「これがない」と現在あるものとの比較でないもの探しをしていると、大きな流れを見失う恐れがある。(実際に買った人から「Safari 落ちすぎ!」みたいな声も挙がっているのはひとまず横に置いておく。)

ということで、ざっくりとだが自分でいろいろ読んでみた。

以前に shi3z さんのこのエントリを読んで「ほー」と思った覚えはあったので、 Push Notification Service が iPhone のキーコンセプトだということを取っ掛かりに調べ始めた。(ちなみに「ポジショントーク」というはてブコメの指摘はたしかになー。とも思った。)

http://d.hatena.ne.jp/shi3z/20080610/1213107165
ケータイコンテンツの最大の特徴とは、ユーザ側から働きかけるのではなく、サービス側から働きかけることによってユーザの行動そのものを動的に変えて行くということです。

そうだよなぁ。ケータイであるということは、つまりユーザーが常時携帯し、どこにいてもいつでも手元に置いているということだ。つまり、(PC の前でできることだけではなくて)あらゆるユーザーの行動に働きかけをし続けることができるという可能性を秘めているわけだ。今ユーザーが何をしているか、何を欲しているかを生活の隅々まで追って、その瞬間にほしいものを提供するということができるとしたら、それは携帯端末だけだ。 (ケータイは携帯電話であるので、こう文章にすると文字通りの当たり前のことなんだけど。)

続いて、blog.Winding-life.net さんのなぜはてブが3つしか付いていないのかまったく理解できないすばらしいエントリ。これは全員が読むべき。説明も非常にわかりやすく、その洞察も納得がいきやすい。

http://blog.winding-life.net/archives/23
とにかく重要なのは、サードパーパーティのアプリに対して「着信機能」をシステムレベルで開放してくれるってこと。 ここから広がる可能性は今までの携帯電話とは比較にならないと思うんだけど。

そして、

でもこの仕組みの一番のえげつなさは、音声通話とパケット通信以外のサービスをキャリアに関係なく自分で実装できちゃうっていうこと。今までは「着信機能」を持てないがためにキャリアでしか実装ができなかったものも自分たちで実装できるようになる。要するに「お前らはちゃんとデータを流しさえしてりゃいいんだよ」とキャリア各社に申しておるわけですよ、Appleは。

はい。これだけしか引用しません。ぜひ全文読んでください。

次は、米国の CNET から。

http://news.cnet.com/8301-17939_109-9964040-2.html?hhTest=1
For the better part of a year, users with jailbroken iPhones have been enjoying apps that run the traditional way (in the background), even when the device is in sleep mode. Jailbroken apps like Mobile Chat and Intelliborn's Intelliscreen (hands-on) run quietly, pulling in data every few minutes and popping up with a message the way Apple's own apps behave. The problem is that this model doesn't scale.

iPhone は(jailbreak することで)従来型の(バックグラウンドプロセスによるプル型の)仕組みを実装することもできる。ただし、この仕組みはスケールをしない。という指摘。携帯デバイスという特性上、複数のクライアントアプリケーションがバックグラウンドプロセスで動作し続けるというモデルは非効率であり、その解として Push Notification Service が出てきている。と解説している。

This new tunnel for data is a veritable gold mine that's not just metrics--it's attached to user IDs and billing information too.

さらに、この Push Notification Service という新しいユーザー接点(データをユーザーへ届けるパイプ)は、ユーザー ID でユーザーを個別に識別可能であり、決済機能とも結び付いている。

個別の端末について IP を握っており、それがユーザー ID と過去の様々な通信活動の履歴と結び付いているという状況を思い浮かべると、Apple の優位性がはっきりと見えてくる。そして、意外にもそれは DoCoMo が握っていた優位性とも似ている部分がある。DoCoMo は独裁者としては優しかったのかもしれない。Apple はそれほど甘い顔を続けないだろう。

国内の情報に戻って、WWDC2008 の基調講演を丁寧にまとめた記事へ。上記を踏まえて読み返すと、その構成や文句についていろいろ考えさせられるものがある。(わざわざ検索して読み返さんでも、すべて WWDC2008 で言われてるじゃん!自分どれだけ鈍いんだ!的なものも含めて。)

http://plusd.itmedia.co.jp/pcuser/articles/0806/13/news039.html

たとえば、この辺は見える景色が違ってくるのではないだろうか。

3番目は、looptのSam Altman氏は、iPhoneのCore Location APIを使って、自分の周囲にいる友達を表示してくれるアプリケーションを紹介。利用者は自分の居場所についてコメントを残したり、友達にメッセージを残したりできるという。

Altman氏は「これまでは終わってから、実は友達が近くのレストランにいたということが分かったりした」「looptを使えば2度とさびしく一人で食事をすることはなくなる」と語った。このソフトはApp Storeにて無料で配布される。

で、なんだかんだでこうして見てくると、Apple は最近の Web の流れとして明らかに見えていた「テキストベースじゃない Web の世界」で勝とうとしているのだということに気付く。iPhone が提示しているアプリケーションとそのインフラとして働くデータとサービスの集合があり、Web と呼ばれたものはその基盤を担っていくという未来を Apple は描いているし、iTMS から着々と実現に向けて駒を進めている。(別にこれは新しい話でもなく、Adobe も MS もそれに向けた手を打っていた。ただ、その概念がソフトウェアとその開発環境という枠組みを出なかっただけだ。)

最後にこれは Apple によるロックインだ!という当然挙がるであろう声も紹介しておく。

http://skypejournal.com/blog/2008/06/3g_iphone_misses_continuity_of.html

この記事の中では、バックグラウンドプロセスを採用せず、Push Notification Service を採用したことによる問題をいくつか提起している。一番気になる点はやはり必ず Apple を介さないといけない仕組みになっている点だろう。それを利用して Apple の一人勝ちモデルとしていくのか、それともそこを共存共栄の仕組みへと進めていくのか。

この Apple が Push Notification Service の根っこをがっつり握っているよ、という話で思い出すのは、fladdict さんの「バイパス」の話。まさにバイパス以外の何物でもないものを出してきたという印象だ。

この機会に fladdict さんの一連の Apple 関連エントリも読まれることをおすすめする。

それにしても、なんだか、こういう内容でブログを書くのはとてもひさしぶりな気がするな。

  

RDB が Web に食われる未来

by tanabe on April 22, 2008

原文で "The RDBMS isn’t going anywhere of course." と言っているとおり、タイトルはやや釣りなわけだけど、一面を見ると RDBMS という存在が皆が使うものではなくなるかもしれないというのも事実なので、あながちウソではない。

"The new attack on the RDBMS" という話はすば抜けて革新的というわけではないけれど、今のタイミングで見えているものを上手にまとめた記事になっていておすすめ。

  

Jeff Bezos が語る Amazon は何を考え続けているのか?

by tanabe on October 19, 2007

Harvard Business Review October 2007 に Amazon の創業者 Jeff Bezos のインタビュー (The Institutional YES) が載っている。Amazon の文化、戦略の生まれる背景を解き明かそうとした良インタビューだった。

かつて梅田望夫さんは「コンピュータ産業のパラダイムシフトを象徴するアマゾンの戦略」という良エントリで「アマゾンがテクノロジー企業に変貌しようとしている」と指摘していたが、このインタビューを読むとそのテクノロジーの取り込みも手段の一つでしかなく、Amazon はあくまで「Amazon の顧客は誰か?その人たちは何を求めているか?」をひたすら考え、忠実に実装していく企業であることが読み取れる。これはいわゆる「ネット企業」「テクノロジー企業」に特異な視点だろうか?むしろ、古典的といってよい王道の視点だろう。

そして、そこで語られる基本哲学は変化が激しいと言われる Web を舞台にビジネスをするからこそ、特に気をつけるべき視点が大いに含まれている。

まずは、Amzon では、ビジネスを長期的な視点で見ており、短期的な考えに捉われることを避けている。それはたとえば種を植えて木へと生長するのを待つようなことである。という文脈での質問から。

Do you know when you're planting of those seeds that it's, say, an acorn and it's going to turn into an oak? Do you have a stron vision of how things will materialie? Or does the shape emerge along the way?

We may not know that it's going to turn into an oak, but at least we know that it can turn out to be that bin. I think you need to make sure with the things you choose that you are able to say, "If we can get into this to work, it will be big." An important question to ask is, "Is it big enough to be meaningful to the company as a whole if we're very successful?"

Amazon で重視されるのは、うまく行くかどうかという姿勢ではない。それが本当にうまくいったとしたら、ビジネスになるのかどうか? Amazon に対して与えるインパクトは十分に大きいものなのか?その質問が重視される。

Amazon が手がけるビジネスを見た外部の人は最初の頃、「なぜそんな新しいことをするのか?」という感想を抱く。なるほど。それは正当な疑問だろう。それに対して Bezos はこのように語る。

But they all have at their heart one of the reasons that it's so difficult for incumbent companies to pursue new initiatives. It's because even if they are wild successes, they have no meaningful impact on the company's economics for years. What I have found - and this is an empirical observation; I see no reason why it should be the case, but it tends to be - is that when we plant a seed, it tends to take five to seven years before it has a meaningful impact on the economics of the company.

そのようなことを言う人たちは、新しい挑戦を恐れるから会社を助けるような大きな成功ができないのだ。Bezos はこれまでの経験から断言する。「なぜかはよくわからない。でも、これだけは言える。企業にとって有意義な結果が出るまでにはたいてい着手してから5〜7年は必要だ。」

That does require people, inside and outside, to keep the faith. How do you have the confidence that the investment will ultimately pay off?

It helps to base your strategy on things that won't change. When I'm talking with people outside the company, there's a question that comes up very commonly: "What's going to change in the next five to ten years?" But I very rarely get asked "What's not goning to change in the next five to ten years?" At Amazon we're always trying to figure that out, because you can really spin up flywheels around those things.

ただ、そのような長期的な視点での挑戦を続けるのは内外が信念を持ってあたる必要がある。Amazon では変化するものではなく、変化しないものを対象に戦略を立てることで短期的な心配に振り回されないようにしている。問い続けるべきは、「この5〜10年で何が変わるのか?」ではなく、「この5〜10年で変化しないものがあるとしたら、それは何か?」なのだ。

では Amazon はいったい何が変化しないと考えているのか?それが続いての質問だ。

What are some of the things you're counting on not to change?

For our business, most of them turn out to be customer insights. Look at what's important to the customers in our cunsumer-facing business. They want selection, low prices, and fast delivery. This can be different from business to business: There are companies serving other customers who wouldn't put price, for example, in that set. But having found out what those things are for our customers, I can't imagine that ten years from now they are going to say, "I love Amazon, but if only they could deliver my products a little more slowly."

Amazon はコンシューマビジネスであり、つまるところ「顧客についての深い理解」こそがコアとなる。「顧客が何を重視するか?」に焦点をあてればいい。10年後の顧客もけして「Amazon は嫌いじゃないんだけど、もう少し配達が遅ければいいのに。」なんて言いだすことはない。

Another thing that we believe is pretty fundamental is that the world is getting increasingly transparent - that information perfection is on the rise. If you believe that, it becomes strategically smart to align yourself with the customer. You think about marketing differently. If in the old world you devoted 30% of your attention to building a great service and 70% of your attention to shouting about it, in the new world that inverts.

そして、もう一つ変化しないものがある。「世界は見通しやすくなっていく」という傾向だ。これからも情報はより手に入れやすくなっていく。そこから考えると、そこそこのサービスを作ってそのすばらしさを喧伝することに力をそそぐよりも、本当にすばらしいサービスを作りこみ、それを少しだけ宣伝してやるほうがいい。あとは顧客がそれを理解し広めてくれる。

A lot of our strategy comes from having very deep points of view about things like this, believing that they are going to be stable over time, and making sure our activities line up with them. Of course there could also come a day when one of those things turns out to be wrong. So it's important to have some kind of mechaninsm to figure out if you're wrong about a deeply held precept.

Amazon の戦略はすべてこのような基礎的で深い洞察から始まり、それが長期的に続くと信じ、プランを立て実行する。ここで重要なのは、最初の視点が誤っていた場合には途中で気が付けるような仕組みを作っておくことだ。

本文はここからさらに API 提供をしている理由や、なぜマーケットプレイスや代理店としての販売を手がけるのか、顧客中心主義という Amazon の文化についてのさらに詳しい質問へと展開される。

部分部分でおもしろかった発言をピックアップしてみる。

But I thought to myself, we don't make money when we sell things; we make money when we help customers make purchase desicions.

これは今後の Amazon のビジネス領域を見極めるうえで極めて重要な視点だろう。この時点で販売を「物を売ること」とは捉えていないことがわかる。「(たとえば Web というインターフェイスを使って)顧客が『これを買おう』と思う手伝いをすること」をビジネスの目的としているのだ。この文脈だとネット直販をしている小売が商売敵ではないことも納得がいく。むしろ雑誌通販などをしているところや店舗を持っていて品物を体験できるところのほうがベンチマークの対象となるのだろう。

What would you say has been the nature of your biggest strategic mistakes?

I think most big errors are errors of omission rather than errors of commission.

「一番大きな戦略上の過ちは?」という質問に対して「やってしまったことじゃなくて、やらなかったことこそが一番大きな過ちになると思う。」という答え。挑戦すべきだという考えは徹底している。日本語で言うなら「やらずに後悔するよりやってから後悔するほうがいい」といったところだろうか。

「そのような文化を維持するために何をやってるの?」という質問については、

you will always get asked the question, "Why? Why do that?" But "Why not?" is an equally valid question.

やらない理由(やるべきでない理由)がないならやっちゃえば?という考えを浸透させるためには、「なんでやっちゃダメなの?」と聞くのは有効だそうだ。

きりがないのでここまでにしておこう。ここで取り上げたのは象徴的な発言ばかりだが、実際にインタビューではそれぞれについてのもっと具体的な話も語られている。わずか 7 ページ程度のインタビューなので、読む機会のある方はぜひ目を通してみることをお勧めする。

ついでに、Jeff Bezos についての過去のインタビューなどの一部は下記へ集めている。ご参考までに。
http://del.icio.us/zep716/bezos

  

そろそろ Web のような低レベルなものを意識するのは止めたら?とか。

by tanabe on March 26, 2007

Apollo とか LDR とか見ていて最近感じるのは、つくづく Web が融通の利かない低レベルレイヤで、もうその制約に従うのは止めたほうがいいんじゃない?という発想が強くなってるなというもの。

たしかに Web は単なる手段であって、手段の見せる世界ですらなかなか魅力的だったから手段が目的化していたような面があった。でも、Web のおいしい部分を頂いてしまえば、別に制約の多い世界にわざわざ留まる必要ないよねーっていう考えが強くなってきた気がする。

別にそれをもって「 Adobe は Google キラーだ。」みたいなことを殊更言いたいとも思わないし、実際 Web 自体がご破算になるとは思えないけれど、今のブラウザベースの Web の姿が 5 年後もそのままあり続けるというのはイメージしづらいなぁ。