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.
🛤️ 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 |
| Deployment config | Deployment Workflow |
| 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 |
| Guide (Blob Storage) | Blob Storage |
| Foundry example | Blob Storage Integration |
| 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 |
| 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 |
| Guide (Subscribing) | Event Subscriptions |
| Foundry example | Event Orchestration Example |
| 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 |
| Foundry example | foundry/dotnet/feature-flags/ |
| Difficulty | Beginner |
6. Deploy Your App¶
If you haven't yet, follow "From Local to Deployed" in the tutorial to publish your project and create its Azure DevOps repository and pipelines.
From there, use aspire publish to regenerate pipeline YAML whenever you add or change services, security, or infrastructure in your AppHost — then commit and push to deploy.
| What you'll do | Use aspire publish to regenerate Azure DevOps pipeline YAML as your AppHost evolves, then commit and push to deploy |
| Guide | Aspire Publish |
| Guide (Zero-downtime) | Blue-Green Deployments |
| 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 (Dynatrace) | Dynatrace |
| Reference (Diagnostics) | Diagnostic IDs |
| 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.
🔭 What's Next¶
Once you've worked through the capabilities above, there's more of the platform to explore:
- See the full CLI reference —
saifCLI Reference documents every command, including ones not covered in this guide (saif service search,saif app search,saif agent init, and more). - Discover other Forge services — Use
saif service search <name>(or thesearch_servicesMCP tool if you havesaif agent initset up) to find existing services and their repositories before building something new from scratch. - Browse example implementations — The Foundry catalog has runnable examples for common integration patterns.
📚 Related Documentation¶
- Your First Forge Application — The tutorial that brought you here
- Development Guides — All development how-to guides
- Security Guides — Authentication and authorization
- Tools Reference — Platform tool documentation