DevOpsを企業が効果的に実践するための8つのステップ:Gartner Insights Pickup(61)
多くの企業はDevOpsへの取り組みを強化しようとしている。だが、その取り組みで成果を挙げるのは容易なことではない。どうすればいいのか。企業が採用すべき8つのステップを紹介する。
ガートナーの米国本社発のオフィシャルサイト「Smarter with Gartner」と、ガートナー アナリストらのブログサイト「Gartner Blog Network」から、@IT編集部が独自の視点で“読むべき記事”をピックアップして翻訳。グローバルのITトレンドを先取りし「今、何が起きているのか、起きようとしているのか」を展望する。
デジタル化の進展に伴い、IT部門では、今日の企業に求められているビジネスのスピードアップや俊敏性向上のサポートが必須となっている。そのためにDevOpsの導入が急速に進み、DevOpsは多くのIT部門にとって競争優位を支える鍵となっている。だが、DevOpsを活用できれば、魅力的なビジネスメリットが得られるとはいえ、多くの組織がDevOpsの取り組みで成果を挙げるのに苦労している。取り組みの進め方がはっきり定まっていないからだ。
「DevOpsには標準的な定義や取り組み方というものがなく、絶えず進化しており、リスクを許容して管理する必要があるという点でIT部門の従来の考え方に対する挑戦だといえる。目指すべき姿が明確でないことから、多くのIT部門がDevOps戦略の実行をためらっている」と、Gartnerのリサーチディレクターを務めるジョージ・スパッフォード氏は指摘する。
DevOpsでは、必要な工程が具体的に定められているわけではないが、スパッフォード氏は「8つの基本的なステップを踏むことで、ITインフラ&オペレーション(I&O)の担当リーダーはDevOpsの取り組みを軌道に乗せられる」とアドバイスしている。
ステップ1:ビジネス上の正当な理由を見つける
DevOpsの取り組みでは、ビジネス要件への対応に注力する必要がある。社内外の顧客のニーズよりも、方法やツールを重視してしまう“DevOpsのためのDevOps”に陥ってはならない。IT部門は、DevOpsに取り組むビジネス上の理由を明確にする前に、取り組みを始めてしまうというありがちな間違いを犯さないようにする必要がある。
「例えば、リリース頻度に重点を置いて物事を素早くこなそうとするのではなく、これに重点を置くと何が実現するのかを考えることで、ビジネス価値の創出を第一目標に掲げるようにするとよい」とスパッフォード氏は説明する。
「DevOpsに取り組む正当な理由は、例えば『リリース頻度を増やすことでより迅速にイノベーションを実現でき、ひいては販売やマーケティング部門が行っているモバイルアプリでの受注の推進をサポートできる』といったものだ。大きな成功を収めるIT部門は、DevOpsによって自分たちがどのようなビジネスメリットの実現を目指すのかを自覚している」(スパッフォード氏)
ステップ2:自組織にとってのDevOpsを定義する
GartnerはDevOpsを「アジャイル手法やコラボレーション、自動化を利用してソリューションを提供するためのビジネス主導のアプローチ」だと定義している。だが、IT部門が理解しやすい言葉で、自分たちの目指すDevOpsの在り方を定義することが重要だ。
さらに、IT部門メンバーがDevOpsの取り組みを後押しするための目印としてこの取り組みに名前を付ければ、メンバーの積極的な関与を促進するのに役立つ。定義は短く、焦点が明確であるとともに、ビジネス上の正当な取り組み理由に見合っていなければならない。
ステップ3:DevOpsを最初に適用するアプリケーションを選択する
DevOpsは一足飛びに進めてはならない。反復的に実施する必要があり、各回において以下の3つの要件を全て満たさなければならない。
- DevOpsに前向きな環境:これは、DevOpsが最初に適用されたアプリケーションを人々が敬遠せずに試し、DevOpsチームに公正で率直な評価を伝えることを指す。
- 満足のいく価値:DevOpsが最初に適用されるアプリケーションは、信頼を獲得し、取り組みの継続に承認を得られるだけの価値を提供しなければならない。
- 許容可能なリスク:DevOpsはあいまいで漠然としたところがあるため、多くの人がリスキーと考え、取り組み始めるのを尻込みさせる。だが企業は、リスクレベルが許容範囲にあるような導入チャンスを見いだす必要がある。IT、オペレーション、開発、情報セキュリティ、規制コンプライアンス、監査といった全ての担当者がDevOpsを学ばなければならないからだ。
「DevOpsの中心的なユースケースは、アジャイル開発や、かなり流動的な状況の中でプロジェクトを進めていくことが不可避な機械学習やIoTなどだ。だが、DevOpsの理念は広く応用できるので、他の分野にその考え方を取り入れる機会もある。もっとも、最初から良い影響があるのは、一般的に、最近のイノベーションを活用するシステムの構築プロジェクトだろう。既存の手法に基づくシステムの機能では、ビッグデータや機械学習、IoTといった取り組みをサポートできない可能性が高いからだ」(スパッフォード氏)
ステップ4:立ち上げチームを編成する
DevOpsの取り組みを成功させる決め手は人だ。立ち上げチームのメンバーを選ぶ際は、スキルよりも行動を重視する。技術スキルを教えるのは、正しい行動を教えるより簡単だ。誤った行動は、DevOpsの取り組みを頓挫させてしまう。探すべきは、賢明でやる気があり、リスクを理解し、いつも勉強熱心で、新しい方法で仕事ができる良いチームプレーヤーだ。
ステップ5:目標と指標を設定する
DevOpsの取り組みで肝心なのは人であるため、適切な動機付けの方法を理解し実施することが重要だ。「従来の多くの組織では目標は部門別に設定され、IT指標は、問題の解決と問題を解決した人に報いることを目的として設けられてきた」とスパッフォード氏は説明する。
「DevOpsの取り組みでは目標はチームレベルで設定する必要があり、チームに課されたビジネス目標と整合性を取らなければならない。DevOpsチームメンバーは、全員が同じ目標を持っていることを理解する必要があり、指標と動機付けの方法はビジネス目標に向けてチームワークを促進するものでなければならない。指標がリスク回避や個人の問題解決を誘発してはならない」(スパッフォード氏)
ステップ6:制約に注目する
I&Oリーダーは、スループットを制約する最大のボトルネックを特定しなければならない。新システムの開発や既存システムの変更と、その後の本番環境への移行のライフサイクルは、スループットを抑える最大の制約になる。DevOpsチームはこの最大の制約に注目することで、「チームに求められるプロジェクトの進行ペースを何が阻害しているか」を体系的に特定し、それに対処しなければならない。
ステップ7:ツールチェーンを開発する
DevOps実践の全体的な目標には、ツールチェーンの統合が含まれる。アプリケーションのライフサイクルにおいて、ツールチェーンの統合は隣接する各ツールを緩やかに結合できるようツールを評価、選択するアプローチを可能にする。全ての自動化の接点と情報の流れをリンクすることで、ツールチェーンを通じたリリースが加速される一方、エラーや不具合、手直し、障害が低減される。
これにより、各段階で使われるツール間で整合性が確保され、「自動化や統合、ツールのハンドオフが、段階内や段階間のどこで行われる必要があるか」を把握できるようになる。
ステップ8:準備が整ってから大規模に実践する
「DevOpsの導入について承認を得るには、DevOpsを最初から大規模に実践する必要がある」と誤解している企業が非常に多い。これは悪循環に陥る。DevOpsを大規模に実践する方法が分からないと取り組みを始めることはできない。だが、取り組みを始められなければ、大規模に実践する方法を学んで身につけることはできない。
「準備が整う前から大規模に進めようとして、有効なDevOpsの取り組みを台無しにしてはならない」と、スパッフォード氏はアドバイスする。
「チームを組織したら、まず最も合理的と思われる方向に進み直面した制約に対処する。そして人、技術、プロセスの面で学習を積みながら、取り組みを進化させなければならない。技術的負債を背負うのは避けられないが、その負債の管理は、新しいモデルを採用した取り組みの進化の過程には付き物だ」(スパッフォード氏)
出典:8 Steps to Get DevOps Right(Smarter with Gartner)
筆者 Christy Pettey
Director, Public Relations
Copyright © ITmedia, Inc. All Rights Reserved.