DevOpsとは?

 2021.10.18  ストレージチャンネル

DevOps(デブオプス)」という言葉は耳にしたことがあっても、その概要まで詳しく知っているという方は少ないかもしれません。あるいは、「開発チーム(Development)と運用チーム(Operations)が協力する体制」ということを知っていても具体的にどういった施策を展開すれば良いのか悩んでしまうという方も多いのではないでしょうか?

今回はDevOpsについて、登場の背景と具体的な展開方法についてご紹介します。

DevOpsが登場したのが2009年

DevOpsという概念が初めて世に知れ渡ったのは2009年のことで、すでに10年近くが経過しています。なので思っているほど新しい概念ではありません。DevOpsを生み出したのは写真共有を目的にしたコミュニケーションサービスである「Flickr」の開発チームと運用チームです。2009年に開催された「Velocity 2009(米オライリー主催)」というカンファレンスにて、同社のセッションにて紹介されました。

このセッションでは「10+ Deploys Per Day: Dev and Ops Cooperation at Flickr(1日に10回のデプロイ:Flickrにて開発とオペレーションの協力)」というスライドと共にDevOpsに関する概念が紹介され、同社では1日に10回以上のデプロイが可能になったという事例も紹介されています。セッションで使われたスライドは「公開」されているので一度ご覧になってみてください。

CTCグループ10,000ユーザーが使う Windows Virtual Desktop環境を快適にするマイクロソフトの Azure NetApp Files
ストレージ選びを解決! Azure NetApp Files(ANF)とは?

DevOpsがビジネスに与える影響

では、DevOpsという概念を開発チームと運用チームの間に取り入れることでビジネスにどういった影響を与えるのでしょうか?先に紹介したFlickrの「1日に10回以上のデプロイ」というのはあくまでDevOpsによる効果であって、ビジネスに与える影響はその先にあります。

たとえばFlickrのようにインターネットを通じてサービスを提供している会社の場合、顧客の要望に合わせて多様な機能やアプリケーションを継続的に提供し、顧客満足度を満たせるという影響があります。顧客はその機能が使えるか使えないかに関わらず新しいものに触れることに心が躍ります。そのため、機能やアプリケーションを継続的に提供するということ自体、顧客満足度を満たすことに繋がるのです。

もしもデプロイした機能やアプリケーションが不評だったとしてもさしたる問題にはなりません。迅速にフィードバックを得て新しいものを提供できるのですから、それも顧客満足度向上に繋がります。

システムの信頼性を維持するという点においてもDevOpsは有効です。DevOpsでは開発チームと運用チームが協力体制を取り、コラボレーションツールを活用することで開発や運用に関する様々な情報を共有します。なので他のメンバーが修正途中のプログラムを誤って消してしまうといったミスは無くなりますし、管理台帳の一覧性と検索性が弱いといった問題も排除できます。

DevOpsを取り入れることで開発チームと運用チームの間や個々に存在した問題は解消され、スピーディかつ信頼性の高い開発運用体制を目指せます。

DevOpsは組織文化から作る

DevOpsに取り組むにあたって「組織文化が先かツールが先か」という問題に突き当たる企業が少なくありません。どちらもDevOpsを展開するにあたって大切な要素ですが、どちらが先かといえば組織文化が先です。

後述しますがDevOpsでは様々なツールを活用することで開発チームと運用チームの協力体制を支援します。しかし、組織文化が出来上がっていない環境でツールだけ導入してもDevOpsは機能しません。DevOpsという概念が誕生したFlickrのセッションでは次のような4つの組織文化が必要だと紹介しています。

  • 尊重する…開発チームと運用チームの仕事内容は違えど「顧客に届けるサービスの質を向上したビジネスを価値を高める」という目的は一致しています。なので一緒に働く一人ひとりを心から尊重し、その功績や能力を評価して優秀な人間だと認めること。
  • 信頼する…開発チームと運用チームが互いを尊重すれば自然とそこには信頼関係が築かれていきます。信頼するということは安心して仕事を任せることになり、ひいては問題を一人で抱え込まずにチームで解決するという姿勢が生まれます。
  • 責めない…挑戦しなければ失敗はしませんが成功もしません。挑戦すれば必ず失敗もします。そのため他者の失敗を責めるのではなく「挑戦した結果だ」と考え、それを称えましょう。傷をなめ合うのではなく失敗を恐れない文化を作ることで、新たなチャレンジ精神が育まれていきます。
  • 共に考える…サービスに何か問題が発生した際はその当事者を責めるのではなく、問題に対して共に考える姿勢を取りましょう。これも挑戦の結果です。当事者を責めていてもそこから負の感情しか生まれません。共に考えることで問題解決に向けて団結し、より信頼関係を築くことができます。

以上のような組織文化を作ることでその後に導入したツールも活きてきます。ツールを導入しただけで「DevOpsを取り入れた」と勘違いしてしまうケースも少なくないので、まずは組織文化作りから始めましょう。

DevOps実現のためのツール

組織文化が完成すれば次はツールです。DevOpsを可能な限り迅速に実現したい場合は、組織文化作りと同時にツールを導入していくとよいでしょう。DevOpsに必要な主なツールは次のようなものです。

  • バージョン管理システム…GitHubなどオンライン上でソースコードやバージョンを管理できるツール
  • インフラ自動化システム…Dockerなどインフラ構築を自動化し素早く開発環境を整えるためのツール
  • ビルド&デプロイ自動化システム…Jenkinsなど素早い構築とデプロイを自動化するツール
  • フィーチャーフラグ…機能の有効無効を設定ファイルによって変更するためのテクニック
  • コンテナ… Kubernetes、OpenShift、Docker EE、Rancherなどコンピュータ上に複数の環境を構築するための技術
  • メトリクス共有システム…New Relicなど取得したメトリクスの結果をダッシュボードに表示するためのツール
  • ビジネスチャット…Slackなど開発者向けに環境が整備されたビジネスチャットツール

これらのツールはすべて開発チームと運用チームが互いに協力し、情報を共有するために存在します。既存のツールがあればそれを共有し、足りないツールは新たな導入を検討しましょう。

ITは「コスト削減」ではなく「どう投資するか」という考えに

従来のITでは「いかにITコストを下げるか?」という考えが支配的でした。しかし、ITとビジネスが密接な関係にある今では「いかに有効な投資をするか?」という考え方がとても大切です。コスト削減を目指すのではなく投資によってさらなる効果を引き出す。そのためにDevOpsは大変有効な選択肢だと言えるでしょう。皆さんもこの機会にDevOpsに取り組み、スピーディかつ信頼性の高い開発運用体制を目指してみてください。

CTA

RECENT POST「トレンド」の最新記事


トレンド

devopsとは?ストレージ技術者が知っておきたいポイントを解説

トレンド

DevOpsとは?ストレージ管理者が知っておきたいトレンド

トレンド

DevOpsとアジャイルの違いとは?

トレンド

DevOpsのメリットとは?ウォーターフォールとの違いについて

DevOpsとは?