2019-09-11 mercari merpay SRE ✕ microservices platform meetup #mercari_merpay_sre_msp
2019/09/11 に開催された mercari merpay SRE ✕ microservices platform meetup のイベントレポートです。
●イベント概要
ミッションを実現するための開発を支えるSRE / Microservices Platformチーム。当日はメルカリ・メルペイのEngineering Managerや現場の開発メンバーから両社の関わり方や現場の課題などについて発表させていただいた後で、パネルディスカッションを通じて発表の内容やみなさまから事前に頂いた質問について深堀りしていきます!
■Mercari & Merpay エンジニア組織の今とこれから
Mercari Microservices Platform Team
株式会社メルカリ @mtsuka さん
●メルカリ
・キラキラ会社のイメージを変えたい
・規模は3倍に成長
●エンジニアもすごい増えた
・人が増えると戦争が起きるもの
・Onboardingを準備せずにヒトを増やしても問題が起きる
・グローバル化で言葉や文化の壁が見えてきた
●目的に立ち返る
・お客様に最高の体験を届けたい
・1300万人が利用するサービスに成長
12年いたyahooと比べると、まだまだ小さい
伸びしろがある
・ハイパーグロースで本当に伸びるかは6年目と言われている
ちょうど瀬戸際感がある時期
●Microservices Platform Team
・エンジニアのプロダクティビティを良くしよう!
・マイクロサービスを簡単に構築できるように
Mercari SRE Team
株式会社メルカリ @m4buya さん
●歴史
・2015/11 5名
・2019/9 15名
・かっこいいチームのロゴもあります
●ミッション
・システムの問題点を発見・解決し、サービスの信頼性を向上させる
・サービスの成長と合わせて人数が必要にならないように
●チーム
・SRE Customer
パフォーマンス、セキュリティ など
・SRE Core
ネットワーク、DB など
インフラ的
・SRE Common
CDN、Data Processing など
共通基盤的
●ロール
・Software Engineer, Site Reliability
・Software Engineer, MySQL Reliability
・Engineering Manager, Site Reliability
サービスが落ちてしまっていたらユーザ体験自体が生まれない
サービスを届け続ける
Merpay SRE Team
株式会社メルペイ @tjunさん
●機能を大きく分けると
・Cash IN
メルペイの中に、お金を入れる
・Cash OUT
メルペイの外で、お金を使う
●規模
・40以上のマイクロサービス
・2019 3Qで1444億円以上を取り扱っている
●Merpay SRE Team
・開発者と連携しながらReliabilityを上げていく
・7名
・役割
メルペイのインフラ構築・運用
マイクロサービスのリリース、監視
マイクロサービスの自動化、ツール化
●技術(抜粋)
・GCP
Cloud Spanner
・k8s
・Fastly
●やっていること(抜粋)
・DesignDoc
・Fastly WAF
・キャンペーンに向けたキャパシティプランニング、負荷試験
●どんな人といっしょにやりたいか
・ミッションへの共感を大切にしたい
■パネルディスカッション
株式会社メルカリ @deeeet さん (Microservices Platform)
株式会社メルカリ @catatsuy さん (Site Reliability)
株式会社メルペイ @keke さん(Site Reliability)
株式会社メルペイ @tjun さん (Site Reliability)
●最近やっていることは?
@keke さん
CloudSpannerの信頼性を上げる仕組み
オンコールできているかを分析する仕組み
@catatsuy さん
Fastly
新しい機能を組み込んだり
CLIつくったり
プロキシサーバに手を入れたり
Goが書けるなら何でも
@deeeet さん
techleadなので、みんなにアドバイス
GKEが載っているネットワークの再設計
メインの基盤はGKE
この2年でもGKEは大きく成長
クラスタを作り変えないと使えなかったりする
ネットワークの再設計から見直し
1クラスタ マルチテナント -> 複数クラスタでも
GKE以外との連携
1クラスタに 100マイクロサービス、200エンジニア
シームレスに移行できるように
istio導入
ライブラリ方式だと言語が縛られたり
DesignProposalのレビュー
長期の視点でプラットフォームをどうするべきか
●よかったこと、大変だったことは?
@keke さん
CloudSpannerに関われた
モニタリングなのでクライアントやネットワークの調査は大変
@catatsuy さん
調整、触ったことのない技術は大変
@deeeet さん
マルチテナントで100サービス
マイグレーションは影響を考えて
大変だけど面白い
●入社理由、入社後の印象は?
@catatsuy さん
知り合いがいて
面白いことやっていて
まともな会社だったから
バックオフィスの人がちゃんとしている
@keke さん
自分から注目されている業界に入る必要を感じていた
SREやりたかった!
@deeeet さん
k8s、コンテナ、goに興味があって、個人で進めていた
SRE的な興味から
以前は社内のPaaS基盤をつくっていた
サービスが近いところのインフラをやりたかった
●どんなチーム?
@deeeet さん
グローバルなチーム
コミュニケーションは英語
platformのミッションは開発者のプロダクティビティを高めたい
今いるメンバーは、ミッションが揃っている
@catatsuy さん
古参メンバーと1年くらいに分かれているが、仲が良い
有名人揃い
@keke さん
all for one の色が強い
日頃から堅牢性が高い、真面目な会話
●今後どんなことをやりたい?
@keke さん
カオスエンジニアリングやっていきたい
@deeeet さん
やりましょう!
Gremlin入れようって話がちょっと出てる
@catatsuy さん
goを極めていきたい
ISUCONのベンチマーカーは平行プログラミングだらけ
@deeeet さん
k8s manifestを自力で書いてる
メルカリ用の抽象化レイヤをつくりたい
プラットフォームの上でのフレキシビリティを高めたい
GCPを使ってください制約
マルチクラウドも
●つらいところは?
@deeeet さん
100サービスを考えたマイグレーション
色んな人の要望を聞きながらプラットフォームのあり方を考える
@catatsuy さん
データセンターも持っている
石狩DS、東京DS間の通信、GCPとの通信で問題は色々
@tjun さん
なれちゃって緊張感が減ってきている
運用しんどいをなくして、みんなハッピーにしたい
●pubsubに流れるtopicが多数になると知らないものも出てくる
うまく管理する方法はある?
@tjun さん
terraformで流れているサービスは把握
中は把握していない
@deeeet さん
topicの説明粒度も各サービスに委ねられている
●microservice platform と SREが関わるのはどんなとき?
@deeeet さん
現状は別々
●Design Doc、Proposalはどんな感じ?うまく回った?
@deeeet さん
テンプレートはある
啓蒙する機会はあった
@tjun さん
作成を必須にしてる
わりと一般的な項目
■感想
ここまでを作り上げてきたメンバーのみなさんが築いてきた結果なのだと思いますが、技術のエッジを走り、他のメンバーから刺激をもらえる、エンジニアにとってはとても魅力的な環境ができているのを改めて感じました。すてきですね!
意外に「巨大なk8sクラスタを運用している」「k8s manifestを生で書いている」「これからカオスエンジニアリングを導入するタイミング」というお話を聞くと、これまでは成長スピードを集まったメンバーの技術力で突破してきたけれど、さらにグロースするために、楽で安全なプロセスをつくっていくところなのかな、と想像しました。
次の機会があれば、SRE x MicroServices Platform x 載せるserviceを開発しているチーム でお話を伺えたら嬉しいです!
登壇者の皆さん、運営の皆さん ありがとうございました!
この記事が参加している募集
いつも応援していただいている皆さん支えられています。