DevOpsとはなにか?目的や導入メリットを実際の事例も含めて解説!
※当サイトは人材関連サービスを展開する株式会社エイジレスが運営しています。本ページは自社および提携先のPRを含む場合があります。
”DevOps”がもてはやされるようになってから、しばらくの時間が経ちました。
しかし、単語は聞いたことあるけど中身はよくわからない、そんな人も多いのではないでしょうか。
本記事ではDevOpsとはなにか、著者自身もよくわからなかった最初のつまずきを解消できる構成としています。
これからDevOpsを始める人、今いちどDevOpsの理解を照らし合わせたい人はぜひ参考にしてみてください。
おすすめの転職エージェント
転職エージェントは大手1社と、特化型1~2社の活用がおすすめです!
- 大手:業界や職種にこだわらず自分に合った転職先を幅広く探る
- 特化型:希望する業界や職種への転職を専門的にサポートしてもらう
さまざまな転職エージェントがありますが、結論として以下から選んでおくと、希望に沿った求人を逃すリスクを軽減できるでしょう。
大手転職エージェント
≫リクルートエージェント
支援実績No1の総合型。年代や職種を問わずまず登録しておくべきエージェントです。
【公式】https://www.r-agent.com/
特化型エージェント
≫社内SE転職ナビ
社内SE特化。業界最大級の社内SE求人数を保有しています。
社内SEはホワイトな求人も多いためおすすめです。
【公式】https://se-navi.jp/
≫ウズカレIT
IT未経験からの転職に特化。就職/転職支援のみならずIT学習のサポートを無料で受けられます。
【公式】https://uzuz-college.jp/
≫エイジレスエージェント
年齢不問求人/ハイクラス転職に特化。SIer・コンサル・大手SESなどの求人を多数保有しています。
約80%が平均年収150万円アップの実績あり。
【公式】https://agent.ageless.co.jp
- 【この記事を読んでわかること】
- DevOpsとは開発と運用をつなげる仕組みづくり、取り組みのこと
- DevOps導入初期は痛みをともなうが、実現できた時のビジネスメリットは計り知れない
- 自社に適したツールの選定、関係者を巻き込む力がDevOps推進のカギとなる
DevOpsとは?開発と運用をシームレスにする開発手法
まずはDevOpsがなにか、その基本事項から確認していきましょう。
確認ポイントは以下の5つです。
- DevOpsとはなにか?
- DevOpsの目的
- DevOpsが登場した背景
- DevOpsの担当者はなにをする?
- アジャイル開発との違い
順番に解説します。
DevOpsとはなにか?
そもそも”DevOps”とは、「開発」を意味する”Development”と運用を意味する”Operations”を組み合わせた造語です。
DevOpsではDevを”開発者”、Opsを”ユーザー”や”カスタマー”、もしくは”オペレーター”とそれぞれの役割を担う人を意味していると認識するとよいでしょう。
DevelopmentとOperationsを結合している、つまり開発と運用を近づけようとする動きを表しているのがDevOpsと覚えるとこのあとの章がイメージしやすくなります。
DevOpsの目的
DevOpsが達成すべき目的は”開発と運用を近づけ、よりシームレスで継続的な開発と改善を繰り返す仕組みづくり”です。
システム開発と運用現場は互いに立場が異なるため、対立関係になってしまうことが多々あります。
DevOpsではそのような開発と運用の断絶をなくし、垣根を下げ、互いの意見交換やシステムへの反映、スピーディかつ連続的なシステムリリースの実現が至上命題です。
会社を成長させること、従業員のエンゲージメントやUXを高めることなど、システムが達成すべき事項を実現するための仕組みがDevOpsの目的となっています。
DevOpsが登場した背景
DevOps登場の背景は、”深刻な開発者と運用者の断絶による業界全体の機能不全”です。
DevOpsは2000年代から登場してきた概念で、クラウドの台頭と時期を同じくしています。
当時のシステム開発現場の深刻な問題は部署のサイロ化でした。
開発者と運用者は互いに同じシステムを担当しているにもかかわらず、それぞれの担う職掌や職責が異なり、かつ立場を守ろうとすると利益相反が起こりやすい関係性となっていました。
当然KPIなど業績や人事評価の軸も異なっていたため、自部署の利益を守るために互いにいがみあうことでスムーズかつ効率的な開発が行えなくなっていた、いわば機能不全状態です。
こうした状態を打破するために開発者と運用者に同じ方向を見てもらう、そのための取り組みとしてDevOpsが生まれました。
DevOpsの担当者はなにをする?
DevOpsを任された人が取り組むべきは、”開発と運用がスムーズに連携できるためになにをすればよいか考えること”です。
たとえば20年以上稼働しているシステムで、インシデントが常態化しているとしましょう。
インシデントが頻発すれば、運用部門はエラー検知によって対応が必要になりますし、通常のビジネス運営に支障を来すこともあるでしょう。
すると運用側は開発側に憤りを感じ、関係が悪化します。
こういったケースでは、新機能開発時はフィーチャートグルをリリースのクライテリアとするなどで、リリース後も速やかな対応が可能です。
開発と運用をスムーズに機能させること、この大目標に資する活動を行うのがDevOps担当者の仕事です。
アジャイル開発との違い
DevOpsと混同されがちなものでアジャイル開発があります。
両者の違いは、DevOpsが開発と運用とのシームレスな連携を目指す仕組みや取り組みであるのに対し、アジャイル開発はより具体的な開発プロセスを示している点です。
DevOpsを発端とし、それを実現するために採られる手法としてアジャイル開発がある、そんな関係をイメージすると近くなります。
以上、DevOpsの基本事項を5つの観点から解説しました。
続いては具体的なメリットやデメリットをみていきましょう。
DevOpsを導入するメリットとデメリット
DevOpsの基本事項を押さえたあとは、より具体的なメリットやデメリットを解説します。
- DevOpsを導入する3つのメリット
- DevOpsを導入する3つのデメリット
個別に確認していきましょう。
DevOpsを導入する3つのメリット
DevOpsを導入するメリットは以下の3点です。
- 開発と運用のサイクルが素早く回る
- 現場の意見がシステムに反映されやすくなる
- コミュニケーションコストが下がる
開発と運用のサイクルが素早く回る
開発と運用のサイクルを早く回すことができるようになるのが最大のメリットでしょう。
昨今はシステムが経営に与える影響は大きく、速やかなシステム改修は売上拡大や経費圧縮と密接に関係しています。
景気敏感な業種であればなおさらで、システム改修が停滞してしまうと業績や株価を左右しかねません。
システムのレベルアップをシームレスに行っていけるのは、DevOpsならではのメリットです。
現場の意見がシステムに反映されやすくなる
DevOpsで開発サイクルがスピーディになることで、現場の細かな意見がシステムに反映されやすくなります。
たとえば、DevOpsの実現のためにウォーターフォール型からアジャイル型に開発プロセスを変更したとしましょう。
アジャイルは小さな単位で素早い改修を基本理念とするため、運用の不満や改善ポイントが拾いやすいです。
UXを上げるだけでなく、ビジネスチャンスも狙いやすくなる点は見逃せないメリットとなります。
コミュニケーションコストが下がる
開発と運用が一体となることでコミュニケーションコストが削減されるのも、DevOpsのメリットでしょう。
組織が大きくなるほど効果も比例して大きくなります。
開発と運用の対立が起こっている場合、1機能の改修やリリースだけでも交渉のハードルが高くなりがちです。
互いの立場を守るために粗を探すようになり、すべての欠点を潰して互いの役職者と合意し、正式な文書を残してやっとリリースできる、そんな意思決定プロセスになっている企業はよくあります。
DevOpsによって距離が縮まり、利害の一致によってで上記のプロセスの短縮が可能です。
副次的な効果ですが、工数や経費の観点でのメリットは小さくありません。
DevOpsを導入する3つのデメリット
メリットに続いて、DevOpsのデメリットも確認していきましょう。
ポイントは以下の3点です。
- 初期コストがかかる
- QCDが安定しない
- 人事や組織の改革が必要
初期コストがかかる
DevOpsの初期導入にはコストが必要です。
DevOps自体は概念ですが、具体的なDevOps実現のためのツールやシステムを導入するのにはどうしてもお金がかかってしまいます。
個人であればスモールスタートとしてOSSソフトウェアやフリーツールを使うのもアリですが、法人の場合はセキュリティ面を考えるとやはり製品購入が無難でしょう。
さらにそういった新たなツール導入による教育や習熟のコストもありますし、一般社員に普及させるための時間的なコストも払わなければいけません。
何事も始めるときは痛みをともないますが、DevOpsもその例外ではありません。
QCDが安定しない
DevOps導入によってQCDが安定しなくなることは容易に考えられます。
DevOpsは新しい仕組みの導入であり、既存の開発プロセスからの脱却とイコールです。
新たなプロセスでの品質確保の評価軸も未成熟であり、走り始めは組織全体が適切な評価や推進ができない手探り状態での開発を余儀なくされるでしょう。
すると必要以上に作業に時間を要して人や時間を浪費したり、確立していない基準での評価でシステム品質が下がることは大いにありえます。
導入当初はシステムの品質やコスト面での効率が下がるのは、大きなデメリットとなるでしょう。
人事や組織の改革が必要
開発プロセスのみならず、企業としての構造改革も求められます。
開発と運用の断絶は互いの利益相反に端を発しているため、相反の解消はDevOpsに不可欠です。
さらに、開発者を運用部門に回して知識伝播を図ったり、人事評価観点でもDevOpsに資する項目を査定対象として加える必要があります。
人は変わることを恐れる性質があるため、導入当初はこれらの整備そのものに時間も必要ですし、現場からの反対や抵抗も十分に考えられます。
これら多数のコストを払ってまで実施すべき事項なのか、この点は深く考える必要があるでしょう。
以上、DevOpsのデメリットを3点解説しました。
メリット、デメリット双方をはかりにかけ、組織としての行く末をどうすべきか吟味が必要です。
続いては、具体的なDevOps導入のステップをみていきましょう。
DevOpsの導入方法|4つのステップ
具体的なDevOps導入のステップは以下のとおりです。
- 現状の分析・評価
- タスクフォースの組成
- 理想像とロードマップの策定
- 必要ツールの選定
それぞれ解説します。
現状の分析・評価
まずは現状を分析し、DevOpsを導入するべきか評価する必要があります。
開発と運用部門がどの程度サイロ化されているか、DevOpsによって得られるメリットにはどのようなものがあるかなど、さまざまな基準での検討が必要です。
所要期間やコスト、将来的な構想を踏まえて”導入するに足るメリットがある”と評価できたら次のステップに進めます。
タスクフォースの組成
続いてはDevOps用の組織、タスクフォースを作成するとよいでしょう。
PoCの段階では組織だった体制は不要ですが、実際に導入して運用していくとなると組織が必要になります。
リーダーを立ててビジョンを共有し、DevOps導入を推進してくれるメンバーを集めてプロジェクト化するのがおすすめです。
片手間でやるにはDevOpsは検討・調整事項が多いため、なるべく専任者でタスクフォースを組成するのがよいでしょう。
理想像とロードマップの策定
次いでゴールとなる理想像、そこに至るロードマップを策定するプロセスです。
現時点で理想とすべき着地点はどこなのか、その見極めをする必要があります。
具体的には、ビルド・デプロイ・検証・本番へのリリース作業すべてを自動化するなどの目標を掲げ、まず今期は自動でのビルドとデプロイまでを目指そう、など細かくステップを分割するのもよいでしょう。
理想像と現状の比較によって改善点が見えてくるため、ゴール設定は重要な仕事となります。
必要ツールの選定
続いてはより具体的なツール選定です。
上記の例であれば自動ビルドのためにJenkinsを導入し、Gitから自動でソースコードをcloneし、Xcodeで自動ビルド・テストを行うようにする、などが考えられます。
将来的にはCoberutaでテストカバレッジを分析しつつ、PMDによるコードの静的分析で初心者エンジニアでも安心して開発できるようにする、そんなフローも検討できるでしょう。
現状のシステムや理想像に適合するツール選定をするのは、将来のエンジニアへの大きなサポートとなります。
以上4つがDevOps初期導入の具体的なステップです。
導入ができた後は具体的な運用ステップや、エンジニアへの教育計画の策定などを検討してみるのがよいでしょう。
続いてはDevOpsとクラウドの関係性をみていきましょう。
DevOpsにおけるクラウド(AWS・Azureなど)の役割
DevOpsの実現にはクラウドの技術を用いるとスムーズになります。
理由は以下の3点です。
- 環境構築のアジリティ確保
- 小さく始められるスケーラビリティ
- DevOps向けサービスが充実
順にみていきましょう。
環境構築のアジリティ確保
クラウド利用によって試行環境を迅速に確保できます。
DevOps実現のためには開発環境やステージング環境が必要です。
会社で利用しているサーバはすでにマルチテナントで空きがなく、またほかのシステムと環境を相乗りすると制約も大きくなり、自由かつスピーディな検証が行えません。
しかしクラウドを利用すればインフラをすぐに用意でき、さらにdockerなどのコンテナ技術を用いればどんなOSでも速やかに環境構築が可能です。
鉄を熱いうちに打つためにも、クラウドによるスピーディな環境構築は大きな魅力となります。
小さく始められるスケーラビリティ
スモールスタートができるのもクラウドならではのメリットです。
仮にDevOps推進のためにサーバ、もしくは専用のパソコンを買うとなれば十数万円単位での出費が必要で、本番稼働システムともなればもう少し値段が上がることもあるでしょう。
しかしクラウドであれば安価にスタートできます。
たとえばAWSであれば最初の12カ月は無料で利用できる枠がありますし、Azureもそれに対抗してか同じく12カ月は無料で利用可能です。
まずは実践してみる、その心意気もクラウドであれば実現可能となっています。
DevOps向けサービスが充実
DevOpsに向けたサービス群が充実しているのもクラウド利用のメリットです。
AWSを例にとれば自動でビルドやテストを行ってくれるCodeBuild、自動デプロイのCodeDeployやCodeStar、それらを自動化フローにするCodePipelineなどがあります。
同じAWS上で利用可能であり、提供元もすべてAWSとなるため互換性を気にする必要がなく、詳細な設定もGUIから可能なのはこのうえないメリットです。
AzureやGCPでも同様のサービスはあるため、まずクラウドで試してみる、これがDevOps担当としての有力なファーストステップ候補となります。
以上、DevOpsにおけるクラウドの役割を解説しました。
続いては具体的なツールを紹介します。
DevOpsに欠かせない3つのツール
DevOpsを推進するうえで欠かせないツール群を3つの観点から紹介します。
- クラウドプラットフォーム
- パイプラインツール
- コミュニケーションツール
具体例をみていきましょう。
クラウドプラットフォーム
まずはクラウドプラットフォームです。
上でも少し触れましたが、具体的には以下の3つが有力となります。
プラットフォーム名 | 提供元 | メリット |
---|---|---|
Amazon Web Service(AWS) | Amazon | クラウドの草分け、充実したサービス |
Azure | Microsoft | Office365やBingなど連携サービスに魅力 |
Google Cloud Platform(GCP) | マルチクラウドに強く、比較的安価に利用可能 |
いずれもアメリカの巨大テック企業が提供する著名なプラットフォームであり、互いにしのぎを削っています。
各社のサービスを比較したうえで、最適なソリューションを選定するのがよいでしょう。
パイプラインツール
続いてはパイプラインツールです。
パイプラインとはその名のとおり、さまざまなプロセスをひとつなぎにしてくれるツールをさします。
ビルド・検証・デプロイ・解析とそれぞれのタスクをつなぐ役割をしてくれるため、継続的なインテグレーションには欠かせない存在です。
Jenkins CIやCircle CI、GitLub CI/CDなどがメジャーなため、まずは各ツールの製品ページの参照をおすすめします。
コミュニケーションツール
最後はコミュニケーションツールです。
DevOpsを推進するためには、開発と運用で密なコミュニケーションが欠かせません。
そのためストレスのかからないチャットツールが重用されます。
たとえばMicrosoft Teamsであればチャット以外にもOutlookとの拡張性で広くコミュニケーションが取れ、SlackであればJenkinsと連動させて特定プロセスが終わったら通知を出すようにする設定も可能です。
GitLabでは、コードレビューを容易にするプルリクエストも革新的な発明なのは疑いようがありません。
DevOpsの土台となるのがハイクオリティなコミュニケーションツールです。
以上、DevOpsに欠かせないツールを3つ取り上げました。
次は導入時のTipsを紹介します。
DevOps導入で失敗しないための2つのポイント
DevOpsを実現するために気を付けておくべきポイントは以下の2つです。
- 関係者をしっかり巻き込む
- 中間評価を実施する
具体的に見てみましょう。
関係者をしっかり巻き込む
DevOpsでは関係者の主体的な参画が不可欠です。
そもそも”断絶された複数の関係者を近寄せる”スタート地点となることも多いため、反対勢力も多くなります。
強いコミットメントを持った中核の人材に加え、決裁者や利害関係者をそれぞれ口説き落としてどうにか味方になってもらうプロセスは必須です。
地道に進めてきたのに、最後にちゃぶ台をひっくり返されては目も当てられません。
関係者をしっかりと巻き込むこと、これはDevOpsでは欠かせないプロセスです。
中間評価を実施する
DevOpsは気を抜くと長期化しやすいため、定期的な評価の実施をおすすめします。
DevOpsは開発プロセスを良くする施策のため、極論をいえば”なくても仕事は回る”ものです。
そのため施策自体が長期化してしまい、中だるみや自然消滅する事例も少なくありません。
定期的に実施プロセスを評価し、進捗具合や貢献度を適宜確認するプロセスを踏むことで早期のDevOps適用が実現できるでしょう。
以上、DevOps導入時のコツを2点解説しました。
続いては導入事例を紹介します。
DevOpsの3つの導入事例
DevOpsを導入した企業の事例を3つほど紹介します。
- Google:1日17,000件の新規リリースを実現
- JSOL:パブリッククラウド利用いよる開発環境利用の迅速化
- クックパッド:明確な責任分担と独自ルールで事業のスピードアップを実現
Google:1日17,000件の新規リリースを実現
まずは検索エンジンの雄、Googleの事例です。
Googleでは2013年ごろからDevOpsを導入しており、目覚ましい成果をあげています。
その中でも1日に17,000件、なんと5秒に1件の新機能をリリースしている点はDevOpsがなしえる最大級の成果でしょう。
Googleがエンジニアの会社であることを差し引いても、DevOpsが持つ可能性を否応にも感じさせられる事例です。
JSOL:パブリッククラウド利用いよる開発環境利用の迅速化
2つ目はJSOLでの事例です。
JSOLでは開発環境の乱立を改善するために行った施策により、仮想サーバの増加に伴う適切なバージョンアップ管理が行えない状態となっていました。
そこで、OSのバージョンアップなどをサービス提供側で実施してくれるクラウド利用に踏みきり、開発環境での管理負荷やリソース確保の人的負荷を下げることに成功しました。
まずは開発環境から始めてみて、成果によって本番環境への導入も検討する、DevOpsの基本が詰まった学べる点が多い事例です。
クックパッド:明確な責任分担と独自ルールで事業のスピードアップを実現
3つ目はクックパッドの事例です。
クックパッドはツールの活用よりも運用ルールの改善によってDevOpsを有効化しています。
環境へのデプロイはCIを通過した資産のみ許容する、デプロイは運用ではなく開発者自身で実施、営業時間内のみデプロイを許容などがおもなルールです。
ルールや責任所在の詳細化によって開発スピードが高まり、新規サービス創出に社員の3分の1をあてがえるようになったのはDevOpsが奏功した結果でしょう。
以上、DevOpsの導入事例を3つ紹介しました。
続いてはDevOps関連の求人を確認していきましょう。
DevOps関連の求人情報を2つ紹介
DevOpsを推進できる人材がどのくらい評価されるのか、大手求人サイトにも掲載されている具体的な求人を紹介します。
- 楽天グループ株式会社 年収最大1,000万円 DevOps(インフラエンジニア)
- 株式会社セガ 最大年収800万円 DevOpsエンジニア
楽天グループ株式会社 年収最大1,000万円 DevOps(インフラエンジニア)
楽天でDevOpsエンジニアを募集しています。
最大年収は1,000万円が提示されており、求められるスキルとしてはKubernetesやdockerを用いた3年以上の開発経験です。
ECファーストパーティ部での事業開発を、インフラエンジニアとして支えることがミッションとなります。
小売業界での知見があるとなお重用されるようなので、ECサイトなどでエンジニア経験がある人にぜひおすすめの求人です。
株式会社セガ 最大年収800万円 DevOpsエンジニア
2つ目はアーケードゲームで大きなシェアを誇るセガです。
こちらでは、AWSでのDevOpsを経験したことのあるエンジニアを募集しており、年収の最大提示も800万円と実に魅力的な求人となっています。
サーバアプリケーション開発経験も歓迎要件となっているため、インフラエンジニアとして働いてきて転職を考えている人などは十分俎上に挙げられる求人でしょう。
セガはフレックス制を採用しているため、自由に働きたい人にとっても魅力的な求人ではないでしょうか。
以上、DevOps関連の求人を2つ紹介しました。
いずれもDevOpsエンジニアとしての求人となっているため、専門のエンジニア枠が設けられるほど確固とした地位を築いていることが分かります。
続いてはキャリアプランを描くためのサポート情報の紹介です。
ITエンジニアのキャリアプランを描くならなら「エイジレス」
ITエンジニアとしてのキャリアプラン形成を検討中の人は、ぜひエイジレスをご活用ください。
エイジレスでは、”エイジレスエージェント”と”エイジレスフリーランス”の2つのサービスを提供しています。
それぞれ多数の案件を取り揃えており、あなたの志向にあったものが見つかるはずです。
またエイジレスでは、年齢を問わずチャレンジできる環境を整備するため、大手企業と確かな関係を築きながら多種多様なエンジニアをサポートする体制を整えています。
低単価の案件は取り扱わないポリシーのため、高収入・高単価案件の獲得が可能です。
今後どういったキャリアを考えているにせよ、多くの案件を見ておくことは確実にプラスにはたらきます。
自身のキャリアをしっかりと検討したい人、年収アップを狙いたい人は、ぜひエイジレスサービスの活用をご検討ください。
まとめ|DevOpsとは開発をビジネスに直結させる価値ある取り組みのこと
本記事をとおして、以下のことがわかりました。
- DevOpsとは開発と運用をつなげる仕組みづくり、取り組みのこと
- DevOps導入初期は痛みをともなうが、実現できた時のビジネスメリットは計り知れない
- 自社に適したツールの選定、関係者を巻き込む力がDevOps推進のカギとなる
DevOpsは少しつかみづらい概念かもしれませんが、その中身は非常に有意義で価値のある取り組みです。
最初にDevOpsを任された人にとっては、”面倒くさいことをお願いされた”と意識してしまうかもしれません。
しかし、その取り組みや思考プロセスは売上向上や経費圧縮など企業活動の根幹に寄与するものであり、成し遂げられれば会社にもあなた自身にも大きなメリットを運んでくれることでしょう。
エイジレスにDevOpsエンジニアをきわめるサポートをさせていただければ幸いです。
おすすめの転職エージェント
転職エージェントは大手1社と、特化型1~2社の活用がおすすめです!
- 大手:業界や職種にこだわらず自分に合った転職先を幅広く探る
- 特化型:希望する業界や職種への転職を専門的にサポートしてもらう
さまざまな転職エージェントがありますが、結論として以下から選んでおくと、希望に沿った求人を逃すリスクを軽減できるでしょう。
大手転職エージェント
≫リクルートエージェント
支援実績No1の総合型。年代や職種を問わずまず登録しておくべきエージェントです。
【公式】https://www.r-agent.com/
特化型エージェント
≫社内SE転職ナビ
社内SE特化。業界最大級の社内SE求人数を保有しています。
社内SEはホワイトな求人も多いためおすすめです。
【公式】https://se-navi.jp/
≫ウズカレIT
IT未経験からの転職に特化。就職/転職支援のみならずIT学習のサポートを無料で受けられます。
【公式】https://uzuz-college.jp/
≫エイジレスエージェント
年齢不問求人/ハイクラス転職に特化。SIer・コンサル・大手SESなどの求人を多数保有しています。
約80%が平均年収150万円アップの実績あり。
【公式】https://agent.ageless.co.jp