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
-
製品資料
[NTTインテグレーション株式会社] 取引先のセキュリティをどう管理する? 「SCS評価制度」対応の勘所を解説 -
製品資料
[NTTインテグレーション株式会社] SCS評価制度「★4」取得のカギ 最大の壁を突破する方法とは? -
製品資料
[NTTインテグレーション株式会社] 2026年度末から運用開始 「SCS評価制度」に備えて製造業がやるべきことは? -
事例
[ネットワンパートナーズ株式会社, アイビーシー株式会社] ハイブリッド環境の一元管理と快適な無線LAN環境、三井ホームはどう実現した? -
市場調査・トレンド
[TD SYNNEX株式会社] 調査で学ぶセキュリティ運用の実態 人を増やさず品質を維持する方法とは?
こんなメディアも見られています
TechTargetジャパンに関連する情報をお探しであれば、こちらのメディアもお役に立てるかもしれません。
ベンダーコンテンツ PR
From Informa TechTarget
SpecialPR
アクセスランキング
-
1
なぜ「全社配布Copilot」は使われないのか? 失敗に学ぶAI定着
-
2
損保ジャパンはなぜ「COBOL」を捨てなかったのか? 脱メインフレームの真相
-
3
「ノートPC派」は損をしている? Dellと考える“自作PC”のメリット
-
4
IT人材の42%が転職予備軍 辞めさせない組織の4つの共通
-
5
“脱Excel”を待ち受ける乱立問題 カカクコムが新ツール導入を見送った理由
-
6
「WSUS」終了の時限爆弾 “本命”移行先ツールとMicrosoft提唱の新管理手法
-
7
VMware離れがやっぱり加速 2500台のVM移行に挑む製造大手から学ぶ現実解
-
8
「ひとり情シス」が急に退職 専門商社が外部パートナーと挑んだネットワーク刷新の裏側
-
9
「コピペ運用の限界」に直面するAI活用 7割超が“別画面”のまま使う理由は?
-
10
ベテランエンジニアが直面する危機 半数が「ブルーカラーへの転向」を視野に
ホワイトペーパーランキング PR
-
1
DX/AI投資の壁を突破、現代の最高財務責任者が直面する課題と克服のヒント
-
2
不審メールの経路や見せ方に変化? 2026年夏の3事例から見えた動向と対処方法
-
3
「オンプレミス回帰」せざるを得ない“合理的な理由”
-
4
バックアップは“取っているから大丈夫”なのか? ランサムウェア時代の備え方
-
5
システムの保守がモダン化を阻む? 「変えない判断」から脱却する方法とは
-
6
生成AIを開発に導入しても効果が見えない? 実証実験で分かった成果と課題
-
7
経産省DX指針から読み解く、受発注業務デジタル化ロードマップ
-
8
5分で分かる Microsoft 365のデータ損失に備えるためのバックアップの仕組み
-
9
ネットワーク遅延の原因、「パケットロス」の基礎知識と効果的な解決策
-
10
Microsoft 365を安全に運用 うっかりミスやサイバー攻撃に備えるデータ保護術
TechTargetジャパン SNS
インフォメーション
注目情報をチェック
TechTargetジャパンをフォロー