2022年10月27日

監査

CI/CDの課題とその解決方法

このブログ記事では、CI/CDのよくある4つの課題とその解決方法を紹介します。

6329e0efc4bff7f68800640d_Blog header pipelines.png

CI/CDパイプラインが解決する課題

Continuous Integration(CI)とContinuous Delivery(CD)は、組織やチームが顧客にコードを迅速、安全、かつ繰り返し提供することを可能にするソフトウェアプラクティスです。CI/CDパイプラインは、デプロイの速度、運用の効率、およびセキュリティを向上させ、エンジニアやチームが重要な作業に取り組む時間を増やします。このブログ記事では、CI/CDに関する4つの一般的な課題とその解決方法について紹介します。

市場投入までの時間を短縮する

ソフトウェアデリバリーサイクルには、ツール、人、プロセスが含まれます。市場投入までの時間は、この3つの構成要素がいかにうまく機能するかに左右されます。チームにはJiraやSlackなどの運用ツールやコミュニケーションツールがありますが、それでもアプリケーションのデプロイパイプラインの作成に平均66作業時間を費やしています(Continuous Delivery Insights 2020 Report)。CI/CDパイプラインでの障害のデバッグやトラブルシューティングに問題があり、それが市場投入までの時間に影響を与えている場合は、次のことを検討してみてください。

 

  • CI/CDプラットフォームによるパイプラインとスクリプトのオーケストレーション
  • チーム間で再利用するためのCI/CDテンプレートとワークフローの導入
  • デプロイに必要なサービスの依存関係を事前に文書化し、管理する

 

マイクロサービスに取り組んでいるなら、マイクロサービスを成功させるためのこの記事がおすすめです。マイクロサービスの提供や開発におけるいくつかの落とし穴について詳しく説明されています。パブリッククラウドへの移行を進めている方には、Kubernetesの移行を加速させる方法に関するこの事例をお勧めします。

 

ガバナンス、リスク、コンプライアンスを制御する

 

CI/CDパイプラインは、開発者とエンジニアの速度のためだけにあるのではありません。ガバナンス、リスク管理、およびコンプライアンス (GRC) は、これら 3 つのプラクティスにまたがる組織のアプローチをカバーする包括的な用語です。多くの企業にとって、GRC はいかに速くソフトウェアを提供できるかということではなく、より重要なのは、ソフトウェアをデプロイおよびリリースするアプリケーションチームが組織の基準を満たし、理解することをいかに保証するかということなのです。

 

パイプラインガバナンスで重要なことは、開発者がCI/CDパイプラインの各段階におけるデプロイのリスクを認識することです。パイプラインガバナンスに関する課題をお持ちの方は、以下のようなプロセスの導入や評価をお勧めします。

 

  • CI/CDパイプラインにおける機密管理
  • ロールベースアクセスコントロール(RBAC)によるCI/CDの実現
  • ポリシーに従ったパイプラインの作成、または成果物の認証
  • パイプラインの変更に対する監査と可視性の向上
  • ポリシーに基づくガバナンスの制御

 

6232ae5c5ca3b9d63dd2d389_image-59-1024x565.png

Harnessは、アカウント、アプリケーション、アプリケーションコンポーネントなどのHarnessリソースに対するイベントの監査を提供します。Harness Continuous Delivery Audit Trailは、すべてのイベントを一箇所で追跡、確認することができます。

 

 アップタイム、サービス品質、パフォーマンスの確保  

 

今日のCI/CDの大きな課題は、サービスのパフォーマンスや品質を低下させることなく、いかにして仕事を提供するかということです。すべてのデプロイメントには一定のリスクが伴うため、組織はそれらのリスクを制御し、低減するための効果的な手段を必要としています。この分野における課題の兆候としては、変更の失敗率が高いことや、CI/CDに対するリスク回避的な態度が挙げられます。また、厳しい納期やリリーススケジュールによってリスクがもたらされることもあります。

 

品質を向上させるための最善の方法は、デリバリーチームがユニットテストや統合テストの結果、ビルドの破損、脆弱性、インシデントをどのように処理しているかを見ることです。デプロイメントリスクの原因には、不適切なテスト、構成管理の不適切なソリューション、再現性のない環境、定義・管理・保守が不十分な環境などが含まれることがあります。

 

もし、あなたの課題がアプリケーションの変更や開発者のワークフローにあるのなら、CIの改善とベストプラクティスに焦点を当てることをお勧めします。そうでない場合は、インフラストラクチャー・アズ・コードのベストプラクティスを調べて、環境インフラストラクチャーをよりよく理解し、制御することが有効です。最後に、開発者と運用の間のフィードバックループを可能にすることは、CI/CDのイノベーションとソフトウェアデリバリーのためのより良いプロセスの推進に役立つ。

 

モダナイゼーションとクラウドマイグレーションを加速する

 

企業がマイクロサービス・アーキテクチャを採用したり、クラウド・プロバイダー間を移行したりすると、CI/CDパイプラインが厄介な存在になったり、変化を加速させたりすることがあります。

 

近代化プロジェクトの場合、サービス数の増加により、作成・管理するパイプラインの数が増加する必要があります。新しいパイプラインを作成するのに数時間かかるとしたら、その企業は新しいマイクロサービス用のパイプラインを作成するのに数百時間を費やすことになります。また、新しく作成したパイプラインの更新やメンテナンスが必要な場合、CI/CDの維持に必要な労力が山積みになってしまうでしょう。

 

同様に、クラウド移行の場合、CI/CDパイプラインを新しいクラウド変数用に書き換える必要があります。この作業により、クラウドの移行は数ヶ月に及ぶこともあるのです。

HarnessでCI/CDパイプラインのよくある課題を回避

ソフトウェアのデリバリーは簡単ではありません。それには、適切な人材、プロセス、テクノロジーが必要です。適切なリソースとガイダンスがあれば、これらの主要な課題に対処し、解決することが可能です。

 

これらの課題を解決するために、HarnessのCI/CDソリューションを試してみたい方は、今すぐ無料トライアルをご利用ください。無料トライアルを開始する前に、さらに詳しい情報をお知りになりたい場合は、パイプラインパターンに関するeBookをダウンロードしてください。

 

より良いソフトウェアデリバリを簡素化し、スケーリングすることに乾杯!


この記事はHarness社のウェブサイトで公開されているものをDigital Stacksが日本語に訳したものです。無断複製を禁じます。原文はこちらです。

Harnessに関するお問い合わせはお気軽にお寄せください。

お問い合わせ