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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
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
270
自動化したのに回らない テスト運用の壁―AI時代の品質責任と生産性
mfunaki
0
670
自動化したのに回らないテスト運用の壁ーAI時代の品質責任と生産性
mfunaki
1
180
202605-進化し続けるUIに追従.pdf
mfunaki
0
59
mablの要素選択を完全理解〜壊れないテストを作るための技術選択
mfunaki
0
81
知って得するmabl活用Tips〜「こんな時どうする?」実践機能ガイド
mfunaki
0
91
20260422-mablで変わるテスト自動化_品質_速さ_コストの三角形を崩す5つのアプローチ.pdf
mfunaki
0
140
手順(プロンプト)だけで テストを自動作成~テスト作成エージェントを使いこなすための 実践プロンプト術
mfunaki
0
220
「見た目」と「意味」をAIが判定 ~ビジュアルアサーションで変わる テストの守備範囲~
mfunaki
0
110
Other Decks in Technology
See All in Technology
AIによるクリエイティブ生成を行う上での試行錯誤
plaidtech
PRO
0
180
AIは推し活である。
kurazuuuuuu
1
960
あけおめLINE 傾向とその対策
nasa9084
0
310
ほんとうの信頼性はヒーローが死んでからはじまる / True reliability begins after the hero dies
vtryo
0
120
CLIライブラリ開発を支える技術
htnabe
0
150
Mastering Agentic Development: Harness Engineering for Effective Coding Agents
konippi
3
460
リアーキテクチャ後の障害ゼロを目指したShadow Testingの取り組み
nihonbuson
PRO
1
180
AgentCore Runtime上にAgentic Coding基盤を構築・展開する際の設計ポイントと限界点 / Design considerations and limitations when building an agentic coding platform on AgentCore Runtime
har1101
6
730
白金鉱業Meetup Vol.25 アウトカムが二値のデータに対するCausal Impact
brainpadpr
0
290
Making AI Agents Safe and Fast- Jev, Obsidian, and the Meta-Harness
x5gtrn
PRO
0
130
データ_AIの事業の勝敗をわけるもの
nek0128
1
480
積み重なった技術負債への挑戦 〜初手としての全社ゴト化〜
techtekt
PRO
0
1.6k
Featured
See All Featured
Code Review Best Practice
trishagee
74
20k
[RailsConf 2023] Rails as a piece of cake
palkan
59
7k
Odyssey Design
rkendrick25
PRO
2
810
Leo the Paperboy
mayatellez
10
2.3k
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
830
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
880
Navigating Team Friction
lara
192
16k
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
2
2.9k
Design in an AI World
tapps
1
330
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.4k
What does AI have to do with Human Rights?
axbom
PRO
1
2.4k
Building a Modern Day E-commerce SEO Strategy
aleyda
45
9.2k
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