web-technical-blog

web開発に関する技術メモ

Software Design(7月号)のDevOpsの掲載

「DevOps」とは

  • Dev(Development:開発)
  • Ops(Operation:運用/保守) をくっつけた造語

開発担当と運用/保守担当が密に情報共有し、共通の目的に向けて互いの理解を深め

  • リリースサイクルの短縮
  • システムの安定稼働
  • ひいてはビジネスへの貢献をするために継続的に取り組むこと を言う

2009年にO'Reilly主催のVelocityというイベントで発表された資料から「DevOps」という言葉が生まれた

6つの重要なポイント

(1)インフラストラクチャ構築の自動化 従来は手作業で行っていたインフラストラクチャー構築や変更作業をコードで定義し、自動化すること Dockerfile,Terraform,Ansible

(2)バージョン管理 開発者と運用者で、共通のバージョン管理システムを使用する Git,Subversion

(3)ビルドやデプロイの自動化 繰り返し行う定型作業は、手順書など使い手動で実行するのではなく、自動化する

(4)フィーチャー(機能)フラグ運用 フィーチャートグルとも言う 開発した新しい機能にフラグをつけておき、一部のユーザーにだけ試してほしいときに活用する

(5)指標(メトリクス)の共有と評価 ダッシュボードなどで、指標の結果をプロジェクトの各ステークホルダと共有し、評価することが必要

(6)通知ボット ビルドやデプロイ、新しいバージョン、バグ報告など共有するために、ボットを用いて通知を自動化する

組織の文化を作り上げるための4つの心がまえがを唱えている

(1)互いに尊敬する

(2)互いに信頼する

(3)互いに仕事を任せ合う

(4)相手を非難しない