|
1 | 1 | # Infrastructure
|
2 | 2 |
|
3 |
| -The infrastructure is configured as code via [Terraform](https://www.terraform.io/), for [various reasons](https://techcommunity.microsoft.com/t5/fasttrack-for-azure/the-benefits-of-infrastructure-as-code/ba-p/2069350). Within the `CDT Digital CA` directory ([how to switch](https://learn.microsoft.com/en-us/azure/devtest/offer/how-to-change-directory-tenants-visual-studio-azure)), there are two subscriptions, with a single [resource group](https://docs.microsoft.com/en-us/azure/azure-resource-manager/management/manage-resource-groups-portal) under each: |
4 |
| - |
5 |
| -- `CDT/ODI Development` - Meant for experimentation with short-lived resources |
6 |
| -- `CDT/ODI Production` - All resources in here should be reflected in Terraform in this repository. The exception is secrets, such as values under [Key Vault](https://azure.microsoft.com/en-us/services/key-vault/) and [App Service application settings](https://docs.microsoft.com/en-us/azure/app-service/configure-common#configure-app-settings). [`prevent_destroy`](https://developer.hashicorp.com/terraform/tutorials/state/resource-lifecycle#prevent-resource-deletion) is used on these Resources. |
7 |
| - |
8 |
| -For browsing the [Azure portal](https://portal.azure.com), [switching your `Default subscription filter`](https://docs.microsoft.com/en-us/azure/azure-portal/set-preferences) to only `CDT/ODI Production` is recommended. |
| 3 | +The infrastructure is configured as code via [Terraform](https://www.terraform.io/), for [various reasons](https://techcommunity.microsoft.com/t5/fasttrack-for-azure/the-benefits-of-infrastructure-as-code/ba-p/2069350). |
9 | 4 |
|
10 | 5 | ## Architecture
|
11 | 6 |
|
@@ -66,6 +61,33 @@ flowchart LR
|
66 | 61 |
|
67 | 62 | On this page, "slot" will refer to the true [App Service slots](https://docs.microsoft.com/en-us/azure/app-service/deploy-staging-slots) for the different environments, or the overarching App Service resource for `production`. The latter is basically an implicit slot.
|
68 | 63 |
|
| 64 | +## Ownership |
| 65 | + |
| 66 | +The following things in Azure are managed by the California Department of Technology (CDT)'s DevSecOps (OET) team: |
| 67 | + |
| 68 | +- Subcriptions |
| 69 | +- [Resource Groups](https://learn.microsoft.com/en-us/azure/azure-resource-manager/management/manage-resource-groups-portal) |
| 70 | +- Networking |
| 71 | +- Front Door |
| 72 | +- IAM |
| 73 | +- Service connections |
| 74 | + |
| 75 | +## Environments |
| 76 | + |
| 77 | +Within the `CDT Digital CA` directory ([how to switch](https://learn.microsoft.com/en-us/azure/devtest/offer/how-to-change-directory-tenants-visual-studio-azure)), there are two subscriptions, with a single [resource group](https://docs.microsoft.com/en-us/azure/azure-resource-manager/management/manage-resource-groups-portal) under each: |
| 78 | + |
| 79 | +- `CDT/ODI Development` - Meant for experimentation with short-lived resources |
| 80 | +- `CDT/ODI Production` - Used for the `dev`, `test`, and `prod` environments, which are [slots in App Service](#benefits-application) |
| 81 | + |
| 82 | +All resources in the `CDT/ODI Production` Resource Group should be reflected in Terraform in this repository. The exceptions are: |
| 83 | + |
| 84 | +- Secrets, such as values under [Key Vault](https://azure.microsoft.com/en-us/services/key-vault/) and [App Service application settings](https://docs.microsoft.com/en-us/azure/app-service/configure-common#configure-app-settings). [`prevent_destroy`](https://developer.hashicorp.com/terraform/tutorials/state/resource-lifecycle#prevent-resource-deletion) is used on these Resources. |
| 85 | +- [Things managed by DevSecOps](#ownership) |
| 86 | + |
| 87 | +You'll see these referenced in Terraform as [data sources](https://developer.hashicorp.com/terraform/language/data-sources). |
| 88 | + |
| 89 | +For browsing the [Azure portal](https://portal.azure.com), [switching your `Default subscription filter`](https://docs.microsoft.com/en-us/azure/azure-portal/set-preferences) to only `CDT/ODI Production` is recommended. |
| 90 | + |
69 | 91 | ## Monitoring
|
70 | 92 |
|
71 | 93 | We have [ping tests](https://docs.microsoft.com/en-us/azure/azure-monitor/app/monitor-web-app-availability) set up to notify about availability of the dev, test, and prod deployments. Alerts go to [#benefits-notify](https://cal-itp.slack.com/archives/C022HHSEE3F).
|
|
0 commit comments