Slide 1

Slide 1 text

#BoldChallenge 1 メルペイの信頼性へのチャレンジ 2019-09-24 Junichiro Takagi @tjun

Slide 2

Slide 2 text

#BoldChallenge 2 @tjun Merpay, Inc. ├ SRE └ Engineering Manager Junichiro Takagi

Slide 3

Slide 3 text

#BoldChallenge 3 信頼性とは? Agenda メルペイをリリースするぞ!!! 何も信頼できない! 今後の Challenge 02 03 04 01

Slide 4

Slide 4 text

#BoldChallenge 4 信頼性とは? Chapter 1

Slide 5

Slide 5 text

#BoldChallenge 5 メルペイは金融サービス ➔ いつでも使えて当たり前 ➔ お金が正しいのが当たり前 正しく作って常に動かし続ける必要がある、高い信頼性が求められる 信頼性とは?

Slide 6

Slide 6 text

#BoldChallenge 6 メルペイは金融サービス ➔ いつでも使えて当たり前 ➔ お金が正しいのが当たり前 正しく作って常に動かし続ける必要がある、高い信頼性が求められる 信頼性とは? Bold Challenge = 信頼性 100% を目指す!!!?

Slide 7

Slide 7 text

#BoldChallenge 7 Velocity Reliability 新機能、チャレンジ、変化 改善、reactive、維持

Slide 8

Slide 8 text

#BoldChallenge 8 信頼性をどう実現するか 目指す信頼性を定義する 実現できているかどうか確認する 達成しつづける仕組みを作る 02 03 01

Slide 9

Slide 9 text

#BoldChallenge 9 SLO (Service Level Objective) 「サービスの実現すべき数値」を決める 例: iD決済のリクエストの99.99% は成功する 目指す信頼性を定義する

Slide 10

Slide 10 text

#BoldChallenge 10 SLOを決める = 目指す信頼性の目標を決めるだけでなく、 次のチャレンジへのチャンスを作る基準 SLOと信頼性とお客様の体験 お客様の 体験 信頼性 (&コスト) SLO SLO以下で 体験が悪い状態 目標以上の信頼性を実現するには 高いコストと時間がかかる 参考: https://cloud.google.com/blog/products/devops-sre/shrinking-the-impact-of-production-inc idents-using-sre-principles-cre-life-lessons

Slide 11

Slide 11 text

#BoldChallenge 11 SRE(Site Reliability Engineer)? すべてのエンジニア? 信頼性を誰が実現するか? 信頼性は組織全体で作るもの

Slide 12

Slide 12 text

#BoldChallenge 12 メルペイをリリースするぞ!!! Chapter 2

Slide 13

Slide 13 text

#BoldChallenge 13 メルペイのリリースの難しさ 自分がこれまで 経験してきたサービス ● 最初はほとんど使う人が いない ● 最小限の機能でまずは 出して少しずつ改善 ● すべて新規開発 メルペイ ● メルカリの規模のリクエストが来 る ● 金融サービスなので最初から 高い信頼性が求められる ● メルカリとの接続、メルカリから の機能移行もある

Slide 14

Slide 14 text

#BoldChallenge 14 自分とSREがやってきたこと 2018/04 tjun入社 1人目のSRE 2018/05 Mercari Microserivices Platform と働くためdeeetさんの隣へ 2018/06- Database選定 Platformの改善 2018/07- メルペイのインフラ構築 SLOなどの仕組み作り 2018/10 インフラリスクへの対応 運用に向けた準備 2018/12 リリースへ向けて…!

Slide 15

Slide 15 text

#BoldChallenge 15 マイクロサービスアーキテクチャ ➔ マイクロサービスにまたがる決済トランザクション ➔ 独立した開発・リリース・運用をする仕組み ➔ Kubernetes on Google Cloud Platform ➔ マイクロサービス間のObservability ➔ マイクロサービスにおける信頼性 技術的なチャレンジ

Slide 16

Slide 16 text

#BoldChallenge 16 SREがマイクロサービスの信頼性のためにやったこと 見出し ルールや仕組み作り 共通インフラの構築 ● インフラの設計構築 ● リスク洗い出して対応 ● キャパシティプランニング ● SLO ● リリースフロー ● 障害対応フロー ● Production Readiness ● QA環境の構築 ● 負荷試験 ● モニタリング設定 ● 設定レビュー リリースのためのサポート ※ SREだけじゃなく、アーキテクト /hidek/PM Office/Microservice Platform team/ Risk team を中心に多くのエンジニアが一緒に対応した

Slide 17

Slide 17 text

#BoldChallenge 17 いろいろ大変なことがあったが、2019年2月13日 メルペイリリース! 2019年2月 メルペイリリース!

Slide 18

Slide 18 text

#BoldChallenge 18 何も信頼できない! Chapter 3

Slide 19

Slide 19 text

#BoldChallenge 19 理想 フルマネージドなDB使っているし、 Kubernetesは AutoScale, Auto Healingするので安心! テストもQAもしっかりやっているので、リリー ス時だけ気をつけておけばOK! 連携サービスも、金融サービスとして 実績のあるシステムなので、問題ない!

Slide 20

Slide 20 text

#BoldChallenge 20 現実 そんなことはない! クラウドでも大小さまざまな問題は発生す る。インフラの問題もあれば、設定がよくな かったこともある 期待通りに動かないこともある。 使っているライブラリの問題なこともある 連携するパートナーのシステムで 障害が起きることもある

Slide 21

Slide 21 text

#BoldChallenge 21 Observability ● SLOやさまざまなメトリクスを見える状態にする ● SLO違反となるような問題をAlertして、気づけるようにする Incident Response ● Incidentが起きたときに、すぐ気づいて対応することが重要 ● 技術的な対応だけではなく、関係者への連絡等組織的なしくみが必要 障害は起きるという前提で考える

Slide 22

Slide 22 text

#BoldChallenge 22 信頼性とは、サービスをリリースしたら 達成できるものではない サービスを運用・改善していくことで、 サービスの成長とともに信頼性を高めていく 信頼性へのChallengeは始まったばかり Reliability

Slide 23

Slide 23 text

#BoldChallenge 23 今後の Challenge Chapter 4

Slide 24

Slide 24 text

#BoldChallenge 24 信頼性とは? メルペイが提供する機能の中で すべてのお客様が利用する 一番重要な機能 最初の質問

Slide 25

Slide 25 text

#BoldChallenge 25 信頼性をどう実現するか 目指す信頼性を定義する 実現できているかどうか確認する 達成しつづける仕組みを作る 02 03 01

Slide 26

Slide 26 text

#BoldChallenge 26 Velocity Reliability 新機能、チャレンジ、変化 改善、reactive、維持

Slide 27

Slide 27 text

#BoldChallenge 27 Velocity Reliability 新機能、チャレンジ、変化 改善、reactive、維持 信頼性も高めたいけど新たなサービスも提供していきたい

Slide 28

Slide 28 text

#BoldChallenge 28 ソフトウェアを使って、より少ないコストで信頼性を 達成し続けるための仕組みを作る ● より安定した共通基盤を作る ● マイクロサービスの各チームが、より簡単に サービスを改善し続けるための仕組みを作る 今後のメルペイの信頼性へ向けて

Slide 29

Slide 29 text

#BoldChallenge 29 Next Bold Challenge 信頼性を達成し続ける仕組みを作り、 メルペイの新しいチャレンジを 加速する

Slide 30

Slide 30 text

#BoldChallenge 30 Thank You!

Slide 31

Slide 31 text

Mercari Bold Challenge に共感してくださった方は 『Mercari Careers』を検索! お気軽にお問い合わせください。

Slide 32

Slide 32 text

#BoldChallenge #BoldChallenge