Computer Weekly製品ガイド
CI/CDによる高速化で品質も向上――ただし条件付き
継続的インテグレーション(CI)と継続的デリバリー(CD)はソフトウェア開発の高速化を約束する。だが採用に当たってはまず、成果を引き出すための基本事項を押さえておく必要がある。
理論上、スピードアップは危険を伴う。近道の誘惑に駆られ、間違いが増えるリスクもある。だがソフトウェア開発に関する限り、必ずしもそうはならない。
特注ソフトウェア開発とITアウトソーシングを手掛けるCiklumのDevOps担当責任者、ウラジスラフ・グラム氏は言う。「直感には反するかもしれないが、品質がスピードに由来することもある。開発とデプロイを高速化するほど品質は高まる。比較的小さなまとまりのコードでデプロイできるため、テストが容易になるからだ。一方で、開発者は本番環境からのフィードバックをすぐに得ることができる」
高速展開
グラム氏が継続的インテグレーション/継続的デリバリー(CI/CD)に取り組み始めたのは2016年だった。DevOpsの理念の一要素として、CI/CDはコードをできるだけ早く本番環境に持ち込むことに重点を置く。大きなまとまりのコードを長期間かけて開発し、テストには時間がかかるが確実性は低下するウオーターフォール方式を含む、それまでのソフトウェア開発のアプローチとは対照的だ。
「もしもテスターのための大規模なレグレッション計画があるとして、相互に依存する100万もの機能がある場合、それがどのコンポーネントに依存するかを予測するのは難しい。だが小さな機能を1つだけデプロイするのであれば、テストを行って依存関係を簡単に予測できる」とグラム氏は話す。
そのメリットは非常に大きい。Ciklumは欧州の小売業者Metroと組んで電子商取引プラットフォームを構築した。このプロジェクトでは、本番環境の変更にかかるデプロイリリーススケジュールを、標準的な3カ月から1時間に短縮した。
「その違いは絶大だ。ただし3カ月間でリリースするのと同じ量の変更を1時間ごとにデプロイしているわけではない。開発者は3カ月のリリーススケジュールよりもずっと早く、ユーザーと本番環境からのフィードバックを得ることができる」(グラム氏)
機能デリバリーの高速化
カリフォルニア大学バークリー校講師でDevOps Research and Assessment(DORA)共同創業者のジェズ・ハンブル氏は、2010年にCI/CDに関する著書を執筆した。同氏はCI/CDを次のように定義する。「新機能、設定の変更、バグ修正、実験を含むあらゆる種類の変更を、安全かつスピーディーに持続的な形で本番環境あるいはユーザーの手に届けられること」
ソフトウェアのテストを手掛けるMablが500人を対象に実施した調査によると、回答者の53%がCIを使っていて、25%は導入を計画していた。一方、CDを使っているという回答は38%、導入の計画があるという回答は30%だった。
DORAが開発者3000人を対象に実施した調査結果報告書「2019 Accelerate State of DevOps」によると、エリートグループと実績の悪いグループを比較した結果、前者がコードをデプロイする頻度は208倍、コードの受注からデプロイまでのリードタイムは106倍、インシデントからの復旧スピードは2604倍だった。
クラウドへの競争
DevOpsとCI/CDは関係しているものの、この両者を混同してはならないとKPMG Internationalの筆頭DevOpsエンジニア、アリアン・ガッド氏は言う。「DevOpsはどちらかというと、企業文化や思考、働き方に関係している。CI/CDはツールと自動化が主導するオーケストレーションのアプローチだ。組織はCI/CDを使ってDevOps的なやり方で技術プロジェクトを遂行する。CI/CDなしでDevOpsはできない」
CI/CD導入の落とし穴
CI/CDの導入には問題もある。
例えば451 Researchが北米と欧州で350社のIT意思決定者を対象として2018年5月に実施した調査によると、半数の組織は一切のセキュリティテストの要素なしにCI/CDを導入していた。
ガッド氏によると、問題は開発チームがデリバリーのスピードを準備不足と混同する際に起こり得る。「多くの人が、迅速な開発と高速デリバリーが全てだと考える過ちを犯す。だがそうした人は、適切な記録を忘れているので、自分たちが実際に何をしたのかが誰にも分からない」
ガッド氏は、事前のインフラ最適化と適切なスクリプトの開発に時間をかけるよう勧告する。そうでなければ、チームが後戻りして変更を行う必要が生じ、メリットが失われて、自分たちが推進しようとしているアプローチの評判に傷がつく。
「最初のうちは、自動化とスクリプトの作成に時間がかかる。だがそれがうまくできれば、それを何度でも好きなだけ繰り返すことができる」(ガッド氏)
スピード調整
Cytoraは、保険会社による保険契約引き受けの正確化を支援する技術プラットフォームを開発している。エンジニアリング担当ディレクター、ダン・トラン氏は約1年前にCI/CDの導入に着手した。
最大の教訓は、スピードが全てではなかったことだと同氏は話す。「最初は超高速化してスピードを解き放つことが全てだと思っていた。だが実際には、現時点でできる限り速くすることの方が、それ以上速くすることよりもはるかに大切だった」
開発チームが使うインフラやツールはさまざまで、DevOpsのどの段階にあるかもそれぞれ異なる。もしもチームのサイクルが2週間から1週間に短縮されたのであれば、それを前進と見なすべきだとトラン氏は言う。「それがその時点で最大限のスピードなら、それで構わない。それを繰り返して次のレベルに上がることができる。準備が整う前に速く行き過ぎたチームは、物事を壊すのも早く、それを修正することができない。大切なのは、できるだけ速くすることであって、それ以上速くすることではない。それが私の学んだ最大の教訓だった」
適切なツール
CI/CDに対するチームの理解の向上に伴い、ツールも向上する。そうしたツールは「Slack」のような汎用(はんよう)コラボレーションソフトウェアから、開発チームによるモジュール式コンポーネントのワークフロー設計を支援する「Pivotal Concourse」のような技術ツールまで多岐にわたる。
CI/CDの人気が上昇しているといっても、ソフトウェア開発手法の事実上の標準となるまでの道のりはまだ長い。「ソフトウェア開発者はCDに由来する多くの事柄を融合させて使っている。だがエンタープライズITは包括的で極めて大きく、このコンセプトはまだ非常に新しい。これは初期の段階にある」とトラン氏は話す。
CI/CDは、従来型の手法よりもソフトウェア開発を飛躍的に加速する。だがこのアプローチを検討しているチームがその恩恵を受けるためには、開発者を教育し、ITチームの企業文化を変えさせ、ツールとインフラに投資する必要がある。
Copyright © ITmedia, Inc. All Rights Reserved.
Computer Weekly日本語版
この記事の著者
関連記事
新着ホワイトペーパー PR
-
製品資料
[株式会社MatrixFlow] 「物流リソース最適化」ガイド:人員・配車・傭車を出庫依頼の確定前に決めきる -
製品資料
[株式会社キーエンス] なぜRPA導入は頓挫する? シナリオ作成の壁を乗り越える解決策とは -
製品資料
[株式会社セールスフォース・ジャパン] 「CRMは設計と無関係」は本当か? PLMとの融合で実現する高速開発 -
事例
[日本ヒューレット・パッカード合同会社] AIエージェントの時代にどう備える? 「新たな働き手」を支える3要素とは -
製品資料
[日本ヒューレット・パッカード合同会社] “横並びの自動化”から脱却、AI活用で生産性と競争力を高める秘訣
こんなメディアも見られています
TechTargetジャパンに関連する情報をお探しであれば、こちらのメディアもお役に立てるかもしれません。
ベンダーコンテンツ PR
From Informa TechTarget
SpecialPR
アクセスランキング
-
1
ChatGPTは“検索しまくり”でGeminiは“淡泊”? データが明かすAIの裏側
-
2
なぜ「全社配布Copilot」は使われないのか? 失敗に学ぶAI定着
-
3
法務と開発者で「言葉が通じない」問題 トヨタやソニーが語るOSS管理の真実
-
4
「IBM iはDXのボトルネック」は誤解 意外と知らない今風モダナイズの効果
-
5
「朝8時にバッチが終わらない」データ爆発の危機をJPX総研はどう乗り越えたか
-
6
損保ジャパンはなぜ「COBOL」を捨てなかったのか? 脱メインフレームの真相
-
7
AI導入後に発覚する「社内文書を読めない」問題 情シスは何を直せばいい?
-
8
情シスの約8割が転職や退職を意識 調査で分かった“辞めたくなる最大の理由”
-
9
「中堅・中小企業のネットワーク・セキュリティ運用実態」に関するアンケート
-
10
IT製品の導入に関するアンケート「PC&デバイス」編
ホワイトペーパーランキング PR
-
1
不審メールの経路や見せ方に変化? 2026年夏の3事例から見えた動向と対処方法
-
2
家庭用Wi-Fiルーターの業務利用は危険? 避けるべき理由と具体的な対策
-
3
Microsoft 365を安全に運用 うっかりミスやサイバー攻撃に備えるデータ保護術
-
4
プログラミング不要で誰でも実現できる、ネットワーク運用管理の自動化とは
-
5
財務部門がAIを最大限に活用する方法 無駄のない戦略的リーダーシップへの道
-
6
LLMが兵器化? 元FBI高官が鳴らす警鐘とセキュリティツール統合のポイント
-
7
なぜRPA導入は頓挫する? シナリオ作成の壁を乗り越える解決策とは
-
8
HDDを使わない「SSDオンリー」が無謀なのはなぜ?
-
9
「オンプレミス回帰」せざるを得ない“合理的な理由”
-
10
“あのファイル転送”で暗躍するノーウェアランサム
TechTargetジャパン SNS
インフォメーション
注目情報をチェック
TechTargetジャパンをフォロー