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
10分の自動化の導入からクラウドネイティブな開発を始める
Search
Masahiko Funaki(舟木 将彦)
September 14, 2022
Technology
31
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
10分の自動化の導入からクラウドネイティブな開発を始める
Masahiko Funaki(舟木 将彦)
September 14, 2022
More Decks by Masahiko Funaki(舟木 将彦)
See All by Masahiko Funaki(舟木 将彦)
202605-進化し続けるUIに追従.pdf
mfunaki
0
22
mablの要素選択を完全理解〜壊れないテストを作るための技術選択
mfunaki
0
46
知って得するmabl活用Tips〜「こんな時どうする?」実践機能ガイド
mfunaki
0
58
20260422-mablで変わるテスト自動化_品質_速さ_コストの三角形を崩す5つのアプローチ.pdf
mfunaki
0
84
手順(プロンプト)だけで テストを自動作成~テスト作成エージェントを使いこなすための 実践プロンプト術
mfunaki
0
150
「見た目」と「意味」をAIが判定 ~ビジュアルアサーションで変わる テストの守備範囲~
mfunaki
0
68
イントラネットの社内アプリからローカル開発環境まで〜mabl Linkで実現する閉域網アプリケーションのセキュアなテスト実行
mfunaki
0
47
フルスタックQAへの第一歩。Web UIとAPIテストを統合した品質保証戦略
mfunaki
0
110
mabl新機能解説:プロンプトによるテスト生成とローカル/クラウド実行のシームレスな統合
mfunaki
0
110
Other Decks in Technology
See All in Technology
人材育成分科会.pdf
_awache
4
250
フィジカル版Github Onshapeの紹介
shiba_8ro
0
240
AIのReact習熟度を測る
uhyo
2
570
白金鉱業Meetup_Vol.24_「AIエージェントは分けるほど良い」は本当か? / Is it true that “the more you divide AI agents, the better”?
brainpadpr
1
380
アンオフィシャルな、オフィシャルからのお願い
wyamazak_devrel
0
110
中期計画、2回作ってみた ~業務委託と正社員、両方の視点から~
demaecan
1
800
「エンジニア進化論」2028年の開発完全自動化、エンジニアはどう進化するか
cyberagentdevelopers
PRO
6
5.2k
ACE-Step-1.5で見る 音楽生成AIのしくみと“破綻だけ直す”Retake機能の開発【zennfes spring 2026 登壇資料】
personabb
1
470
"何を作るか"を任される エンジニアは、どう育つのか
yutaokafuji
1
680
LLMにもCAP定理があるという話
harukasakihara
0
370
【Snowflake Summit 2026 Recap!!】Snowflake Summit Deep Dive: Security & Governance
civitaspo
1
180
2026TECHFRESH畢業分享會 - Lightning Talk - E起 See See : 電商推薦讀心術? 數據說了算
line_developers_tw
PRO
0
1k
Featured
See All Featured
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
270
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
2.1k
VelocityConf: Rendering Performance Case Studies
addyosmani
333
25k
GraphQLとの向き合い方2022年版
quramy
50
15k
AI: The stuff that nobody shows you
jnunemaker
PRO
8
710
Marketing to machines
jonoalderson
1
5.4k
Code Reviewing Like a Champion
maltzj
528
40k
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
610
30 Presentation Tips
portentint
PRO
1
320
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
160
Getting science done with accelerated Python computing platforms
jacobtomlinson
2
230
Music & Morning Musume
bryan
47
7.2k
Transcript
1 舟木 将彦 (@mfunaki) CircleCI 合同会社 Principal Developer Advocate 10分の自動化の導入から
クラウドネイティブな開発を始 める
CircleCIってどんな会社 • 世界最大規模のクラウドCI/CDサービス ◦ 22,000以上の組織の 100万以上の開発者が実行する 毎月7億以上のジョブを支えるサービス • ミッション: Manage
change So software teams can innovate faster (変化をマネージしよう、そうすれば ソフトウェアチームはより速くイノベーションできる ) • 2011年設立、サンフランシスコに本社 2021/05/11 にSeries Fで1億ドルを調達 (これまでに$315Mの投資、$1.7Bの企業価値) • 600+人の社員 (米国、日本、英国、オランダ、フランス+ リモートワーク)
3 ワークフロー実行回数順位 (CircleCIクラウド版) グローバル 1 米国 2 英国 3 日本
4 ドイツ 5 カナダ 6 オーストラリア 7 フランス 8 スウェーデン 9 ブラジル 10 イスラエル アジア・太平洋地域 1 日本 2 オーストラリア 3 シンガポール 4 香港 5 ニュージーランド 6 インド 7 韓国 8 マレーシア 9 タイ 10 インドネシア 2010/10~2011/09までの12か月にCircleCIクラウド版で実行されたワークフローより。 ただしサンプルやチュートリアルの実行等は除外している(カウントしていない)。
4 Agenda ソフトウェア開発を取り巻く環境 ソフトウェア開発の現況を数字で読み取り、改善する CircleCIが提供する自動化=高速化のための機能 終わりに 1 2 3 4
5 ソフトウェア開発を 取り巻く状況
6 ソフトウェアはモノからサービスに スマホに5年前入れたままのアプリを使っている人はいない →スマホ自身が2〜3年で買い換えられる中、機種変しても使われ続けるには? • モノの品質(企業であれば5年償却) 買った時点が一番価値が高く、競合の出現や市場の進化により価値が低下 → 数年に一度のモデルチェンジやバージョンアップ インフラ:オンプレ(ハードウェア耐用年数の間、同じソフトを継続利用)
開発手法:ウォーターフォール (作業の積み上げ or リリース日からの逆算) • サービスの品質 常に最高のサービスを使い続ける(その時点その時点で最高が異なる ) インフラ:クラウド(ソフトの機能アップ、ハードの性能アップ/コスト低減の 恩恵を受けながら継続利用) 開発手法:アジャイル (要件→設計→実装→テストを小さく回す) ウォーターフォールが進化してもアジャイルにはならない
7 サービスとしてのソフトウェア開発のプロセス ソフトウェアの 機能拡張 新技術を 取り込みつつ (Opsしやすい) 安定的な ソフトウェア 利用者の増加
安定的かつ (Devしやすい) 拡張性を備えた 責任範囲をオーバーラップさせる (サイロにしない) 忙しくなりすぎる、普通に考えたら無理 → できない理由ではなく、できるためにするには?
8 継続するビジネスを支えるソフトウェア開発を標準化 プラン コード ビルド テスト リリース デプ ロイ 運用
監視 継続的インテグレーション (CI) 継続的 デプロイ (CD) 自動化できない 非正常系は 自動化できない 自動化できる→継続的であるために自動化すべき ビジネスが継続する限り、ソフトウェアの進化は続く コード追加・修正時は 常にビルド・テスト (最後にまとめてやらな い→早く失敗すれば 早く品質が安定する) サービス停止せず常に リリース/デプロイ (失敗時にはクイックに 修正 / 前バージョンに 戻せる)しくみ 人にしかできない ことは、 細分化した上で できる人が 手を挙げてやる →誰でも見える、 参加できる状態 共有 リポジトリ上 で 常に作業 自動化できる ことは 作業手順の 定義を行い 自動実行させる →依頼しない、 抜け漏れしない 運用・監視しやすい 品質をコードに反映 (必要なデータの取得、 スケーラビリティの 確保)
9 ソフトウェア開発の現況を 数字で読み取り、改善する
10 自動化のレベル分け (Industrie 4.0や自動運転から) 操作する人の他に 動力を生み出す人が必要 (石炭→石油により負荷軽減) ※ 紡織の自動化(人が部材取替) 動力(電気)は外部から調達、
使用量に応じて課金 電線や電池で取り込み可能に ※ 問題時は自動停止(人対応) 人の代替の定型作業から 人の能力を超えた作業を より柔軟に(AI、データ活用) ※ 人の能力を制約にしない
11 ソフトウェア開発の現況 〜 今の立ち位置を知る ソースコードを GitHubなどの ソースコード 管理システムで管理 日時や週次で テストやビルドを
自動実行する コードが追加・修正 されるたび、 テストやビルドを 自動実行する ソースコードを 共有フォルダ等で 取りまとめる 動作する直近のバージョンが 失われる可能性がある Linux/Windows/iOS /Android/GPU環境 向けビルドを(クラウド で)一元管理 テスト時間を短縮す ることで、作った記憶 がホットなうちに修正 可能に 必要に応じた スペックのビルド環境を選 択可能(縦に伸ばす) 直列実行だけでなく、 並列実行が簡単に 設定可能(横に広げる) レベル1 コード 共有 + 手作業の 自動化 レベル2 コード 履歴共有 + 手作業の 自動化 (巻戻可) レベル3 スペックや多重度が 変化する自動化 (高速化= 速く気づき 速く直す)
12 ソフトウェアデリバリーに関わる4つの主要な指標 4つの指標 グローバルの CircleCIユーザー平均値 CircleCIが考える 目標値* スループット (ワークフロー実行回数) 1.43回/日
プルリクエストの数+ 自動実行数 実行時間 (ワークフロー実行時間) 3.7分 10分 (🙅10分以内) 平均リカバリ所要時間 73.6分 1時間以内 ワークフロー成功率 デフォルトブランチで 77% デフォルトブランチで 90%以上 手動・自動を問わず 現時点の値を踏まえた上で 世の中の平均にまずは 近い目標として到達し、 あるべき姿(目標値)を 実現を目指す取り組みを推進
13 ビルド〜デプロイを自動化し、現況を見える化する 実行回数 成功確率 実行時間 クレジット消 費量 復旧時間
14 CircleCIが提供する自動化+ 高速化(早く気づき、早く直す)の ための機能
15 縦に伸ばす(自動化実行環境のスペックを上げる) リソースクラスと消費クレジット Docker Executor クラス vCPUs RAM クレジット small
1 2GB 5クレジット/分 medium 2 4GB 10クレジット/分 medium+ 3 6GB 15クレジット/分 large 4 8GB 20クレジット/分 Freeプランでは30,000クレジット/月が無料で付与 (smallクラスなら6000分=100時間に相当) ※月20日換算で一日あたりのジョブ実行時間 5.0時間
16 横に広げる(並列化) 25並列でテストを実行
17 横に広げる(並列化) 1 5 50 5 45 40 100 60
1 0 30 20 100 1 5 50 60 20 1 0 45 40 30 5 100 50 1 0 45 1 5 60 20 5 40 30 1並列 3並列 5並列 1’44” 1’14” 1’09” 1’14” 1’15” 6:20 132クレジット (¢7.92相当) 2’09” 2’09” 2’09” 147クレジット (¢8.82相当) 161クレジット(¢ 9.66相当)
18 • テスト結果を インテリジェントに収集・可視化 ◦ ワークフローやジョブ別の内訳 ◦ 遅いテストワースト10 失敗するテストワースト10 ◦
成功・失敗が不安定なテストはどれか ◦ テスト実行時のCPU/RAM推移 テスト インサイト
19 10分の中で量(効率)だけでなく、質の向上をしっかり盛り込む
20 終わりに
21 • 自動化の適用で生み出した時間を、人による「開発」「運用」の強化+ α に使う • 自動化の適用で「開発現況」を数値データとして初めて見える化できる →「開発の仕組みや考え方、組織のあり方」を変え、効果を測定する上での メトリクス (ソースコードの行数やテストの数、印象ベースでの達成%に頼ることなく、
新機能やバグ修正がお客様にとって利用可能になるまでの時間を見積可能に) • 10分のワークフロー時間は、 ・ ソフトウェア開発時に生み出されたバグなどの問題を素早く直す ・ ソフトウェアの品質を向上する を両立するベストな時間であり、 自社のソフトウェアを競合と差別化する上で目指すべきスタートポイント まとめ
活用いただいているお客様+事例 https://discuss.circleci.com/t/advent-calendar-2021-circleci/42147
CircleCIをもっと知りたい!なら 最新の情報なら @CircleCIJapan をフォロー! #CircleCIJp タグつけて情報共有! イベント、セミナー、勉強会の情報なら connpassのCircleCIグループから! https://circleci.connpass.com/ 動画でCircleCIについて学ぶなら
CircleCIチャンネルを登録! (日本語プレイリストもあり )
Thank you. 24