Continuous Delivery

定義: CD 別名継続的デリバリー

継続的デリバリーは、IT ツールの開発に関連する問題を解決します。これにより、大規模なチームを動員することなく、エンドユーザーの要件に効果的に対応し、ソフトウェアを継続的に改善することが可能になります。以下に詳細を示します。

継続的デリバリー: それは何ですか?

継続的デリバリーは、専用のインフラストラクチャを使用してソフトウェアまたはアプリケーションのテスト、改善、展開を自動化する手段を提供します。このアプローチを利用することで、開発者は開発中のツールに影響を与えるバグを迅速に特定して修正することができます。

この方法は DevOps 方法の柱の 1 つであり、現在、新しいテクノロジーの分野で運用されているあらゆる構造に​​その役割を果たしています。特に、チームはいつでも展開できるように、改良されたバージョンを常に用意できるようになります。

チームが何よりも目指しているのは、有名な「フィードバック ループ」から身を守ることです。適切なエコシステムに依存することで、管理者はエンドユーザーからのフィードバックを期待できるようになります。したがって、コードは定期的にテスト環境 (UAT) に送信され、アプリケーションの展開前にアプリケーションのパフォーマンスをより適切に測定できるようになります。

機能原理

このアプローチは、ワークフローを形成する「継続的デリバリー パイプライン」に基づいています。これにより、バグが未解決のまま残されることがないよう、適切に設計されたプロセスが提供されます。したがって、インフラストラクチャは、開発者がコードを検証するとすぐに、多数のテストをサポートし、実行します。

実行されたテストの後、システムはバグを検出して解決します。その後、実行可能ファイルをマウントし、それを別の環境にルーティングして、オペレーターによって検証されます。新しいバージョンがチームの期待を満たしている場合は、いつでも必要に応じてデプロイできます。

継続的デリバリーコンポーネントの概要

継続的デリバリーが成功するかどうかは、次の 3 つの要素を習得するかどうかにかかっています。

  • 継続的統合: プロジェクトに参加する各開発者は、自分の責任の下でコードを統合する必要があります。すべてがコンパイルされ、単一のディレクトリに統合されます。アプリケーションの適切な機能を損なう可能性のある競合から保護するには十分です。
  • 構成管理: 開発チームは、機能とエンドユーザーの要件を単純な構成に変換する必要があります。この抽象化作業は、共同作業者がユーザーのニーズを満たす、より安定したアプリケーションを設計するのに役立ちます。
  • 「テスト駆動」アプローチ: テスト結果が開発プロセスの指針となります。したがって、ソフトウェアを継続的に改善するには、これらのテストのパフォーマンスと実行可能ファイルの展開を高速化するためのあらゆる措置を講じることが適切です。

継続的デリバリー: 多くのメリット

多くの専門企業は、コストを理由に継続的デリバリーの導入を躊躇しています。このアプローチでは、適切なインフラストラクチャをセットアップするためにかなり多額の財政投資が必要です。

とはいえ、大多数の専門家は、この投資の大部分が償却されることに同意しています。確かに、「フィードバック ループ」は、アプリケーションの起動を遅らせることにより、IT 分野に携わる企業にとって特にコストがかかります。

継続的デリバリーにより、企業はツールの開発に伴う不確実性から解放されます。プロダクトコードの品質を向上させることができます。信頼性が高く、より安全で、より効率的なユーティリティを作成するには十分です。

人間の介入を一切加えずに行うことで、テスター側の過失に関連するエラーからも身を守ることができます。プリプロダクションはスムーズに進み、アプリケーションがすべてのテストに合格すると、チームはようやくリラックスできるようになります。

継続的デリバリは、チームがソフトウェアを継続的に改善できるように設計されていることに注意してください。ユーザーからのフィードバックはできるだけ早く処理できます。したがって、同社はチームを酷使することなく、また評判を落とす危険を冒すことなく、顧客満足度を活かしてプロジェクトを増やすことができるでしょう。

継続的デリバリー、継続的インテグレーション、継続的デプロイメント: さまざまな概念

ご想像のとおり、これらの用語は誤って関連付けられることが多く、異なる概念を指します。実際、彼らは同じ目的、つまりソフトウェア開発の特定の側面を自動化することを追求しています。ただし、提案される解決策は概念によって異なります。

継続的統合は、前に示したように、単一のコードを統合開発環境に統合することを可能にします。このアプローチの目的は、衝突を防ぎ、チーム全体が予期せぬ出来事があまり起こらずにプロジェクトを完了できるようにすることです。

継続的デリバリは、さまざまなテストを提供することで、継続的インテグレーションをさらに進化させます。これらのテストは、ソフトウェアが適切に機能することを証明する必要があります。その後、ユーザーまたは注文クライアントの要求に応じて展開されるバージョンの作成を許可するのに十分な量です。

継続的な展開に関しては、チームはユーザーのニーズとリクエストを予測します。したがって、すべてが完全に自動化され、プリプロダクション後に新しいバージョンが展開されるようになります。このような状況下では、インフラストラクチャはライフサイクル全体を通じてソフトウェアを継続的に改善します。

A lire également  定義: 混合学習