pr

楽天エンジニアスペシャル(3)1人で10以上のサービスを支える――人間とサーバをつなぐインフラエンジニアの活躍

楽天で大規模システムの運用に携わるインフラエンジニアは、どのような日々を送っているのか。サービスの事業担当者や開発チームと問題意識を共有し、運用のルールを考え、技術的な改善に取り組み、業務改善の余地を探し求める。楽天で働くインフラエンジニアの仕事ぶりを聞いた。

 楽天 開発部 システム運用課 システム運用2グループの柳沼裕明さんは、楽天のサービスを支える多数のサーバ群の運用を手がけている。「いつもプレッシャーを感じています」と柳沼さんはいう。仕事中には予想できない出来事が起きる。不測の事態に備えるのもシステム運用の仕事であるといえる。

 SI企業勤務を経て、2007年に楽天に入社した。それ以来、一貫してサーバ運用を手掛けている。最初に担当したサービスは「楽天グリーティング」だ。以降、「みんなの就職活動日記」「楽天ダウンロード」などのサーバ運用に携わった。現在は金融系サービスのインフラ運用を担当している。

  楽天標準構成の理解からスタートし、
ノウハウ共有を重視

 「楽天では、新人がシステム運用課に配属されることがあります。中途、新卒に関係なく、3カ月間は教育係と一緒に仕事をします。わたしにもメンター役の先輩がいました」

 ベンチャー企業では、特定分野の業務経験を持ち、即戦力となる人材を雇用するのが通例だ。規模が大きくなったとはいえ、楽天もベンチャー企業であることに変わりはないだろう。しかし、現在の同社は、新人を一から育てることに躊躇(ちゅうちょ)しない。

楽天 開発部
システム運用課
システム運用2グループ
柳沼裕明さん

 インフラエンジニアと一口にいうが、業務のカバー範囲は人それぞれだ。柳沼さんが所属するシステム運用課のほか、同社にはデータセンターの設計・構築やネットワークなどの管理業務を専門とする部署がある。

 「新規サービス向けにサーバの手配からシステムの設計・構築を担当するのは、別の専門部署の仕事です。システム運用課は、システム構築が終わり、運用フェイズに入った後から仕事が始まります。とはいえ、大きな案件ではシステム設計・構築段階から運用設計を検討する必要があるため、企画ミーティングの段階から参加することもあります」

 システム運用課に配属されたエンジニアは、まず楽天標準構成の理解から始まる。また、作業実施時や障害時などに存在する内部ルールの習得も必要になる。多岐にわたる多数のサーバの運用を効率良く実施するためには、ルールに則った運用が必要だ。上記内容を習得したら、サーバのroot権限を得ることができる。初めは開発環境のサーバ設定を担当し、経験を積んで本番環境の作業を担当することになる。

 サーバ設定は、多くの場合、検証済みの楽天標準構成に沿った形で実施する。ただし、さまざまな事情から、標準とは異なる設定や標準以外のソフトウェアの導入が必要となる場合がある。新しいソフトウェアを導入する場合は当然検証が必要となるのだが、組み合わせが増えると、検証の工数は膨らむものだ。結果的に、検証作業に多くの時間を費やすことになる。

 さらに、新規サービス立ち上げの各局面では、スケジュール調整を迫られる場合が出てくる。例えば、(アプリケーションの)開発側から「1週間で立ち上げられるようにサーバを調整してくれ」と突然いわれ、「絶対に間に合わない」と頭を抱えることもあるという。そういう場合はどのように調整するのか。

 「会社として良いサービスを出す。これが全員に共通する大きな目的です。その大目的を基準に、対応した場合、しない場合のリスクを考え、どうやればできるかを考えます」

  少ない人数で
大規模システムを回すには

 現在、柳沼さんは金融系サービスのシステム運用を担当している。例えば、楽天が子会社化した楽天KC楽天銀行のシステムを、楽天グループのほかのサービスと統合する部分の運用・設計・設定などである。

 「会社によって文化が違いますので、楽天標準構成が適用できるかどうかを見極めなければなりません。また、金融系サービスの場合、金融庁の監査対象になりますので、それに適合した運用ルールを作る必要があります。現場の効率を考えながら要件を満たしたルールを作るのも仕事の1つです。新しいことを策定していくことは大変ですが、とてもやりがいを感じます」

楽天KC

 インフラエンジニアは、少ない人数で大量のサーバを運用することが求められる。楽天では現在、1人のインフラエンジニアが複数のサービスを担当している。実際にサービスが稼働し始めてから、想定外のことが真っ先に跳ね返ってくるのも運用チームであるため、作業の効率化は欠かせない。標準を策定し、運用ルールを設定しながら、自動化できる部分は自動化を進めることになる。

  システム運用も
サービスを支えるチームの一員

 楽天のエンジニアは皆、「人」とのかかわりの重要性を強調する。

 「人と話をするのが苦手なエンジニアは、楽天には向かないと思います。コンピュータに向かっていればいい、という仕事ではなく、他部署との調整に立ち会うことが求められます。それはインフラエンジニアも例外ではありません。サービスを展開する事業側が求めているサービスレベルを理解する必要があります」

「人とのかかわり」と「技術力」
両方が必要だと柳沼さんは語る

 柳沼さんは「サービス視点」を強調する。直接サービスにかかわるプロデューサーやWebアプリケーションエンジニアだけでなく、インフラエンジニアもサービスにかかわるチームの一員である、という意識を持っているのだという。

 プロデューサーやWebアプリケーションエンジニアならば、手掛けたサービスが立ち上がったときに大きなやりがいを感じるだろう。インフラエンジニアもこれは同様だが、それ以外にもやりがいを感じる瞬間があると柳沼さんは話す。

 「OS・ミドルウェアのチューニングや新しい技術の導入により、劇的に性能が変わることがあります。チューニングによって負荷を減らせれば、サーバ台数を大幅に削減することも可能です。そんな作業が、インフラエンジニアの『手柄』の1つです」

 「火事場」もインフラエンジニアの腕の見せどころだ。

 「障害を検知すると、自分の担当サービスかどうかは関係なく、周りを巻き込んで即座に対応を開始します。非常事態が起きても戸惑うことなく、むしろやる気になってトラブルに対処します」

 運用設計や調整だけでなく、インフラエンジニアとしての技術力も当然求められる。サービスに影響がある障害や高負荷発生時は、早急な復旧と恒久的な対応が必要となる。Webアプリケーションエンジニアからの依頼作業をこなすだけでなく、インフラエンジニアの視点からシステムのボトルネックを見つけ出し、パフォーマンス・チューニングを実施する。楽天ではインフラエンジニアからアプリケーションに関する改善提案も積極的に行うことができる。

 「楽天のインフラ運用は、黙々と負荷監視や依頼された作業を実施するだけではありません。単なるオペレータとして依頼された作業をするだけではなく、より良いサービスを提供するためにインフラエンジニアの視点から設計・運用・障害対応へ取り組み、どんどんサービス改善に貢献することができます。そういうことが好きな人こそ、楽天のインフラエンジニアに向いていると思います」

 普段は冷静だが、緊急事態には熱く。楽天のインフラエンジニアは、今日も人間とサーバの間で獅子奮迅の活躍をしている。

提供:楽天株式会社
企画:アイティメディア営業企画
制作:@IT自分戦略研究所 編集部
掲載内容有効期限:2010年1月31日



会社情報

  • 会社名
    楽天株式会社
    Rakuten,Inc.
  • 設立
    1997年2月7日
  • 資本金
    107,534百万円(2008年12月31日現在)
  • 本社所在地
    東京都品川区東品川4-12-3
    品川シーサイド楽天タワー
  • 従業員数
    単体:2081人
    連結:4874人
    ※2008年12月末現在
    ※役員を除く契約社員を含む就業人員ベース
  • 代表者
    代表取締役会長兼社長
    三木谷浩史


エンジニアライフ執筆中

楽天開発部コラム事務局
「おれたち世界一になれますか?」