DevOpsに関わるエンジニアの役割

DevOpsに関わるエンジニアの役割

さて、ここまでDevOpsの一連の流れと、そこで使用されるツールや環境について解説してきました。これらのツールや環境は当然ながら使う人がいることに加えて、それらを利用できる環境を構築する必要があります。前述の通りDevOpsにおいては今までとは異なる技術を使ったり、同じ技術でも考え方を変えたりする必要がありますが、それに伴ってエンジニアが果たすべき役割の範囲は異なってきます。

ここからは、DevOpsにおけるエンジニアにはどのような役割があるのか、また、それぞれがどのような形で各技術に関わっていくのかを解説します。

開発チームと運用チーム

まず、DevOpsでは「開発チームと運用チームのコラボレーションを強化する」のが重要なコンセプトの1つです。「開発チームと運用チームの境目を曖昧にする」という表現もよく使われます。しかし、日本のシステム開発の実態は、DevOpsが前提とする開発チームと運用チームのあり方とは異なる部分が少なくありません。特にエンタープライズ領域で見られるようなシステムでは、開発を外部のシステム開発会社に発注し、運用自体は自社のIT部門で行うというケースが多く見られます。このような形態では、開発チームと運用チームでそもそも会社が異なるという分断が起き、境界を曖昧にすることが難しくなってしまっています。

とは言え、分断があるからといってDevOpsが実践できないわけではありません。かつては「コラボレーションを強化する」と言うと開発チームと運用チームが仲良くするといった人的なコラボレーションが想像されることもありました。しかし、DevOpsで重要なのは「プロセス面と情報面でのコラボレーション」です。これらのコラボレーションはチーム同士が同じ空間にいなくても技術や仕組みで実現できます。

例えば、先ほどの継続的デリバリーの概念でリリース準備までを開発チームが責任を持ち、本番環境へのデプロイを運用チームが責任を持つといった役割分担がされているとします。その際、CI/CDの技術を使えば、開発チームがテスト環境へアプリケーションをデプロイする仕組みと、運用チームが本番環境へとデプロイする仕組みを共通化できます。また、先ほどの運用監視からフィードバックへの流れも運用チームから開発チームへのコラボレーションを強化する仕組みとなります。

もちろん、開発チームと運用チームのコラボレーションを強化するには、技術的アプローチだけでなく組織的、文化的アプローチも加えて実施する必要がありますが、仕組みを抜きにしてはDevOpsにおけるコラボレーションは実現できません。

開発エンジニアとインフラエンジニア

チームとしては開発チームと運用チームに分類しましたが、エンジニア個人のスキルという側面では開発エンジニアとインフラエンジニアで分類できます。これらの役割はDevOpsとは関係なく、従来のシステム開発にも存在してきた役割ですが、DevOpsではそれぞれの役割が変化します。

まず、開発エンジニアの視点では自動化への対応強化が必要となります。開発エンジニアの主な役割はアプリケーションのコードを作成し、正しく動作するアプリケーションを作ることです。正しく動くアプリケーションを作るために実施するのが各種テストです。従来の開発では手作業でテストを行うこともありましたが、DevOpsにおいてテストはCIパイプラインの中で自動化されるため、コード化されたテストケースを用意する必要があります。ここで言うテストとは単体テストだけでなく、結合テストやE2Eテストなども含まれる場合があります。結合テストやE2Eテストは自動化の難易度が高いため従来通り手作業でテストを実施する場合もありますが、単体テストに関しては自動化は必須です。また、アプリケーションで使用するライブラリなどはコンテナイメージの作成時に読み込むため、開発者がコンテナの設定を理解する必要があります。従来は自分の開発環境のみを理解すれば良かったのですが、実行環境としてのコンテナが開発環境だけではなく、本番環境でも使用される点に注意が必要となります。

一方、インフラエンジニアの視点では「手段」と「範囲」の両面で変化があります。まず手段の面では、インフラ構築が手順書に沿った手作業からIaCへ変化します。主な作業はIaCのコード作成とその結果構築された環境が正しく動作するかの検証です。IaCツールに準じたコードの書き方を学ぶ必要はありますが、手順書を書いて手作業で構築するよりも作業量は減り、なおかつ構築の確実性が増します。また、範囲の面ではCI/CDの環境が含まれるようになります。従来はアプリケーション実行環境の構築がメインでしたが、CI/CDの環境を構築するのもインフラエンジニアの役割です。CI/CDのインフラ構築にあたっては単にCI/CDツールを導入するだけでなく、CI/CDのプロセスを実行する設定、テストやビルドに必要な環境の設定なども必要になってきます。

開発エンジニアとインフラエンジニア

おわりに

今回は、DevOpsの全体的なフローとそこに関わる技術について概要を説明しました。また、合わせてそれらの技術を扱うエンジニアの役割がDevOpsを採用することによってどう変化するのかといった点も紹介しました。

次回以降は、それぞれの技術を少し深掘りしつつ、その概念を説明していきたいと思います。

人気記事トップ10

人気記事ランキングをもっと見る

企画広告も役立つ情報バッチリ! Sponsored

ClickHouse Cloudが実現した広告運用SaaS「ATOM」のデータ基盤革新、パフォーマンスを向上しながら、運用負荷とコストを削減 11月11日 6:20 AIで開発が加速する時代、品質保証はどう変わる? Tricentisが示すAIエージェント活用の実像 11月9日 6:45 悪用までの猶予が「1分」に迫るフロンティアAI時代に開発と本番を貫く脆弱性管理が必要 10月29日 8:30 欧州CRA対応とSBOM運用。AI生成コードのOSS混入問題の対策とは ――スニペット単位で検出する「FossID」「Insignary Clarity」によるSBOM運用 9月16日 6:40 PostgreSQLからTiDBへ、稼働中SaaSで進める段階的DB移行の実践と再設計への展望 9月7日 6:30 機能安全開発におけるGoogleTestの活用を支援!「Parasoft C/C++test CT」で実現する効率化&AI連携 4月14日 6:30 【CNDW2025】Grafanaが明かす「オブザーバビリティの哲学」ー最小限の労力で実用的なインサイトを得るには 1月23日 6:30 【CNDW2025】プロダクト急増に備える基盤刷新 ーウェルスナビがECSからEKSへの移行で得た知見とは 1月15日 6:30 【CNDW2025】250環境を5人で運用、構築時間は30分に ーKINTOテクノロジーズが語るインフラ基盤組織の作り方 2025年12月18日 6:30 新たな自動化で熱視線! AIエージェントの「推論能力」を支える2つのコンポーネントとは? 2025年11月28日 6:30