CI/CDパイプラインの活用【後編】
継続的な改善の基盤となるCI/CDパイプライン活用術
CI/CDパイプラインをいかに使うか。チェックインやリリースのタイミングはいつにするか。CI/CDパイプラインにどのような機能を持たせるか。識者の意見を聞いた。
前編( Computer Weekly日本語版 1月22日号 掲載)では、CI/CDの全体像とCI/CDパイプラインを紹介した。
後編では、CI/CDパイプラインの活用法を掘り下げる。
ロールバックの実施
本誌が話を聞いた専門家は、コードの増加を可能な限り最小限に抑えてCI/CDパイプラインを始めることをアプリケーションチームに推奨する。GitLabで製品管理とCI/CD担当のディレクターを務めるジェイソン・レニー氏は次のように語る。「変更が小さいほど、問題発生時のコードレビュー、テスト、ロールバックが容易になる。その結果、運用環境でのバグや不具合が少なくなる。だがコードレビューを実施しない、十分なテストを行わない、ロールバックする時機を判断するための監視を行わないという状態ではこのようなメリットは得られない」
変更の厳密な管理
CI/CDパイプラインへの取り込みは、新しいコードがソースコードリポジトリにチェックインされるたびに行われることもあれば、特定のアプリケーションに合わせて毎時間や毎日行われることもある。ベンモシェ氏は次のように話す。「ただし、毎回のイテレーションに行われる変更の数を厳しく管理するには開発者の統制が必要になる。ささいな変更でも重要な機能に影響を与える恐れがある。統合の問題が発生する恐れを減らすには、複数の層で厳密なテストを実施しなければならない。また、単体テスト、静的コードテスト、機能テスト、負荷テスト、耐久テストを高い割合でカバーする必要がある」
GitLabのレニー氏は次のように述べる。「CI/CDパイプラインの完了にかかる時間が大きな制限因子になる。リリースの頻度をCI/CDパイプラインの時間よりも短くすると、マスター(ソースブランチ)が破損するリスクがある。CI/CDパイプラインで以前の変更が実装されている間に新たな変更が結合されると競合の恐れが生じる。速度を上げると、ステージングでは全てが成功してもマスターでは失敗することになる。Google、Facebook、Uberなどの洗練されたエンジニアリング企業は、これを緩和するために変更をキューに入れて並べる複雑なカスタム機能を構築して、CI/CDパイプライン開始後は変更より前の部分に別のコードを結合できないようにしている」
セキュリティ
QualysでEMEA担当の最高技術セキュリティ責任者を務めるマルコ・ロッティーニ氏は、迅速にリリースを提供するためCI/CDパイプラインでは自動化を利用すると指摘し、次のように話す。「セキュリティチームはこのプロセスをサポートするためにデータをCI/CDパイプラインに提供して、必要な強化点と潜在的な問題が検出された場所について開発チームに指針を示せる。新しい脆弱(ぜいじゃく)性の検出プロセスを自動化するのも一つの方法だが、セキュリティアラートが大量発生する事態につながる恐れがある」
変更の数が非常に多いため、プロセス末端のゲートキーパーはITセキュリティだけでは不十分だ。代わりにセキュリティをソフトウェア開発アプローチ全体に埋め込む必要があるとロッティーニ氏は話す。
「セキュリティを開発に組み込むには、脆弱性追跡ツールをCI/CDパイプラインで使いやすくする必要がある。これらのツールを別個に提供するのではなく、必要なアップデートや推奨事項を開発環境に直接提供すべきだ。これにより、開発者はこの情報を他のバグや機能リクエストと同じように使って修正に取り掛かることができる」
同様に、ログ管理はCI/CDパイプラインにおけるアプリケーション機能の継続的な改善に重要な役割を果たす。Sumo Logicでテクニカルサービス担当バイスプレジデントを務めるマーク・ピジョン氏は次のように話す。「開発プロセスの各段階でデータを作成する。これを開発、導入、ビジネスチーム用のさらに正確なフィードバックループをサポートするために利用できる」。同氏によると、リリース前のアプリケーションコンポーネントのデータセットを運用環境とつなげることにより、強力な「前後の」データセットが生成される。これは運用環境への移行の一環として、変更がもたらす影響を調べるのに便利だという。「どのような開発でもデータは継続的に生み出される。そしてこのデータは、ソフトウェアプロセス全体でより良い決断を下すために長期的に使用できる」と同氏は話す。
全ての企業がソフトウェア企業というわけではない。だが、CI/CDはコードの構築とリリースを以前よりも格段に素早く行えるようにする。ITの意思決定者は、小さなコード変更を段階的に行うCI/CDを実行し、顧客からのフィードバックを次のコードリリースに速やかに組み込めるようにしなければならない。CI/CDを使って構築されたアプリケーションが継続的に改良されるよう、CI/CDパイプラインはコーディングツール、テストの全ての側面、導入の分析、導入後の分析に強いつながりが必要だ。
Copyright © ITmedia, Inc. All Rights Reserved.
Computer Weekly日本語版
この記事の著者
関連記事
こんなメディアも見られています
TechTargetジャパンに関連する情報をお探しであれば、こちらのメディアもお役に立てるかもしれません。
ベンダーコンテンツ PR
From Informa TechTarget
SpecialPR
アクセスランキング
-
1
「Excel至上主義」の終わらせ方 丸2日の手作業地獄から情シスと現場を救うには
-
2
取手市がVDIと決別した理由 更改費用「4倍超」を約1.7倍に圧縮
-
3
「Microsoft 365のセキュリティ運用」に関するアンケート
-
4
急増する「AIはこう言ってる」マン 判断を狂わせる「AI忖度」を防ぐには?
-
5
221人調査で分かった「情シス最大のストレス」は?
-
6
「Salesforceのテスト自動化ツール」に関するアンケート
-
7
「データストレージの活用方法」に関するアンケート
-
8
「AI時代の統合基盤・エンタープライズAI管理」に関するアンケート
-
9
AIで人を減らした企業がもう心変わり 「AIブーメラン現象」の実態
-
10
自宅のWi-Fiが「遅い」「途切れる」本当の原因は? Dellが推奨する鉄則
ホワイトペーパーランキング PR
-
1
年収2000万「クラウドセキュリティのプロ」になれる資格とは
-
2
セキュリティソフトをすり抜ける標的型攻撃メール、不審メールの見破り方とは?
-
3
Windows Updateの通信集中で回線が逼迫、ネットワーク刷新事例に学ぶ解決策
-
4
財務を戦略的組織へ進化させるAI活用術、4つの主要な障壁と解消方法
-
5
「NAS」「SAN」「DAS」は何が違う? いまさら聞けないストレージの基礎
-
6
“あのファイル転送”で暗躍するノーウェアランサム
-
7
標的型攻撃メールを見破るには? サンプル文面を例に傾向を解説
-
8
商用利用の安全性を確保し大量のコンテンツを高速で生成する、AI活用の秘訣
-
9
マンガで解説、1日で生成AI環境を構築できるワークショップの中身とは?
-
10
Dark AIが台頭する時代の新発想、「より高度なAIで対抗する」具体的方法とは?
TechTargetジャパン SNS
インフォメーション
注目情報をチェック
TechTargetジャパンをフォロー