カテゴリから探す
Geekly
コラム
技術・
テクノロジー
職種・
ポジション
Web・
ゲーム
転職準備
転職活動
  1. HOME
  2. Geekly Media
  3. 技術・テクノロジー
  4. DevOpsエンジニアの仕事内容を解説!必要なスキルや需要・将来性は?実際の求人事例を元に紹介します
  • 技術・テクノロジー

DevOpsエンジニアの仕事内容を解説!必要なスキルや需要・将来性は?実際の求人事例を元に紹介します

最近、「DevOpsエンジニア」という職種をよく目にするようになりました。このDevOps(デブオプス)という単語。実は明確な定義が無い故に言葉だけが独り歩きしていますが、実際のところはDevOpsとは何なのでしょうか。この記事ではDevOpsの概念を紐解き、DevOpsエンジニアの仕事内容を詳しく見ていきます。

目次

DevOps(デブオプス)とは

 

devopsの概念図

 

DevOpsという用語は、開発を表す“Development”と運用を表す”Operations”という言葉が組み合わさった造語です。

ではDevOpsの定義とは何でしょうか。

 

DevOpsの定義

 

DevOpsは、開発チームと運用チームの間のギャップを埋めて生産性を高めることでユーザーにより高い価値を迅速に提供し続けるという概念です。

この概念が生まれた背景には、システム開発の現場でしばしば生じる開発チームと運用チームの対立があります。

このチーム間の対立から様々な障害・非効率が発生し、結果としてユーザーへの迅速な価値提供に悪影響を及ぼしています。

DevOpsはこれを改善するために生み出されたシステム開発運用の手法・活動なのです。

 

DevOps誕生の原点

 

DevOpsの考え方は、2007年にベルギー政府のデータセンターの移行を手がけたITコンサルタントのPatrick Debois氏によって生み出されました。

“DevOps”と明確に呼ばれるようになったのが2009年に開催されたオライリー社主催の「O’Reilly Velocity 09」というカンファレンスです。

このカンファレンスに登壇したのが、当時写真共有サービスFlickrのエンジニアだったJohn Allspaw氏とPaul Hammond氏でした。

両氏はここで「10 Deploys a Day:Dev and Ops Cooperation at Flickr」というタイトルのプレゼンテーションを発表しました。

その内容は「開発側と運用側が共通の目標に向かって協調すれば一日に10回以上デプロイするような高速な開発を実現できる」というものでした。

ここからDevOpsの一大ブームが巻き起こります。

 

開発チーム(Dev)と運用チーム(Ops)の対立構造

 

両氏は発表の中で、開発チームと運用チームの対立の原因をこう分析しています。

すなわち、開発チームの役割が「新しい機能を開発する」ことである一方、運用チームの役割は「システムの安定稼働」であるということです。

この役割の違いによってシステム開発の場で生じる対立を解決するために考え出された手法・改善活動がDevOpsなのです。

 

DevOpsの具体的な手法(課題とメソッド)

 

コンセプト

 

両氏はFlickrの開発チームと運用チームが実践したDevOpsにおいて、以下のように課題を解決しました。

 

課題1:手動での環境構築による非効率・統一性の無いインフラ環境

 

インフラの構築は実行環境の自動構築を行う仮想化ツールのDockerや構成管理ツールのAnsibleChefを用いることで自動化が可能です。

また、バージョン管理ツールのGitなどを導入し、開発チームと運用チームで共有すればインフラ環境に一貫性を持たせることができます。

 

課題2. 手動でのビルド・デプロイ

 

CI/CDツールであるJenkinsを導入することにより、ソースコードのビルドやテストを自動化することができます。

 

課題3. 組織間の情報共有不足

 

チャットツールのSlackを導入することで、メールと比べて飛躍的にコミュニケーションを円滑化させることができます。

また、課題管理ツールのJira Softwareはタスク管理・工数管理・進捗管理に有用です。

 

課題4. 部署間・チーム間の理解や配慮の欠如

 

この課題は組織文化の改善によって解決します。そのポイントは以下の4点です。

 

Respect(互いに尊重し合う)

Trust(互いを信頼し合う)

Healthy attitude about failure(失敗に対する健全な態度)

Avoiding Blame(非難しない)

 

無料転職相談に登録して理想のキャリアを実現しよう

 

DevOpsエンジニアの役割と仕事内容

 

アップルモニターを見つめる人

 

DevOpsの概念とその手法については大体ご理解頂けたと思います。

では、DevOpsエンジニアとは具体的にどのような職種なのか見ていきましょう。

 

DevOpsエンジニアとは

 

DevOpsエンジニアは、一言でいえば開発から運用まで幅広い知識・スキルを備えたITジェネラリストです。

各ツールを駆使し、ソフトウェアの迅速な機能開発・更新を行うための継続的デリバリー環境を整えることがDevOpsエンジニアの役割です。

 

DevOpsエンジニアの仕事内容

 

DevOpsエンジニアの仕事は多岐に渡り、主に以下の4つが挙げられます。

 

・リリースエンジニアリング

・インフラ環境のプロビジョニングとシステム管理

・セキュリティ管理

・DevOpsを取り入れた組織文化の浸透

 

リリースエンジニアリングは主にアプリケーションコードのビルドとデプロイです。

CI / CDツールの選定・プロビジョニング・保守・ビルド/デプロイスクリプトの作成及び保守などが含まれます。

インフラ環境のプロビジョニングシステム管理は、サーバー・ストレージ・ネットワークリソースの展開と保守を指します。

DevOps式の組織文化とは、先述の課題4で挙げた4つの組織文化です。

この概念を開発・運用の両チームメンバーへ浸透させ、チーム間の協調関係を構築するのもDevOpsエンジニアの重要な役割です。

 

DevOpsエンジニアに求められるスキル

 

キーボード

 

DevOpsエンジニアは開発インフラ管理・システム管理・DevOpsツールなど、開発と運用の両方について幅広い知識を備えている必要があります。

具体的に求められるスキルは以下の通りです。

 

コミュニケーション能力と協調性

 

DevOpsエンジニアは、チーム・マネージャー・顧客とコミュニケーションを取り、互いに協力し合う環境を整えることが重要です。

これらのいわゆる「ソフトスキル」は見過ごされ、過小評価されることがよくありますが、DevOpsの実現には欠かせないスキルです。

 

システム管理の経験

 

サーバーのプロビジョニングと管理・デプロイ・セキュリティモニタリング・ネットワーク管理などのシステム管理の経験が求められます。

 

DevOpsツールの使用経験

 

先の課題1〜3で挙げたようなDevOpsの実践に必要なツールを理解し、使いこなす必要があります。

 

構成管理ツールの使用経験

 

Chef・Puppet・Ansibleなどの構成管理ツールの使用経験が必要です。

 

コンテナオーケストレーションツールの使用経験

 

コンテナのデプロイから管理までを自動化するKubernetesなどのコンテナオーケストレーターツールの使用経験も必要になります。

 

継続的インテグレーションと継続的デプロイ(CI/CDツールの使用経験)

 

devopsの図

 

継続的インテグレーションと継続的デリバリー(CI / CD)は、DevOpsアプローチの要となる手法です。

CI / CDツールは基本機能としてシステム構築・テスト・展開のプロセスの自動化を備えています。

CI / CDツールにはオンプレミス型とクラウド型があり、オンプレミス型ではJenkins・Drone、クラウド型ではTravis CI・CircleCIなどがあります。

DevOpsエンジニアは、上記の内一つ以上のCI / CDツールの構成デプロイの経験が必要です。

また、CI / CDツールの効果を最大限に発揮させるために他の開発組織と緊密に連携する必要があります。

 

システムアーキテクチャとプロビジョニングのスキル

 

Infrastructure as Code(IaC)にも精通している必要もあります。

IaCとは、DevOpsソフトウェア開発からクラウドインフラストラクチャリソースの管理までを最適化するIT管理プロセスです。

Amazon Web Services(AWS)・AWS CloudFormation・Terraformなどを使用したインフラストラクチャのモデル化の経験も必要です。

 

コーディング・スクリプティング・アジャイル開発の知識

 

従来のシステム管理では、反復的なタスクを自動化するためのシェルスクリプトが作成されていました。

それに加えて高度なソフトウェア開発・コードレビュー・ソース管理などのアジャイル開発についても理解している必要があります。

 

共同管理スキル

 

効果的なDevOpsの実践のためには、チーム間の協力が必須です。

DevOpsエンジニアは、多くの異なるエンジニアチームをまとめていく必要があります。

一つ例を挙げると、開発者への迅速なフィードバックの提供です。

DevOpsエンジニアはテストの速度・有効性・出力を向上させるために品質保証チーム(QA)との協力が求められます。

 

DevOpsエンジニアの資格

 

スキルの構図

 

DevOpsエンジニアのポジションを探す際、資格を保持していれば有利になることがあります。

2020年現在はAWSとLinux Professional Institute(LPI)が認定試験を提供しています。

 

AWS認定 DevOpsエンジニア-プロフェッショナル

 

AWS環境において2年以上のシステム運用・管理の経験を持つエンジニア向けの資格試験です。

 

Linux Professional Institute DevOps Tool Engineer

 

システム管理・ソフトウェア開発の分野で豊富な経験を積んだ技術者向けの資格試験です。

開始当初は英語のみでしたが、2019年7月より日本語での提供も開始されました。

 

DevOpsエンジニアの年収

 

紙幣

 

幅広いスキルと豊富な経験が求められるDevOpsエンジニアですが、その年収はスキル・経験によってかなり幅があります。

大体500万円〜1500万円、大企業では700万以上になることが多いようです。

開発チームのマネジメント経験があったり多くのDecOpsツールに精通しているなどといった特殊スキルがある場合は高収入が期待できるでしょう。

 

DevOpsエンジニアの需要と将来性

 

タブレット画面を指差す手

 

DevOpsエンジニアの人気の高まり

 

DevOpsエンジニアの人気はここ数年で急速に高まり、LinkedInは2018年に最も採用された職種の1つであると宣言しました。

アメリカの大手転職口コミサイトGlassdoorの2020年の人気職業ランキングではDevOpsエンジニアが5位にランクインしています。

さらにアメリカのUpskilling 2020で実施された採用担当者向けのアンケートでは、51%が最近採用した・採用する予定であると回答しました。

 

DevOpsエンジニアの今後の需要と将来性

 

技術の進化と共に開発に携わるエンジニアの数は増加し、ツールは多様化しつつあります。

複雑化していくソフトウェアの開発において、デプロイや運用監視などのプロセスを自動化するDevOpsの手法を導入する企業は増加しています。

開発環境を整備し、プロセスの自動化を推進してチームの生産性を向上させるDevOpsエンジニアは今後さらに不可欠な存在となるでしょう。

 

実際の求人事例

 

採用中の看板

 

以下ではDevOpsエンジニアの実際の求人例について、業務内容・必須スキル・年収をご紹介します。

 

仮想通貨におけるバックエンド開発部のDevOpsエンジニア

 

仮想通貨取引所の開発や付随するシステムの改善・開発。

仮想通貨ノードの構築・保守やAWS を用いたインフラ保守運用・コンテナ化による運用コストの削減など。

必須スキルは、Webアプリケーション開発経験・AWS環境でのシステムの構築運用経験・インフラ知識。

想定年収:650〜1000万円

 

オンラインショップのDevOpsエンジニア

 

サイトの品質向上・迅速かつスムーズな運営の実現。

Webおよびバックエンドシステムの運用・ベンダーを含む関係者の調整・課題の発見及び改善手法の提示・開発環境の整備など。

必須スキルは、大/中規模アプリケーションの開発運用経験・サーバーインフラストラクチャの知識・Linux(3年以上)・システム運用経験など。

想定年収:700〜800万円

 

まとめ

 

握手する手とビル

 

DevOpsエンジニアに求められるスキル・経験は多岐に渡り、これら全てを短期間でゼロから身に付けるのは難しいでしょう。

しかし、ネットワークやインフラ開発・システム管理など何らかのベースがあるIT技術者であればハードルは下がるでしょう。

昨今では先に挙げた通り認定試験も提供され始め、DevOpsエンジニアに必要とされるスキルセットも定まってきています。

この機会に必要なスキル・知識を習得し、DevOpsエンジニアを目指してみてはいかがでしょうか。

 

無料転職相談に登録してDevOpsの波に乗ろう

Geekly Media
ライター

この記事が気に入ったら
シェアしよう!

  • twitter
  • facebook
0

関連記事

求人数×IT業界での紹介実績数で、納得の転職をサポート。IT業界専門だからこそできる提案力を実感してみてください。