• X
  • Facebook
  • RSS

「ちょうどいい」オートスケールを実現する「ロリポップ!マネージドクラウド」、研究・技術・開発が一体となった舞台裏に迫る!

研究・技術・開発という3つの組織が一体となって実現したGMOペパボの新サービス「ロリポップ!マネージドクラウド」は、どのようにして使い勝手のよいオートスケールを実現したのでしょうか。

GMOペパボが正式リリースしたばかりの「ロリポップ!マネージドクラウド」は、GMOペパボ研究所の成果であるFastContainerを基盤技術として適用し、新しいアーキテクチャを作り上げました。これにより、Webサイトの負荷増大に対応してスケールする仕組みを、エンジニアではない利用者でも簡単に扱うことができます。

ロリポップ!マネージドクラウド

使う人は楽になり、基盤の開発者にとっては挑戦となる新サービス「マネージドクラウド」について、開発チームメンバーに話を聞きました。

左から、小田知央さん(おだ・ともひさ、技術部 技術基盤チーム プリンシパルエンジニア)瀧口舞さん(たきぐち・まい、ホスティング事業部ホスティンググループ マネージドクラウドチーム リーダー)小山健一郎さん(おやま・けんいちろう、ホスティング事業部 ホスティンググループ マネージドクラウドチーム シニアエンジニア)

※この記事は、GMOペパボ株式会社による記事広告です。

専門知識がなくてもオートスケールできる

──「ロリポップ!マネージドクラウド」はいつ頃から作り始めたのですか?

瀧口 構想は2年前の秋頃からですが、開発期間は実質1年半くらいです。2017年8月末にα版をリリースし、11月末にβ版になり、この(2018年)4月18日から正式版になりました。

小田 種になる技術はペパボ研究所が作っていたものです。それを使って新サービスを作る形で動き始めました。

レンサバの常識を覆す「なめらかなシステム」に挑む──運用技術を学術研究して実際のサービスへ適用 - はてなニュース

──改めて、何が「うれしい」サービスなのかを教えてください。

瀧口 従来のレンタルサーバーやVPSのサービスは、アクセスが増えたときにリソースを拡張することが簡単ではありませんでした。クラウドサービスにはアクセス急増に対応するオートスケールの機能がありますが、この機能を使いこなすことは、エンジニアではない人には難しかった。

マネージドクラウドは、アクセスの増加に対して自動的にリソースを増やしてくれます。いかにお客様にとって運用が楽かを追求したサービスです。また、知識があるエンジニアにとっても、クラウドの運用は時間を取られるので、そこが楽になるメリットがあります。

──小山さんは2018年3月に入社したばかりですが、入社前からマネージドクラウドに注目していたとか?

小山 前職ではクラウドやVPSを使い、主にお客様にシステムを提供する立場で開発をしていました。マネージドクラウドには、提供する機能に響くものがあってα版から目を付けていて、「これはもしかすると、お客様に提供するシステム基盤のもうひとつの選択肢として使えるのではないか」と考えていました。

──小山さんは、マネージドクラウドについて「ちょうどいい」選択肢になるのでは、とブログ記事で書いています。「ちょうどいい」とは?

マネージドクラウドチームにJOINした小山(@k1LoW)です|ロリポップ!マネージドクラウド|note

小山 大手ベンダーのクラウドサービスにはもの凄い数のパーツが揃っていて、それを組み合わせてあらゆるサービスを提供できるようになっています。一方、VPSやレンタルサーバーはある制約の範囲でサーバーを提供します。マネージドクラウドはその中間で、レンタルサーバーのような簡単さで、なぜか拡張される。

クラウドでも同じような機能は作れますが、それがどれくらい大変なのかを僕は知っているから、そこが簡単になることに価値を見出しています。

──大変さの度合いはどれくらい違いますか?

小山 例えば、PHPで書かれたCMS(コンテンツ管理システム)のアプリケーションに、クラウドのオートスケールの機能を適用する場合を考えてみます。

バックエンドにはDBが必要です。アクセスの流量が増えてWebサーバーを増やしたい場合には、セッション管理の問題が出てきます。CMSによってはローカルにファイルを持つ場合がありますが、それを隣のサーバーにも置くようにするか否かも考えて決めないといけません。

そのように、オートスケールを使うために、アプリケーションレベルの変更が多数発生します。クラウドサービスとアプリケーションの両方の知識が求められます。マネージドクラウドでは、それがなさそうでした。

──本当にアプリケーションの変更なしでそのままスケールできるのですか?

小山 例えばローカルのファイルを使うPHPのアプリケーションでも、スケールできます。

これはGMOペパボに入社してから分かったことなのですが、マネージドクラウドでは共用のデータプールがあって、コンテナはスケールするにあたり共用のデータプールを見ることで、同期が取れている状態を保ってくれます。

新アーキテクチャで、従来からのアプリケーションを変更なく動かす

──小田さんの視点からも、マネージドクラウドについて教えてください。

小田 サービスの規模が大きくなるとオートスケールの実現にはそれなりのスキルが必要です。ロリポップのマネージドクラウドでは、matsumotoryさん(GMOペパボ チーフエンジニア/GMOペパボ研究所 主席研究員の松本亮介氏のこと)が作ったFastContainerというアーキテクチャを使って、コンテナの生成消滅のライフサイクルを管理しています。

コンテナ時代のWebサービス基盤モデル - FastContainerの研究発表をしてきました - ペパボ研究所ブログ

オートスケールは、いつどのタイミングでリソースを増減させるか、というスケジューリング設定の問題がありますが、必要になるとコンテナを増やしてスケールアウト(サーバー台数を増やす形の規模拡大)、必要がなくなると自然にサーバーが消滅してスケールイン(規模縮小)する形で、オートスケールの問題を解決しています。これは今までになかったアーキテクチャです。

比較対象を探しても、クラウド、VPS、それに従来からのホスティングサービスのどこにも属さない。その意味で分かりにくさはあるかもしれませんが、いろいろなメリットがある。そういう今までに存在しないものを作って、広めていこうとしています。

小山 入社前はクラウドサービスを使っていたので、マネージドクラウドのFastContainerについてもサーバーレスアーキテクチャの文脈で興味がありました。いわば状態を持てるサーバーレスサービスというか。

例えば、Function as a Service(FaaS)の文脈ではすべてを「関数を発火するイベント」として捉えます。イベントで発火する関数は基本的に状態を持たず副作用がないのでスケールが容易ですが、一方でエンジニアから見れば従来のプログラムやアプリケーションの書き方を変えないといけない。

FastContainerによるマネージドクラウドでは、それが求められません。

──新技術を投入して、従来のアプリケーション資産をそのまま動かしながらスケール可能としているのですね。

新しい基盤技術に挑むのは技術スタックを越えたチーム

──サービスを作る上での工夫、苦労はいかがですか?

小山 FastContainerを実際のサービスに落とし込むために、開発、改良を続けていて、より便利にするために日常的にアーキテクチャも変わっていくんです。マイクロサービスが一つ二つできたり変わったりが、日常的に起きています。苦労というのはちょっと違いますが、より良いサービスを提供するため、「中の人」は日々がんばっています(笑)

小田 自律的なサーバー、実際にはコンテナなんですけれども、自律的に増減するものに対してお金をいただく形になるので、課金まわりをどうするかが難しかったですね。コンテナがHTTPリクエストを契機に起動するので従量課金になるため、サービスはコンテナがライフサイクルを全うしているかを把握する必要があります。

また、コンテナは素早く起動しないといけませんが、それと課金処理を両立させる必要もありました。例えば、お客様が金額の上限を決めて、それ以上はオートスケールを停止できるような機能がそうです。それら一連の作り込みは、本当にチャレンジでした。

──今までにないサービスなので挑戦も多いのですね。

小田 チームの中でメンバーには担当分野がありますが、それに縛られず、フロントエンドの人がバックエンドの開発をすることはよくあります。悩んでいる部分をチーム全体で共有して進めています。

──役割分担を越えて協力しあっているイメージでしょうか。

小田 そうですね。例えば、コンテナの数が想定より増えたり、勝手に消滅したりなどがある場合、自律的なシステムが故に、なぜその問題が起こっているか、原因を把握しにくい側面があります。

そこで、たくさんのコンポーネントがある中で透過的に状況を把握できるようにツールを整備したりしますが、困っていることは全員で共有し、議論を活発にすることで問題解決の糸口を見つけ出すということをしています。

小山 フロントエンドでJavaScriptをやっている人がバックエンドの改修まで手を動かしているので、入社して最初のうちはびっくりしました。フロントエンドの人がバックエンド分野の質問に答えちゃうんです。必要だから一つ下のレイヤーも直そう、その下のレイヤーも直そう、とチーム全体で意見を出し合いながら作っています。

──異なる技術スタックにまたがった問題解決をチーム全体で進めているのですね。

3つの組織なのに1チームのように連携

──ところで、チームの皆さんの勤務地は主に福岡ですか?

小田 福岡です。ペパ研(GMOペパボ研究所)の研究員も福岡にいて、その研究開発で生み出された新しい概念や技術をサービスに落とし込む役割として、技術部の基盤チームやサービスに属するCTL(チーフテックリード)がいます。研究所、技術部、サービス開発の3つの組織が一緒に動いているんです。

小山 入社する前には、1つのチームだと思っていたんですが、実は3つの組織に分かれていると知ってびっくりしました。こちらの予想以上に専門分野が違う人たちが協力していました。

小田 業務の便宜上そうしていることはもちろんだけど、仲の良さもありますね。

──組織ごと、担当者ごとに役割や専門性が違うと思いますが、それを越えて協力する文化がある形でしょうか。

小田 GMOペパボでは、上級のエンジニアになるほど主語が大きい課題を解決する必要がありまして、そうなると役割や専門性に縛られずに業務を行います。上級エンジニアがそういう活動をしていると、一般エンジニアもそれをお手本にします。そうした循環が、エンジニア文化として醸成されているところはあると思います。

──小山さんは前職でもマネージドクラウドに注目していたということですが、サービスへの魅力から入社したのですか?

小山 実はそうではありません(笑)。どちらかと言うと、サービスを作っているエンジニアに魅力を感じていて、マネージドクラウドのチームにはたまたま入らせてもらった感じです。

前職から福岡にいたのですが、マネージドクラウドの基盤を作ったmatsumotoryさんや、自分がまさに採用したいと思っていたツールのOCTOPASSを作っていた小田さんたちがいるGMOペパボに魅力を感じていました。今座っている席も、自分の隣が小田さんで、隣の隣はmatsumotoryさんです。

──小田さんが、そんな小山さんに期待することは?

小田 まず、技術力が高い。そしてチームを引っ張っていく能力も高い。入ってもらって実際に一緒に働いてみて、想像以上の能力の高さにこちらもびっくりしています。既存メンバーより仕様をよく知っていて、小山さんに確認することもあります。

小山 入社前からmatsumotoryさんが発信していた情報も見ていましたし、入社してからは全体を見て触る機会もいただきました。自分が興味がある部分だったから詳しくなったということかもしれません。

今は、バックエンドを主に触らせてもらっています。手が回らないところを中心にWordPressやPHPのバージョン整備とか、動かなくなるエッジケースの改修とか、そういった仕事が多いですね。

──小山さん、今回の転職ではコミュニティの重要性を感じましたか?

小山 はい。コミュニティやカンファレンスを含めて、外に出てアウトプットしていたことで、ペパボの人たちに会うことができましたし。また、やってきたことよりも、それらに対する姿勢を評価してもらって入社することができたと思っています。だからこそ、今までとまったく違う技術領域に挑戦させてもらっているんだと思います。

バックエンドが楽になる分を、ビジネスに振り向ける

──マネージドクラウドの反響はいかがですか?

瀧口 既存サービスのお客様にはまだあまり告知をしていませんが、ペパボのエンジニアがいろいろなイベントに登壇して情報を発信しています。エンジニア人脈を通じて認知が広がっている形です。

小田 使った方からは、よく「簡単」と言われます。負荷が高まったときに利用者を助けるような状況については、まだこれからです。今は、負荷が高くなっても対応可能という安心を売っている形に近いですね。

瀧口 マネージドクラウドが向く利用形態は、例えばスタートアップ企業でバックエンドの調整に時間をかけたくない場合です。バックエンドに費やしていた時間を、事業開発やサービスの拡充などに振り向けることができます。

小山 マネージドクラウドは、一度は触ってみてほしいサービスです。自分自身、サービス基盤を使う側だったのですが、そこで選択肢となりそうな感覚を受けていました。実際にチームに入ってもその気持ちは変わりません。

最近も外で発表させていただく機会をもらいましたが、使う側の気持ちになって発表したつもりです。その甲斐もあってか、ご質問や期待の声もたくさんいただき、好評でした。

──マネージドクラウドのように自律的にスケールアウト、スケールインしてくれるサービスは、世の中であまり聞かないですね。新しいサービスなのに楽に使える。

小田 そういうふうにおっしゃっていただけることが、私たちにとってもモチベーションになっています。

──ありがとうございました。

[PR]企画・制作:はてな
取材・構成:星 暁雄
写真:小高 雅也

文: 星暁雄