Release Strategy and Pipeline Implementation
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.
Get Continuous Deployment updates by email
Short, practical lessons and course updates from Rumman Ansari. No spam.