次世代ホスティングの話

第1話
福岡から支えるサービスインフラ
第2話
次世代ホスティングの始まり
第3話
技術で世界と繋がる楽しさ

次世代ホスティングの話

第1話  福岡から支えるサービスインフラ
第2話  次世代ホスティングの始まり
第3話  技術で世界と繋がる楽しさ

今回の登場人物

松本 亮介

松本 亮介
技術基盤チームのアドバンスド・シニアエンジニア。2015年春から福岡生活を開始し、すっかり九州グルメと温泉の虜に。OSS開発、革製品やゲーム、ミニ四駆など、実は幅広い趣味の持ち主。

高岡 修一
ホスティング事業部インフラチームのサブマネージャー。IngressではまもなくLv16に手が届く、国内屈指のエージェントの一人。九州のおすすめスポットは鹿児島の桜島と大分のやまなみハイウェイ。

渡邉 潔
ホスティング事業部インフラチームのエンジニア。福岡支社では釣り部に所属。ホークスファン。IngressではLv11の通勤エージェントとして活動している。九州のおすすめスポットはびっくり亭。

原口 宗悟
ホスティング事業部インフラチームのシニアエンジニア。好きな九州名物は『炭寅』のつくね、おすすめイベントは370年以上続く伝統芸能・長崎くんち。趣味は読書で、おすすめ作家は小路幸也

ペパボ創業以来、ロリポップ!をはじめとするホスティングサービスを支え続ける福岡支社のインフラエンジニア。安定したサービス提供は彼らなくしては成り立ちません。今回は、普段は表に出ることのない、けれどウェブサービスには決して欠かすことのできないインフラエンジニアの仕事に迫ります。サービス運用混沌の時代から驚くべき進化を果たすまでの過程、そして『次世代ホスティング』の正体とは?

はじまりは“混沌とした運用”だった

松本
今日は、ロリポップ!をはじめとした、GMOペパボの柱のひとつであるホスティング事業の管理運用を行っている福岡のエンジニアの皆さんにインタビューしていきたいと思います。
一同
よろしくお願いします。
松本
では、まず最初に皆さんの自己紹介と、入社のきっかけを聞きましょう。
高岡
ホスティング事業部インフラチームのサブマネージャーをしている、高岡修一といいます。前職はケーブルテレビ会社の運用監視をやっていて、8年前、2007年10月にペパボに入社しました。実を言うと最初はインフラではなく開発の仕事を探していて、転職サイトでたまたま見つけたペパボの開発職に応募しました。一旦は経験不足で断られてしまったんですが、あとで当時の人事から、「インフラエンジニアも募集してるんだけど、どうですか?」と打診の電話がきたんです。でも正直、最初は「また運用監視をするのか…」と思ってしまって。
松本
前職と同じことをする、ということにためらいがあったんですね。
高岡
そうなんです。でも、やる仕事は同じでも今までとは違う業種だし、キャリアチェンジするチャンスもあるかもしれない、と考えて入社しました。
松本
実際入社してみて、どんな印象を持ちましたか?
高岡
実は転職するまで、レンタルサーバーというサービスがあるということを知らなかったんです。プロバイダ事業をやっているケーブルテレビ会社に勤めていたので、小さいホームページスペースとか、メールアドレスとか、回線のオプションとして提供するサービスがあることはもちろん知っていたんですが、オプションの方をメインにしたサービスもあるんだなあと。印象としては、プロバイダのときと比較して障害対応が多いことに驚きました。そもそもプロバイダのホームページスペースはほとんど使われていなかったので何も起こらなくて当然なんですが、最初はびっくりしましたね。「何がどうなってんのかよくわかんねえな!」と思いながら、手探りで毎日試行錯誤してました。
松本
ありがとうございます。じゃあ、次は渡邉さん、お願いします。
渡邉
渡邉潔と申します。37歳です。ペパボに入社したのは、高岡さんより少し前の2007年の2月。前職はシステムエンジニアでした。僕はそもそも文系だったんですけど、新卒でIT業界に入って今に至ります。
松本
それはなぜなんですか?
渡邉
高校の文理選択のときには明確に目標が決まっていなかったので、なんとなく文系に進んだんです。大学に進学して就職活動を始めたときに、昔からものづくりが好きで、父親と同じ大工や建築業に就きたかったんだと気がついたんですけど、そのときには既に文系の学部に進んでしまっていて…。文系でもものづくりができる職業を探して、IT業界に入って、福岡の小さなソフトハウスでプログラマーSEになりました。
松本
ペパボに入社したきっかけは?
渡邉
大学からの友人だった、今はヘテムルマネージャーの古島さんから手伝ってくれないかと声をかけられたのがきっかけです。
松本
入社当時のペパボは、どんな印象でした?
渡邉
入った当初はさっき高岡さんが言われてたとおり、障害のアラートが多い一方、管理が追いついていませんでした。手順書をメンバーそれぞれが手元に持ってて、何かあるたびに共有するのが大変でしたね。
松本
前職の環境とは違ったんでしょうか?
渡邉
僕はもともとプログラマーSEをやっていたので、テスト仕様書やエビデンスをきちんと作って提出することが大前提だったんですけど、当時のペパボにはその習慣がありませんでした。問題点の管理表もなかったし、いろいろ問題があることはみんな認識してるんだけど、日々の対応に精一杯で問題の改善には着手できないままでした。日本最大級のホスティングサービスだということを知ったときは、こんな状態でようやっとるなと驚きましたね。
松本
入社したときから比べると、今は随分変わったと思うんですが、具体的にはどんなところが変わりましたか?
高岡
どちらかというと運用以前の問題ですが、まずはテキストベースの構築手順書を作って共有することが前提になりました。
渡邉
アプローチとしては、いろんな部分を自動化してきましたね。安定稼動を目指すにあたって新たな監視を追加して、自動化できるものは自動化していったという感じです。運用の省力化ができるようになりました。
松本
なるほど。高岡さんと渡邉さんは、その混沌とした状態から、きちんとした運用体系を構築してきた時代の中心人物でもあるってことですね。では次に、そのお二方とは少し入り口の異なる原口さんに自己紹介をしていただきましょうか。
原口
原口宗悟と申します。派遣社員としてペパボで3、4年働いたあと、2015年1月から正社員になりました。ペパボに来る前は、長崎の小さいソフトハウスに就職したのを皮切りに、派遣社員として会社を転々としていろんなことを経験して、福岡に戻ってきて、ペパボでも派遣として仕事をしていたという感じですね。
松本
派遣社員としてペパボで働いていたときも、今とほとんど変わらない仕事をされてたんですよね。なぜ、社員として改めて入社したいと思ったんですか?
原口
まず、OSSを業務に導入できる環境で働くことに魅力を感じたことが大きいです。SIerで働いてた経験が長いのですが、そこではすべて手順書に起こして印鑑をあちこちからもらって、やっとの思いでサーバーを触れる状態になっても、手順書に書いてあるコマンド以外は打ったらだめという状況で、物足りなさを感じていました。ペパボのようなスピーディーで柔軟性のある環境を知ってしまったら、もう昔の環境には戻れないと思ったんです。ペパボの魅力はたくさんあるんですが、スピード感が出せるという点は一番強くひかれたところです。
松本
最近だと運用の自動化も進んで、ますますスピードが出るようになってきていますね。では話を今に戻して、現在の福岡支社のインフラチームの業務内容について、サブマネジャーの高岡さんから簡単に説明していただけますか。
高岡
福岡支社のインフラチームはホスティング事業部という部署の中にあって、ペパボのホスティングサービスのサーバー管理運用を担当しています。管理運用というのは具体的にいうと、サービスが適正にお客さんに提供できているかどうかを常に監視して、異常値が出た場合に正常な状態に戻すというのが仕事です。中でもロリポップ!は規模が大きいのでサーバーの台数も多くて、業務全体の約9割はロリポップ!に関わっています。
松本
ペパボのホスティングサービスの規模は、お客さんの数でいうと、大体どれぐらいになるんですか?
高岡
41万ユーザーくらいです。
松本
すごい数ですよね、それ。
高岡
昔はサーバー台数も多かったです。今はもっと効率的に運用できるよう、より少ない台数に集約させましたが、ロリポップ!だけで1,000台弱あったと思います。
松本
夜間はどうやって運用しているんですか?
高岡
24時間365日、何か起これば対応しなければならないので、夜間は一次請けを外部に委託して、シフト制で対応しています。昔はすべて社内のエンジニアで対応していたので、3交代制で出勤していました。
松本
3交代制っていうのは、具体的には?
高岡
通常通り9時から18時勤務、14時から23時勤務の遅番、23時から翌朝9時までの夜勤シフトの3交代制でした。この体制で、1,000台弱のサーバを毎日監視していました。
松本
ペパボに限らず、ホスティング業界ってどこも似たような運用の体制の流れを取っていたと思います。おそらく3交代制になる前はみんな定時で仕事をして、それとは別に夜のアラート対応当番が決まっていて、その人がケータイを持って寝る。アラートが鳴ったらその当番が責任を持って対応するというやり方が主流だったと思います。
渡邉
3交代の前は、ずばりその世界でした。
松本
そのやり方は対応スピードも速いし、経験を積むことでスキルアップはできるかもしれないけど、疲労は蓄積されるし体調は悪化する。だからシフト制に移行していくんですが、それでもやっぱり肉体的にも精神的にもしんどいことが多い。それを解決して業務を効率化するために、運用方法のドキュメント化や自動化をきちんと進めて業務委託に回そう、という流れで今に至っているんですね。
渡邉
運用という仕事は車輪をその場で回す作業のようなものだと思うんです。でも、同時にその車輪を大きくしたり、前進させたりする仕事も絶対必要だと思っていて、できればそっちのほうにより多くの時間を割きたい。そのための手段のひとつとしても、夜間の監視業務を外注しています。
松本
インフラエンジニアの仕事は運用管理というお話がありましたが、皆さんは運用という言葉の定義についてどう考えていますか?
原口
個人的には、サービスリリースした時点の品質を維持することだと思っています。時間の経過とともにサービスを利用するお客さんが増えたとしても、初期にリリースした時点のレスポンスを保つとか、そういったことですね。なので、負荷が高くなればその負荷を軽減するためにサーバーを増強したり、プログラムを改修したりして品質を維持するということが、運用の大前提だと思います。
渡邉
お客さんに提供する品質を維持すること、サーバーを安定稼動させることがなにより大切だという考えは、昔の体制が混沌としていた時代から根底にありますね。
松本
サービスリリース時点で設計されている性能を維持して提供し続ける、ということですよね。更にお聞きしたいんですが、設計当初のパフォーマンスよりも高い性能をお客さんに提供するための改善は、運用に含まれると考えますか?
原口
もちろん含まれると思います。改善点は、実際に動いているサービスを運用しながら見えてくるものなので。新たに開発が必要な場合は、手を動かすためのタスクとしては別になるかもしれませんが、改善点は運用の一環で見つかるものだということは間違いないと思います。
松本
運用してみないとわからないという一方で、サービスリリース時により多くの改善点に気づく方法はあると思いますか?
原口
もちろんリリース前は想定できる範囲でテストや確認はしますが、ホスティングサービスは他のサービスに比べて想定外のことが起きやすい気がします。
渡邉
利用者の自由度が高いのが、ホスティングサービスの特徴ですからね。お客さんによって、使い方が全然違う。
松本
一般的な最近のウェブサービスはある程度使い方が決まっているものが多いので、リリース後の動きを開発者が予測しやすいと思うんです。それに対してホスティングはコンテンツにほとんど制約がなく、多種多様なお客さんが本当にいろんな使い方をするので、サービスのリリース段階でユーザーの使い方まで予測して適切なサービス設計をするのがとても難しい。だからこそホスティングは、運用しながら改善していくプロセスが非常に大切になってくる。
原口
はい、そう思います。
松本
ホスティングの運用っていうのは、世間一般的なウェブサービスよりもどちらかというとOSやミドルウェアの緻密な運用が要求されるので、それらに柔軟に対応できる知識や想像力が必要になってくるんですね。
原口
毎日やっても飽きない世界ですよね。同じものはないですから。

運用とは生き物に接するような仕事

松本
さきほどから、ロリポップ!ではサービスリリース当初から今まで、運用のいろいろな部分を自動化してきたという話が出ています。そこで、運用はどこまで自動化することができるのか、逆に自動化することでデメリットは生じないのか?という点について、皆さんの意見を聞きたいと思います。
高岡
私は、運用は生き物に接するようなものだと思っています。状況は常に変化していて、同じケースに遭遇することもほとんどない。あらゆる状況を先読みできるAIみたいな存在が自動的に管理や対応をすることができれば、人間がログインして運用しなくてもいい世界がくるんじゃないかと思います。
松本
もし仮に人間がSSHでログインしなくても運用できる方法が生み出されて、それが使える時代が来たとして、その方法でロリポップ!を運用することは可能だと考えますか?
高岡
条件をつければ可能だと思いますが、難しいですね。
松本
「このアラートが来たらApacheを再起動する」などのルールを決めれば、実施はできると思います。ただ、ルールに従うだけでは対応しきれないケースは山ほどあるので、運用省力化のみの視点で自動化をすると、サービス品質は落ちてしまいますよね。自動化の目的はサービス品質を含む運用効率化なのに、実際にはトレードオフの関係になってしまう。これらの関係についてはどう思いますか?
原口
サービス品質を担保できないかぎりは、人間不在の自動化は実現したとは言えないと思います。実際には再起動すればその場は対処できるかもしれないけど、その原因がわからないままでは延々と同じことが続く。その原因を特定して対応して、サービスの質を高めていくのが、運用している人間の役割だと思います。
松本
自動化する部分と人間が対応する部分のバランスについてはどう思いますか?
高岡
サービスレベルを維持するという大前提をレスポンスの速度などの監視のしきい値で数値化して、それが変化しないラインを指標とするのは、落としどころとしてのひとつの考え方かもしれません。そのしきい値の範囲内でいろんな運用改善の取り組みをしていって、自動化できる工夫を進めていく。
原口
落としどころは非常に難しいですね。パターン化しているアラートへの対応は手順がまとまっているので、スクリプトを叩けば迅速に解決することができます。でもマニュアル化して対応するだけでは生のログを見ることもなく、何が起こっているか理解しなくても対応が可能になるので運用者のスキルが上がらない。問題の根本解決にはつながらないんじゃないかと思いますね。
松本
自動化を進める上で、実際に作業するエンジニアをどう教育していくのかということも課題のひとつですね。自動化することで作業が定例化されて、問題の本質も見えず、スキルが上がらないままコマンドを叩くだけの状態にもなりかねない。業務効率化と現場で学べるスキルとのバランスをどう取っていくのかというのは、恐らくこのチームだけではなくて、インフラエンジニア全体にとっての重要な課題になると思います。
原口
ある程度自動化が進んで環境が改善されたところに新しく入ってきたエンジニアは、現場で経験を積み上げるすべが少ないので、スキルを上げていくのが割と大変な印象があります。
松本
そういう点で今の福岡インフラチームを見ると、新しく入社したエンジニアの教育機会は意識して増やしているイメージがあります。単に自動化されたものをルーチンワークとしてこなすだけではなくて、時にはSSHで生のログを見たり、チームみんなでやり取りしながら、根本的な問題を解決していく体制が取れている気がします。
高岡
定期的に情報共有をしたり口頭でコミュニケーションをとったりすることは、意識的にやっています。先ほどの繰り返しになりますが、常に変化する状況の中で新しい取り組みを進めていくためにも、そもそもの運用の目的を忘れないようにしつつ、工夫して自動化を活用していきたいと考えています。


~第2話へつづく~