Escalabilidad en Azure Web 
Sites and SQL Database 
Ing. Eduardo Castro Martinez, PhD 
Microsoft SQL Server MVP 
Correo electrónico: ecastro@grupoasesor.net 
Twitter: edocastro
Agenda 
1) Escenario: Escalabilidad 
2) Escenario: adaptarse al cambio 
3) Escenario: Entornos
Necesidades del 
mundo real
Escenario: 
Escalabilidad
Descripción del escenario 
La carga de su sitio varía con el tiempo. 
Usted necesita adaptarse. 
Sin problemas. 
5
Los perfiles de carga 
6 
LOTE 
AUMENTO 
Carga 
No 
carga 
Carga 
PREVISIBLE 
NO PREVISIBLE
Paso 1: Preservar el ancho de banda del 
servidor 
PROBLEMA: 
Sus servidores están desperdiciando el ancho de 
banda que sirve archivos estáticos. 
7
Paso 1: Preservar el ancho de banda del 
servidor 
SOLUCIÓN: 
Servir archivos estáticos en almacenamiento blob. 
Este es un paso hacia la entrega de contenido a partir 
de una red de distribución de contenidos (CDN). 
8
Paso 2: Caché 
PROBLEMA: 
Sus servidores tienen recursos finitos. 
Usted no quiere repetir el trabajo que usted no tenga 
que hacerlo. 
9
Paso 2: Caché 
SOLUCIÓN: 
Almacene el ASP.NET page output cache en el 
Windows Azure Caching Service 
10
Paso 3: Escalamiento Manual 
PROBLEMA: 
Usted necesita más recursos de servidor. 
11
Paso 2: Escalamiento manual 
SOLUCIÓN: 
Agregar más servidores (escala horizontal). 
Utilice servidores más potentes (escala vertical). 
12
13
Paso 3: Auto-escalamiento 
PROBLEMA: 
Tiempo de reacción de escalamiento Manual significa 
interrupciones. 
Escalar de forma manual implica acción humana. 
14
Paso 2: Auto-escalamiento 
SOLUCIÓN: 
Use auto-escale. 
15
16
Demostración 
Escenario: Escalamiento
Escenario: Cambios
Descripción del escenario 
Su sitio no está listo cuando se implementa en la 
producción. 
Es necesario añadir nuevas características. 
Cambio añade riesgo. 
19
Paso 1: Administrar el esquema de base 
de datos 
PROBLEMA: 
Su base de datos y código de las aplicaciones 
necesitan mantenerse en sincronía. 
20
Paso 1: Administrar el esquema de base 
de datos 
SOLUCIÓN: 
Utilice Entity Framework Data 
Migrations. 
21
Base de datos SQL Azure 
• Base de datos relacional -como-un-servicio, totalmente administrado por 
Microsoft 
• Diseñado para aplicaciones en la nube 
Plataforma de base de datos de 
nivel empresarial con la 
economía nube
SQL Database - Niveles de servicio de 
base de datos 
• •• ••• 
• •• •••
Rendimiento predecible 
• Básico / Standard / 
•Web / Business 
Premium 
Máquina 
Escribe 
Lee 
Memoria 
DB 1 
DB 2 
DB 3 
DB 4 
DB 7 
DB 5 DB 6 
DB 8 
DB 9 
Máquina 
Escribe 
Lee 
Memoria 
DB 1 
DB 2 
DB 3 
DB 4 
DB 7 
DB 5 DB 6 
DB 8 
DB 9 
DB 1 
DB 2 
DB 3 
DB 
4 
DB 7 
DB 5 
DB 
6 
DB 8 
DB 9 
Vecino 
ruidoso! 
Delimitadores 
eliminan 
vecinos 
ruidosos
Opciones de escalabilidad en la base de 
datos SQL Azure 
• Rendimiento previsible: escalamiento hacia arriba o 
hacia abajo (vertical) 
• Cambie de niveles de servicio para una base de datos dada, con 
base en las necesidades de capacidad / rendimiento 
• Escalamiento elástico: Horizontal 
• Añadir o eliminar bases de datos como más o menos capacidad / 
rendimiento según sea necesario
Opciones de escalabilidad en la base de 
datos SQL Azure 
Premium 
Estándar 
Básico 
Premium 
Estándar 
Básico Básico Básico Básico Básico Básico 
Escalamiento OUT / IN 
Escala hacia arriba / abajo
Rendimiento escalable 
• Básico,Estándar, y Premium proporcionan el aumento de los niveles de rendimiento 
• El rendimiento se expresa en unidades de rendimiento de base de datos (DTU) 
• DTU es una medida combinada de la CPU, IO lectura, IO escritura, y la memoria 
• Escala de rendimiento arriba / abajo a través del portal, las API, PS, o T-SQL 
para reflejar la demanda real o anticipada 
• Base de datos permanece en línea, durante el cambio 
• Facturación por hora 
B S0 
S1 
S2 
P1 
P2 
P3 
DTU 5 10 20 50 100 200 800
Unidad de Rendimiento de Base de 
Datos- DTU 
Monitoreo 
% De Nivel de rendimiento actual 
Utilización 
75% 
Leer 
50% 
Escribir 
50% 
UPC 
60% 
Memoria 
Cuadro delimitador 
Calcular 
Escribe 
Lee 
DB carga de 
trabajo 
Memoria 
 Representa la capacidad relativa (recursos) 
asignado a la base de datos 
 Medida de CPU, la memoria, y lecturas y escrituras 
 Simplifica las opciones selección de rendimiento
Nuevos niveles de rendimiento 
Básico Estándar Prima 
Niveles de Desempeño 
(DTU) 
5 S0: 10 
S1: 20 
S2: 50 
P1: 100 
P2:200 
P3: 800 
Resultados de ASDB 16600 tx/hora S1: ,520 tx/minuto 
S1: ,940 tx/minuto 
S2: 2570 tx/minuto 
P1: 105 tx/segundo 
P2: 228 tx/segundo 
P3: 735 tx/segundo 
El tamaño máximo de DB 2GB 250GB 500GB 
Precio * por hora (mes) 0,0069 dólares (~ $ 5) S0: 0,0208 dólares (~ $ 15) 
S1: $ 0,0417 (~ $ 30) 
S2: 0,1042 dólares (~ $ 75) 
P1: 0,6458 dólares (~ $ 
465) 
P2: $ 1.292 (~ $ 930) 
P3: $ 5.167 (~ $ 3720) 
* A partir de 1 de noviembrest
Gobernanza de Recursos 
• Las solicitudes de recursos no se rechazan, pero se ponen en cola 
• La sobrecarga puede dar lugar a transacciones de larga ejecución o posiblidad 
RESULTADO 
UPC 
Escribe 
Lee 
UPC 
Escribe 
Lee 
de timeout 
SELECT * FROM a 
JOIN b ON … 
UPC 
Escribe 
Lee
Demostración 
Escenario: Las migraciones de datos
Paso 2: Administrar las implementaciones 
PROBLEMA: 
La gente a veces comete errores. 
23
Paso 2: Administrar las implementaciones 
SOLUCIÓN: 
Utilice deployment rollback. 
24
25
Demostración 
Escenario: Reversión de despliegue
Paso 3: Servicios de apalancamiento 
PROBLEMA: 
Cambios grandes a menudo requieren que usted 
agregue nuevas características rápidamente. 
27
Paso 3: Servicios de apalancamiento 
SOLUCIÓN: 
Aproveche los servicios de Windows Azure Services. 
28
Demostración 
Escenario: Windows Azure Active Directory
Escenario: 
Múltiples Entornos
Descripción del escenario 
Ejecución de un sitio real requiere múltiples 
ambientes internos. 
Disponibilidad global requiere múltiple 
implementaciones en todo el mundo. 
31
Paso 1: Dev / Test 
PROBLEMA: 
La creación de entornos de servidor web de 
desarrollo requiere mucho tiempo. 
Usted necesita ver cómo su código qu se ejecuta en 
otro lugar antes de implementar el despliegue. 
32
Paso 1: Dev / Test 
SOLUCIÓN: 
Consistencia de Ambiente a través de la 
configuración de despliegue en Windows Azure Web 
Sites o imágenes de VM. 
Ahorro por pagar sólo por lo que usted necesita. 
33
33% 25% DESCUENTO 
DESCUENTO 
Máquinas virtuales 
RESERVADO WEB SITIOS 
NUBE DE SERVICIOS, 
HDINSIGHT 
$150 
Crédito mensual 
VISUAL STUDIO ULTIMATE 
CON MSDN 
NO 
Tarjeta de crédito requerida 
$100 
Crédito mensual 
VISUAL STUDIO PREMIUM 
CON MSDN 
$50 
Crédito mensual 
VISUAL STUDIO PROFESIONAL 
CON MSDN
Paso 2: Alcance Global 
PROBLEMA: 
Es difícil de implementar un entorno consistente en 
múltiples centros de datos. 
35
Paso 2: Alcance Global 
SOLUCIÓN: 
Utilice el flujo de trabajo de implementación 
automatizada para garantizar la coherencia en 
proceso de implementación. 
36
Paso 3: Continuos Delivery 
PROBLEMA: 
Los problemas y errores en su código se hacen más 
difíciles de arreglar cuánto más tarde en obtener 
información sobre ellos. 
El despliegue es una operación arriesgada, propenso 
a errores. 
37
Paso 3: Entrega contínua 
SOLUCIÓN: 
Utilice integración continua para automatizar compilación, 
pruebas de integración y pruebas unitarias. 
Utilice el flujo de trabajo de implementación automatizada 
para garantizar la coherencia en proceso de 
implementación. 
38

Escalabilidad en azure web sites y sql database

  • 1.
    Escalabilidad en AzureWeb Sites and SQL Database Ing. Eduardo Castro Martinez, PhD Microsoft SQL Server MVP Correo electrónico: ecastro@grupoasesor.net Twitter: edocastro
  • 2.
    Agenda 1) Escenario:Escalabilidad 2) Escenario: adaptarse al cambio 3) Escenario: Entornos
  • 3.
  • 4.
  • 5.
    Descripción del escenario La carga de su sitio varía con el tiempo. Usted necesita adaptarse. Sin problemas. 5
  • 6.
    Los perfiles decarga 6 LOTE AUMENTO Carga No carga Carga PREVISIBLE NO PREVISIBLE
  • 7.
    Paso 1: Preservarel ancho de banda del servidor PROBLEMA: Sus servidores están desperdiciando el ancho de banda que sirve archivos estáticos. 7
  • 8.
    Paso 1: Preservarel ancho de banda del servidor SOLUCIÓN: Servir archivos estáticos en almacenamiento blob. Este es un paso hacia la entrega de contenido a partir de una red de distribución de contenidos (CDN). 8
  • 9.
    Paso 2: Caché PROBLEMA: Sus servidores tienen recursos finitos. Usted no quiere repetir el trabajo que usted no tenga que hacerlo. 9
  • 10.
    Paso 2: Caché SOLUCIÓN: Almacene el ASP.NET page output cache en el Windows Azure Caching Service 10
  • 11.
    Paso 3: EscalamientoManual PROBLEMA: Usted necesita más recursos de servidor. 11
  • 12.
    Paso 2: Escalamientomanual SOLUCIÓN: Agregar más servidores (escala horizontal). Utilice servidores más potentes (escala vertical). 12
  • 13.
  • 14.
    Paso 3: Auto-escalamiento PROBLEMA: Tiempo de reacción de escalamiento Manual significa interrupciones. Escalar de forma manual implica acción humana. 14
  • 15.
    Paso 2: Auto-escalamiento SOLUCIÓN: Use auto-escale. 15
  • 16.
  • 17.
  • 18.
  • 19.
    Descripción del escenario Su sitio no está listo cuando se implementa en la producción. Es necesario añadir nuevas características. Cambio añade riesgo. 19
  • 20.
    Paso 1: Administrarel esquema de base de datos PROBLEMA: Su base de datos y código de las aplicaciones necesitan mantenerse en sincronía. 20
  • 21.
    Paso 1: Administrarel esquema de base de datos SOLUCIÓN: Utilice Entity Framework Data Migrations. 21
  • 22.
    Base de datosSQL Azure • Base de datos relacional -como-un-servicio, totalmente administrado por Microsoft • Diseñado para aplicaciones en la nube Plataforma de base de datos de nivel empresarial con la economía nube
  • 23.
    SQL Database -Niveles de servicio de base de datos • •• ••• • •• •••
  • 24.
    Rendimiento predecible •Básico / Standard / •Web / Business Premium Máquina Escribe Lee Memoria DB 1 DB 2 DB 3 DB 4 DB 7 DB 5 DB 6 DB 8 DB 9 Máquina Escribe Lee Memoria DB 1 DB 2 DB 3 DB 4 DB 7 DB 5 DB 6 DB 8 DB 9 DB 1 DB 2 DB 3 DB 4 DB 7 DB 5 DB 6 DB 8 DB 9 Vecino ruidoso! Delimitadores eliminan vecinos ruidosos
  • 25.
    Opciones de escalabilidaden la base de datos SQL Azure • Rendimiento previsible: escalamiento hacia arriba o hacia abajo (vertical) • Cambie de niveles de servicio para una base de datos dada, con base en las necesidades de capacidad / rendimiento • Escalamiento elástico: Horizontal • Añadir o eliminar bases de datos como más o menos capacidad / rendimiento según sea necesario
  • 26.
    Opciones de escalabilidaden la base de datos SQL Azure Premium Estándar Básico Premium Estándar Básico Básico Básico Básico Básico Básico Escalamiento OUT / IN Escala hacia arriba / abajo
  • 27.
    Rendimiento escalable •Básico,Estándar, y Premium proporcionan el aumento de los niveles de rendimiento • El rendimiento se expresa en unidades de rendimiento de base de datos (DTU) • DTU es una medida combinada de la CPU, IO lectura, IO escritura, y la memoria • Escala de rendimiento arriba / abajo a través del portal, las API, PS, o T-SQL para reflejar la demanda real o anticipada • Base de datos permanece en línea, durante el cambio • Facturación por hora B S0 S1 S2 P1 P2 P3 DTU 5 10 20 50 100 200 800
  • 28.
    Unidad de Rendimientode Base de Datos- DTU Monitoreo % De Nivel de rendimiento actual Utilización 75% Leer 50% Escribir 50% UPC 60% Memoria Cuadro delimitador Calcular Escribe Lee DB carga de trabajo Memoria  Representa la capacidad relativa (recursos) asignado a la base de datos  Medida de CPU, la memoria, y lecturas y escrituras  Simplifica las opciones selección de rendimiento
  • 29.
    Nuevos niveles derendimiento Básico Estándar Prima Niveles de Desempeño (DTU) 5 S0: 10 S1: 20 S2: 50 P1: 100 P2:200 P3: 800 Resultados de ASDB 16600 tx/hora S1: ,520 tx/minuto S1: ,940 tx/minuto S2: 2570 tx/minuto P1: 105 tx/segundo P2: 228 tx/segundo P3: 735 tx/segundo El tamaño máximo de DB 2GB 250GB 500GB Precio * por hora (mes) 0,0069 dólares (~ $ 5) S0: 0,0208 dólares (~ $ 15) S1: $ 0,0417 (~ $ 30) S2: 0,1042 dólares (~ $ 75) P1: 0,6458 dólares (~ $ 465) P2: $ 1.292 (~ $ 930) P3: $ 5.167 (~ $ 3720) * A partir de 1 de noviembrest
  • 30.
    Gobernanza de Recursos • Las solicitudes de recursos no se rechazan, pero se ponen en cola • La sobrecarga puede dar lugar a transacciones de larga ejecución o posiblidad RESULTADO UPC Escribe Lee UPC Escribe Lee de timeout SELECT * FROM a JOIN b ON … UPC Escribe Lee
  • 31.
    Demostración Escenario: Lasmigraciones de datos
  • 32.
    Paso 2: Administrarlas implementaciones PROBLEMA: La gente a veces comete errores. 23
  • 33.
    Paso 2: Administrarlas implementaciones SOLUCIÓN: Utilice deployment rollback. 24
  • 34.
  • 35.
  • 36.
    Paso 3: Serviciosde apalancamiento PROBLEMA: Cambios grandes a menudo requieren que usted agregue nuevas características rápidamente. 27
  • 37.
    Paso 3: Serviciosde apalancamiento SOLUCIÓN: Aproveche los servicios de Windows Azure Services. 28
  • 38.
    Demostración Escenario: WindowsAzure Active Directory
  • 39.
  • 40.
    Descripción del escenario Ejecución de un sitio real requiere múltiples ambientes internos. Disponibilidad global requiere múltiple implementaciones en todo el mundo. 31
  • 41.
    Paso 1: Dev/ Test PROBLEMA: La creación de entornos de servidor web de desarrollo requiere mucho tiempo. Usted necesita ver cómo su código qu se ejecuta en otro lugar antes de implementar el despliegue. 32
  • 42.
    Paso 1: Dev/ Test SOLUCIÓN: Consistencia de Ambiente a través de la configuración de despliegue en Windows Azure Web Sites o imágenes de VM. Ahorro por pagar sólo por lo que usted necesita. 33
  • 43.
    33% 25% DESCUENTO DESCUENTO Máquinas virtuales RESERVADO WEB SITIOS NUBE DE SERVICIOS, HDINSIGHT $150 Crédito mensual VISUAL STUDIO ULTIMATE CON MSDN NO Tarjeta de crédito requerida $100 Crédito mensual VISUAL STUDIO PREMIUM CON MSDN $50 Crédito mensual VISUAL STUDIO PROFESIONAL CON MSDN
  • 44.
    Paso 2: AlcanceGlobal PROBLEMA: Es difícil de implementar un entorno consistente en múltiples centros de datos. 35
  • 45.
    Paso 2: AlcanceGlobal SOLUCIÓN: Utilice el flujo de trabajo de implementación automatizada para garantizar la coherencia en proceso de implementación. 36
  • 46.
    Paso 3: ContinuosDelivery PROBLEMA: Los problemas y errores en su código se hacen más difíciles de arreglar cuánto más tarde en obtener información sobre ellos. El despliegue es una operación arriesgada, propenso a errores. 37
  • 47.
    Paso 3: Entregacontínua SOLUCIÓN: Utilice integración continua para automatizar compilación, pruebas de integración y pruebas unitarias. Utilice el flujo de trabajo de implementación automatizada para garantizar la coherencia en proceso de implementación. 38

Notas del editor

  • #44 Fastest Growing Hypervisor, taking share from VMWare” 2 releases of Hyper-V since ESX 5.1 (WS2012 and WS2012 R2) Hyper-V share is growing 3x that of VMW over the past 2 years Hyper-V steadily taking over a point of share per quarter Microsoft in the Gartner Virtualization Magic Quadrant for the 3rd straight year and is the only vendor moving up and to the right Over 50 new services released this year Compute & Storage Capacity doubling every 6 – 9 months