DevOps
DevOps(Development and Operation、デブオプス)
ソフトウェアの開発手法の一つ?
開発チーム(Development)と運用チーム(Operations)がお互いに協調し合うこと
以前のトレンドだったアジャイル開発とリーン生産方式から発展している
CI/CD
継続的インテグレーション(CI)/継続的デリバリー(CD)の概念を含む
本にしかあまりない視点だけどこんな構造になっていた
DevOps > ソフトウェアデリバリー > { 継続的インテグレーション, 継続的デプロイメント, 継続的デリバリー }
code:DevOps.mermaid
mindmap
root((DevOps))
sdソフトウェアデリバリー
ci継続的インテグレーション
cd1継続的デリバリー
cd2継続的デプロイメント
DevOpsの目的
開発(改善)のスピードをあげ、高品質なサービスの提供を可能とし、ビジネスの機会損失を削減する
機会損失は、 本来ならもっと利益を出すことができた状況で、取るべき行動をとらなかったことによって生じた架空の損失
ビジネス機会の損失
ウォーターフォール型の場合
S範囲=要件, C費用=人月, D期日=納期
https://gyazo.com/0fef84ff2b2a90e402066d73b77557fa
https://gyazo.com/1139c5db8dd723e1ddaf2b7e81b08212
初出?は2009年のFlickr社の1日に10回デプロイするというやつ
オライリー主催の「Velocity 2009」で発表
10+ Deploys Per Day: Dev and Ops Cooperation at Flickr
メモ: 『10+ Deploys Per Day: Dev and Ops Cooperation at Flickr』
自動化されたインフラストラクチャ
インフラ構築自動化(Infrastracture as Code(IaS))
ビルドの自動化
最初の段階でソース管理の仕組みを導入していますか?というのがある
GitやSubversionによるバージョン管理
ビルドの自動化の前にそもそも1ステップでビルドを行えますか?に「はい」と答えれる必要がある
ジョエル・テストのビルドは毎日実行していますか?
デイリービルドの話
デプロイの自動化
人(People): マインドセットや考え方
プロセス(Process): 開発や運用の手法
プロダクト(Product): ツールや技術
という3つの要素の観点で説明されたり、下記のような視点がある。
Cluture(文化)
Lean(リーン)
Automation(自動化)
Measurement(計測)
Sharing(共有)
DevOpsに関連するソフトウェア
DevOps指標
Four Keys
DevOpsの学習
確認用
Q. DevOps
Q. DevOpsの目的
Q. DevOpsでやりたいこと
[]
[]
[]
[]
[]
[]
Q. 費用対効果とは
Q. ビジネス機会の損失とは
Q. サイロ化
Q. 機会損失とは
参考
DevOps の導入を妨げるものは何か専門家たちに聞いてみた。
DevOpsとは何か? そのツールと組織文化、アジャイルとの違い - Build Insider
アジャイルもDevOpsも費用対効果より機会損失で考える DASAアンバサダーが贈るこれからの開発現場へのアドバイス - ログミーTech
DevOpsのオブザーバビリティ、分析、インサイト | Splunk
DevOpsとは | 概要・目的とその重要性 | Splunk
関連
構成管理 インデックス
機会損失
アジャイル
スクラム
リーンソフトウェア開発
SDLC
サイロ化
KISS原則
DevRel
Provisioning Toolchain
オブザーバビリティ
DevSecOps
#CI/CD