Tbpgr Blog

Employee Experience Engineer tbpgr(てぃーびー) のブログ

システム開発全般 | DevOps 開発と運用の協業によるシステム開発の短期化・高品質化

概要

DevOps 開発と運用の協業によるシステム開発の短期化・高品質化

詳細

DevOps=>開発と運用の協業によるシステム開発の短期化・高品質化。
アジャイル、リーンなどと密接に関わる要素。

Dev:Developer
Ops:Operator

今までの問題

DevとOpsの立場の違いによるトラブル。
Dev=>素早い機能の提供や、問題の解決
Ops=>安定稼働

Devは多く、Opsは少なくOpsは少ない要員で作業を回すために
保守的になりがち。(手動オペレーションが多いと業務を回しきれなくなる)
そのため、Devの依頼に対してハードルを上げるようになってしまいがち。

Dev=>もっと素早く機能を追加したい、バグをすぐ修正したいのにOpsの敷居が高くて問題解決のスピードが遅い
Ops=>Devの依頼を安全に反映するには時間が必要。事前連絡、承認プロセスなど。少ない要因にどんどん依頼されても困る
等の対立が発生し、リリースサイクルやバグフィックスのスピードが鈍化する。

DevOpsによる改善

・DevとOpsのコミュニケーション円滑化
ツールによる運用負荷の軽減

より詳細な改善

文化:DevとOpsのコミュニケーション円滑化

・尊敬
・信頼
・失敗への健全な態度
・批判を避ける

上記はGoogleのチーム論が書かれた書籍であるTeamGeek内に記述されている謙虚・尊敬・信頼(HRT) とも重なりますね。

ツールツールによる運用負荷の軽減

VCSによる共有
・インフラの自動化=>vagrant, chef, puppet等々...
・1ステップビルド=>jenkins, capistorano, ant, gradle等々...
・=>jenkins, capistorano, ant, gradle等々...
・metricsの共有
・通知ツール等の自動化
・Feature Flag(下記参照)
http://d.hatena.ne.jp/tbpg/20131203/1386078587

書籍

TeamGeek

Team Geek ―Googleのギークたちはいかにしてチームを作るのか

Team Geek ―Googleのギークたちはいかにしてチームを作るのか