## Description
This architecture allows you to create and run a complete web application using service app, including the database, storage and the DNS zone in a single region.
### Data flow
1. A user issues an HTTPS request to the App Service's DNS domain.
2. This domain automatically points to your App Service's built-in public IP.
3. The TLS connection is established from the client directly to app service. The certificate is managed completely by Azure.
**N.B:**
- The Terraform code is automatically generated with best practices and contains variables that you can customize to fir your needs.
- You have full control to change, add, delete resources or their configuration. The newly generated code will reflect these changes.
- You can replace some resources with Terraform modules.
> terraform apply status: successful
## Architecture components
Here are all the components of this architecture:
- Resource group
- DNS zone and a record
- App service plan
- App service
- SQL server and database
- Storage account, container and a blob.
## Requirements
| Name | Configuration |
| --- | --- |
| Terraform | all versions |
| Provider | Azure RM |
| Provider version | >= 3.88.0 |
| Access | Contributor service principle |
## How to use the architecture
Clone the architecture and modify the following variables according to your needs:
| Variable | Description |
| --- | --- |
| app_service_name | The name of the app service |
| app_service_plan_name | The name of the service plan |
| app_service_sku_size | The SKU of the app service. Default: `S1` |
| app_service_tier | The tier of the app service. Default: `Standard` |
| rg_name | The name of the resource group |
| sql_db_name | The name of the database |
| sql_server_admin_password | The password of the admin user of the SQL server |
| sql_server_admin_user | The username of the administrator of SQL server |
| sql_server_name | SQL server name |
| tags | The tags that will be applied to all resources |
**N.B:**
- Feel free to remove the resources that are not relevant to your use-case.
- Some variables have default values, please change it if it doesn't fit your deployment.
## Maintainers
You can reach out to these maintainers if you need help or assistance:
- [Brainboard team](mailto:support@brainboard.co)
Brainboard is an AI driven platform to visually design and manage cloud infrastructure, collaboratively. It's the only solution that automatically generates IaC code for any cloud provider, with an embedded CI/CD.