Release Strategy and Pipeline Implementation
Table of Content:
Releasing Application
-
Create a release strategy.
-
Plan the first release.
-
Release the application.
Release Strategy
Details to be present in the strategy are:
-
Asset and configuration management strategy
-
Technology details
-
Deployment pipeline implementation plan
-
Test environment details
-
Steps to manage configuration
-
External system interface details (how and at what stage are they tested).
Release Strategy...
-
Disaster recovery plan
-
Service-level agreements
-
Production sizing and capacity planning
-
Archiving strategy
-
Steps to handle defects
-
Ways to handle upgrades, including data migration
-
Application support management
Release Plan
Release plan details the steps to:
-
Deploy the application first time.
-
Smoke-test the application and its services.
-
Back out changes, if the deployment goes wrong.
-
Backup and restoration of the application’s state.
Release plan details the steps to:
-
Upgrade without disturbing current state.
-
Restart or redeploy when the application fails.
-
Monitor the application.
-
Perform data migrations.
Release plan contains:
-
Information on the location of the logs.
-
Description of the information maintained in logs.
-
Issue log of problems and solutions from previous deployments.
Enabling Application Release
To ensure the application is releasable at any given time:
-
Hide new functionality until changes are done.
-
Perform incremental changes, that is releasable.
-
Define components that change at a different phase.
-
Use branch by abstraction to make large-scale changes.
Implementing Pipeline
To implement a pipeline:
-
Identify the value stream (the processes of a project).
-
Automate build and deployment process.
-
Automate code analysis and tests.
-
Evolve the pipeline, based on the metrics collected.
Pipeline Practices
-
Build the binaries only once.
-
Create a script for each stage in the pipeline.
-
Choose right technology to deploy the application.
-
Deploy in the same way to all environments.
Pipeline Practices...
-
Deployments must be smoke-tested.
-
Deploy into a production-like environment.
-
Each change should propagate to the pipeline instantly.
-
If any part of the pipeline fails, stop the line.
-
Developers and operations must collaborate on deployment process.
-
Evolve your deployment system incrementally.
Check if Project Uses CD?
Ways to determine if a project is using the concepts of CD:
-
At any given time, a particular version of the software can be deployed to any environment (ready to deploy software).
-
Automated feedback received on any change made.
Learn Continuous Deployment from scratch! This beginner-level course covers CI/CD pipelines, automation, and deployment strategies. Perfect for developers, testers, and IT professionals looking to streamline software delivery.