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
BCP(ビジネスの継続性)の次は、CI(開発に継続的インテグレーション)が必要
Search
Masahiko Funaki(舟木 将彦)
February 01, 2022
Technology
56
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
260
自動化したのに回らない テスト運用の壁―AI時代の品質責任と生産性
mfunaki
0
660
自動化したのに回らないテスト運用の壁ーAI時代の品質責任と生産性
mfunaki
1
170
202605-進化し続けるUIに追従.pdf
mfunaki
0
59
mablの要素選択を完全理解〜壊れないテストを作るための技術選択
mfunaki
0
80
知って得するmabl活用Tips〜「こんな時どうする?」実践機能ガイド
mfunaki
0
90
20260422-mablで変わるテスト自動化_品質_速さ_コストの三角形を崩す5つのアプローチ.pdf
mfunaki
0
140
手順(プロンプト)だけで テストを自動作成~テスト作成エージェントを使いこなすための 実践プロンプト術
mfunaki
0
220
「見た目」と「意味」をAIが判定 ~ビジュアルアサーションで変わる テストの守備範囲~
mfunaki
0
100
Other Decks in Technology
See All in Technology
GoのInterface内部構造から学ぶ!最高パフォーマンスを出すコード設計
yappli_developers
0
130
Azure Serverless 2026:Production-ready な AI エージェント基盤 / Azure Serverless 2026: Production-Ready AI Agent Platform
miyake
2
170
エージェントはローカル、検証はMicroVM — Lambda MicroVMsでつくるServerless CI
fujioka6789
3
190
AIエージェントの自己改善をどう設計するか / How to Design Self-Improvement for AI Agents
22mi
25
16k
AI に書かせたその API、 “信頼” できますか?
nagix
0
120
AIで社員の自主発信に広報目線を組み込む
_mossann_t
0
120
事業課題から技術的負債に向き合う
sansantech
PRO
2
1.9k
【技術的負債conf】事業成長に伴う技術的負債の説明責任とAIによるモニタリング、認知的負債について
i35_267
3
1.7k
aws-iot-platform-architecture-use-cases.pdf
ma2shita
0
280
TinyGo 開発サイクルを高速化する:Go で作るエミュレータ入門
zozotech
PRO
1
740
白金鉱業Meetup Vol.25 アウトカムが二値のデータに対するCausal Impact
brainpadpr
0
230
Genieを崇めよ
kameitomohiro
0
160
Featured
See All Featured
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.6k
Leading Effective Engineering Teams in the AI Era
addyosmani
9
2.6k
Why Our Code Smells
bkeepers
PRO
340
58k
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
670
How to build an LLM SEO readiness audit: a practical framework
nmsamuel
1
910
Large-scale JavaScript Application Architecture
addyosmani
515
110k
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
2
700
How Software Deployment tools have changed in the past 20 years
geshan
1
34k
We Have a Design System, Now What?
morganepeng
55
8.3k
Deep Space Network (abreviated)
tonyrice
0
310
Leo the Paperboy
mayatellez
10
2.3k
RailsConf 2023
tenderlove
30
1.5k
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