Software Deployment Flashcards
The process of delivering software
applications and updates to end users. Includes various activities
such as:
- Installation
- Configuration
- Running, and;
- Testing the software in a target environment
Software Deployment
- Installing and configuring the software on
production servers.
Deployment
Phases of Software Deployment
Preparation
Packaging
Deployment
Verification
- Ensuring the software is packaged and ready for deployment.
Preparation
- Creating installation packages, scripts, or images.
Packaging
- Testing to confirm proper deployment and functionality.
Verification
- Continuous monitoring and providing updates and patches.
Maintenance
Involves the entire process of making the
software available for use, including installation and configuration.
Software deployment
Specifically refers to the distribution of a new version or update to users.
Software release
Is the broader process that includes release
activities.
Deployment
Common Software Deployment Strategies
Blue-Green Deployment
Canary Deployment
Rolling Deployment
Feature Toggles
Big Bang Deployment
- Uses two environments, one live and one
idle, for seamless updates.
Blue-Green Deployment
- Deploys new features to a subset of users
before full release.
Canary Deployment
- Deploys the entire system at once, often riskier.
Big Bang Deployment
- Gradual software rollout to minimize downtime
Rolling Deployment
- Enables/disables features dynamically without redeploying.
Feature Toggles
Challenges in Software Deployment
Compatibility Issues
Downtime & Service Interruptions
Security Vulnerabilities
Configuration Management
User Adaptation
Software must work across different
environments.
Compatibility Issues
- Unexpected failures during
deployment.
Downtime & Service Interruptions
- Need for secure deployment to avoid
breaches.
Security Vulnerabilities
- Keeping track of software settings
and dependencies.
Configuration Management
- Training users and addressing their concerns post-deployment.
User Adaptation