Deployment

1. What is Deployment?

📌 Definition:

Deployment is the process of delivering a software application from the development environment to the production environment so that end-users can start using it.

💡 Simply put: Deployment is about making software live for actual use by customers or employees.


🎯 2. Why is Deployment Important?

Reason

Benefit

Delivers value to users

Users can access and benefit from the system.

Brings software to production

Moves application from testing to real-world use.

Enables feedback

Real users can provide insights for improvement.

Generates business impact

Software starts contributing to business goals.


3. Types of Deployment

Deployment Type

Description

Example

Manual Deployment

Human-triggered steps (e.g., uploading files).

Manually uploading code to a server.

Automated Deployment (CI/CD)

Uses automation tools for faster, error-free deployments.

Jenkins pipeline that deploys code automatically.

On-Premises Deployment

Installed on company-owned hardware.

Corporate internal software.

Cloud Deployment

Hosted on cloud platforms (AWS, Azure, GCP).

SaaS applications hosted on AWS.

Containerized Deployment

Using Docker, Kubernetes for scalable deployments.

Microservices in Docker containers.


4. Deployment Phases / Steps

Phase

Description

Build Release Package

Prepare the final code and resources.

Testing in Staging

Final testing in an environment similar to production.

Deployment Planning

Define when, how, and by whom deployment occurs.

Production Deployment

Move system to live/production.

Post-Deployment Validation

Verify if deployment is successful (Smoke Testing).

Monitoring and Support

Monitor performance and fix any issues.


5. Deployment Methods

Method

Explanation

Big Bang Deployment

Release entire system at once.

Phased Deployment

Gradually release in stages (e.g., by user group).

Blue-Green Deployment

Two identical environments (blue & green); swap traffic to new version when ready.

Canary Deployment

Release to a small user group before full launch.

Rolling Deployment

Gradually replace old version with new one without downtime.


6. Tools for Deployment

Purpose

Examples

Continuous Integration/Deployment (CI/CD)

Jenkins, GitLab CI, GitHub Actions, CircleCI.

Container Orchestration

Kubernetes, Docker Swarm.

Infrastructure as Code (IaC)

Terraform, AWS CloudFormation.

Monitoring Tools

Prometheus, Grafana, New Relic, Datadog.

Cloud Services

AWS, Microsoft Azure, Google Cloud Platform.


7. Role of Business Analyst (BA) in Deployment

BA Activity

Purpose

Communicate with stakeholders

Inform users and stakeholders about go-live.

Coordinate UAT feedback incorporation

Ensure user feedback is addressed pre-launch.

Change management

Support training and transition to the new system.

Monitor business impact

Ensure system meets business goals post-launch.

Risk identification and mitigation

Identify potential deployment risks and solutions.


8. Best Practices for Deployment

Best Practice

Reason

Automate deployment

Reduces errors, speeds up process.

Test in staging environment

Ensure smooth deployment by simulating production.

Monitor system post-deployment

Quickly identify and fix issues.

Have rollback plan

Quickly revert if issues are found.

Communicate with users

Prepare users for changes.

Deploy during low-usage hours

Minimize user impact.

Use versioning

Track and manage released versions.


9. Example of Deployment Process (Simplified)

Step

Description

Step 1: Code Freeze

Stop new changes; stabilize for deployment.

Step 2: Build Package

Final code compiled into deployable units.

Step 3: Staging Deployment

Deploy in test environment to validate.

Step 4: Approval

Sign-off by stakeholders, QA, and BAs.

Step 5: Production Deployment

Move to live environment.

Step 6: Post-Deployment Testing

Run sanity tests to ensure system works.

Step 7: Monitoring and Support

Watch system behavior and handle issues.


10. Summary of Deployment

Aspect

Explanation

Definition

Releasing software to production for end-users.

Types

Manual, Automated, Cloud, On-Premises.

Methods

Big Bang, Phased, Blue-Green, Canary, Rolling.

Tools

Jenkins, Docker, Kubernetes, AWS, Azure.

BA Role

Support in communication, change management, UAT follow-up.

Last updated