第38回 はてなのインフラを支える「ビジョン」と「数値化」
岑康貴(@IT自分戦略研究所)
赤司聡(撮影)
2009/11/2
田中慎司(たなかしんじ) はてな 執行役員 博士(情報学) 1974年生まれ、愛知県出身。2006年、京都大学大学院 情報学研究科 社会情報学専攻 博士後期課程修了。NTTネットワークサービスシステム研究所を経て2006年はてな入社。サーバ/インフラの設計・構築・運用の責任者。著書に「サーバー/インフラを支える技術」(共著、技術評論社)。 |
■半分は「流れ」でインフラのリーダーに
はてなでインフラを担当して、もうすぐ2年になります。元々、新卒でNTTの研究所に入って、6年ほど研究員として働いていました。その後、大学の同期だった近藤(はてな 代表取締役の近藤淳也氏)に誘われて、はてなに2006年に入社しました。最初はサービス開発がメインだったんですよ。まだそのころは開発とインフラが明確に分かれていませんでした。みんな、コードも書けばデータベースも触る。
インフラ部門ができたのは、2006年の後半です。伊藤(はてな 執行役員 最高技術責任者の伊藤直也氏)や檀上(元はてなスタッフの檀上伸郎氏)が中心となって面倒を見ていました。
その後、2008年4月に本社を京都に移転することが決まりました。伊藤がサービス開発に専念することになり、伊藤に代わって東京でインフラの面倒を見る人が必要になりました。当時、サーバをインターネットデータセンター(iDC)に移したばかりでしたし、300台のサーバをまた移すなんて無理で、(インフラを)京都に引っ越すわけにはいかなかったんです。そこで、わたしに白羽の矢が立ちました。半分は自分の意思、もう半分は流れで、インフラ部門のリーダーになりました。
■自作サーバで動くはてな
エンジニアライフ コラムニスト募集中! |
あなたも@ITでコラムを書いてみないか 自分のスキル・キャリアの棚卸し、勉強会のレポート、 プロとしてのアドバイス……書くことは無限にある! コードもコラムも書けるエンジニアになりたい挑戦者からの応募、絶賛受付中 |
本社移転に先だって、2007年の終わりごろ、伊藤から業務を引き継ぎました。すでに伊藤の手によってインフラ周りはだいぶ改善されていたのですが、それでも、サービス障害が発生するなど、まだまだ問題は残っていました。全体を把握するのに苦戦しましたが、1つ1つ、地道に問題をつぶしていきましたね。
当時のインフラ部門はわたしと社員2人、そしてアルバイトが2人の計5人でした。今は人が増えて、わたしと社員3人、アルバイトが4人の計8人です。アルバイトが半数を占めています。アルバイトの比率が多いと思われるかもしれませんが、能力が高いエンジニア系の学生さんをしっかり教育して、物理的な作業からデータセンター作業までやってもらっています。
はてなでは以前から自作サーバを使用しています。ベンダ製か自社製かという選択肢があるわけですが、はてなは当面、自社製でいきたいと考えています。ハードウェアはどんどん安くなっていきますが、ベンダ製のハードウェアに新しい技術が搭載されるのは、どうしても技術そのものの登場とタイムラグがあるんです。例えばSSDなど。それに、全体的なコストコントロールという面でも、自社製の方が何かと都合がいいですね。こうした「はてなのインフラの方針」を決めるのが、わたしの役目です。
■「Flipnote Hatena」とクラウドサービス
わたしのミッションは、ビジョンを明確にすること。今後、はてなのアーキテクチャをどういう方向に持っていくか、その大きなビジョンをまず明確にし、ブレイクダウンしてマイルストーンを可視化します。具体的な方策はあまり示さず、メンバーに任せます。ちなみに、すこし前までは仮想化、現在は「自律したインフラ」を目指す、というのがはてなインフラのビジョンです。
最近はクラウドとどう付き合うか、ということも考え始めています。例えば、「うごメモはてな」の海外版「Flipnote Hatena」はAmazon CloudFrontを使っています。まあ、あれをクラウドサービスかというと、ただのCDNじゃないかという気もしますが……。グローバルサービスなので、CDNを使わないと現実的な時間に許容できるサービスレベルで提供できないだろう、ということになりました。選んだ決め手は、値段と、使い勝手と、クラウドサービスを試してみたかった、という3点。ここを切り口に、いろいろとクラウドサービスを試していきたいと考えています。
本格的なグローバルサービスの運用は「Flipnote Hatena」が初めて。どの時間帯もどこかの国の人は起きているので、メンテナンスやバックアップのタイミングが難しい、という点は今までと違うところですね。ただ、Webサービスは国内向けであろうと24時間動くのが基本ですから、今までと同じように、やるべきことをやっていれば対応できるな、と感じています。
クラウドが浸透していっても、インフラエンジニアに必要なスキルは、メタなレイヤーでは変わらないと思います。ただし、具体的な個別スキルの話になると、がらりと変わると思います。10年前と今とで、Webサービス開発において、アプリケーションコードの書き方ががらりと変わったのと同じです。
■成果を数値化する
もう1つのミッションは、「成果をいかにして可視化するか」ということです。サービス開発エンジニアの場合、サービスのPVやユーザー数など、成果が目に見えやすい。その点、インフラの仕事は成果が見えづらいところがあります。この成果をいかにして可視化するかが重要。インフラは直接的な数字がないので難しいのですが、はてなでは例えば、「継続無事故日数が50日」とか、「レスポンスの90%のリクエストを1秒以内に返却」とかいった形で可視化しています。なるべく数値化して、見えるようにする。これが評価指標にもなりますし、メンバーのモチベーション維持にもつながります。
改善した部分は計測できるようにする、というのが原則です。可視化するのがわたしで、具体的に「どう解決・改善するか」はメンバーに任せてしまう。最初のころは、あれもこれも自分で、という感じだったのですが、最近はどんどん任せられるようになってきました。
■ユーザーサポートやインターン統括、コードも書きつつ……
2009年のゴールデンウィーク明けからは、ユーザーサポートのリーダーも兼務しています。こちらは主に京都本社との折衝、サービス開発方針とのすり合わせ、法務部門との相談などを担当しています。また、今年はサマーインターンの統括も担当しました。Webアプリケーションの開発者も、インフラが分かっていないと全体最適化ができません。そういう意味で、わたしがインターンを担当したのは意味のあることだったと思います。インターンの開催は京都ですから、東京から通うのは大変でしたけど、優秀な学生たちと触れ合えたのは良かったですね。
インフラ担当といっていますが、上のレイヤーに興味がないわけではないんです。できればサービスのコードも触っていたいなあと思いつつ、中途半端に触っても仕方ないなという気持ちもあります。「コード書きたい欲求」は、インフラのためのツールや管理系のツールを作って解消しています。
今後は、はてながどれだけ大きくなってもトラフィックをさばけるだけの「一流のシステム」を作っていきたいですね。規模が拡大するにつれて、よりインターネットの基幹技術に近い技術が必要になってくると考えています。加えて、新しい技術を作って、世の中のインフラ技術の流れを作っていくことができれば、と思います。
@IT自分戦略研究所は2014年2月、@ITのフォーラムになりました。
現在ご覧いただいている記事は、既掲載記事をアーカイブ化したものです。新着記事は、 新しくなったトップページよりご覧ください。
これからも、@IT自分戦略研究所をよろしくお願いいたします。