# Environments

## 📋 Environment Descriptions

| Environment | Description                                                       | Approver              | Deployment                 |
| ----------- | ----------------------------------------------------------------- | --------------------- | -------------------------- |
| Local       | Active Development on feature                                     | N/A                   | N/A                        |
| Test        | Feature is finished and deploy to full env                        | N/A                   | Continuous Deployment (CD) |
| QA          | Feature is ready for Testers(DEV/QA)                              | Peer/QA               | Continuous with Approval   |
| UAT         | Business and Business Analyst Validate feature meets requirements | Product Owner/Manager | Continuous with Approval   |
| Staging     | Pre Production ready for prod                                     | Peer                  | Continuous with Approval   |
| Production  | Swapped From Staging                                              | Senior Peer/Manager   | Swap with Approval         |

## 🔄 Deployment Flow Diagram

```mermaid
sequenceDiagram
    Local ->> Test: Feature is Complete and ready for integration in Full Environment
    Test ->> Local: Bug was found in feature in full environment
    Test ->> QA: Feature passed integration test is ready for QA Testing
    QA ->> Local: Bug was found in QA Testing
    QA ->> UAT: QA Testing passed ready for Business Users and BA's to Test
    UAT ->> Local: Bug was found by Business Users
    UAT ->> Staging: Application passed on UAT tests and is ready to smoke tested in production like env
    Staging ->> Local: Issue found in Production Tests
    Staging ->> Production: Swap and Ready for Production
    Production ->> Staging: Issues Discovered ready for rollback
```

## 🔗 Related

Each environment of a service runs in its own Azure subscription, and an environment maps to a
specific Entra application registration and App Service. See
[Service ↔ Azure Resource Model](./service-azure-resource-model.md) for the naming invariant,
environment-to-subscription topology, and resource discovery strategy.
