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

CircleCI 2.0を支えるインフラとSREの役割

CircleCI 2.0を支えるインフラとSREの役割

NoOps Meetup Tokyo #5 https://noops.connpass.com/event/123494/ での登壇資料

Kim, Hirokuni

March 26, 2019
Tweet

More Decks by Kim, Hirokuni

Other Decks in Technology

Transcript

  1. 5 自己紹介 Kim, Hirokuni (金 洋国) • CircleCI Japan Tech

    Lead • 日本支社の立ち上げ • カンファレンス登壇 • 採用活動 • 記事執筆 • コミュニティー運営 ”この発言は個人の見解ではなく所属する組 織を代表しています” Twitter: https://twitter.com/kimhirokuni
  2. 7 自己紹介 ”この発言は個人の見解ではなく所属する組 織を代表しています” Kim, Hirokuni (金 洋国) • CircleCI

    Japan Tech Lead • 日本支社の立ち上げ • カンファレンス登壇 • 採用活動 • 記事執筆 • コミュニティー運営 • 元プロダクトチーム • 現SREチーム Twitter: https://twitter.com/kimhirokuni
  3. 11 CircleCI 2.0のアーキテクチャ概要 • マイクロサービス • AWS • Clojure, Go,

    TypeScript • コンテナベース • Kubernetes/Nomad ← 今日はココの話
  4. 15 Nomad 概要 • Servers -> k8s master nodes •

    Clients -> k8s worker nodes • バッチジョブ • ここでビルドが実行される • 1 コンテナ = 1 Nomad Job
  5. 18 ビルドが実行されるまで • ビルドリクエスト • Nomad Jobが作られる • Dockerコンテナの起動 •

    Goで書かれたAgent起動 • ビルドのコマンドを逐次実行 • ビルドのログをK8sのサービスへ送信
  6. 19 なぜNomadか? • Nomadはバッチ処理がk8sより得意だった (2016年の時点) • 現時点ではk8sもよくなっている (らしい) • シンプルなアーキテクチャー

    (単一Goバイナリ) • Hashicorp Toolとの親和性 (ConsulやTerraformなど) 詳しくは https://speakerdeck.com/kimh/cdpuratutohuomu
  7. 28 障害対応フロー #investigation #incident https://status.circleci.com Incident Commander Note Taker 任命

    故障かな?と思ったら - ユーザー影響あり - 障害用のZoom開始 - @メンションされる 役割分担 (後述)
  8. 29 障害対応フロー #investigation #incident https://status.circleci.com Incident Commander Note Taker 任命

    20分ごとにアップデート 故障かな?と思ったら - ユーザー影響あり - 障害用のZoom開始 - @メンションされる 役割分担 (後述) - できるだけリアルタイム情報 - バナーに表示される
  9. 30 障害対応フロー #investigation #incident https://status.circleci.com Incident Commander Note Taker 任命

    20分ごとにアップデート 故障かな?と思ったら - ユーザー影響あり - 障害用のZoom開始 - @メンションされる 役割分担 (後述) - できるだけリアルタイム情報 - バナーに表示される - 30分様子見 - 問題なければクローズ
  10. 31 Incident Commander と Note Taker Incident Commander (現場指揮官) •

    障害復旧のために必要なチームを動かす • SREがなることが多いけど、SREとは限らない Note Taker (記録係) • 20分ごとにアップデートを届ける • 時系列をまとめる • zoomのレコーディング
  11. 32 Postmortem == 検死解剖 == 反省会 Postmortem準備 • 障害報告書のPRを作成 •

    関係者のミーティングセットアップ Postmortem中 • PRをレビュー • Note Takerの事実ベースの分析 • 障害宣言は適切なタイミングだったか? • どうやれば障害を防げたか? • PRをマージ
  12. 34 今後の課題: ホスティング型k8sサービスへの移行 メリット • GKEの機能が豊富 • GCP安い デメリット •

    AWSからの移行 メリット • 移行なし • 学習コスト低い デメリット • 機能面でGKEに劣る
  13. 37 SRE Team in Japan こんな人募集 • CircleCIに興味がある • 大規模インフラを面倒みたい

    • コンテナをガチでやりたい • 海外のチームと働きたい