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
DevOps勉強会資料
Search
naoki-urabe
April 16, 2022
Programming
0
150
DevOps勉強会資料
naoki-urabe
April 16, 2022
Tweet
Share
More Decks by naoki-urabe
See All by naoki-urabe
無駄課金回避__lambdaでEC2定期シャットダウン.pdf
naokiurabe
0
240
django入門
naokiurabe
0
99
django入門2
naokiurabe
0
73
Other Decks in Programming
See All in Programming
Introducing ReActionView: A new ActionView-Compatible ERB Engine @ Kaigi on Rails 2025, Tokyo, Japan
marcoroth
3
960
CSC305 Lecture 02
javiergs
PRO
1
260
私達はmodernize packageに夢を見るか feat. go/analysis, go/ast / Go Conference 2025
kaorumuta
2
500
大規模アプリのDIフレームワーク刷新戦略 ~過去最大規模の並行開発を止めずにアプリ全体に導入するまで~
mot_techtalk
0
410
CSC509 Lecture 01
javiergs
PRO
1
440
GitHub Actions × AWS OIDC連携の仕組みと経緯を理解する
ota1022
0
250
2分台で1500examples完走!爆速CIを支える環境構築術 - Kaigi on Rails 2025
falcon8823
3
3.4k
After go func(): Goroutines Through a Beginner’s Eye
97vaibhav
0
240
Goで実践するドメイン駆動開発 AIと歩み始めた新規プロダクト開発の現在地
imkaoru
4
770
階層構造を表現するデータ構造とリファクタリング 〜1年で10倍成長したプロダクトの変化と課題〜
yuhisatoxxx
3
950
あなたの知らない「動画広告」の世界 - iOSDC Japan 2025
ukitaka
0
440
『毎日の移動』を支えるGoバックエンド内製開発
yutautsugi
2
210
Featured
See All Featured
Making the Leap to Tech Lead
cromwellryan
135
9.6k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
Typedesign – Prime Four
hannesfritz
42
2.8k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
657
61k
Speed Design
sergeychernyshev
32
1.1k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
114
20k
Documentation Writing (for coders)
carmenintech
75
5k
GraphQLの誤解/rethinking-graphql
sonatard
73
11k
How STYLIGHT went responsive
nonsquared
100
5.8k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
51k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
19
1.2k
Raft: Consensus for Rubyists
vanstee
139
7.1k
Transcript
DevOps勉強会
この勉強会の目的 目的 • DevOps文化の種まき 話す内容 • DevOpsとはなにか • どう実現するのかを伝える
DevOpsとは DevOpsとはDev(開発)とOps(品質保証、運用)を一体化して運用する手法 目的 小規模なチームが短期の開発・テストサイクルを繰り返し、ユーザからのフィードバック も踏まえて、顧客に満足してもらえるサービスを構築し、組織全体にすばやく価値をもた らす キーワード • 高品質 •
素早く • お客さんに価値を提供
DevOps採用すると具体的にどうなるのか • ソフトウェアデリバリのパフォーマンス(4keys)の向上 ◦ リードタイム(機能開発から本番適用までにどれぐらい時間がかかったのか)短縮 ◦ デプロイ頻度(何回デプロイできたか)増加 ◦ 平均修復時間(障害からどれくらい早く復旧したのか)短縮 ◦
変更失敗率(本番影響があるものがどれぐらい発生したか)低下 市場の優位性を築くことができる • コスト削減(失敗変更率低下、平均修復時間短縮) • 価値の素早い提供(デプロイ頻度増加、リードタイム短縮)
DevOpsを実現するには 組織文化 • DevOpsを実現するのは人間の習慣 ◦ 個人の意思、行動で決まってくる • 人間の行動を決めるのは周りの組織文化 ◦ まわりがやっていることは自然とそれに従う
組織文化 DevOps
DevOps実現の土台は組織文化 組織の文化は3つに分類できる。 • 権力志向な組織 恐怖で支配、組織内の政治のため、情報が隠蔽、改ざんされる • ルール志向な組織 縄張りを意識した活動、自分たちのルールに基づいて活動し、権益を守る • パフォーマンス組織
使命や任務に焦点に絞る。目標の達成方法と優れたパフォーマンスを最優先する
組織文化をどう変えるか 最初に行うのは関係者の言動、何をどう行うか 変える方法 • 継続的デリバリ:開発の手法 • リーンマネジメント:プロジェクトの管理 のプラクティスの実践
継続的デリバリー プロダクトに対するあらゆる変更を、安全、迅速、持続可能な形で提供する一まとまりの ケイパビリティ(組織全体で保持する機能や能力)からなる手法 • 品質の概念を生産工程の最初から組み込む • 作業はバッチ処理で進める • 反復作業はコンピュータに任せて、人間は問題解決に当たる •
徹底した改善努力を継続的に行う • 全員が責任を担う
品質の概念を生産工程の最初から組み込む 問題が早く見つかれば見つかるほど、低コストで対応が可能 →ツールと人員を駆使し、問題がすばやく見つけることができる組織文化の構築 • テストしっかり書く • PRをしっかりレビュー
作業はバッチ処理で進める バッチ:1回分にまとめる 作業が大きいと →レビューしづらい、リリースに時間がかかる、問題発生時の問題切り分けしづらい 問題は小さな問題に切り分ける →高速にデリバリー、フィードバックが得られる。軌道修正しやすい
反復作業はコンピュータ、人間は問題解決 CI/CDを活用して楽をする →人間は常に同じパフォーマンスを発揮できない、ミスの発生を抑制する →より本質的な問題の解決に当たれる
徹底した改善努力を継続的に行う 文化は習慣から生まれる 常に高みを目指し、それが日常作業の一部になっている
全員が責任を担う システムレベルの成果の現況を透明にする 組織内の他のすべての部署と協力して、達成可能な期限付きの目標を立てる 目標をすべてのチームが達成するように支援する
継続的なデリバリを実現する技術的基盤 • 包括的な構成管理 ソフトウェアをビルド/テスト/デプロイできる作業環境 • 継続的インテグレーション(CI:Contanious Integration) 変更が追加されるたびにテストなどのビルドプロセスを発動。 ビルドプロセスが失敗したら即座に修正する •
継続的テスト 開発プロセスにテストを組み込む。 CIのテストがすべて合格してからデプロイ作業を行う
組織文化をどう変えるか 最初に行うのは関係者の言動、何をどう行うか 変える方法 • 継続的デリバリ:開発の手法 • リーンマネジメント:プロジェクトの管理 のプラクティスの実践
リーンマネジメント リーン:筋肉質の、痩せた →無理、無駄のない管理方法 • 進行中の作業(WIP)の制限 • ワークフローの可視化 • 負担の軽い変更承認プロセス
進行中の作業(WIP)の制限 進行中の作業を制限することにより、作業の過負荷になることを防ぐ やるやらないはっきりさせる →リードタイムの削減 障害要因の明確化
ワークフローの可視化 • さまざまな指標を数値化・可視化する ◦ レスポンスタイム ◦ デプロイ頻度 ◦ リードタイム ◦
看板ボード →情報の共有、質の高いコミュニケーションの実現 • 話の前提が共有できる →同じ数値目標の共有、 • 数値設定のない目標は迷走しやすい。まずは計測から
負担の軽い変更承認プロセス • 変更承認プロセスを厳密にすることとデリバリのパフォーマンスに相関はない。むし ろ厳密にするとパフォーマンスが悪くなる • →承認まで時間がかかり、価値提供スピードに問題が発生する • →方針転換に弱い
Q.DevOpsには時間と品質のトレードオフがあるのでは? A.DevOps導入による時間と品質に相関はない。両方高めていける • DevOps導入しないことによって作業が早くなったとしても、障害などが起きた場 合、そのしわ寄せがくる • 逆に環境が整っていない分、さらに問題が大きくなる
まとめ DevOps実現には組織文化が大事 組織文化を変えていくには • 継続的デリバリ • リーンマネジメント の実践が重要
参考 LeanとDevOpsの科学