Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Mercari Engineer Meetup

Keke
September 25, 2019

Mercari Engineer Meetup

Keke

September 25, 2019
Tweet

More Decks by Keke

Other Decks in Technology

Transcript

  1. 自己紹介
 01 02 03 学生時代のエンジニア経験 2年前のメルカリとの接点からメルペイ入社まで話 What’s SRE
 メルペイ SREではどんな技術を使って、どんなことをしてるの?

    新卒SREは日頃、何をしているのか メルペイ SREと自分は何をしてるのか
 Backend EngineerやML Engineerとかって馴染みあるけど、SREって? 2 Outlines for Today

  2. 2017.3
 
 第一期生
 2019.4
 
 BOLD Internship in USA 


    メルカリ Join
 メルカリ外で
 色々な長期&短期インターン 
 2019.2
 
 ここで興味が湧き、Joinを検討。 
 応募する。
 メルペイ機能リリース 
 8 エンジニア経験とメルカリ・メルペイとの接点
 (Backend, SRE, iOS, Blockchain, Hardware) 
 2019.6
 
 メルペイ SRE 
 Join

  3. 13 What’s SRE
 引用: “What’s the Difference Between DevOps and

    SRE?” 
 https://www.youtube.com/watch?v=uTEL8Ff1Zvk&list=PLIivdWyY5sqJrKl7D2u-gmis8h9K66qoj&index=2&t=0s
 
 

  4. 14 What’s SRE
 「信頼性は一つの機能」
 SLO (サービスレベル目標) とエラーバジェットを元にDeveloperと交渉をする。
 
 例: 


    
 99.99%のAvailabilityをSLOとするサービスならば、約4分/月のダウンタイムが許される。
 
 4分を超えるダウンタイムが発生する機能などはSREはリリースを許可しない。
 それをソフトウェア的な問題と捉え、改善などをはかる。
 
 

  5. #mercari_merpay_sre_msp Merpay SRE Responsibility • メルペイという金融サービスのReliability • 開発者がReliabilityを実現するための仕組みづくり Projects •

    メルペイのインフラの構築・運用 • メルペイのマイクロサービスのReliability(リリース・監視) • メルペイのマイクロサービスのOperationと改善(自動化、ツール化) 参考資料: 「メルペイのマイクロサービスの構築と運用 / Cloud Native Days 2019」
  6. #mercari_merpay_sre_msp My Project Improve Observability • Cloud Spannerのモニタリング • Kubernetesのネットワークスタッツの取得、および可視化

    • PagerDutyを使ったオンコール対応の監視 • Terraformによる宣言的なモニタリングダッシュボードの作成 モニタリングダッシュボードにはDatadogを使用
  7. #mercari_merpay_sre_msp 1. Cloud Spannerのモニタリング Cloud Spannerとは • Google Cloud Platformだけで独自に提供されているデータベース

    • “グローバルおよびリージョナル アプリケーション データ向けのスケーラブルなフルマネージ ド リレーショナル データベース サービス” 何をしているのか • GAEとCloud Dataflowをあわせたバックアップ運用、およびその監視 • インスタンスやデータベースのリソース監視 • 監視はDatadogを使い、そのDashboardにはTerraformを使用
  8. #mercari_merpay_sre_msp 2. Kubernetesのネットワークスタットの取得、可視化 ネットワークスタットって • ラウンドトリップレイテンシをはじめ、 DNSルックアップ時間やTCPコネクション時間などの 統計情報のこと • 一般的なRPCであるHTTP/1.1

    や 、HTTP/2.0の上で構築されているgRPCを対象としてい る なんでしているのか • レイテンシ増加など、ネットワークに関する問題がたまにある ◦ 問題をドリルダウンして、早期の原因特定のため • すべてのPodの実行環境が同環境ではないので、環境ごとの差異を知るため ◦ リージョンやゾーンなどの地理的環境 ◦ ホストのCPUやメモリなどのリソース環境など