Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
30 million workflows reveal about DevOps in pra...
Search
Noboru Kurumai
February 13, 2020
Programming
10k
4
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
30 million workflows reveal about DevOps in practice
Noboru Kurumai
February 13, 2020
More Decks by Noboru Kurumai
See All by Noboru Kurumai
SP800-63-4 Digital Identity Guidelines (Main)
kurumai
0
300
State of DevOps Report 2020/2021から見るCI/CDの始め方
kurumai
1
1.8k
go-saas-circleci-number-4
kurumai
0
860
CircleCI Webinar
kurumai
1
560
Go SaaS CircleCI #3
kurumai
0
500
Latest updates of CircleCI
kurumai
1
430
Go_SaaS CircleCI
kurumai
0
400
CircleCI Ship Quality Code, Faster
kurumai
0
470
はじめてのCircleCI Webinar / 1st CircleCI Webinar
kurumai
3
6.6k
Other Decks in Programming
See All in Programming
Everything will be SERVERLESS — 信じて運用した10年の経験値 / Everything Will be Serverless — Lessons Learned from 10 Years of Operational Experience
seike460
PRO
1
420
SREの越境 / SRE Collaboration
y0hgi
2
270
更なる可用性を求めて、5年間運用したKotlinのアプリケーションをGoでリプレイスする話
ken_tunc
0
340
選挙速報を多くのユーザーへ 届ける Live Activities 設計
hamayokokuririn
0
150
難しいけど、読めた。- OSSの入口に立った話。
sts11142
0
110
AI活用は、個人から組織へ|マルチプレイヤーエージェントハーネス「QM」の社内活用事例 / AI use is moving from individuals to orgs
rkaga
1
140
AGENTS.md Is Not Enough:Build Skills, Don't Download Them
lx_t
0
130
フロントエンドUIフレームワークのこれまでとこれから
ssssota
5
2.9k
ハーネス設計入門 〜 基礎知識の整理から実務へのステップアップ 〜
kinopeee
12
9.7k
WebMCP Challenge に星空観察アプリで参加した話
okajun35
0
190
Streamlitで実現する自然言語データアプリ開発
ayumu_yamaguchi
1
300
XP祭りでしか伝わらないフリップネタ #xpjug
murabayashi
0
150
Featured
See All Featured
Designing Dashboards & Data Visualisations in Web Apps
destraynor
232
55k
Scaling GitHub
holman
464
140k
HDC tutorial
michielstock
2
880
New Earth Scene 8
popppiees
4
2.6k
Why You Should Never Use an ORM
jnunemaker
PRO
61
10k
Optimising Largest Contentful Paint
csswizardry
37
4k
YesSQL, Process and Tooling at Scale
rocio
174
15k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
23k
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
250
Believing is Seeing
oripsolob
1
220
Writing Fast Ruby
sferik
630
63k
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
830
Transcript
1 の 万件の ワークフローから得られた に関する知見
2 自己紹介 名前:車井 登 / Noboru Kurumai ポジション:Solutions Engineer 経歴:パッケージソフト開発
クラウドサービスエンジニア @kurumai
3
4 CircleCI知ってましたか?
5 CircleCI Japanがあるの知ってましたか?
社のご紹介 • 世界最大規模のクラウド CI/CD サービス • より良いコードをより速く、簡単にリリースすることを可能に • 2011年設立、サンフランシスコ本社 •
250人+の社員(米国、東京、英国にオフィス) • 19年7月 5,600万ドルのシリーズDを実施、合計1億1,550万ドルを調達
7 続 戦国時代 https://speakerdeck.com/kimh/cdwoshi-idao-siteshu-duan-shang-falsesohutoueakai-fa-wosiyou
8 - 自動化したい ツールを 使う動機 - コストを削減したい - 開発スピードを上げたい -
品質も・・・ - セキュr・・・ - 最高のチームづくりを したいから
9 ハイパフォーマンスの開発とは何なのか? 自分達のチームはうまく出来ているのか?
10 優れたパフォーマンスを発揮しているチームは、 実際にはどのように稼働しているのか?
11 の動作実績と対象データ 動作状況 - 月間3,500万件以上のジョブを処理中 (Linux, MacOS, Windowsをすべて含むが、オンプレ版は含まない) 対象データ -
2019年6月1日〜8月30日に確認された3000万強のワークフローデータ - 40,000以上のOrganization(≒組織・企業) - 150,000以上のプロジェクト
12 少しだけ 用語の説明 - ジョブはDockerコンテナやLinux VM、MacOSなど実行環境が起動する単位 - ワークフローは複数のジョブを組み合わせて構築するCI/CDパイプラインの全体
13 つのメトリクス スループット 安定性 デプロイ頻度 リードタイム 復旧時間 失敗の頻度
14
15 つのメトリクス 変更のリードタイム デプロイ頻度 平均修復時間(MTTR) 失敗の頻度 ワークフローの動作時間 ワークフローが開始される頻度 レッドビルドがグリーンビルドになるのに 要する時間
ワークフローの失敗率 スループット 安定性
16 ワークフローの動作時間(分析結果) 最も遅い 最も速い 3.3日 2.1秒 3分27秒 中央値 80 パーセン
タイル 10分 90 パーセン タイル 28分
17 ワークフローの動作時間(考察) - リードタイムはプロジェクトに強く依存するため、一概に何分(何秒)以内がベストとは言い切れない。 - ただし、3日以上というのは明らかに長過ぎるし、 2.1秒では何も出来ない。 - CircleCIの経験上、最適なワークフローは数分から数十分程度 -
ワークフローの実行時間とは、アーティファクトをデプロイするものだけではなく、 そのワークフローの成果に到達する時間である。 - また、ワークフローの価値は、単にすばやく実行することではなく、 開発者に適切なフィードバックがすば やく行われること。 - ワークフローには理想的な長さに普遍的な標準があるわけではない。 大事なのは、長さを短縮できるポイントを探すべき。 - 本データはCircleCI上で自動化された時間だけを計測している。もしまだ自動化されていないテストやセ キュリティチェックなどがあれば積極的に自動化すべき。
18 デプロイの頻度( 年の ) https://www.slideshare.net/jallspaw/10-deploys-per-day-dev-and-ops-cooperation-at-flickr
19 デプロイの頻度( 年の ) https://www.youtube.com/watch?v=PW1lhU8n5So 11秒に1回の デプロイ 最大で1時間 1,079回のデプロイ
20 デプロイの頻度(分析結果) レベルで 日に実行される数 6回 プロジェクトレベルで 日に実行される数 3回 プロジェクトレベルで デフォルトブランチの
ワークフローが実行される数 1回 レベルで 日に実行される数 250回 プロジェクトレベルで 日に実行される数 74回 プロジェクトレベルで デフォルトブランチの ワークフローが実行される数 39回 50 パーセンタイル 95 パーセンタイル
21 デプロイの頻度(考察) - Flickrのプレゼンテーション以降、数多くのプロジェクトが高頻度のデプロイに挑戦している。 - しかしながら、1日に10回以上デプロイしているプロジェクトは多くはない 。 - 2019 Accelerate
State of DevOps Reportでは、下記に分類されている。 - 非常に優れたチーム( Elite):1日に数回のデプロイ - ハイパフォーマンスのチーム: 1日から1週間に1回 - 低パフォーマンスのチーム: 1ヶ月から6ヶ月に1回 - CircleCI を使用している組織は、必要なときにいつでもデプロイできるため、デプロイ回数は、組織の事 情を反映したものになり、必ずしも優れた開発チームかどうかの指標にはならない - 代わりに、組織がコードをテストおよび統合する頻度 と、エラーが発生したときにどれだけ早く復旧できる かという指標は、開発チームのパフォーマンスが高いことを示します。
22
23 フィーチャーフラグ https://circleci.com/landing-pages/assets/2017-VelocityReport-Updated-070219_JA.pdf
24 平均修復時間: (分析結果) 最も長い 最も短い 30日 1秒 未満 17.5時間 中央値
おそらく、一日の終わりに失敗を検出して、 次の日に修正していることが多い State of DevOps 2019では、 Eliteで1時間以内 すべてのブランチの場合
25 平均修復時間: (分析結果) 最も長い 最も短い 1時間以下 中央値 デフォルトブランチの場合 15分 25
パーセン タイル 30%のプロジェクトは90日間で一度も失敗していない(100% グリーン) 50%のOrganizationは1回で修正されている。 25%になると2回で修正されている
26 失敗の頻度(分析結果) ワークフローが失敗で 終わっている割合 27% トピックブランチが 失敗で終わっている割合 31% デフォルトブランチが 失敗で終わっている割合
18% パイプラインを変更して も一度も失敗していない プロジェクトの割合 50% ブランチ別で見ると
27 失敗の頻度(考察) - 全体で27%のワークフローが失敗に終わっているものの、 多くはトピックブランチの失敗に起因している。 これはGit Flowなどのプラクティスが有効に働いているため - デフォルトブランチでも 18%が失敗に終わっているが、
State of DevOps Report 2019ではEliteでも 0-15%となっていて近い数値になっている。 - 50%のプロジェクトがCI/CDパイプラインの設定を変更してもビルドに失敗していない 。 これは、設定ファイルを使い回すか、設定ファイルのパッケージング機能である Orbsを使っているため。 今後は、CI/CDパイプラインのベストプラクティスをいかに早く取り込むか が重要となってくる。
28 回数は良いチームの指 標にはならない いつでもデプロイできる 状態を維持すること まとめ 最適なワークフローは 数分から数十分 開発者のフィードバック のスピードを意識
修復時間を短くするに はプロアクティブな対応 と高度な自動化が必須 トピックブランチでの失 敗は恐れない。むしろ積 極的に結合する。 ベストプラクティスを取り 入れる
29 次に向けて - 言語特有の差異 - 例えばPHPで書かれたプロジェクトの平均失敗率は7%だった (全体平均は18%) - ブランチ数の違い
30 世界の ユーザーコミュニティ 東京 大阪 福岡 ソウル バンコク ジャカルタ シンガポール
Thank you. 31
32