サバ缶をサーバーに持ち替えた異色のエンジニア山田修司氏に聞く Dockerコンテナを最速60秒でデプロイできる「Arukas」誕生秘話

※こちらの記事は2018年05月18日にASCII.jpで公開された記事を再編集したものです。
文● 谷崎朋子 編集●大谷イビサ 写真●曽根田元

鮭とばやサバ缶をサーバーに持ち替えた、そんな異色の経歴を持つエンジニア、さくらインターネットの山田修司氏は現在、国内外から熱い注目を集める新ホスティングサービス「Arukas(アルカス)」で、中心メンバーとして活躍する。Arukasを始めたきっかけや舞台裏、サービスの魅力、今後について、TECH.ASCII.jpの大谷イビサが話を聞いた。

Dockerコンテナを簡単に利用できるArukas

Arukasは、コンテナ型仮想化技術「Docker」を利用した新ホスティングサービスだ。パブリックリポジトリ「Docker Hub」上にアップされたDockerイメージをArukasのホスティング環境上に素早く展開できる同サービスは、約900Gbpsの高速バックボーンを誇るさくらインターネットのインフラで、最速60秒の高速デプロイを実現。直感的な操作性が魅力のコントロールパネル、インスタンス数を指定するだけの自動スケールイン/スケールアウト機能、コンテナのバージョン情報を更新するだけで新旧バージョンの切り替えをほぼ無停止で実現するBlue-Green Deployment、多様な言語サポート(Ubuntu、Node.js、Ruby、Python、Redis、PHPなど)と、豊富な機能で開発を支援する。

「Dockerでアプリをデプロイする場合、サーバーの準備、VPSの契約、OSのセットアップ、Dockerのインストールなど、アプリを動かすまでのステップが非常に多いんですよね。そこを一気に省略して、リポジトリを指定すればアプリが立ち上がる。しかも、インスタンスをたとえば10台起動したいとコントロールパネルで設定すれば、ロードバランサーの配下に置かれて、自動的に負荷分散構成になる。課金も、月額50円の基本料金はありますが、それを超えたら秒単位で従量課金となり、起動と停止を繰り返すコンテナに最適な料金体系になっています」。煩雑さが解消されて開発に専念できる、良いサービスに仕上がったと山田氏は胸を張る。

Arukas創設メンバーはサバ缶を研究してた

Arukasのチームをまとめる山田氏は、北海道の水産高校で水産食品科を卒業。加工工場でアルバイトしていた20代の頃、Yahoo! BBの登場に心が沸き立った。独学でインターネットやPCの知識を詰め込む中ですっかり魅了され、未経験でも入社できるIT企業はないかと上京。2007年2月、さくらインターネットに出会った彼は、データセンター運用スタッフとして入社し、インフラ畑を歩むことになる。

さくらインターネット 技術本部 エンジニア 山田修司氏

Arukas誕生のきっかけは同社社長、田中邦裕氏の「何か新しいサービス考えて」という一言だった。チームメンバーは山田氏のほか、APIやRailsの開発者、Webデザイナー、新卒プログラマーの4人。約1ヶ月、アイディアを出し合うブレーンストーミングは続いた。ファイル便のようなクラウドストレージや、中にはクラウドとあまり関係なさそうな宅配サービスまで、30個ほどのアイディアが出揃った。そして、既存事業やノウハウを活かせるものはどれかと検討を重ねた末、Arukasにたどり着いたという。

「最初のコンセプトは、リポジトリを指定すればポンとクラウド上にイメージをデプロイできるサービス、というものでした。シンプルですが、それだけでもすごく便利だろうなという感覚はありました」

山田氏がDockerを知ったのは、データセンター運用チームからネットワーク運用チームに異動し、さくらのクラウドの立ち上げに参加してからのことだった。業務を通じてサーバー仮想化に興味を持って勉強していた山田氏は、すぐにDockerの面白さに魅了された。

「インフラエンジニアとして、とても便利なものが出てきたなと。何よりも、世界中の誰とでもDocker HubにアップロードされたDockerイメージを共有できるというところが響きました」

Arukasのコンセプトを持って、山田氏たちは社長とのミーティングに挑んだ。

「田中さんとの打ち合わせは30分くらいだったかなぁ。『いいんじゃないですかね? いいと思いますよ』と言われました(笑)」

こうして2014年9月、Arukasの開発が本格始動した。

提供停止と紆余曲折ありながら、足かけ4年で正式版リリースへ

Arukasチームの拠点は、さくらインターネット東京支社から少し離れた閑静な住宅街のアパートの1室にある。ロフトがある吹き抜けの部屋は開放感があり、ちょっとしたミーティングができるスペースや、足を投げ出して床座りしながら作業できる空間も。PCからふと顔を上げれば、柱の陰や窓のそばに飾られたネコのぬいぐるみと目が合い、癒やされる。

「さくらガレージ」と呼ばれる同オフィスには、プロジェクト開始直後の2014年11月に移った。なぜ東京支社内に居を構えなかったの?という大谷の質問に、インフラ事業のさくらインターネットとは異なるサービス事業であることから顧客セグメントも異なり、別ブランドとして物理的に違う場所でやった方がいいと思ったからと山田氏は答える。

「それに、Arukasを利用するユーザーもこうしたアパートの1室でがんばるスタートアップが多いと思ったんです。同じ環境に身を置くことで、ニーズや気持ちを汲み取りたいという思いがありました」

「Arukasを利用するユーザーもアパートの1室でがんばっているスタートアップが多いと思ったんです」(山田氏)

2015年3月、社内プロモーション用にプロトタイプをリリースした後、同年9月にさくらインターネットとは名乗らず、β版を公開した。登場した間もないDocker向けのサービスに対してどんな反応があるか、マーケット調査の意味合いもあってステルス公開となった。結果、半年で登録したのは150ユーザー。時期尚早だったことや国内のみだったこと、Docker自体もDocker HubやCoreOSで不具合を出していたこともある中で、まずまずの滑り出しとなった。

それから約1年後の2016年4月、無料で利用できるオープンβ版をリリースした。山田氏たちは2017年4月の正式版リリースに向けて、さくらインターネットの名の下で勉強会やプレゼンを積極的に行った。

しかし、2017年7月末、オープンβ版を提供中止した。Arukasの課金システムの計算方式が、さくらインターネットの経理システムのそれと違うことが判明したからだ。なんとかならないかと解決策を必死に練ってみたものの、どう検討しても1から作り直さないといけないほどのインパクトがあると判明。サービス中止という苦渋の選択に踏み切った。

実は、理由はもう1つあった。それは、登録者数が6万ユーザーを超えたことだった。

「そこまで増えるとは思わず、スピード重視で開発を進めており、潜在的な不具合がいろいろ見つかって。その結果、開発に集中しなければいけない時期なのに、運用面での負担が大きくなりすぎて開発を圧迫し始めたんです。また、コンテナは起動と停止をこまめに繰り返すことから、電源管理のログをとって最適化する必要があり、これがなかなか大変で…。こうした修正課題に向き合うためにも、一時提供を中止して、きちんと修正してから出直そうということになりました」

それから約半年後の2018年2月20日 オープンβ版の提供を再開した。そして2018年3月、満を持して正式版がリリースされた。コントロールパネルのデザイン含めて使いやすいとのフィードバックもあり、うれしいと山田氏はほほえむ。

シャチをイメージに用いたArukasのサイト

また、グローバル展開を意識し、英語サイトも用意していたところ、狙いは的中。国内ユーザーが35%、残りの65%は海外ユーザーという、さくらインターネットではもっともグローバル比率の高いサービスとなった。

「使い方ですが、SSHで普通にサーバー的に使っていたり、簡単なアプリの立ち上げで使っていたり、ビットコインを掘るユーザーもいます(笑)。まだお客様も試行錯誤の段階なのかもしれません」

今後はワンクリックデプロイ機能も導入検討

現在も専属の開発メンバーは山田氏含めて4人だけ。だが、さくらインターネットのメンバーがいろいろな形でお手伝いしてくれるため、それほど大きな苦労はないと山田氏は話す。さくらインターネットでは他事業のヘルプを推奨しており、空いている時間に自分の得意分野を生かした“アルバイト”がやりやすい環境だという。実際Arukasでも、大阪で他サービスのアラートメールの24時間対応をしている人に、合間を縫ってコミットしてもらっているという。

今後について、直近で考えているのはワンクリックデプロイだと山田氏は明かす。

「Githubのリポジトリのreadmeファイルに『Deploy to Arukas』ボタンがあって、それをクリックしたらすぐにデプロイされるようなイメージです」

このほかの機能も順次拡充し、Herokuみたいな高機能サービスを目指したいと話す山田氏。「さくらインターネットに触れたことがないユーザー層にもリーチできるサービスに成長させたいです」と未来を見据える。

「さくらインターネットに触れたことないユーザー層にもリーチするサービスに成長させたい」(山田氏)

関連サイト