Home

Deploying

Deploying is the act of moving a software artifact from development into a production environment where it can be accessed by users. It is distinct from releasing, which is the public availability of a product or feature; deployment concerns the technical steps and environments involved, while release concerns timing and communication.

Typical deployments follow a pipeline that may include building and packaging, automated tests, configuration and secret

Deployment strategies influence risk and downtime. Blue-green deployment replaces the entire production stack at once with

Key practices include automation of builds and deployments, infrastructure as code to manage environments, containerization and

management,
and
deployment
to
a
sequence
of
environments
such
as
development,
test,
staging,
and
production.
Continuous
integration
and
continuous
delivery
(or
deployment)
are
common
practices
that
aim
to
automate
and
accelerate
these
steps
while
preserving
quality
and
traceability.
a
parallel
environment;
canary
deployment
releases
changes
to
a
small
subset
of
users
before
broader
rollout;
rolling
deployment
updates
instances
incrementally;
feature
flags
enable
controlled
activation
of
new
functionality
within
the
same
code
base.
orchestration
when
appropriate,
monitoring
and
observability
to
detect
issues,
and
explicit
rollback
plans
and
data
migrations.
Security,
compliance,
and
audit
trails
should
be
integrated
into
the
process.
Metrics
such
as
lead
time
for
changes,
deployment
frequency,
change
failure
rate,
and
mean
time
to
recovery
(MTTR)
guide
improvement.