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
BCP(ビジネスの継続性)の次は、CI(開発に継続的インテグレーション)が必要
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Masahiko Funaki(舟木 将彦)
February 01, 2022
Technology
55
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
BCP(ビジネスの継続性)の次は、CI(開発に継続的インテグレーション)が必要
Masahiko Funaki(舟木 将彦)
February 01, 2022
More Decks by Masahiko Funaki(舟木 将彦)
See All by Masahiko Funaki(舟木 将彦)
「つくるAI」だけではバグは見つからない ~テストに必要な「見つけるAI」を分離させる戦略~
mfunaki
0
170
自動化したのに回らない テスト運用の壁―AI時代の品質責任と生産性
mfunaki
0
470
自動化したのに回らないテスト運用の壁ーAI時代の品質責任と生産性
mfunaki
1
150
202605-進化し続けるUIに追従.pdf
mfunaki
0
52
mablの要素選択を完全理解〜壊れないテストを作るための技術選択
mfunaki
0
75
知って得するmabl活用Tips〜「こんな時どうする?」実践機能ガイド
mfunaki
0
83
20260422-mablで変わるテスト自動化_品質_速さ_コストの三角形を崩す5つのアプローチ.pdf
mfunaki
0
130
手順(プロンプト)だけで テストを自動作成~テスト作成エージェントを使いこなすための 実践プロンプト術
mfunaki
0
200
「見た目」と「意味」をAIが判定 ~ビジュアルアサーションで変わる テストの守備範囲~
mfunaki
0
100
Other Decks in Technology
See All in Technology
【書籍出版記念】 10周回って、エージェント開発は RAGがすべてだった。〜RAGの歴史と開発現場で見えた実践知〜
akiratameto
20
7.4k
Kiro5兄弟のいまどきのセキュリティ基礎知識
kentapapa
0
170
What's new in Go 1.27?
ciarana
0
440
RapidCopy2 Matrix I/Oエンジンによるファイルコピーソフトウェアの設計と実装
kengosawa2
1
400
Rust×eBPFでEDRっぽいものをつくる
sunlife3
2
950
形式手法特論:Hyperproperty とモデル検査 #kernelvm / Kernel VM Study Tokyo 19th
ytaka23
0
790
:syncing_time:
sksat
2
740
国家プロジェクトを支える「さくらONE」 大規模LLM開発におけるGPU障害を乗り越えるクラスター運用戦略
gpuunite_official
0
280
IHV like なユースケースへのOpenID Connect 関連仕様の適用事例
optim
0
220
2027年のMetricKit
kantacky
0
170
Oracle AI Databaseデータベース・サービス: BaseDB/ExaDB-Dの可用性
oracle4engineer
PRO
1
880
Android skills に学ぶ
kokiko
0
180
Featured
See All Featured
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
810
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
250
30 Presentation Tips
portentint
PRO
1
380
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
210
sira's awesome portfolio website redesign presentation
elsirapls
0
340
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.5k
Fireside Chat
paigeccino
42
4k
Unsuck your backbone
ammeep
672
58k
Between Models and Reality
mayunak
4
400
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.7k
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
11k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
35k
Transcript
1 BCP(ビジネスの継続性)の次は、 CI(開発に継続的インテグレーション)が 必要 舟木 将彦 (@mfunaki) Senior Developer Advocate
2 Agenda ウォーターフォールが進化してもアジャイルにはならない ソフトウェア開発を変える CI/CD とは? 継続性をどう支えるか〜自動化の貢献とメトリクス まとめ 1 2
3 4
3 1. ウォーターフォールが進化しても アジャイルにはならない
従来のソフト開発と今、求められるソフト開発の違い • 前提 ソフトウェアは頻繁に インストール、更新できない ゴール 数年後にリリースする新バージョンでたくさんの良 い機能をお届け 手段(数年かけて実行) ヒヤリング→機能洗い出し→実装(遅延)→テスト
(遅延)→リリース(遅延) • 前提 ソフトウェアは頻繁にプッシュで 更新がかけられる ゴール テレメトリー(行動)を元に、スムーズにシナリオ達成 可能なUIをお届け 手段(より短い周期で実行 ) シナリオ策定→フロー設計→実装→テスト→リリー ス→ログ取得→(先頭) ウォーターフォール手法 アジャイル手法 常時テストされ、実際に試用可能な状態を実現 実際に試用できるのは、数年ー数か月の結合時
5 製品やサービスを常にバージョンアップし続ける =わくわく感(仕事の仕方、暮らし方、遊び方などなどがこんな風に変わる)をお届けし続ける 顧客の期待に応えるためにビジネスは変化を継続 https://circleci.com/ja/changelog/
アジャイルさ(俊敏さ)を支える DevOps とコアとなる CI/CD プラン コード ビルド テスト リリース デプ
ロイ 運用 監視 継続的インテグレーション (CI) 継続的 デプロイ (CD) 自動化できない 非正常系は 自動化できない 自動化できる コード追加・修正時は 常にビルド・テスト (最後にまとめてやらな い→早く失敗すれば 早く品質が安定する) サービス停止せず常に リリース/デプロイ (失敗時にはクイックに 修正 / 前バージョンに 戻せる)しくみ 共有 リポジトリ上 で 常に作業 運用・監視しやすい 品質をコードに反映 (必要なデータの取得、 スケーラビリティの 確保) 変化+安定の両輪が揃ってこそ「継続的」に価値提供 (変革)を続けられる どうやって短期間で回す?
7 2. ソフトウェア開発を変える CI/CD とは?
8 「この人がいないと、開発が回らない (継続性〜Continuity〜が低くなる)」状況を 自動化で減らす
9 継続的であるとは? 「先頭が倒れる=順に全部倒れる」ループ
「継続的」に進めるためのカギは自動化 プラン コード ビルド テスト リリース デプ ロイ 運用 監視
継続的インテグレーション (CI) 継続的 デプロイ (CD) エッセンシャル ワーカーに依存 非正常系は エッセンシャル ワーカーに依存 自動化できる 作業の抜け・漏れ・ミ ス・不正を回避 (不必要に心配 しない) 担当者がいなくても 作業がストップ しない (待ち状態が発生 しない) 人でなければできな い仕事への割り振り (スピード・質の 実現)
今どき、人手でやっていませんか? 自分で仕組みから作ろうとしていませんか? ビルド、テスト、リリース、デプロイ
12 3. 継続性をどう支えるか 〜自動化の貢献とメトリクス
13 CIでできること • コードのビルド • 静的コード解析 • 単体テスト • 結合テスト
• 脆弱性チェック • テストサマリー
14 CI/CDとは - CI (Continuous Integration / 継続的インテグレーション) - CD
(Continuous Delivery / 継続的デリバリ) 継続的であるためには「自動化」が必要ではあるが それだけでは十分ではない
15 CircleCIユーザーの 中央値(2020/08) ベンチマーク目標値 スループット ワークフローの実行数 0.7回/日 プルリクエストのマージごと いつでも(遠慮せずに)ビルド可能 実行時間
ワークフローの実行時間 4分以内 5~10分 自動化可能なことは全て任せる 復旧時間 ワークフローの失敗~成功の時間 56分以内 60分以内 大きな失敗を最後にではなく、すぐ に復旧できる失敗を早期に 成功率 ワークフローの成功数/実行数 デフォルトブランチで 80% デフォルトブランチで 90%以上 自動化における4つの評価ポイント ここの数値に「近い目標」として まずは追いつき ここの数値を「あるべき姿」として 目指す 現時点での数値を「課題」として 把握した上で
16 CircleCIユーザーの 中央値(2020/08) ベンチマーク目標値 スループット ワークフローの実行数 0.7回/日 プルリクエストのマージごと いつでも(遠慮せずに)ビルド可能 評価ポイント1:
スループット パーセンタイル 5 50 90 95 実行数(回/日) 平均値: 8.22 0.03 0.70 16.03 32.125 金曜日(UTC)のスループットは11%減少 土日(UTC)のスループットは70%減少 月曜日(UTC)のスループットは9%減少
17 CircleCIユーザーの 中央値(2020/08) ベンチマーク目標値 実行時間 ワークフローの平均実行時間 4分以内 5~10分 自動化可能なことは全て任せる 評価ポイント2:
実行時間 パーセンタイル 5 50 90 95 実行時間 平均値: 24.6分 12秒 3.96分 21.35分 34.01分 エンジニア1人のチームで実行時間が最長
18 CircleCIユーザーの 中央値(2020/08) ベンチマーク目標値 復旧時間 ワークフローの失敗~成功の時間 56分以内 60分以内 大きな失敗を最後にではなく、すぐ に復旧できる失敗を早期に
評価ポイント3: 復旧時間 パーセンタイル 5 50 75 90 95 復旧時間 平均値: 14.85時間 2.06分 55.11分 9.5時間 39時間 3.4日 75と90の間に夜(非労働時間)のギャップがある エンジニア数が増えるに従い(200人までは)減少 →チームの多様性重要(いつ、どれだけ働けるか+燃え尽きない)
19 CircleCIユーザーの 中央値(2020/08) ベンチマーク目標値 成功率 ワークフローの成功数/実行数 デフォルトブランチで 80% デフォルトブランチで 90%以上
評価ポイント4: 成功率 パーセンタイル 5 50 75 90 95 成功率 平均値: 54% 0% 61% 89% 100% 100% 企業規模(エンジニアの数)と成功率の間に相関はない デフォルトブランチの成功率 > 非デフォルトブランチの成功率
20 インサイトダッシュボード 1. スループット 4.成功率 2.実行時間 クレジット消 費量 3.復旧時間
21 • ワークフローのメトリクスをインテリジェントに収 集・可視化 ◦ ワークフローやジョブ別の内訳 ◦ どのプロジェクト、ワークフロー、ジョブが失 敗し、最もクレジットを消費しているのか ◦
遅いテストワースト10 失敗するテストワースト10 ◦ 成功・失敗が不安定なテストはどれか ◦ テスト実行時のCPU/RAM使用推移 テスト インサイト
22 データの活用 ~ 停滞せず、さらに良く 外部プロダクト・サービスとの連携・拡張 • ジョブ終了時およびワークフロー終了時の Webhook 呼び出し Sumo
Logicダッシュボード連携 (https://www.sumologic.com/application/circleci/) Datadog CI Visibility連携 (https://www.datadoghq.com/ja/blog/datadog-ci-v isibility/)
23 Orb - 効率化+品質/セキュリティ/コンプライアンス 効率化 セキュリティ/ コンプライアンス 効率化 品質 品質/コンプライア
ンス 効率化
24 4. まとめ
25 現行ビジネス「平時に問題なく動いている仕組みを、非常時にも 継続的にお届け」 + 進化するビジネス「適材適所で多様なメンバーが貢献でき、 随時参加するの際の障壁が低い」 (やっていることの見える化、やり方の標準化 )ことによる継続性が重要
26 State of DevOps Report 2021 日本語で読めます! https://www2.circleci.com/jp-puppet-2021-state-of-devops.html
自動化した標準化ポイントは共有+還元する https://discuss.circleci.com/t/advent-calendar-2021-circleci/42147
CircleCIをもっと知りたい!なら 最新の情報なら @CircleCIJapan をフォロー! #CircleCIJp タグつけて情報共有! イベント、セミナー、勉強会の情報なら connpassのCircleCIグループから! https://circleci.connpass.com/ 動画でCircleCIについて学ぶなら
CircleCIチャンネルを登録! (日本語プレイリストもあり )
Thank you. 29