Skip to content

Commit 5d5e043

Browse files
committed
feat: enhance Azure PaaS documentation with improved structure, clarity, and additional steps
1 parent 99594e0 commit 5d5e043

File tree

5 files changed

+183
-104
lines changed

5 files changed

+183
-104
lines changed

04-cloud/azure/paas/01-sql-database/README.md

Lines changed: 25 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,16 @@
1-
# Azure SQL Database
1+
# 🗄️ Azure SQL Database
22

3-
Se trata de un servicio PaaS de Azure que nos permite crear bases de datos relacionales en la nube sin necesidad de tener que administrar la infraestructura subyacente.
3+
## ¿Qué es Azure SQL Database?
44

5-
Para este ejemplo, vamos a crear una base de datos en Azure SQL Database y vamos a conectarla con la API de Tour of heroes.
5+
Es un servicio **PaaS (Platform as a Service)** de Azure que te permite crear bases de datos relacionales en la nube sin preocuparte por la infraestructura subyacente. ¡No más administración de servidores! 🎯
66

7-
Lo primero que necesitas es cargar algunas variables de entorno:
7+
En este ejemplo, vamos a:
8+
- ✅ Crear una base de datos en Azure SQL Database
9+
- ✅ Conectarla con la API de Tour of Heroes
10+
11+
## 📝 Paso 1: Configurar variables de entorno
12+
13+
Carga estas variables en tu terminal:
814

915
```bash
1016
# Database variables
@@ -15,8 +21,7 @@ startIp="0.0.0.0"
1521
endIp="0.0.0.0"
1622
```
1723

18-
o si estás en Windows:
19-
24+
**En Windows PowerShell:**
2025
```pwsh
2126
# Database variables
2227
$SQL_SERVER_NAME="heroes-sql-server-$RANDOM"
@@ -26,9 +31,9 @@ $startIp="0.0.0.0"
2631
$endIp="0.0.0.0"
2732
```
2833

29-
## Creando la base de datos
34+
## 🚀 Paso 2: Crear el servidor de base de datos
3035

31-
Para crear una base de datos en Azure SQL Database, lo primero que tienes que hacer es crear un servidor de base de datos. Para ello, ejecuta el siguiente comando:
36+
Ejecuta este comando para crear un servidor SQL en Azure:
3237

3338
```bash
3439
echo "Creating $SQL_SERVER_NAME in $LOCATION..."
@@ -40,8 +45,7 @@ az sql server create --name $SQL_SERVER_NAME \
4045
--admin-password $SQL_PASSWORD
4146
```
4247

43-
o si estás en Windows:
44-
48+
**En Windows PowerShell:**
4549
```pwsh
4650
echo "Creating $SQL_SERVER_NAME in $LOCATION..."
4751
@@ -52,9 +56,11 @@ az sql server create --name $SQL_SERVER_NAME `
5256
--admin-password $SQL_PASSWORD
5357
```
5458

55-
En este ejemplo no necesitamos crear la base de datos, ya que nuestra API, que hace uso de Entity Framework Core, se encargará de crearla por nosotros.
59+
## 🔥 Paso 3: Configurar el firewall
5660

57-
Lo que si es necesario es que permitamos el acceso a la base de datos desde otros recursos de Azure. Para ello, ejecuta el siguiente comando:
61+
Entity Framework Core se encargará de crear automáticamente la base de datos cuando la uses. Sin embargo, necesitas permitir el acceso desde otros recursos de Azure.
62+
63+
Ejecuta este comando para configurar las reglas de firewall:
5864

5965
```bash
6066
echo "Configuring firewall..."
@@ -66,8 +72,7 @@ az sql server firewall-rule create \
6672
--end-ip-address $endIp
6773
```
6874

69-
o si estás en Windows:
70-
75+
**En Windows PowerShell:**
7176
```pwsh
7277
echo "Configuring firewall..."
7378
az sql server firewall-rule create `
@@ -78,8 +83,12 @@ az sql server firewall-rule create `
7883
--end-ip-address $endIp
7984
```
8085

81-
Con [Azure Data Studio](https://azure.microsoft.com/es-es/products/data-studio), puedes conectarte a la base de datos (tienes que permitir entonces el acceso desde tu IP, que puedes hacerlo desde esta misma app) y comprobar que se ha creado correctamente e incluso podrías crear la base de datos desde aquí.
86+
## 🔗 Paso 4: Verificar la conexión (Opcional)
87+
88+
Con [Azure Data Studio](https://azure.microsoft.com/es-es/products/data-studio) puedes conectarte a tu base de datos para verificar que se creó correctamente. Recuerda que deberás permitir el acceso desde tu IP en las reglas de firewall.
89+
90+
## ➡️ Siguiente paso
8291

83-
Ahora lo siguiente que necesitamos es desplegar la API que haga uso de esta base de datos. Para ello, puedes seguir los pasos que te comparto en este otro [README](/04-cloud/azure/paas/02-app-service/README.md).
92+
Ahora que tienes la base de datos lista, es hora de desplegar la API de Tour of Heroes. Continúa en este [README](../02-app-service/README.md) 📖
8493

8594

Lines changed: 55 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -1,33 +1,43 @@
1-
# Azure App Service
1+
# 🌐 Azure App Service
22

3-
Este servicio de Azure nos permite desplegar aplicaciones web y API REST de forma rápida y sencilla. Además, nos permite escalarlas de forma automática y nos ofrece integración con otros servicios de Azure como Azure SQL Database, Azure Cosmos DB, Azure Functions, Azure Storage, Azure Key Vault, Azure Active Directory, etc.
3+
## ¿Qué es Azure App Service?
44

5-
Para este ejemplo, vamos a crear una API REST con ASP.NET Core y la vamos a desplegar en Azure App Service.
5+
Es un servicio **PaaS** que te permite desplegar aplicaciones web y API REST de forma rápida y sencilla. Además ofrece:
66

7-
Lo primero que necesitas es cargar algunas variables de entorno:
7+
- 📈 **Escalado automático** según la demanda
8+
- 🔗 **Integración** con otros servicios de Azure (SQL Database, Cosmos DB, Key Vault, etc.)
9+
- 🔐 **Seguridad** integrada
10+
- 📊 **Monitoreo y logging** automático
811

12+
En este ejemplo, vamos a crear una **API REST con ASP.NET Core** y desplegarla en Azure App Service.
13+
14+
## 📝 Paso 1: Configurar variables de entorno
15+
16+
**En Linux/macOS:**
917
```bash
1018
# App Service variables
1119
APP_SVC_PLAN_NAME="tour-of-heroes-plan"
1220
WEB_API_NAME="tour-of-heroes-api-$RANDOM"
1321
```
1422

15-
o si estás en Windows:
16-
23+
**En Windows PowerShell:**
1724
```pwsh
1825
# App Service variables
1926
$APP_SVC_PLAN_NAME="tour-of-heroes-plan"
2027
$WEB_API_NAME="tour-of-heroes-api-$RANDOM"
2128
```
2229

23-
>Importante: asegúrate de que el nombre de la web app es único en Azure.
30+
⚠️ **Nota importante:** Asegúrate de que el nombre de la web app es **único en Azure**.
31+
32+
## 📦 Paso 2: Crear el plan de App Service
2433

25-
## Creando el plan de App Service
34+
Todas las aplicaciones web necesitan estar dentro de un **plan de App Service**. Este plan determina el tamaño de las máquinas virtuales que alojarán tu aplicación.
2635

27-
Las aplicaciones web alojadas en este servicio necesitan estar dentro de un plan de App Service. Para crear uno, ejecuta el siguiente comando:
36+
Ejecuta este comando:
2837

38+
**En Linux/macOS:**
2939
```bash
30-
echo -e "Create Azure App Service for the API 🚀"
40+
echo "Creating App Service Plan..."
3141

3242
az appservice plan create \
3343
--name $APP_SVC_PLAN_NAME \
@@ -36,10 +46,9 @@ az appservice plan create \
3646
--sku S1
3747
```
3848

39-
o si estás en Windows:
40-
49+
**En Windows PowerShell:**
4150
```pwsh
42-
echo -e "Create Azure App Service for the API 🚀"
51+
echo "Creating App Service Plan..."
4352
4453
az appservice plan create `
4554
--name $APP_SVC_PLAN_NAME `
@@ -48,12 +57,13 @@ az appservice plan create `
4857
--sku S1
4958
```
5059

51-
Este es el que determina el tamaño de las máquinas virtuales que se van a utilizar para alojar las aplicaciones web. En este caso, hemos elegido el plan S1.
60+
En este caso, usamos el plan **S1** que ofrece un buen equilibrio entre capacidad y coste.
5261

53-
## Crear la web app para la API
62+
## 🚀 Paso 3: Crear la web app para la API
5463

55-
Una vez que tenemos el plan de App Service, lo siguiente es crear la web app para la API. Para ello, ejecuta el siguiente comando:
64+
Ahora que tienes el plan, crea la web app:
5665

66+
**En Linux/macOS:**
5767
```bash
5868
az webapp create \
5969
--name $WEB_API_NAME \
@@ -62,8 +72,7 @@ az webapp create \
6272
--plan $APP_SVC_PLAN_NAME
6373
```
6474

65-
o si estás en Windows:
66-
75+
**En Windows PowerShell:**
6776
```pwsh
6877
az webapp create `
6978
--name $WEB_API_NAME `
@@ -72,10 +81,11 @@ az webapp create `
7281
--plan $APP_SVC_PLAN_NAME
7382
```
7483

75-
## Configurar la web app para la API
84+
## ⚙️ Paso 4: Configurar la conexión a la base de datos
7685

77-
Una vez que tenemos la web app creada, podemos añadirle algunas configuraciones. Para ello, ejecuta el siguiente comando:
86+
Ahora configura la cadena de conexión a la base de datos y otras variables de entorno:
7887

88+
**En Linux/macOS:**
7989
```bash
8090
az webapp config connection-string set \
8191
--name $WEB_API_NAME \
@@ -89,40 +99,40 @@ az webapp config appsettings set \
8999
--settings "OTEL_SERVICE_NAME=tour-of-heroes-api"
90100
```
91101

92-
o si estás en Windows:
93-
102+
**En Windows PowerShell:**
94103
```pwsh
95104
az webapp config connection-string set `
96105
--name $WEB_API_NAME `
97106
--resource-group $RESOURCE_GROUP `
98107
--connection-string-type SQLAzure `
99108
--settings "DefaultConnection=Server=tcp:$SQL_SERVER_NAME.database.windows.net,1433;Initial Catalog=heroes-db;Persist Security Info=False;User ID=$SQL_USER;Password=$SQL_PASSWORD;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;"
100-
```
101109
102-
```pwsh
103110
az webapp config appsettings set `
104111
--name $WEB_API_NAME `
105112
--resource-group $RESOURCE_GROUP `
106113
--settings "OTEL_SERVICE_NAME=tour-of-heroes-api"
107114
```
108115

109-
En este caso, hemos añadido la cadena de conexión a la base de datos y el nombre del servicio para que se pueda identificar en OpenTelemetry/Azure Monitor.
116+
Esto configura:
117+
- 🔗 La cadena de conexión a Azure SQL Database
118+
- 📊 El nombre del servicio para OpenTelemetry/Azure Monitor
110119

111-
## Desplegar la API
120+
## 🚀 Paso 5: Desplegar la API
112121

113-
Ahora que ya tenemos un sitio donde desplegar nuestra API lo único que nos queda es desplegarla 😃.
122+
Ahora toca desplegar el código. Sigue estos pasos:
114123

124+
**En Linux/macOS:**
115125
```bash
116-
echo "Clone the repo..."
126+
echo "Cloning repository..."
117127
git clone https://github.com/0GiS0/tour-of-heroes-dotnet-api.git
118128
cd tour-of-heroes-dotnet-api
119129

120-
dotnet build
130+
echo "Building and publishing..."
121131
cd src
122132
dotnet publish tour-of-heroes-api.csproj -o ./publish
123133

134+
echo "Deploying to Azure..."
124135
cd publish
125-
126136
zip -r site.zip *
127137

128138
az webapp deployment source config-zip \
@@ -131,18 +141,18 @@ az webapp deployment source config-zip \
131141
--name $WEB_API_NAME
132142
```
133143

134-
o si estás en Windows:
135-
144+
**En Windows PowerShell:**
136145
```pwsh
137-
echo "Clone the repo..."
146+
echo "Cloning repository..."
138147
git clone https://github.com/0GiS0/tour-of-heroes-dotnet-api.git
139148
cd tour-of-heroes-dotnet-api
140149
150+
echo "Publishing..."
141151
cd src
142152
dotnet publish tour-of-heroes-api.csproj -o ./publish
143153
154+
echo "Deploying to Azure..."
144155
cd publish
145-
146156
Compress-Archive -Path * -DestinationPath site.zip
147157
148158
az webapp deployment source config-zip `
@@ -151,15 +161,21 @@ az webapp deployment source config-zip `
151161
--name $WEB_API_NAME
152162
```
153163

154-
Todo esto que hemos hecho a través de Azure CLI también es posible gestionarlos con la extensión de Azure App Service para Visual Studio Code.
164+
## 💻 Alternativa: Usar VS Code Extension
165+
166+
También puedes gestionar todo esto con la **extensión de Azure App Service para Visual Studio Code**.
155167

156168
<img src="../images/Extension%20de%20Azure%20App%20Service.png"/>
157169

158-
Para comprobar que todo ha ido bien, puedes ejecutar el siguiente comando:
170+
## ✅ Verificar el despliegue
171+
172+
Una vez completado, verifica que todo funcionó correctamente:
159173

160174
```bash
161-
echo "API deployed 🚀"
162-
echo "API URL: https://$WEB_API_NAME.azurewebsites.net"
175+
echo "API deployed successfully!"
176+
echo "📍 API URL: https://$WEB_API_NAME.azurewebsites.net"
163177
```
164178

165-
Ahora lo único que nos queda por hacer es desplegar el frontal que consuma esta API. Para seguir los pasos puedes continuar en este otro [README](/04-cloud/azure/paas/03-static-web-apps/README.md).
179+
## ➡️ Siguiente paso
180+
181+
Ahora toca desplegar el frontal. Continúa en este [README](../03-static-web-apps/README.md) 📖

0 commit comments

Comments
 (0)