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

ヤフーのデータ入出稿を支えるSRE

Transnano
November 25, 2019

 ヤフーのデータ入出稿を支えるSRE

Transnano

November 25, 2019
Tweet

More Decks by Transnano

Other Decks in Technology

Transcript

  1. Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 2019年9月30日


    ヤフー株式会社 杉永良太
 SRE meetup
 at Fukuoka vol.3
 #srefukuoka 2019/11/25
  2. Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. Copyright

    (C) 2019 Yahoo Japan Corporation. All Rights Reserved. ヤフー株式会社 杉永良太
 ヤフーのデータ入出稿
 を支えるSRE
 #srefukuoka
  3. Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. Stats


    『Yahoo! JAPAN』のコンテンツ入出稿を支えるファーウェイの『 OceanStor 5500 V3』ストレージシステム - Huawei Japan 180km
 Stats per day at last 30 days 2890G+ Daily max byte 5Million+ average file count 300 KB average filesize • 24/365で稼働
 • スパイクはない
 • 年々線形増加している 
 11 GB max filesize 1.2Gbps+ peak of traffic • ベアメタル not k8s
 • DMZ

  4. Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. Copyright

    (C) 2019 Yahoo Japan Corporation. All Rights Reserved. SREの話
 #srefukuoka
  5. Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 質問


    • multi-AZで設計・構築した
 • DBやNWなどをチューニングした
 • バッチ処理の時間を短縮した
 • リソースやコストの効率を考えた
 • IaCで設定とかを管理している
 • 何かしらを監視している
 • 障害発生時は通知が届くので対応する
 • 既存システムの性能を見積もった

  6. Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. SREの責任範囲


    • サービスの可用性
 • レイテンシ
 • パフォーマンス
 • 効率性
 • 変更管理
 • モニタリング
 • 緊急対応
 • キャパシティプランニング

  7. Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. Copyright

    (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 
 あなたにはSREの素質があります
 ソフトウエアエンジニアリングとシステムエンジニアリングができればSREはできる 
 いらすとや|https://www.irasutoya.com/
  8. Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. SREとは


    サービスの運用をソフトウェアエンジニアリン グの力で改善していく取り組み サービスを安定稼働させることが仕事 ×守りではなく、◦攻め そのためにSLI/SLOを決めて エラーバジェットを見て、 アジリティと安定性のバランスを取ります
  9. Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 


    
 DevOpsを哲学とするならば、SREはその哲 学を達成するための規範的な方法
 SREとDevOpsの違い
 class SRE implements DevOps

  10. Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. SREとクラウドネイティブ        


    SRE サイトリライアビリティエンジニアリング (Betsy Beyer, 2017, p108 図III -1サービスの信頼性の階層 ) https://github.com/cncf/trailmap 推測するな計測せよ
 Notes on Programming in C 
 +
  11. Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. Copyright

    (C) 2019 Yahoo Japan Corporation. All Rights Reserved. ヤフーにおけるSRE
 #srefukuoka
  12. Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. ヤフーにおけるSRE


    • 元々インフラ部隊に数チーム存在したが 今はSREと名のつくチームはほぼない
 • SREという職種・ロールもない
 • ただし、SREを担う人はたくさん居る
 • なので何人居るかはわからない

  13. Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. SRE体制


    開発チームにSREが入る構図では ない
 開発チーム内でSREをやる人が生 まれる
 SRE やるよ Dev SRE Dev いらすとや|https://www.irasutoya.com/
  14. Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. ヤフー

    インフラ部隊 インフラ部隊とサービスの関係
 Yシステム 開発チーム 開発チーム ◦×チーム ◦×チーム …
 入出稿システム NW Splunk Dynatrace DB Storage CI/CD PaaS CaaS KaaS IaaS FaaS MQ Zシステム …
 …

  15. Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. Copyright

    (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 実例紹介

  16. Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. SREとしての活動


    1. 機能開発
 a. 機能設計・システム設計
 b. 障害試験・負荷試験
 2. モニタリング
 3. 障害対応
 4. SLA/SLO
 サイトの安定性を損なわず頻繁な変更を可能にするのが、SREの活動 SRE サイトリライアビリティエンジニアリング (Betsy Beyer, 2017, p808 27章 大規模なプロダクトのローンチにおける信頼性 )
  17. Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 設計


    • どのような構成で作るか
 • 東と西の両方のDCに置く?
 • DMZ作る?
 • ラックは分ける?
 • 電源系統は別にする?
 • ネットワーク二重化する?

  18. Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 負荷試験


    ハードウェアを向こう数年を見積もって作る ため、システムとしての負荷試験は普通のこ としかない
 ただ、インフラ部隊は違う
 

  19. Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. インフラ部隊の障害試験の一部紹介


    HDD抜いてみた
 NIC抜いてみた
 「消えない+落ちない」を実証
 いらすとや|https://www.irasutoya.com/
  20. Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. モニタリング


    Prometheusによる監視の種類
 • 死活
 • リソース
 • 異常ログ(ログをメトリクス化)★
 • プロセス
 Splunkによるログの蓄積

  21. Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. ログレベル


    • Critical:ユーザ影響ありの異常
 • On-Call発動
 • Warning:ユーザ影響なしの異常
 • テキストメッセージで通知
 
 オオカミ少年にならないための
 アラート整理が大事

  22. Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. On-Call


    ヤフー内製のOn-Callシステムがある
 • 実は自チームの2つ目のプロダクト
 • 入出稿が止まらないように異常があった 際は即座に架電(電話をかけること)される
 自チームは当番を決めていない
 なぜなら海外では電話に出ないやつはクビになるらしいから
 ヤフー株式会社 | Twilio - KDDI Web Communications https://twilio.kddi-web.com/case/yahoo/
  23. Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. インスタンスの半死状態


    ヘルスチェックはOKだけど入稿が出来ない。 ゾンビプロセス化?
 →ディープヘルスチェックに変更
 (数年運用してきて1度しかなかった)

  24. Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. ポストモーテム


    ヤフーには障害のふりかえりを行う文化やシ ステムがあり、だいだいポストモーテムに該 当(と思っている)
 大事なことは非難や批判をしないこと
 ただ、ポストモーテム輪読会などはできてい ない

  25. Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. Runbooks


    OPSに関するマニュアル
  リリース、トラシュ、etc
 誰でも出来るようにドキュメント化
 GitLabとかにテンプレあり
 Cookpadさんを参考にした

  26. Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. SLAとSLO


    お客とはSLA、内はSLO(99.90)
 システム上、パフォーマンス(レイテンシー)は 測っていない。
 バジェットを使い切り、リリースを停止したこ ともない
 過去:新規開発<品質改善
 現在:新規開発>品質改善

  27. Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. まとめ


    • ソフトウエアエンジニアリングを持ち込め ば、SREになれる
 • SREというロールがなくても出来る
 • SREはやることいっぱいだけど楽しい

  28. Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 参照


    • 『Yahoo! JAPAN』のコンテンツ入出稿を支えるファーウェイの『 OceanStor 5500 V3』ストレージシステム - Huawei Japan • SRE サイトリライアビリティエンジニアリング (Betsy Beyer, 2017)
 • ヤフーがSplunk導入に踏み切った入り口は「MakeとUseの使い分け」|データ分析|IT製品の事例・解説記事 
 • ヤフー株式会社 | Twilio - KDDI Web Communications 
 • Kafka vs Pulsar @KafkaMeetup_20180316