Technology & Requirements

Deployment Process — Staging, Production, and Rollback

A non-technical explanation of the software deployment process (staging, production, rollback) for outsourced development. Covers the key concepts clients need to understand for safe deployments.

Freesi·
Summary in 3 Lines
  • A two-stage deployment of Staging (test) followed by Production (live) is the minimum safety measure.
  • You must be able to "roll back" to the previous version if issues arise after deployment.
  • Setting up CI/CD (automated deployment pipeline) reduces deployment time from 1 hour to 5 minutes.

Types of Deployment Environments

Software deployment involves multiple environment stages. Here is an explanation accessible to non-developers.

Local — The Developer's Computer

The environment where developers write and test code. Not accessible externally.

Development Server — Shared by the Dev Team

An environment where code from multiple developers is merged and tested. May be unstable.

Staging — Test Environment

A final testing environment with the same configuration as production. This is where the client performs acceptance testing. Uses test data, not real data.

Production — Live Environment

The environment where actual users access the service. Must be the most stable; code should never be modified directly here.

EnvironmentWho AccessesDataStability
LocalDeveloperDummyUnstable
DevelopmentDev TeamTestUnstable
StagingClient + Dev TeamTestStable
ProductionReal UsersRealVery Stable

Minimum Configuration: At least staging + production (2 environments) is mandatory. "Deploying directly to production" is extremely risky.

A Safe Deployment Process

STEP 1: Code Review

Another developer reviews the code. Bugs, security vulnerabilities, and code quality are checked in advance.

STEP 2: Automated Testing (CI)

Tests run automatically when code is merged. If tests fail, deployment is blocked.

STEP 3: Staging Deployment

Deploy to the staging environment first and review together with the client.

STEP 4: Approval (Go/No-Go)

If no issues are found in staging, approve the production deployment.

STEP 5: Production Deployment

Deploy to the production environment. When possible, deploy during low-traffic hours.

STEP 6: Monitoring (30 minutes to 1 hour post-deployment)

Monitor error rates, response times, etc. immediately after deployment. Roll back immediately if anomalies are detected.

Rollback — Reverting to a Previous Version

What is a rollback? When a newly deployed version has issues, it means reverting to the previous working version.

When rollback is needed:

The service goes down after deployment

Core features (payment, login) stop working

Serious data errors occur

Performance degrades sharply

Rollback Strategies:

StrategyMethodTime RequiredDifficulty
Code RollbackRedeploy previous version code5-15 minLow
Blue-Green DeploymentSwitch traffic to previous server1-5 minMedium
Canary DeploymentOnly some users get the new versionInstantHigh
DB RollbackRestore from DB backup30 min - hoursVery High

Key takeaway: Deployments that include DB structure changes are very difficult to roll back. Test these deployments especially carefully and ensure backups are in place before proceeding.

What the client should ask: "If something goes wrong, how quickly can we revert to the previous version?" — always ask the development agency this question.

CI/CD Pipeline

What is CI/CD? A system that automates the process from code change to testing to deployment.

CI (Continuous Integration)

Automatically runs builds and tests when code is merged.

CD (Continuous Deployment/Delivery)

Automatically deploys code that passes tests to staging/production.

Benefits of CI/CD:

Deployment time: 1 hour (manual) -> 5 minutes (automated)

Eliminates human error (removes manual steps)

Increases deployment frequency (weekly -> multiple times per day)

Early problem detection (automated tests)

CI/CD Tools:

ToolCostFeatures
GitHub ActionsFree (public repos)GitHub integration, easiest
VercelFree to PaidAutomatic frontend deployment
AWS CodePipelinePaidAWS ecosystem integration
JenkinsFree (open source)Highly customizable, complex setup

At the MVP stage, the GitHub Actions + Vercel combination is free and sufficient. As you scale, consider transitioning to an AWS-based setup.

Want to discuss your project in detail?

Enter your requirements on Freesi, and AI will instantly provide an estimated quote.

Get a Free Quote

Frequently Asked Questions

Does the staging server cost extra?
Yes, it requires a separate server from production, so there is an additional cost. However, staging can run on lower specs than production, so it typically costs around 30,000-100,000 KRW per month. Think of it as insurance against deployment incidents.
Does the agency or the client handle deployments?
During the development phase, the agency typically handles deployments. This often continues into the maintenance phase as well, but if CI/CD is in place, the client can deploy with the push of a button.

Related Guides