(Photo by:darkday)
つい先日、DevOps推進協議会が設立されたニュースを読んでいる中で副題に「激変するビジネスに俊敏に対応・継続できるグローバルなITサービスモデルと技法の普及」とありました。
DevOpsにここまでの万能感を期待にしている企業は少ないとは思いますが、インパクトの強い多くの成功事例があり、次世代のITサービスを構築するためには必要不可欠な印象があります。
DevOpsがどのような課題を解決して、企業やサービスにどのような影響を与えるのかを整理して説明します。
リードタイムの短縮
AnsibleやChef等の構成管理ツールを使い継続的デリバリーを実現すると、1回あたりのデプロイにかける時間が短くなります。
今までデプロイを手作業で行っていた組織が構成管理ツールに移行して、デプロイ自動化を初めて行った瞬間はその確実性に感動すると思います。
DevOpsが話題になり始めた頃よく登場したフレーズに「1日10回デプロイ」があります。これはリードタイムを短く出来たという意味と1日10回デプロイしても問題なく稼働する品質を保っている意味を含んでいます。
品質の安定化
構成管理ツールを使って継続的デリバリーをするには以下2点の品質担保が求められます。
- デプロイする成果物の品質担保。具体的には単体テスト・結合テスト・受入テストの自動化。
- デプロイ先環境の品質担保。具体的にはServerspecやChefのInSpecを使った環境テストの自動化。
品質を満たしていない成果物をデプロイして障害が起こす訳には行きません。品質を安定させるため自動化された回帰テストを徹底します。
障害の影響範囲を小さく抑えるためにマイクロサービスアーキテクチャの採用も多くなります。
情報共有が円滑に
DevOpsは単語からDev(開発)とOps(運用)の2要素と思われがちですが、ここにQA(品質管理)が加わった3つが揃って初めてDevOpsが成り立ちます。
この3部門が協調してサービスを管理するためにはお互いに必要な情報を共有して、DevOpsを実現できる運用体制を構築します。
(Photo by:NEC Corporation of America)
新しい技術に触れる
構成管理ツールやアプリケーションのコンテナ化を進めるにあたり、使った事がない新しいツール・技術の習得が求められます。またツールを使っていく中で見つかった不具合や発生したトラブルに対処します。
新しく技術に触れる、概念を理解する良い機会です。
リスクを分散できる
継続的デリバリーによってリリース期間を短縮すると、1回のリリースに含まれる変更量も小さくなります。これには新しい機能を素早く利用者に届ける意味と、変更に伴う不具合発生により不利益を被る利用者を減らす意味があります。
またリスクは小さく分割されているほど対処し易く、影響範囲を小さく抑えられます。
意識に変化を促す
DevOpsは開発・運用・品質管理の3部門が協調して利用者と向き合う機会を多く与えます。また他部門を尊重する機会が与えられます。
組織やサービスによって必要とされる運用範囲が異なる中、自部門で行ってきた業務プロセスに変更を加えずにDevOps運用体制に切り替えるのは難しいでしょう。
また同じようにコンサルティング会社から理想とする業務プロセスへの切り替えを強制されても、そのプロセスに適合するのは難しいでしょう。
他部門と協調して行動する中で、自部門に望ましい変化を受け入れるようになります。
モニタリングで行動の精度が上がる
クラウド環境でのパフォーマンスモニタリング、利用者の行動モニタリング等、目的に合わせてモニタリングする項目を決定しサービスの安定化や品質向上に活用します。
リリース回数を増やす中には、新しく追加した機能を取り消し前機能に巻き戻すリリースも含まれます。これは新機能によってサーバー負荷が高くなりすぎてしまった、利用者からの評判が良くない場合等の状況です。
この判断をするには自分たちが必要とする適切な粒度でのモニタリングが求められます。
(Photo by:NEC Corporation of America)
まとめ
海外のカンファレンスや各社が発表しているDevOps成功事例を見ると、強い権限が与えられている中でのリーダーシップは参考になりますが、結構過激な内容や人員の入れ替え、組織に対するダメ出し等が見られます。
サービスが抱える問題を組織や個人に問題があると責任転嫁するとDevOpsへの反発を生むので、開発・運用・品質管理に所属する個人の自発的な行動を評価するように組織へ改善を促すのが日本的な方法で、かつ自然にDevOpsを受け入れる方法です。
DevOpsによるメリットを説明してきましたが、組織の変化にはデメリットも伴います。現状と企業文化に合わせて自分たちが望む変化をして行きましょう。
本ブログは、Git / Subversionのクラウド型ホスティングサービス「tracpath(トラックパス)」を提供している株式会社オープングルーヴが運営しています。
エンタープライズ向け Git / Subversion 導入や DevOps による開発の効率化を検討している法人様必見!
「tracpath(トラックパス)」は、企業内の情報システム部門や、ソフトウェア開発・アプリケーション開発チームに対して、開発の効率化を支援し、品質向上を実現します。
さらに、システム運用の効率化・自動化支援サービスも提供しています。
”つくる情熱を支えるサービス”を提供し、まるで専属のインフラエンジニアのように、あなたのチームを支えていきます。
No Comments