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
230
django入門
naokiurabe
0
99
django入門2
naokiurabe
0
72
Other Decks in Programming
See All in Programming
なぜ適用するか、移行して理解するClean Architecture 〜構造を超えて設計を継承する〜 / Why Apply, Migrate and Understand Clean Architecture - Inherit Design Beyond Structure
seike460
PRO
3
760
Result型で“失敗”を型にするPHPコードの書き方
kajitack
5
620
iOS 26にアップデートすると実機でのHot Reloadができない?
umigishiaoi
0
130
GitHub Copilot and GitHub Codespaces Hands-on
ymd65536
2
150
初学者でも今すぐできる、Claude Codeの生産性を10倍上げるTips
s4yuba
16
11k
PicoRuby on Rails
makicamel
2
130
PHP 8.4の新機能「プロパティフック」から学ぶオブジェクト指向設計とリスコフの置換原則
kentaroutakeda
2
760
A2A プロトコルを試してみる
azukiazusa1
2
1.4k
PipeCDのプラグイン化で目指すところ
warashi
1
270
ニーリーにおけるプロダクトエンジニア
nealle
0
800
ISUCON研修おかわり会 講義スライド
arfes0e2b3c
1
440
「テストは愚直&&網羅的に書くほどよい」という誤解 / Test Smarter, Not Harder
munetoshi
0
160
Featured
See All Featured
Done Done
chrislema
184
16k
Site-Speed That Sticks
csswizardry
10
690
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
35
2.4k
Optimizing for Happiness
mojombo
379
70k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
The Language of Interfaces
destraynor
158
25k
GraphQLとの向き合い方2022年版
quramy
49
14k
Why You Should Never Use an ORM
jnunemaker
PRO
58
9.4k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
The Cost Of JavaScript in 2023
addyosmani
51
8.5k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
26k
Facilitating Awesome Meetings
lara
54
6.4k
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の科学