--具体的にマイクロサービス化とはどのようなことか。
ひとつの大きなサービスだったクックパッドをどんどん分割して、新規事業や国際事業も同じ仕組みで作っていけるようにすることです。具体的にはミドルウェアの開発であったり、分割する際のルールを整備してフレームワークの中のライブラリとして組み込んでいくことで、横とのデータのやり取りがスムーズにできるようにしています。そうすると、他のシステムともデータ連携がしやすくなります。
サービスとサービスを分離していく上で大事なことは、それぞれのサービス間で連携がしっかりできる仕組みを作るということです。そしてマイクロサービス化はモバイル開発にも適用しています。サービス間の連携はAPIのような通信の仕組みになりますが、それは最初からサーバ側に組み込んであります。そのため、アプリ開発もそこに乗せることができますし、既存の「Amazon Web Services(AWS)」でスケールさせる知見も活かせます。
この取り組みは、サービスが大きくなるごとに分割するという形で、以前から泥臭く続けていました。クックパッドの成長戦略のひとつに世界展開がありますが、マイクロサービス化によって国際市場でのデータのやり取りを容易にしています。特にグローバルでレシピデータの結合や連携を可能にする基盤は2012年から構築しており、その仕組みをグローバルだけでなく社内にも適用し、国内の開発に活かしている形です。開発そのものは「Ruby on Rails」を採用していて、そこで動く枠組みを作っています。
--ウェブとアプリの開発では、どのような違いがあるか。
これまでのウェブの開発は、どれだけ速いスピードで達成できるかにウェイトを置いていました。1回のテストに30~40分かかり、それが開発速度のネックとなっているならと、並列分散処理で数分で実施できるようにしたり、ミスが起きたときにいかに早く解決できるかということをエンジニアが徹底していました。開発速度を上げ、1日に10回ほどサイトに変更を反映できるなど、素早いリリースサイクルを作り上げていました。それがユーザーに対してバリューを発揮できるところだと思い、その体制を磨いていきました。
それがモバイル向けのアプリになると、アップデートはどんなに早くても1~2週間の時間を空けたリリースにシフトせざるを得ません。そこで、次のリリースまでの時間をユーザーがより使いやすいユーザーエクスペリエンス(UX)を提供するための時間と捉えるようにしました。エンジニアにはウェブサービス寄りの考え方がありましたし、過去の成功体験もありました。しかし、過去の成功があると考え方が縛られてしまいます。そこで組織を大きく変えて、成功体験に縛られるのではなく、それを活かす方向に軸足を移しました。
2013年まではウェブサービスほどアプリには注力していなかったのですが、世の中にこれだけ急速にスマホが普及したことで、ウェブとアプリのどちらに重心を置くかを決断する必要に迫られました。そして、どの会社も(このタイミングでは)アプリがベストと判断し始めています。クックパッドでもしっかり舵を切らないと乗り遅れると考えました。

昼にはオフイス内の大きなキッチンで料理する社員の姿も