検索
ニュース

300人から1000人へ――メルカリは開発組織を拡大するために「マイクロサービスアーキテクチャ」を採用した(後編)Mercari Tech Conf 2018(1/4 ページ)

現在300人程度という開発者の数を3倍以上の1000人に増やそうとしているメルカリ。そのために同社はマイクロサービスアーキテクチャを採用し始めました。インフラのプロビジョニングや障害対応など、開発者ができることを増やすため、さまざまな取り組みを行っているようです。

Share
Tweet
LINE
Hatena

 この記事は、新野淳一氏のブログ「Publickey」の記事「メルカリは開発組織を拡大するためにマイクロサービスアーキテクチャを採用した(後編)。Mercari Tech Conf 2018」を許可を得た上で転載、編集しています。


 メルカリはこの1年、マイクロサービスアーキテクチャにどう取り組み、実現のために何をしてきたのか。技術面と組織面の双方に関する興味深い取り組みが、2018年10月4日に都内で行われた同社主催の技術カンファレンス「Mercari Tech Conf 2018」のセッション「Microservices Platform at Mercari」で紹介されました。

 後編では、開発者がインフラのプロビジョニングや運用まで行う環境を整えるなど、DevOps文化の醸成がメインのテーマとなります。

DevOps文化を組織内に醸成する

 次はDevOps文化の醸成についてお話しします。この1年で、マイクロサービスの開発者が自分たちでできるようになったことが大きく2つあります。一つはインフラのセットアップとプロビジョニング。もう一つはサービスのデプロイです。

 まずはプロビジョニングから。先ほど、各開発チームがKubernetesのネームスペースやGCP(Google Cloud Platform)のサービスにアクセスできるようにした、という話をしました。例えば、そこでGCPのデータベースを使いたいときには、データベースをセットアップする作業を行います。これがプロビジョニングです。われわれはこれを「Infrastructure as a Code」の文化を浸透させることで実現しています。

 ツールはHashiCorpの「Terraform」を使っています。Terraformは、GCPやAWSなどのクラウドサービスを抽象化し、宣言的にコードとしてインフラのあるべき状態を記述することで、その状態になるようにプロビジョニングを実行してくれます。

 そして、各マイクロサービスにおけるTerraformのコードの管理やそのコードの自動アプライを実現するために、microservices-terraformというリポジトリを準備しています。このリポジトリにはStarter-kitというTerraformのモジュールも提供されており、マイクロサービスをリリースするために最低限必要なインフラを簡単に構築できるようになっています。

 開発者はまず自分たちでTerraformのコードを書き、このリポジトリにプルリクエストをかけます。

 インフラの経験が少ない開発者が、いきなりTeraformのコードをガリガリ書くのは難しいので、われわれマイクロサービスプラットフォームチームがレビューを行います。レビューが通ってマージが行われると、CI(継続的インテグレーション)が走ってプロビジョニングが行われるというフローになっています。

photo マイクロサービスプラットフォームチームが、Teraformのコードレビューを行っている
       | 次のページへ

Copyright © ITmedia, Inc. All Rights Reserved.

ページトップに戻る