DevSecOps:What、Why、Who、How

Observability Todd DeCapua

まずは簡単な自己紹介から始めましょう。私はテクノロジー業界で25年以上のキャリアを持ち、さまざまな機会に恵まれ、すばらしい経験をしてきました。キャリアを通じて常に感じてきたのが、情報に基づく(さらには自動化された)意思決定をあらゆるレベルで実現するための、データ活用ニーズの高まりです。私はお客様やパートナーの期待に応えるべく、セキュリティ、パフォーマンス、オブザーバビリティを向上させる製品とサービスの提供に取り組んできました。

この20年ほどの間に、「アジャイル」という考え方が生まれ、それが「DevOps」へと進化し、さらに最近では「DevSecOps」へと発展しました。2022年6月にラスベガスで開催された.conf22では、その関連機能を数多くご紹介しました。当日の講演の様子は「.conf22で見逃せない4つのDevSecOpsセッション」(英語)でご覧いただけます。

シリーズ第1回となる同ブログでは、自社のニーズに合ったDevSecOpsプラクティスの導入方法を見つけるための技術的なインサイトをお届けします。

What:DevSecOpsとは何か

まずは、「DevSecOpsはプラクティスである」という認識を共有しましょう。プラクティスということは、それを可視化して実践に移すための機能が必要になります。その機能こそ、Splunkが一部の先進的なお客様やパートナーとの「反復型」コラボレーションを通じて提供しているものです。

DevSecOpsが何かを理解するために役立つ引用をいくつかご紹介します。

Gartner社によるDevSecOpsの定義:DevSecOpsは、最新のIT/DevOpsのアジャイル開発にセキュリティをできるだけシームレスかつ透過的に統合したものです。開発者の俊敏性やスピードを損なわず、現在の開発ツールチェーン環境を変えることなく行うのが理想です。
TechTarget社によるDevSecOpsの定義:DevSecOps (開発+セキュリティ+運用)は、アプリケーション開発、セキュリティ、運用、IaC (Infrastructure as Code)を統合して、自動化された継続的デリバリーサイクルを構築する管理アプローチです。
TechBeacon社のガイド『DevSecOps and Security as Code』序文より:将来は「Security as Code」(セキュリティのコード化)にあります。このガイドでは、DevSecOpsを通じたその実現方法をご紹介します。さらに、SANSのレポート『Rethinking the Sec in DevSecOps: Security as Code』を参考に、セキュリティ担当者にとってのDevSecOpsの位置づけ(優先度、トレーニング、テクノロジー/ツール投資)を明らかにします。
IDC社によるDevSecOpsの定義:IDCのDevSecOps/アプリケーションセキュリティチームは、セキュリティをSDLCの初期段階から組み込み、DevOpsパイプラインの一部としてアプリケーションに挿入するための製品、テクノロジー、自動化セキュリティプロセスを調査しています。これには、静的/動的/インタラクティブ分析、SCA (ソフトウェアコンポジション解析)、シークレット管理、RASP (実行時アプリケーション自己保護)、APIのセキュリティ、コンテナとKubernetesのセキュリティ、WAF (Webアプリケーションファイアウォール)が含まれます。また、商用サポートされたコンプライアンス検証済みのオープンソースソリューションなど、コードセキュリティサービスを提供する開発ツールベンダーの役割も対象になります。
Accenture社のDevSecOpsへの移行に関する導入事例より:Accentureは、ビジネスニーズの拡大に対応するため、情報テクノロジーの新たな提供方法への移行を進めています。この社内改革では、開発チームと運用チーム間のコラボレーションを最適化しながらプロセス全体にセキュリティを組み込むことに重点を置いています。DevSecOps (開発、セキュリティ、運用)の実現により、アプリケーション開発、セキュリティ、IaC (Infrastructure as Code)、運用プロセスを、継続的で高度に自動化された1つのエンドツーエンドデリバリーサイクルに統合します。製品開発ライフサイクルにセキュリティを組み込むことで、摩擦を低減してスピードを維持しながらビジネスを保護できるようになります。

「プラクティス」と呼べるもの全般に言えることですが、多くの場合、関係者間でコラボレーションの機会を増やして見方や考え方の統一を図り、共通のビジョンに対する理解と期待される成果を共有することが、大きな効果を生みます。

DevSecOps

Why:DevSecOpsを導入すべき理由

DevSecOpsとは何かを理解したら、期待される具体的な成果を考えてみましょう。実際に報告されている主な成果には以下のものがあります。

  1. 可視性
  2. レジリエンス(耐障害性/回復力)
  3. 安定性
  4. 自動化
  5. 効率

DevSecOpsの主な成果

Splunkが公開したグローバル調査レポート『2023年データイノベーションによる経済効果』では、レジリエンスの強化と 9.5%の増益 を達成して競争に勝つための8つの重要な戦略を紹介しています。

DevSecOpsのプラクティスは、組織全体のレジリエンスを強化して複数のKPIを改善するための確実な方法であり、上記の調査で明らかになったとおり、具体的な増益につながります。

その第一歩として、数カ月後と数年後に期待される成果と主な目標を設定し、それに向けてすべてのチーム間で足並みを揃えることをお勧めします。これにより、各チームが現在地と今後の方向性を明確に理解して、組織全体で大きな価値の実現を加速できるでしょう。

Who:DevSecOpsから価値を得るのは誰か

DevSecOpsは、ドメインを超えたデータアクセスとデータ活用を促進するためのプラクティスであると同時に優れたツールでもあります。そのため、すばやくインサイトを獲得してビジネス成果につなげるというメリットを組織内の複数のチームが享受できます。

DevSecOpsを導入すれば、相関付けの能力を高めて、これまで気づかなかった成果を実現できる可能性があります。また、プロセスの自動化によって、チーム間の連携を活かしたスピードと規模を達成できます。

組織内のさまざまなペルソナに適したDevSecOpsのユースケース例を次に挙げます。これらのユースケースはそれぞれ、真の価値と成果をもたらします。DevSecOpsで実現できる自社にとってのメリットを考えるうえで参考にしてください。

DevSecOpsのユースケース例

SplunkはDevSecOpsユースケースをお客様とともに開拓していきたいと考えています。この1年間、さまざまなお客様やパートナーと密接に協力して試行錯誤を繰り返し、上記の価値を創出してきました。これら初期段階の協創を通じて、15以上のペルソナと20以上のユースケースを構築し、現在、関係者とともにDevSecOpsプロセスとツールの改善に取り組んでいます。ユースケースには展開の余地がまだたくさんあります。SplunkによるDevSecOpsソリューションの次期フェーズの開拓に皆様もぜひご協力ください。

How:DevSecOpsでどのように成果を達成するか

組織が設定したDevSecOpsのユースケースと目標に基づいて十分な成果を得るには、適切なプロセスとツールが欠かせません。DevSecOpsの始め方をわかりやすく示すために、3つのイラストを作成しました。

これらのイラストは、DevSecOpsで特に重要な取り組みを示します。

  1. CI/CDプロセス:自動化により結合した結果を活用する
  2. セキュリティ:ライフサイクルの最初から最後まで組み込む
  3. スピード:DevOpsと同じスピードを達成する

DevSecOpsで重要な取り組み

Splunkソリューションは、DevSecOpsのプラクティス全体でオブザーバビリティを実現し、開発チーム、運用チーム、セキュリティチームが必要とする実用的なインサイトを提供します。

DevSecOpsのロードマップ

Splunk CloudとSplunk Infrastructure Monitoringで重要なアプリケーションを保護

Splunk CloudとSplunk Enterprise Securityでソフトウェアデリバリーチェーンを保護

Splunk CloudとSplunk Observability Suiteで本番アプリケーションを保護

次のステップ

詳細は、2ページにまとめた『Splunkが実現する可視化とアクションでDevSecOps戦略を強化』ソリューションガイド(英語)をご覧ください。Splunkは今後も、DevSecOpsについてお客様と継続的に話し合い、フィードバックからインサイトを引き出して、革新的なソリューションを築いていきます。

このブログ記事はSplunkのソリューションイノベーションエンジニアリング担当ディレクターであるTodd DeCapuaが執筆しました。ご協力いただいた以下の同僚に感謝申し上げます(敬称略):Patrick Coughlin、James Brodsky、Paul Pelletier (以上、全員Splunk)。

このブログはこちらの英語ブログの翻訳、山村 悟史によるレビューです。

関連記事

ソフトウェア開発ライフサイクル(SDLC)の概要
オブザーバビリティ
11 分程度

ソフトウェア開発ライフサイクル(SDLC)の概要

ソフトウェア開発ライフサイクル(SDLC)とは、効率、計画、テストを重視した複数のフェーズで構成されるソフトウェア構築のフレームワークです。ソフトウェア開発ライフサイクル(SDLC)に関する主な用語や定義、ベストプラクティスなどについて説明します。
オブザーバビリティ(可観測性)の概要
オブザーバビリティ
10 分程度

オブザーバビリティ(可観測性)の概要

このブログ記事では、ITにおけるオブザーバビリティの定義、ベストプラクティス、および主な概念について取り上げます。
Splunk Database Monitoringでデータベースパフォーマンスの問題をより迅速に解決
オブザーバビリティ
5 分程度

Splunk Database Monitoringでデータベースパフォーマンスの問題をより迅速に解決

Splunk Database Monitoringをご紹介します。Splunk Database Monitoringは、時間のかかる非効率なクエリーの検出と対処、アプリケーションの問題と特定のクエリーとの相関付けによる根本原因分析の迅速化、AIからの提案を活用した修復作業の効率化に役立ちます。