筆者は先頃、Airbnbのサイトリライアビリティエンジニア(SRE)を務めるCameron Tuckerman-Lee氏にインタビューした。
Airbnbのような大規模なサイトが信頼性やユーザー体験についてどう考えているのかを学ぶのは、有意義なことだと思ったからだ。
Airbnbのサイトがダウンしたり、障害が発生したりしたら、同社が利益を上げられなくなるだけでなく、ゲスト(借り主)やホスト(貸し主)に多大な支障を来すおそれもある。例えば、障害が発生したら、Airbnbで契約した宿泊先に移動中の旅行者は地図や住所を参照できなくなってしまうかもしれない。Airbnbの規模を考えると、こうした問題は極めて重要だ。
同社は企業価値が300億ドル超と評価されており、サイト上に200万件以上の物件を掲載していることを念頭に置いてほしい。つまり、その規模は本当に巨大であるということだ。
以下はインタビュー内容を抜粋、編集したものである。
SREの役割は企業によって大きく異なると私は考えている。多くの企業では、SREはオペレーターだ。建物の一角には、アプリケーションを開発する開発者がいる。彼らの開発したアプリケーションを(たとえとしての)壁の向こうにいるオペレーターに投げると、オペレーターはそれらのアプリケーションが実環境で確実に動作するようにしてくれる。
Airbnbでは、そのモデルを採用していない。われわれが採用しているのは、近頃大きな人気を博している「DevOps」モデルだ。したがって、アプリケーションを構築するエンジニアが、それらのアプリケーションの運用やスケーリング、インシデント対応も手がける。しかしそれ故に、常に彼らがそうした作業を効率的かつベストプラクティスを活用しながら実行できるようにするため、新種のツールが必要になる。それこそがSREチームの役割だ。つまり、SREチームはサイト全体の信頼性と可用性を維持する。アプリケーションを所有するほかのチームをサポートすることによって、それを実現しているのだ。
多くは学習に関するものだ。インシデントが発生した場合、効果的なフォローアップをするにはどうすればいいのか。その経験から学習するにはどうすればいいのか。インシデントが実際に発生した場合、過去のインシデントに関するデータをすぐに入手して、新しいインシデントを理解できるようにする、事後検証を実行するようなツールがある。
適切な人材を集めることも重要だ。緊急時のエスカレーションにはどんな人を巻き込むのか。アラートはどう扱えばいいのか。サイトリライアビリティチームはそういったことも手がける。「StatsD」や「New Relic」といったいくつかの監視ツールと統合してそれを保守するのもわれわれの役目だ。これらのツールによって、インシデントが発生したら、われわれは問題のある部分とその影響を迅速に特定することができる。
CNET Japanの記事を毎朝メールでまとめ読み(無料)
ZDNET×マイクロソフトが贈る特別企画
今、必要な戦略的セキュリティとガバナンス
ものづくりの革新と社会課題の解決
ニコンが描く「人と機械が共創する社会」