2022年5月25日に、『Merpay Tech Talk ~開発者向け社内サービス事例とOSSカルチャーへの還元~』 を開催しました。
この記事はイベントレポートです。配信当日の内容を簡単に紹介します!
詳しくはYouTube上にある配信アーカイブ動画をご視聴ください。
イベント概要
メルペイの技術組織には、サービス全体を見つつ、組織横断で技術的な課題を解決するArchitectチームがあります。マイクロサービスはもちろん、そのほかの事象に対しても他チームと連携しながら動くことが多いチームです。
そんなArchitectチーム体制が2022年1月より刷新。今までどおりマイクロサービスを含めたアーキテクチャ周りを担当するArchitectチームに加え、新たに社内向けシステム開発・運用を行うEngineering Productivityチームが誕生しました。
詳細はメルカン記事をご覧ください。
技術リードを担うメルペイArchitectが2チーム体制へ。創設メンバーが「今までとは違うことを」と申し送った真意 | mercan (メルカン)
本イベントでは、新しく誕生したEngineering Productivityチームのメンバーが開発してきた社内開発者向けのツールについてご紹介します。
- 社内開発で起こる課題に対して、どんなツールを開発してきたのか
- 開発したツールはどのような効果をあげたのか
- 開発者に使われるサービスとはどんなものなのか
- なぜ、開発したツールをOSSとして公開しているのか
など、いままで開発してきたツールの事例をもとにご紹介します。
想定対象者は以下のとおりです。
- エンジニアに向けたプロダクトを開発したい Backend Engineer
- OSS カルチャーが好きな Backend Engineer
- プロダクトではなく、テクニカルな課題解決がしたい Backend Engineer
- メルペイのEngineering Productivityチームがどんな開発をしているか興味がある方
イベントに関する詳細情報は以下のconnpassページを御覧ください。
登壇者とモデレータ
今回のモデレータと登壇者は、以下の3名です。
- モデレータ
- osamingo / 株式会社メルペイ Engineering Manager
- 登壇者
Engineering Productivity Team について @zoncoen
エンジニアリングで社内の開発者を支援するチーム、「Engineering Productivity Team」の説明を行いました。
機能開発の効率化や運用の支援を行うための社内サービスやツールを作っているチームで、前身のArchitect Teamから領域を更に絞ることで、チームの役割を明確化する目的で、Architectチームから分離した専任チームです。
Architect Team
・技術的な意思決定
・API Gatewayの開発
・DesignDocレビュー
・組織的な課題の解決
Engineering Productivity Team
[組織的な課題の解決]の中でも以下を専門とする
- シナリオテストの基盤開発
- マイクロサービスダッシュボードの開発
Engineering Productivityチームの紹介はこちら
スライドはこちら
参考リンク
- Merpay Tech Talk 〜事業成長を支えるArchitectチームの取り組み〜 を開催しました! #merpay_techtalk | メルカリエンジニアリング
- 【書き起こし】Scenario-Based Integration Testing Platform for Microservices – 森 健太【Merpay Tech Fest 2021】 | メルカリエンジニアリング
- マイクロサービスダッシュボードの紹介 – Speaker Deck
エンジニアリングを支援するための様々なかたち @goccy
Engineering Productivity Teamで開発・運用しているものの紹介を中心に具体的な内容についてお話しました。
QA環境の複製とリクエスト経路の動的切り替え
QAや開発を効率良くすすめるために、検証したい単位ごとに環境を用意して同時並行で進められると嬉しいという動機から、QA環境の複製とリクエスト経路の動的切り替え行っています。 この機能がなかった頃は決められた環境に依存してしまい、環境を順番待ちで利用することになりテストがスケールしないという問題が発生していました。
それらの内容について詳しく解説しています。
また、「マイクロサービス感の結合テスト支援」「マイクロサービスのダッシュボード」についても解説しました。
スライドはこちら
スライド内に出てくる参考リンクを下記にまとめました。必要に応じてご参照ください。
- Merpay Tech Fest 2021_The World Is at Your Pull Request How to Make a Dynamic QA Environment on Kubernetes and Istio – Speaker Deck
- GitHub – 110y/bootes: Bootes – xDS Control-Plane Kubernetes Controller-
- 【書き起こし】Scenario-Based Integration Testing Platform for Microservices – 森 健太【Merpay Tech Fest 2021】 | メルカリエンジニアリング
- test-infra/prow at master · kubernetes/test-infra · GitHub
- GitHub – zoncoen/scenarigo: An end-to-end scenario testing tool for HTTP/gRPC server.
- GitHub – goccy/go-yaml: YAML support for the Go language
- GoでYAMLを扱うすべての人を幸せにするべく、ライブラリをスクラッチから書いた話 – Qiita
- GitHub – goccy/kubetest: A CLI for efficient use of Kubernetes Cluster resources for distributed processing of time-consuming task processing
- GitHub – goccy/kubejob: A library for managing Kubernetes Job in Go
- マイクロサービスダッシュボードの紹介 – Speaker Deck
- GitHub – gcpug/handy-spanner: An unofficial emulator of Cloud Spanner backed by sqlite3
- handy-spanner GCPUG – Speaker Deck
- go-sqlite3を使ってCloud Spannerエミュレーターを作ってみた / Cloud Spanner emulator with go-sqlite3 – Speaker Deck
- GitHub – cloudspannerecosystem/spool: A CLI tool to manage Cloud Spanner databases for testing.
- GitHub – cloudspannerecosystem/wrench: wrench – Schema management tool for Cloud Spanner –
- GitHub – cloudspannerecosystem/yo: yo is a command-line tool to generate Go code for Google Cloud Spanner.
- GitHub – mercari/spanner-autoscaler: Kubernetes Operator for Cloud Spanner autoscaling
- KubernetesベースのCloud Spanner Autoscaler | メルカリエンジニアリング
- GitHub – kazegusuri/grpcurl: A handy and universal gRPC command line client written in Golang
- GitHub – kazegusuri/channelzcli: channelzcli is a command line tool for gRPC channelz service.
- gRPCのChannelzを使ってみた – Qiita
- OSSへの貢献をサポートするための体制づくり – Speaker Deck
QAセッション、ディスカッションパート
次に、「Engineering Productivity Team」の二人の発表のディスカッションと質疑応答の時間が設けられました。
チームのPRパート、採用案内
Engineering Productivity Teamでは、積極採用中です。カジュアル面談や採用案内などは、詳しくは以下のエントリーを御覧ください。
最後に
また、メルカリグループはTech Talkをはじめとしたエンジニア向けのイベントを定期的に開催しています。イベント開催案内を受け取りたい方は、connpassグループのメンバーになってくださいね!