2016年11月に東京リージョンが発表され、開発者にとって検討すべきインフラの一つとなったGoogle Cloud Platform(GCP)。メルカリでは、2015年10月頃よりこのGCPに注目し、2016年3月にリリースされたメルカリの新アプリ「メルカリ アッテ」のインフラとして採用している。メルカリの開発を初期から支え、「メルカリ アッテ」の技術選定に取り組んだ、ソウゾウ 鶴岡達也さんへのインタビュー中編では、新アプリ「メルカリ アッテ」のインフラとしてGCPを選んだ理由について聞いた。
メルカリ新アプリ「メルカリ アッテ」でGCPとGoを採用する理由とは?
株式会社ソウゾウ 執行役員 鶴岡達也さん

ソウゾウ開発グループのマネージメントを担当。2005年よりウノウ株式会社で写真共有サービスの開発を担当し、その後二度の起業を経験。2013年、メルカリ代表の山田進太郎氏からのオファーを受けて、メルカリ創業を技術的に支援。ソウゾウ設立後は新規サービスの技術選定、設計・開発・運用を担当し、現在は開発グループのチームマネージメントに注力。
吉羽 現在、鶴岡さんがいらっしゃる、メルカリグループ会社のソウゾウでは、Google Cloud Platform(GCP)を使っているそうですね。
鶴岡 そうです。ソウゾウは完全にGCPを使っていくと最初に決めて、追求していってます。
吉羽 それはどういう理由からですか?
鶴岡 ソウゾウで、どういうアプリを作るかは決まっていたので、当初はメルカリと同じ技術を使おうかと考えていました。しかしソウゾウは、会社というハコ自体がメルカリとそもそも分かれているので、違う考え方もありだなと思って。きっかけは、メルカリ代表取締役会長兼CEOの山田(進太郎)が「Goってどうなの?」と僕に言ってきたこと。それで、Goについて調べていたんですね。あとGCPについては、名村(当時サイバーエージェントの主席エンジニア、現メルカリ執行役員CTO)から良い評価を聞いていて、じゃあGCPも見てみますと。
Goを調べてみると、確かにこれは良さそうだと思ったんですね。PHPの課題になっている部分を上手くカバーしていていいなと。GCPについては、おそらく5、6年以上前、Google App Engine(GAE)が最初に出た頃、すごく評判が悪かったという印象をずっと引きずっていて(笑)。
吉羽 当時、JavaとPythonしか対応してなかった頃のことですね(笑)。
鶴岡 その印象で、技術選定の候補としてすら考えてなかったんですけど、2015年の9月頃に調べてみると、すごく進化していて。そのGAEが、ちょうどGoを正式版で対応しはじめていたんです。だったらちょっと触ってみようと、一通りドキュメントを見てみたら、僕がメルカリを作る時にすごく苦労していた部分がちょうどいい具合に全部カバーされていたんですよ。
吉羽 スケーラビリティなどでしょうか。
鶴岡 そうなんです。で、これが本当にワークするんだとしたらすごいと思って。まさにBigQueryを知った時と同じ感覚です。インフラに対する全く違うタイプの解決策だと思い、調べてみました。
ソウゾウでは「メルカリ アッテ」というアプリを作ってるんですけど、メルカリの立ち上げとは考え方が全く違いました。メルカリの場合はユーザーがゼロの状態から始まったのですが、アッテに関してはメルカリのサービスがすでに立ち上がっているので、そこから送客すれば短期間に多くのユーザーに見てもらえる可能性がある。逆にいうと、インフラとしては、メルカリと同様のすさまじいアクセスを何の問題もなく捌けないといけないという要件がありました。
あとは当然サービスも、いきなり大きくなっていくのか、メルカリみたいな曲線を描くのか、あるいは最初はじわりじわりなのかも分からないので、スケールを調整できたほうがいいなというのはありましたね。
他には、機能を改修する時など、簡単なものであればすぐデプロイしますが、例えばデータベースを変えるときなどの大きな変更は、初期のメルカリの時には結構夜中にやってましたね(笑)。
吉羽 そうですよね。サービスはなるべく止めたくないですし。
鶴岡 そう、サービス無停止もやりたいなと思ってました。あとは、例えばWebサーバの追加に関しても、初期のメルカリの時は足すという作業を人がやらないといけなかったのですが、そういう作業も無しにして、何もしなくてもサーバが増えたり減ったりする形こそが本当のスケーラブルですよね。
説明を読む限りでは、GAEはそれらを満たしていて、当時苦労していた分、いいなと思ったんです。もちろんいきなり作り始めるのではなく、そもそも本当にGAEが説明通りなのかを検証する作業にまずは入るんですけど。
吉羽 まずドキュメントの検証をしたということですね。
鶴岡 そうですね。Googleの方に来ていただき、裏側がどうなっているのかという話をいろいろと聞きました。GCPは、すごく昔からGoogleの社内で当たり前に使われていた技術の名前を変えているだけで、GoogleのサービスもGCPに乗っかっている。それなら、Googleと同じ信頼性、Googleのインフラを見ているエンジニアのリソースを借りてサービスを作れるということなんじゃないかと思いました。
他にも、当時SnapchatでもGAEは使われていたのですが、Snapchatにはインフラのメンバーが全くいないのに運用できていると聞き、ますます良さそうだと思い本格的に使うことにしました。
この記事は参考になりましたか?
- クラウドネイティブ時代のデベロッパー生存戦略連載記事一覧
-
- 業務の50%以上を技術普及に使えるメンバーも!? 技術が集まってくる環境づくりを、ソウゾウ...
- 「メルカリ アッテ」でなぜGCPが採用されたのか? ソウゾウ 鶴岡達也さんに聞く
- メルカリは日米英で異なるインフラを採用――メルカリのインフラの変遷を ソウゾウ 鶴岡達也さ...
- この記事の著者
-
CodeZine編集部(コードジンヘンシュウブ)
CodeZineは、株式会社翔泳社が運営する開発者のための情報メディアです。日々の開発に取り組むエンジニアやテクノロジーを学びたい方に向けて、プログラミングやAI活用、開発ツール、エンジニアの学びとキャリアに関する記事をお届けしています。
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
-
吉羽 龍太郎(Ryuzee.com)(ヨシバ リュウタロウ)
クラウドコンピューティング、DevOps、インフラ構築自動化、アジャイル開発、組織改革を中心にオンサイトでのコンサルティングとトレーニングを提供。 認定スクラムプロフェショナル(CSP) / 認定スクラムマスター(CSM) / 認定スクラムプロダクトオーナー(CSPO)。Developers Summit 2016ベストスピーカー(1位)。 著書に『Amazon Web Services企業導入ガイド』(マイナビ)、...
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
この記事は参考になりましたか?
この記事をシェア
