> For the complete documentation index, see [llms.txt](https://developer.harness.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://developer.harness.io/release-orchestration/troubleshooting-and-resources/release-orchestration-use-cases/multi-service-release-example.md).

# Multi-Service Release Example

Walkthrough of a multi-service release scenario

This example demonstrates how to orchestrate a release across multiple interdependent services.

### What you will learn from this topic <a href="#what-you-will-learn-from-this-topic" id="what-you-will-learn-from-this-topic"></a>

* How to design a [process](#process-design) that sequences multiple dependent services across preparation, build, testing, staging, and production phases.
* How to configure [dependency management](#dependency-management) so a service deploys only after the services it depends on complete.
* How to use [parallel execution](#parallel-execution) for independent builds and tests while keeping production deployment sequential.

### Scenario <a href="#scenario" id="scenario"></a>

Release three services:

* **Service A**: Core service
* **Service B**: Depends on Service A
* **Service C**: Depends on Service A and B

### Process design <a href="#process-design" id="process-design"></a>

The process is organized into five phases, from preparation through production.

**Phase 1: Preparation**

* Code freeze
* Branch creation
* Dependency validation

**Phase 2: Build**

Build all services in parallel:

* Build Service A
* Build Service B
* Build Service C

**Phase 3: Integration testing**

* Deploy to the integration environment
* Run integration tests
* Validate dependencies

**Phase 4: Staging**

* Deploy to staging
* User acceptance testing
* Approval required

**Phase 5: Production**

* Production approval
* Deploy Service A
* Deploy Service B (after A)
* Deploy Service C (after A and B)
* Post-deployment validation

### Key features <a href="#key-features" id="key-features"></a>

The process relies on two key features: dependency management and parallel execution.

### Dependency management <a href="#dependency-management" id="dependency-management"></a>

* Service B depends on Service A
* Service C depends on Services A and B
* Sequential deployment in production

### Parallel execution <a href="#parallel-execution" id="parallel-execution"></a>

* Build phase: Parallel builds
* Testing: Parallel where possible
* Production: Sequential deployment

### Troubleshooting

If something goes wrong, these pages cover the most likely causes:

* Go to [Execution Failures](/release-orchestration/troubleshooting-and-resources/release-orchestration-troubleshooting/execution-failures.md) to diagnose an activity or phase that fails.
* Go to [Stuck Releases](/release-orchestration/troubleshooting-and-resources/release-orchestration-troubleshooting/stuck-releases.md) to resolve a release that stops progressing.

### Next steps <a href="#related-topics" id="related-topics"></a>

Go to [End-to-end release walkthrough](/release-orchestration/troubleshooting-and-resources/release-orchestration-use-cases/end-to-end-release-walkthrough.md) to follow a single release from start to finish.

{% @harness-feedback/feedback %}
