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
130
DevOps勉強会資料
naoki-urabe
April 16, 2022
Tweet
Share
More Decks by naoki-urabe
See All by naoki-urabe
無駄課金回避__lambdaでEC2定期シャットダウン.pdf
naokiurabe
0
200
django入門
naokiurabe
0
65
django入門2
naokiurabe
0
55
Other Decks in Programming
See All in Programming
Git Rebase
bkuhlmann
11
1.6k
OpenAPIを中心に考えるAPI開発入門 / Introduction to API Development with a Focus on OpenAPI
seike460
PRO
2
170
冗長なエラーログを削減し、スタックトレースを手に入れる / Reducing Verbose Error Logs and Obtaining Stack Traces
upamune
0
990
#phpcon_odawara オープン・クローズドなテストフィクスチャを求めて / open closed test fixtures
77web
3
240
効率化に挑戦してみたらモバイル開発が少し快適になった話
ryunakayama
0
140
AppRouter Panel Talk
yosuke_furukawa
PRO
1
460
Amazon SQSコンシューマー疎結合への旅 - 出張! #DevelopersIO IT技術ブログの中の人が語る勉強会 #3
quiver
0
300
Behind VS Code Extensions for JavaScript / TypeScript Linnting and Formatting
unvalley
6
1.2k
GitHub Copilotのススメ
marcy731
1
220
検証も兼ねて個人開発でHonoとかと向き合った話
hanetsuki
1
1.3k
Goのエラースタックトレースの歴史と今後
sonatard
10
1.8k
Tailwind CSSを本気でカスタマイズする方法
fsubal
14
5.5k
Featured
See All Featured
VelocityConf: Rendering Performance Case Studies
addyosmani
321
23k
A better future with KSS
kneath
231
16k
Fontdeck: Realign not Redesign
paulrobertlloyd
76
4.9k
How to Ace a Technical Interview
jacobian
273
22k
Reflections from 52 weeks, 52 projects
jeffersonlam
345
19k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
33
6k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
20
1.8k
The Illustrated Children's Guide to Kubernetes
chrisshort
32
46k
Automating Front-end Workflow
addyosmani
1357
200k
Building an army of robots
kneath
300
41k
Java REST API Framework Comparison - PWX 2021
mraible
PRO
19
6.9k
Mobile First: as difficult as doing things right
swwweet
217
8.6k
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の科学