Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
CircleCI 2.0を支えるインフラとSREの役割
Search
Kim, Hirokuni
March 26, 2019
Technology
5
2.4k
CircleCI 2.0を支えるインフラとSREの役割
NoOps Meetup Tokyo #5
https://noops.connpass.com/event/123494/
での登壇資料
Kim, Hirokuni
March 26, 2019
Tweet
Share
More Decks by Kim, Hirokuni
See All by Kim, Hirokuni
How We Migrated K8S Without Downtime
kimh
0
230
エンジニアが起業する意味: 起業経験ゼロから電動キックボード 事業を創る話
kimh
0
1.4k
K8sとTraefikでつくるマイクロフロントエンド
kimh
14
3.1k
CI/CDを使い倒して数段上のソフトウェア開発をしよう (デブサミ関西)
kimh
2
1.2k
デブサミ福岡: CI/CDを使い倒して数段上のソフトウェア開発をしよう
kimh
0
730
CircleCI 2.0を支える2つの コンテナクラスターとSRE
kimh
6
6.4k
なぜ今CI/CDがアジャイル組織に必要とされるのか?
kimh
0
370
CircleCI 2.0を支える2つのコンテナクラスター
kimh
2
4.8k
Orbsを使ってAWSへ簡単デプロイ
kimh
1
1.7k
Other Decks in Technology
See All in Technology
22nd ACRi Webinar - NTT Kawahara-san's slide
nao_sumikawa
0
120
Why Organizations Fail: ノーベル経済学賞「国家はなぜ衰退するのか」から考えるアジャイル組織論
kawaguti
PRO
1
230
Context Engineeringの取り組み
nutslove
0
380
GitHub Issue Templates + Coding Agentで簡単みんなでIaC/Easy IaC for Everyone with GitHub Issue Templates + Coding Agent
aeonpeople
1
260
顧客との商談議事録をみんなで読んで顧客解像度を上げよう
shibayu36
0
350
【Oracle Cloud ウェビナー】[Oracle AI Database + AWS] Oracle Database@AWSで広がるクラウドの新たな選択肢とAI時代のデータ戦略
oracle4engineer
PRO
2
190
Greatest Disaster Hits in Web Performance
guaca
0
310
Claude Code for NOT Programming
kawaguti
PRO
1
110
Context Engineeringが企業で不可欠になる理由
hirosatogamo
PRO
3
690
SREが向き合う大規模リアーキテクチャ 〜信頼性とアジリティの両立〜
zepprix
0
480
AIエージェントに必要なのはデータではなく文脈だった/ai-agent-context-graph-mybest
jonnojun
1
250
プロダクト成長を支える開発基盤とスケールに伴う課題
yuu26
4
1.4k
Featured
See All Featured
Un-Boring Meetings
codingconduct
0
200
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.6k
Ten Tips & Tricks for a 🌱 transition
stuffmc
0
72
Embracing the Ebb and Flow
colly
88
5k
Building a Scalable Design System with Sketch
lauravandoore
463
34k
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
0
440
Google's AI Overviews - The New Search
badams
0
910
Bioeconomy Workshop: Dr. Julius Ecuru, Opportunities for a Bioeconomy in West Africa
akademiya2063
PRO
1
57
How to make the Groovebox
asonas
2
1.9k
AI Search: Where Are We & What Can We Do About It?
aleyda
0
7k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
1
130
Transcript
1 CircleCI 2.0を支えるインフラとSREの 役割 #kimhirokuni #circlecijp
2 1.0からの移行ありがとうございました!! • LXCベースのCI/CD • コンテナを使ったCI/CDのパイオニア • 先日RIPされた
3 CircleCI 2.0について 1日120万ビルドのCI/CDプラットフォーム
4 技術編: 2つのクラスター 組織編: SREチームの紹介
5 自己紹介 Kim, Hirokuni (金 洋国) • CircleCI Japan Tech
Lead • 日本支社の立ち上げ • カンファレンス登壇 • 採用活動 • 記事執筆 • コミュニティー運営 ”この発言は個人の見解ではなく所属する組 織を代表しています” Twitter: https://twitter.com/kimhirokuni
6 おまえSREのこと話せんの?
7 自己紹介 ”この発言は個人の見解ではなく所属する組 織を代表しています” Kim, Hirokuni (金 洋国) • CircleCI
Japan Tech Lead • 日本支社の立ち上げ • カンファレンス登壇 • 採用活動 • 記事執筆 • コミュニティー運営 • 元プロダクトチーム • 現SREチーム Twitter: https://twitter.com/kimhirokuni
8 宣伝 (会社) • 日本語サポート • ドキュメントの日本語化 • ユーザーコミュニティー CircleCI初の海外支社
@CircleCIJapan FB Community Group
9 宣伝 (個人) 海外で大流行の電動キックボードを体験できるサービス Hop-on! を運営 • 日本で唯一のサービス(のはず) • みなとみらいで体験できます
• 続きはhttps://hop-on.jpで!
10 技術編: 2つのクラスター 組織編: SREチームの紹介
11 CircleCI 2.0のアーキテクチャ概要 • マイクロサービス • AWS • Clojure, Go,
TypeScript • コンテナベース • Kubernetes/Nomad ← 今日はココの話
12 2つのクラスター • Kubernetes ◦ マイクロサービスが動いている • Nomad ◦ ビルド実行のマシン
二つを分けることでセキュリティーを担保している
13 クラスター間通信
14 Kubernetes • 全てのマイクロサービスが動いている • CoreOS • EC2 • Terraformで管理
15 Nomad 概要 • Servers -> k8s master nodes •
Clients -> k8s worker nodes • バッチジョブ • ここでビルドが実行される • 1 コンテナ = 1 Nomad Job
16 コンテナ == Nomad Job
17 Nomad ズームイン
18 ビルドが実行されるまで • ビルドリクエスト • Nomad Jobが作られる • Dockerコンテナの起動 •
Goで書かれたAgent起動 • ビルドのコマンドを逐次実行 • ビルドのログをK8sのサービスへ送信
19 なぜNomadか? • Nomadはバッチ処理がk8sより得意だった (2016年の時点) • 現時点ではk8sもよくなっている (らしい) • シンプルなアーキテクチャー
(単一Goバイナリ) • Hashicorp Toolとの親和性 (ConsulやTerraformなど) 詳しくは https://speakerdeck.com/kimh/cdpuratutohuomu
20 技術編: 2つのクラスター 組織編: SREチームの紹介
21 SREチーム構成 • 現在9人のチーム • 4カ国にまたがる • 時差きつい
22 ボーイング方式 • 時差の有効活用 • 継続的なペアリング • 障害時対応
23 コミュニケーション • 基本はSlackを使っている • 情報量が多い話はZoom • 100ワードのSlackより10秒のZoom • 1年に一回のAll
Hands • 半年に一回のチームごとのSmall Hands
24 SREの役割 • 安定したインフラの運用 • プロダクトの開発に集中できるようにサポート • プロダクトエンジニアとのペアリング・コードレビュー • 障害対応
(日本時間は障害少ない)
25 障害対応フロー #investigation 障害の可能性あり
26 障害対応フロー #investigation #incident 故障かな?と思ったら - ユーザー影響あり - 障害用のZoom開始 -
@メンションされる
27 障害対応フロー #investigation #incident https://status.circleci.com 故障かな?と思ったら - ユーザー影響あり - 障害用のZoom開始
- @メンションされる
28 障害対応フロー #investigation #incident https://status.circleci.com Incident Commander Note Taker 任命
故障かな?と思ったら - ユーザー影響あり - 障害用のZoom開始 - @メンションされる 役割分担 (後述)
29 障害対応フロー #investigation #incident https://status.circleci.com Incident Commander Note Taker 任命
20分ごとにアップデート 故障かな?と思ったら - ユーザー影響あり - 障害用のZoom開始 - @メンションされる 役割分担 (後述) - できるだけリアルタイム情報 - バナーに表示される
30 障害対応フロー #investigation #incident https://status.circleci.com Incident Commander Note Taker 任命
20分ごとにアップデート 故障かな?と思ったら - ユーザー影響あり - 障害用のZoom開始 - @メンションされる 役割分担 (後述) - できるだけリアルタイム情報 - バナーに表示される - 30分様子見 - 問題なければクローズ
31 Incident Commander と Note Taker Incident Commander (現場指揮官) •
障害復旧のために必要なチームを動かす • SREがなることが多いけど、SREとは限らない Note Taker (記録係) • 20分ごとにアップデートを届ける • 時系列をまとめる • zoomのレコーディング
32 Postmortem == 検死解剖 == 反省会 Postmortem準備 • 障害報告書のPRを作成 •
関係者のミーティングセットアップ Postmortem中 • PRをレビュー • Note Takerの事実ベースの分析 • 障害宣言は適切なタイミングだったか? • どうやれば障害を防げたか? • PRをマージ
33 おわりに
34 今後の課題: ホスティング型k8sサービスへの移行 メリット • GKEの機能が豊富 • GCP安い デメリット •
AWSからの移行 メリット • 移行なし • 学習コスト低い デメリット • 機能面でGKEに劣る
35 今後の課題: チームの拡大 • Platform Engineeringの設立 • SREチームの拡大 • プロアクティブなSRE業
36 WE ARE HIRING!
37 SRE Team in Japan こんな人募集 • CircleCIに興味がある • 大規模インフラを面倒みたい
• コンテナをガチでやりたい • 海外のチームと働きたい
Thank you. 38 Optional Name