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.2k
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
170
エンジニアが起業する意味: 起業経験ゼロから電動キックボード 事業を創る話
kimh
0
1k
K8sとTraefikでつくるマイクロフロントエンド
kimh
14
2.5k
CI/CDを使い倒して数段上のソフトウェア開発をしよう (デブサミ関西)
kimh
2
840
デブサミ福岡: CI/CDを使い倒して数段上のソフトウェア開発をしよう
kimh
0
420
CircleCI 2.0を支える2つの コンテナクラスターとSRE
kimh
6
6k
なぜ今CI/CDがアジャイル組織に必要とされるのか?
kimh
0
330
CircleCI 2.0を支える2つのコンテナクラスター
kimh
2
4.3k
Orbsを使ってAWSへ簡単デプロイ
kimh
1
1.5k
Other Decks in Technology
See All in Technology
[2024最新版]AWS Control Towerを使ったセキュアなマルチアカウント環境の作り方
hiashisan
0
270
Amazon FSx for NetApp ONTAPのパフォーマンスチューニング要素をまとめてみた #cm_odyssey #devio2024
non97
0
220
サーバーレスAPI(API Gateway+Lambda)とNext.jsで 個人ブログを作ろう!
shuntaka
PRO
0
560
簡単に始めるSnowflakeの機械学習
nayuts
1
190
AOAI Dev Day - Opening Session
yoshidashingo
2
470
Classmethod Odyssey 登壇資料
yamahiro
0
390
20240725 LLMによるDXのビジョンと、今何からやるべきか @Azure OpenAI Service Dev Day
nrryuya
3
1.2k
目標設定は好きですか? アジャイルとともに目標と向き合い続ける方法 / Do you like target Management?
kakehashi
10
3k
LINE WORKSへ簡単通知!Incoming Webhookアプリの紹介
mmclsntr
0
110
What is DRE? - Road to SRE NEXT@広島
chanyou0311
3
630
コンテナ・K8s研修 - 前半 コンテナ基礎・ハンズオン【MIXI 24新卒技術研修】
mixi_engineers
PRO
0
170
Azure AI ことはじめ
tsubakimoto_s
0
130
Featured
See All Featured
Principles of Awesome APIs and How to Build Them.
keavy
124
16k
We Have a Design System, Now What?
morganepeng
46
7k
Raft: Consensus for Rubyists
vanstee
134
6.5k
A designer walks into a library…
pauljervisheath
201
24k
The Invisible Customer
myddelton
117
13k
Happy Clients
brianwarren
94
6.6k
Building Effective Engineering Teams - LeadDev
addyosmani
47
2.2k
Designing on Purpose - Digital PM Summit 2013
jponch
113
6.6k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
360
22k
What the flash - Photography Introduction
edds
65
11k
4 Signs Your Business is Dying
shpigford
178
21k
Speed Design
sergeychernyshev
9
270
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