継続的デリバリーにより、開発チームはソフトウェア開発ライフサイクルを通じてソフトウェアを移行するプロセスを自動化できます。
継続的デリバリーは、統合されたツールボックスをプロビジョニングする際に、以下のような多くのメリットをもたらします。
継続的デリバリーを使用する際に考慮しておくとよいベスト・プラクティスのセットを以下に示します。
継続的デリバリーのメリットを活用するには、継続的探索、継続的統合、継続的デプロイメント、オンデマンドでのリリースなど、継続的フレームワークの他の要素が必要です。
継続的デリバリー・パイプライン・ステージを使用する場合は、それらをステージ内の実行単位である個別のジョブに分割する必要があります。
継続的デリバリー・パイプラインは、開発チームに次のようなメリットをもたらします。
継続的デプロイメントは、継続的デリバリー・パイプラインの一部になり得ます。具体的には、継続的デリバリーとは、開発ライフサイクル(デリバリー・ライフサイクルと呼ばれることもある)を通してコードの移動が自動化されている状態を指します。継続的デプロイメントは、コードが必要な自動テストに合格すると、自動的に実稼働環境に移動することを指します。
継続的デプロイメントをデリバリー・パイプラインの一部にするかどうかは、ビジネス・ニーズによって異なります。ビジネスにおいて、デリバリー・チームが新しいソフトウェアや更新されたソフトウェアを実稼働環境に繰り返し、確実に、あるいは可能な限り迅速にリリースする必要がある場合、あるいはソリューションに複数の依存関係がある場合は、継続的デプロイメントが有益である可能性が高いと言えます。
継続的デプロイメントと継続的デリバリーの違いの詳細については、次のビデオを参照してください。
継続的デリバリー・ツールを使用すると、オープンソース・ツールを使用してアプリケーションを構築、デプロイ、管理できます。一連のツールを統合することにより、開発チームだけでなく運用チームに対しても、繰り返し利用でき、管理も可能なタスクを作成できます。
ツールボックスには、現在のクラウド・サービス、オープンソース・ツール、サードパーティー・ツールを含めることができますが、以下を含む継続的デリバリー・ツールも検討することをお勧めします。
強力な継続的デリバリー・パイプラインに使用できるオープンソースの継続的デリバリー・ツールには、Jenkins、Concourse CI、Spinnaker、Travis CI、GoCD、GitLab CIなどがあります。
以前は、ソフトウェアを一度リリースして、それを更新するだけでした。その後、最初と最後にのみ顧客に相談して、ソフトウェアが顧客のニーズを満たしているかどうかを確認するようになりました。
アジャイルは、継続的デリバリーのスケジュールに従ってソフトウェアを短い反復作業で制作する方法です。現在のアジャイルな継続的デリバリーのプロセスとは、定義された各機能が利用可能になるたびにコードを顧客にリリースできることを意味します。アジャイル開発と継続的デリバリーは、実稼働環境の準備が整ったらすぐに機能を顧客に提供するための鍵となります。目標は、パイプライン終了時に各機能をリリースできる状態にすることです。
過去20年間で、ソフトウェア開発は標準的なウォーターフォールの概念からより効率的なアジャイル手法に移行し、大きな変化を遂げてきました。適応するには、アジャイル、DevOps、継続的デリバリーに重点を置いたアプローチに移行する必要があります。継続的デリバリー・パイプラインの一部として、これらの集中化されたプロセスにより、より信頼できる高品質なソフトウェアのリリースと更新が可能になります。
アジャイル開発を通じてより迅速かつ小規模なソフトウェア・リリースを行うと、ソフトウェア開発の個々の段階に重点が置かれるようになります。同時に、DevOpsを利用すれば、「全体像」と文化の変化に常に集中できます。このアプローチでは、開発部門と運用部門が密接に融合し、コーディングからテスト、デプロイメント、サポートに至るまで、ソフトウェア開発ライフサイクル全体に取り組む1つのチームが生まれます。
オンプレミス、クラウド、またはメインフレームのあらゆるアプリケーションのソフトウェア配信を自動化します。
DevOpsソフトウェアとツールを使用して、複数のデバイスや環境でクラウドネイティブ・アプリケーションを構築、デプロイ、管理します。
IBMのクラウド・コンサルティング・サービスで新しい機能にアクセスし、ビジネスの俊敏性を高めましょう。ハイブリッドクラウド戦略や専門家とのパートナーシップを通じて、ソリューションを共創し、デジタル・トランスフォーメーションを加速させ、パフォーマンスを最適化する方法をご覧ください。