ローコード・ノーコード

非IT業界の一般企業こそDevOpsやSREを知っておくことが重要なワケ

kotobato

IT用語で、DevOps(デブオプス)やSREという言葉を聞いたことはありますか?これらはソフトウェア開発と運用に関するキーワードで、重要な役割を果たすアプローチとして知られています。

ITの現場で語られてきたDevOpsとSREですが、今やDXを推進すべき一般企業にも非常に重要な概念となっています。また、ローコード・ノーコードを使ったアジャイル開発とも深く関係しています。

開発vs運用という、実は利益相反の微妙な関係

システムやアプリは開発して終わりではなく、リリースがある意味本格スタート。現場で実際に使われて新たなニーズが出てきたり、想定外のエラーやバグが発見され、OSや連携するサービスのアップデートに合わせる必要が次々と起きます。つまり、開発には、その後の保守や管理といった運用が必ずセットです。

従来、システム開発と運用は、一つのプロジェクトの中で切り分けられた別のフェーズだと考えられてきました。実際に、別のチームや部署になっていることは今も珍しくありません。比較的経験の浅い人材が、まず保守・管理の運用チームで経験を積み、しばらくして開発から設計チームに異動するのも、ごく普通のキャリアパスです。

また、新しい技術的チャレンジを志す開発チームと、安定稼働を維持したい運用チームとでは利害が相反し、運用は常に後追いにならざるを得ません。設計や開発はビジネスに直接利益をもたらす部署なのに対して、運用や保守・管理は費用が掛かるコストセンターだと捉えられがちなのも現実です。設計漏れやミスも「後は運用でカバー」として、しわ寄せがあることも。そのため、部署間で対立する構図となるのもよくある話です。

非IT企業でもDevOpsやSREが必須な理由

DevOpsやSREという用語について詳しく見る前に、これらが一般企業にも重要な意味を持つ、その理由と背景について整理しておきましょう。

変化し続けることが当然だが予測不能

現代社会は、BANIという概念で表現されるように、もはや変化し続けることが当たり前です。生成AIの急速な普及とビックテックの動向、国際情勢、気候変動など、ビジネス環境も先行きが不透明かつ不確実で、予想不能な状況に常に晒されています。市場の変化に迅速に対応するため、企業は自社内でシステムを開発・運用する能力を高めることが必要です。

圧倒的な競争力の向上が不可欠

先が読めないマーケットニーズに迅速かつ柔軟に対応するには、スピーディーな意思決定と実行が重要。そのためには、外部のSIerにだけ依存せず、アジリティーと柔軟性を持ったシステムを、社内で開発・編集できる体制を整える必要があります。これは、突発的な事態が起きた時のレジリエンス(回復性)にも不可欠です。

DXに不可欠な開発から運用までの一体感

多くの企業がDXを迫られている中で、ソフトウェアの設計や開発だけでなく、運用や保守、管理も重要な要素となっています。迅速な改善や新機能のリリースを実現するには、開発と運用の連携が強化され、フィードバックループが短縮されることは必須条件です。

チーム全体の協力を促進し、シームレスなコミュニケーションを実現することは、単なる技術的な課題解決に留まりません。組織文化の変革がポジティブな結果をもたらせば、企業全体の生産性向上にもつながります。

人材不足の解消とコスト最適化

非IT企業でも社内にエンジニアを確保することが求められていますが、人材不足は厳しくなる一方。開発から運用に至るまで、既存の限られた人材を最大限に活用することはもちろん、新たなDX人材の育成が急務です。

内製化すれば、企業は自社のビジネスやプロセスに特化した専門知識を蓄積できます。長期的には、外部委託のコストを削減できます。特に、頻繁にシステムの変更や更新が必要な場合、内製化には大きなアドバンテージがあります。

DevOpsやSREとは何なのか?

では、DevOpsとSREとは一体何なのか?これはどちらも、システム開発や運用におけるアプローチの概念または手法です。ソフトウェアの設計や開発、テスト、運用、保守、管理などが一体となった、効率的なプロセスを実現するための仕組みです。

開発と運用双方の文化的な側面に重点を置くDevOps

DevOpsとは、システム開発(Development)から運用(Operations)までを統合することで、迅速なリリースと高い品質を実現する手法です。開発と運用の間のコミュニケーションとコラボレーションを改善し、リリースサイクルを短縮し、品質と顧客体験(CX)を向上させることを目的としています。アジャイル開発手法や継続的インテグレーション(CI)、継続的デリバリー(CD)などのプラクティスが取り入れられています。

前述のように、開発と運用の分断は長く問題視され、より迅速で効率的な開発・運用の手法が求められていました。そこで、2008年前後からDevOpsが提唱され始め、特にアジャイル開発の普及とともに注目を集めました。

エンジニアリングの原則を運用に適用するSRE

SRE(Site Reliability Engineering)は、2003年にGoogleによって提唱されたアプローチです。こちらも、ソフトウェアエンジニアリングの原則を運用に適用することを目的としています。

SREは、システムの信頼性を確保しつつ、開発のスピードを維持するための手法です。サービスレベル目標(SLO)やサービスレベルインジケーター(SLI)を使って、システムのパフォーマンスを測定・管理します。

Googleは、サービスの可用性を高めるために、エンジニアリングの手法を運用に取り入れることが重要であると認識しました。特に大規模なシステムの運用において、信頼性と効率性を両立させる必要性から、SREが生まれました。

DevOpsとSREの共通点・相違点

DevOpsとSREの共通点と違いについても、把握しておきましょう。

DevOpsとSREの共通点

目的:DevOpsもSREも、システムの信頼性や可用性、パフォーマンスの向上が目的です。開発と運用の間のギャップを埋めるという点で共通しています。

自動化:どちらも自動化・効率化・継続性を重視しています。人が手作業で実施するプロセスを減らし、CI/CDやインフラストラクチャーの自動化を通じて、効率をアップさせます。

チーム文化:開発と運用のディスコミュニケーションを解消し、チーム間のコラボレーションを促進する文化を重視します。メンバーが積極的に協力し、共通の目標に向かって自律的に行動する環境を醸成します。

DevOpsとSREの相違点

アプローチの焦点:DevOpsは、開発と運用の統合を目指す文化やプラクティスのセットです。主にプロセスやツールの導入に焦点を当て、開発サイクルの短縮やリリースの頻度を高めることを重視します。一方のSREは、ソフトウェアエンジニアリングの原則を運用に適用します。システムの信頼性を数値化し、SLA(サービスレベルアグリーメント)やSLO(サービスレベル目標)を設定して、運用の効率を測定します。

役割と責任:DevOpsエンジニアは、開発者と運用者の役割を兼ね、プロセス全体の改善に取り組みます。ツールの選定や導入、CI/CDパイプラインの構築などが主な業務です。SREエンジニアは、より技術的な側面に特化し、エラー予算の管理やインシデント対応など、システムの信頼性を確保するための具体的な手法を実施します。

使われる指標:DevOpsでは、プロセスの効率やリリースの頻度など、開発サイクルに関連する指標が重視されます。SREでは、SLOやエラーレートなど、システムの可用性やパフォーマンスに関する指標を重視し、運用の改善を図ります。

開発と運用はさらに融合!DevOpsのトレンド

以下の記事では、77%の企業がソフトウェアのデプロイにDevOpsを使用していて、2024年から2028年に掛けて、DevOps市場は19.7%の成長が見込まれると解説されています。

さらに、今後予想されるDevOpsのトレンドについても触れられているので、いくつか紹介しておきましょう。

  • GitOps:Gitのバージョン管理とコラボレーション機能を使った、デプロイの自動化
  • AIOps:運用にAIと機械学習を応用し、監視やインシデントの特定、修復を自動化
  • サーバーレス・アーキテクチャー:サーバーはクラウドプロバイダーに任せて管理
  • DevSecOps:当初からライフサイクルの各段階にセキュリティー対策を統合
  • マイクロサービス:独立した小規模なサービスをAPI連携し、柔軟性・拡張性を実現
  • クラウドネイティブ・テクノロジー:複数のクラウドでシステムを容易にデプロイ、管理
  • 自動化とCI/CD:開発とデプロイのプロセスをさらにシンプルにした自動化ニーズ
  • ローコード・アプリ:開発時間を大幅に短縮でき、非エンジニアも使うローコード開発

一方、Gartnerは、2026年までにIT企業の80%が、「プラットフォーム・エンジニアリング・チーム」を設立すると予測しています。これは、開発と運用の融合を支援するDevOpsの進化形です。両者をより一体として捉える動きは、今後も加速することは間違いないようです。

▼Platform Engineering for Optimizing Infrastructure | Gartner
https://www.gartner.com/en/infrastructure-and-it-operations-leaders/topics/platform-engineering

開発から運用までスムーズなプロセスが重要

DevOpsやSREというプラクティスを導入すれば、システム開発と運用の効率が向上します。さまざまな業種の組織が、変わりやすいビジネスニーズに迅速に対応できるようになります。

しかし現状、IT企業でも、必ずしもDevOpsやSREを意識した体制になっているわけではありません。両者は俊敏性・柔軟性を特徴とするアジャイル開発と深く関係していますが、ウォーターフォール開発が適しているプロジェクトもあります。

とはいえ、このような概念や手法がトレンドになった経緯を知ることは、これから自社でシステム開発・運用の内製化を進める組織にとって、非常に有効な情報です。20年ほどの時間を掛けて、IT業界で徐々にDevOpsやSREが必要とされてきました。それが今や、ソフトウェア開発と運用の効率向上という目的は当たり前のこととして、業界に関係なく求められています。

開発には、ローコード・ノーコード開発プラットフォームが使われ、高速かつ柔軟な開発が拡がっています。ここで、開発と運用の間にあって非常に重要なのが、テストのプロセスです。システムを高速に改善しリリースするには、同じペースで効率的なテストを繰り返し、その結果を開発にフィードバックし続ける仕組みが不可欠です。しかし、開発がもはや手入力によるプログラミングでは非効率なのと同様に、テストも人の手や目、勘を頼っている場合ではありません。

テスト専用のプラットフォームも、開発同様に生成AIによる強化が進んでいます。次回は、このテスト環境について解説しますので、引き続きご期待ください。

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

ABOUT ME
kotobato
kotobato
リプリパ編集兼外部ライター
企画制作や広告クリエイティブ畑をずっと彷徨ってきました。狙って作るという点ではライティングもデザインの一つだし、オンラインはリアルの別レイヤーで、効率化は愛すべき無駄を作り出すため。各種ジェネレーティブAIと戯れる日々です。
kotobatoの記事一覧

記事URLをコピーしました