# Build on Your App

You've created your first Forge application — now add real capabilities. Follow this guided path to evolve your project from a starter API into a production-ready service.

[TOC]

---

## 🛤️ Guided Path

Work through these steps in order. Each builds on the previous, but you can skip ahead if a capability isn't relevant to your project.

---

### 1. Add Authentication

Secure your API with Entra ID (corporate) or Okta (external) authentication.

| | |
|---|---|
| **What you'll do** | Configure authentication providers and protect your endpoints |
| **Guide** | [Security Overview](../security/index.md) |
| **Deployment config** | [Deployment Workflow](../security/configuration/deployment-workflow.md) |
| **Difficulty** | Intermediate |

---

### 2. Connect to Data

Add a database or storage backend to persist your application data.

| | |
|---|---|
| **What you'll do** | Provision and connect to Cosmos DB or Azure Blob Storage |
| **Guide (Cosmos DB)** | [Cosmos DB NoSQL](../development/data/cosmos-nosql.md) |
| **Guide (Blob Storage)** | [Blob Storage](../development/data/storage-account.md) |
| **Foundry example** | [Blob Storage Integration](../../foundry/aspire-blobstorage.md) |
| **Difficulty** | Intermediate |

---

### 3. Call External APIs

Integrate with downstream services using generated Kiota clients and proper scope configuration.

| | |
|---|---|
| **What you'll do** | Add a Kiota-generated API client with authentication |
| **Guide** | [Downstream API Calls](../development/calling-apis.md) |
| **Difficulty** | Intermediate |

---

### 4. Add Eventing

Publish and subscribe to domain events using Azure Service Bus.

| | |
|---|---|
| **What you'll do** | Create an event publisher or subscribe to events from other services |
| **Guide (Publishing)** | [Event Service](../development/eventing/event-service.md) |
| **Guide (Subscribing)** | [Event Subscriptions](../development/eventing/event-subscription.md) |
| **Foundry example** | [Event Orchestration Example](../../foundry/event-orchestration.md) |
| **Difficulty** | Intermediate |

---

### 5. Configure Feature Flags

Control feature rollout at runtime without redeploying your application.

| | |
|---|---|
| **What you'll do** | Define feature flags and gate endpoints or UI behind them |
| **Guide** | [Feature Flags](../development/feature-flags.md) |
| **Foundry example** | `foundry/dotnet/feature-flags/` |
| **Difficulty** | Beginner |

---

### 6. Deploy Your App

Generate pipeline YAML from your AppHost with `aspire publish`, then run the pipelines in Azure DevOps to deploy to Azure.

| | |
|---|---|
| **What you'll do** | Use `aspire publish` to generate Azure DevOps pipeline YAML, then trigger your pipelines to deploy |
| **Guide** | [Aspire Publish](../development/aspire-publish.md) |
| **Guide (Zero-downtime)** | [Blue-Green Deployments](../development/blue-green-deployments.md) |
| **Difficulty** | Advanced |

---

### 7. Observe in Production

Monitor your application with OpenTelemetry traces, metrics, and logs in Dynatrace.

| | |
|---|---|
| **What you'll do** | Verify telemetry is flowing and use dashboards for troubleshooting |
| **Reference (OpenTelemetry)** | [OpenTelemetry](../../reference/tools/opentelemetry.md) |
| **Reference (Dynatrace)** | [Dynatrace](../../reference/tools/dynatrace.md) |
| **Reference (Diagnostics)** | [Diagnostic IDs](../../reference/diagnostics/index.md) |
| **Difficulty** | Beginner |

---

## 💡 Tips

- **Start with authentication** if your API will be accessed by users or other services — it's easier to add early than retrofit later.
- **Feature flags are low-effort** and can be added at any point in your development lifecycle.
- **Observability is automatic** — Forge applications emit OpenTelemetry data by default via Aspire. Focus on learning how to read the dashboards rather than configuration.

---

## 📚 Related Documentation

- [Your First Forge Application](index.md) — The tutorial that brought you here
- [Development Guides](../development/index.md) — All development how-to guides
- [Security Guides](../security/index.md) — Authentication and authorization
- [Tools Reference](../../reference/tools/index.md) — Platform tool documentation
