セクションナイン の 吉田真吾(@yoshidashingo)です。
サーバーレスなWordPressホスティングサービスであるShifterを、そのプロジェクトの立ち上がりからエージェンシーとして支え、最近正式にデジタルキューブのメンバーにジョインした Daniel Olson にShifterの開発裏話なんかを聞いたのでここに掲載します。
位置づけとしては、以下のエントリーに対するアンサー的な感じで読んでもらえればよいかなと思います。
Shifterプロジェクト前夜
--- やぁダン。今日は小賀さんに誘われて参加した去年のWCEUの話から始めたいんだけど。
--- うん。AMIMOTOブースで終日接客していたんだけど、AMIMOTOはAMIベースのセルフホスティングもあるし、シングルインスタンスから負荷分散して大規模にスケールするマネージドホスティングサービスまであって、お客さんのニーズに合わせてユースケースやプランを説明をするのが難しかったんだよね。
たしかに、EUにはたくさんのホスティングプロバイダーがあるけど、構成がこんなにたくさんはないよね。これだけ広く顧客ターゲットをカバーできるのもAWS上でサービスを展開しているからならではなんだけど、AWSに馴染みのないお客さんにとっては「そもそも"AMI"ってなんだろう?」とかなるよね。でも、他のプロバイダーが提供しているWordPressのホスティングサービスはリソースの割に価格が高かったりするから、リーズナブルなマネージドホスティングとして使っても自分でAMIからホストしてもコスパはいいはずなんだけど、ちょっとわかりにくかったかもしれないね。
--- そうなんだよね。あとはドメスティックのVPSを借りてるケースが多かったので、それで満足している人にはササりにくいなって。
数百万PV以上のスケーラビリティが必要な大企業向けに訴求しても良かったかも。安価なVPSにホスティングしている人だと、こっちでもDigitalOceanとかにホストしてるって話をよく聞くんだ。でもDOとAWSだと運用方法がまったく違うからね。
--- たしかに。それでね、ここからShifter誕生の話なんだけど、そのときにすでに僕らはサーバーレスの概念がこのWordPressの世界でも十分役立つんじゃないかって考えていたんだ。すでに僕らはWordPressのプラグインであるStaticPressで静的なHTMLを生成してS3やCDNから配信することに慣れているし、それ以外のAWSのノウハウにも精通しているから、これをサービス化したらいいんじゃないかって話をしていたんだ。それでイベントが終わってから君に色々オーダーが行ったはずなんだけど。
それが Shifterプロジェクト だね。
Shifterができるまで
--- そうそう。それで、その後に何が起きてたのかなーって。
AMIMOTOのリブランディング
オッケー。まず、WCEUの次のWordCamp USに西川さんと小賀さんが来たときに、直接会話してみたんだ。僕自身もAWSにはよく慣れていて、AnsibleのPlaybookでサーバーを管理したりしていたから、AMIMOTOブースの説明を見て、彼らがAWS上でホスティングしているサービスが他のホスティングサービスとはちょっと違うものだなとわかったんだ。
それで、そのリーズナブルな価格設定や、内部で利用している技術を聞いて感動したんだ。PHP7やHHVMなどモダンな実行環境も割と普通に実現していたよ。
で、さらに聞いてみたら、非常に小さくて優秀なチームでそのホスティングサービスを実現しているんだ。ただし、彼らにはそれ以上の余計な人的リソースがないことにも気づいたんだ。
それで彼らと何か組めないかと思って、その夜彼らと一緒に呑んだんだ。そのとき、小賀さんや西川さんから「サードウェーブ(第3の波)=サーバーレス」について話してくれたんだ。
そのときは何を言ってるかよく分からなかったから、「いいねー、いいねー」って言って調子を合わせてただけなんだけど。
--- はっはっは(笑)
それで、まずは彼らのAMIMOTOのリ・ブランディングから手伝い始めたんだ。
AMIMOTOが次世代のWordPressホスティングであることは間違いないんだけど、顧客に製品を見つけてもらうためのブランディングってとても難しくて、良い製品があっても顧客が理解してくれないと売れないんだよね。それって問題だよね。だからまずはグラフィックを削ぎ落とすことから始めたんだ。すべてのグラフィックをわかりやすく統一して、ブースを見ただけでこの製品が何であるのか理解してもらえるようにしたんだ。Webにもそれを反映していって、AMIMOTOブランドが理解されやすくできたところで1つめのプロジェクトは無事に終わったんだ。
Shifterのブランド構築
その後に小賀さんから、次のプロジェクトの依頼があったんだ。それがShifter。そのときはまだShifterとは呼ばれてなかったけどね。
--- そのときのプロジェクト名ってなんだったの?
んー、単にStaticPressって呼んでたかな。それで彼らからStaticPressがどういうもので、どう動作するかじっくり聞いたんだ。それでも僕にはそのときその全貌は理解できなくて。
でも彼らのことは信じていたから、彼らがShifterの開発を始めるのと並行してブランドの構築を開始したんだ。彼らがWordCamp NYCの出展でフィラデルフィアにきたときに、また呑みながらじっくりと重要なコンセプトについて会話したよ。
そのとき誰かが「これはWordPressをStaticにShiftするやつだよね」って言ったんだ。そこから僕らはこのサービスをShifterという開発コードネームで呼び始めたんだ。その後100個くらい別の名前の候補をデジタルキューブのみんなで考えたし、それに合うコンセプトやイメージも作ってみたんだけど、結局最初のヤツが一番いいねってことになって Shifterに最終決定したんだ。
世の中にはさまざまなStatic Site Generatorがあるんだけど、StaticPressみたいに〇〇Pressって名前だとWordsPressのエコシステムの中から出られないと思うし、すべてのWordPressデベロッパーがStaticにするメリットを理解しているわけではないので、WordPress界隈以外でもユーザーを育てていけるという意味でこの名前で良かったんじゃないかな。
--- たしかにShifterはCMSとしてWordPressを使いつつもそのジェネレートのプロセスまで含めて完全にサーバーレスなサービスだよね。
そう、だから僕らはShifterをサーバーレスでホストするWordPressという独自のカテゴリに位置づけることにしたんだ。
--- ところで顧客ターゲットはどういった人たちを狙ってるの?WordPress界隈だけじゃないとするとサーバーレス界隈の開発者とかも?
すでにStatic Site Generatorに馴染みがある開発者たちであれば、Staticであるメリットや使い所をよく理解してくれるんじゃないかと考えているんだ。Shifterは技術的に言えばStatic Site Generatorだからね。
実際、今年のWordCamp EuropeではServerlessというメッセージよりStaticというワードでセッションをしたんだ。Static Site GeneratorとしてのShifterという話であれば、Serverlessなサービスというより簡単に理解してもらえるかなって。サーバーレスの文脈から始めるとその概念やメリットなどもう少し話さなくてはいけないトピックが増えてしまうからね。今はまだちょっと早いかなって。
ナレッジとサポートから
--- 見込みユーザーや使い始めのユーザーの育て方ってどう考えてる?たとえばMeetupをやるとか顧客ミーティングして回るとか
今はまず分かりやすく使ってもらえるようにサポートドキュメントを整備するのが先決かな。それでたくさん役に立つブログ記事を書くんだ。そうすれば Shifter とか Serverless WordPress とかで検索するたくさんの見込みユーザーにピンポイントに情報を提供することができるからね。で、それを続けていけばGoogle上のランクもどんどん上がっていくし、そうすればもっとたくさんの人に見つけてもらってしっかり記事を読んでもらえるからね。
もう1つの方法は Intercom という顧客管理やドキュメント管理もできるチャットツールを使ってサイトに来た人たちと直接チャットしたりサポートドキュメントを提供したりしようと思ってるんだ。これならつねにデジタルキューブでオンラインの人がいるから、すぐにサポート対応できるんだ。サイトに来る人の中には、たとえば「ShifterでWooCommerceは使える?」とか「なぜサーバーレスなの?」とか簡単な質問がしたい人もいるからね。そういう人に誰かがすぐ反応してあげれば次の段階に進む機会を得やすいんだよね。
--- 素晴らしいサポート体制だね
サーバーレス → Less Security Ops
ところで、次回のワシントンでやるWordCamp DC 2017で自分が話すトピックは「セキュリティ」なんだ。※収録日は7/7
--- セキュリティ?
そう、セキュリティ。WordPressでハックされてしまうポイントの多くがサーバー管理に関わる部分なので、サーバーやハードウェアの防衛を頑張る従来の手法もいいんだけど、サーバーレスにすることでサーバー管理上のセキュリティ懸念から解放されようって文脈なんだ。
--- 単純にすべてのセキュリティ懸念が解放されるわけではないけど、たしかにそれもサーバーレスのよい一面だね
それに、たとえばあなたがバイラルマーケターで企画が大ヒットした場合にも、サーバーレスにすればサーバーのキャパシティ管理のことは気にしなくていいんだよって話もね。
Danがデジタルキューブにジョインした経緯
--- ここまでShifterの誕生秘話を話してもらったけど、Danは外部メンバーとしてプロジェクトに入っていたんだよね。最近デジタルキューブに本格的にジョインしたって聞いたけど、それはどういった経緯だったの?
小賀さんとは2015年に初めてのWordCamp USで知り合ってから3年くらいの付き合いになるんだけど、その頃僕がいた制作スタジオがデジタルキューブの仕事を請けていて、会話自体はよくしていたんだ。
チームやサービスへの愛着
で、ShifterをローンチしてAWS re:Invent 2016で再会したときに、こうやってプロジェクトの立ち上がりから作り上げたプロダクトの行く末のことがすごく気になっていて。たとえばどうやってこの先改善して良くしていくのかとかね。それで小賀さんに伝えたんだ。「僕はあなた達との仕事が大好きだ」ってね。
--- 愛の告白みたいだね。
うん、まぁ。デジタルキューブという会社も大好きだし、もし機会があるならなんかこの先もっとスゴいこともできるんじゃないかって。そうしたら彼が僕のためのポジションをオファーしてくれて、それですぐに Yes って答えたんだ。
--- えぇ、決断早いねー
うそ、実際は本当に決断するのはちょっと大変だったんだ。デジタルキューブの仕事はとても楽しいんだけど、たとえばタイムゾーンが違うし、言語の壁もあるから結構チャレンジングだなと思うし、簡単なことは1つもないんだよね。でも、最近はみんながチャットで日本語でやりとりしてても、なんとなくどんなことを言ってるか分かるんだよ。少しづつ少しづつだけど、仕事の流れもよくしていけるといいかなと思ってる。
大事なのはチームで仕事すること
--- ところでオファーされたDanのポジションっていうのはどんなんなの?
COOだよ。もっと大きなプロジェクト、たとえば会社が次のステップに進めるような仕事をやってねとオファーされたんだ。当然Shifterがメインでフォーカスしないといけないプロジェクトだけどね。
--- ということはShifterを改善して世界に広めるためのキーマンということ?
うーん、キーマンのうちの1人くらいかな。僕らはチームで働いてるし、チーム自体が素晴らしいから、僕もあくまで1人のチームメイトさ。ここ(US)にいてサポートして、作業が詰まってしまうような部分があれば僕も対応するんだ。僕は決してブレイクスルーを起こすようなタイプじゃないし、チームメイトとして仲間と一丸となって課題に対処していくんだ。
--- 今日はありがとう。また呑もうね!
ありがとう!