Cuando queremos desplegar nuestras bases de datos en la nube disponemos de varias alternativas. En esta sesión veremos las distintas opciones, sus pros y contras así como la importancia de una correcta configuración para sacar el máximo potencial en cada caso. También analizaremos el coste de administración así como las tareas de mantenimiento que seguirán siendo necesarias.

Presentación realizada en el SolidQ Summit por: Rubén Garrigós  



1. #SQSummit Configuración de SQL Server en Azure y opciones disponibles Rubén Garrigós rgarrigos@solidq.com Nivel 300

2. Contenido de la sesión • SQL Server en la nube • SQL Server en Azure • PaaS • IaaS • Escenarios híbridos • Ejemplos de configuración

3. SQL Server en la nube

4. SQL Server en la nube • Algunos puntos a analizar • Funcionalidades disponibles • Virtualización • Capacidad/rendimiento requeridos • Coste total • Latencia y ancho de banda • Disponibilidad y soporte • Monitorización • Compatibilidad/certificación con terceros • Entorno actual

5. Funcionalidades disponibles • Comparar con on-premise en CPD propio • Físico • Virtual • Evaluar la criticidad de las carencias • ¿Existen alternativas? ¿Coste de adaptación? • Roadmap Azure • Poca visibilidad • Cambiante

6. Virtualización • En las nubes siempre trabajamos sobre virtual • Pérdida de control del hardware físico utilizado • Upgrade/downgrade por balanceos/mantenimientos • Hardware más eficiente/rentable para el proveedor • Cambios en el rendimiento por vecinos ruidosos • Más impacto en máquinas pequeñas • Incluso con reserva de recursos

7. Capacidad/rendimiento requeridos • Ni PaaS ni IaaS alcanza la capacidad y rendimiento de una máquina física • Escalabilidad vertical limitada • Similar a la problemática de virtualizar • Configuración de recursos no optimizada • Basada en templates/ratios • ¿Necesito mucha RAM pero poca CPU? • ¿Necesito pocos cores pero muy rápidos? • ¿Necesito muchos cores y mucha memoria?

8. Capacidad/rendimiento requeridos • AWS EC2 • r3.8xlarge 32 cores, 244 GB RAM • m4.10xlarge 40 cores, 160 GB RAM • Azure VM • D15 v2 20 cores, 140 GB RAM • GS5 32 cores, 448 GB RAM • Google Compute • n1-highmem-32 32 cores, 208 GB RAM • RackSpace Cloud Servers • Memory1-240 32 cores, 240 GB RAM

9. Coste total • Aunque es uno de los argumentos de venta principales, no siempre es más económico ir a la nube • Tener en cuenta las inversiones ya realizadas, su amortización y el coste de la transición • Un escenario híbrido es el más realista • Refuerzo de las comunicaciones • Formación

10. Latencia y ancho banda • No siempre se ofrece esta información • Ni se refleja en el SLA • Latencias de red, disco, memoria, dns, etc. • Anchos de banda de red, disco, memoria • Sistemas “caja negra”  stoppers en potencia • En escenarios híbridos es un factor de riesgo importante

11. Disponibilidad y soporte • Mayor complejidad en la infraestructura • Disponibilidad • Muchas veces inferior a la ofertada • Incumplir el SLA sale barato • Aumentarla supone muchos esfuerzos • Ventanas de mantenimiento • Soporte • Lentitud de respuesta ante tickets • Relativización de la gravedad del problema

12. Monitorización • Problemático para troubleshooting • Visibilidad muy limitada (casi nula) a bajo nivel • ¿Problemas de rendimiento/saturación en el host? • ¿Problemas de electrónica de red? • ¿Hay mantenimientos/actualizaciones en curso? • Se tiende a tomar medidas reactivas “generales” • Reinicios de servicios • Balanceos entre nodos

13. Compatibilidad con software de terceros • Riesgo de perder el soporte del fabricante/proveedor • Especificaciones no realizables en la nube • Hardware dedicado • Acceso a bajo nivel • Mecanismos físicos de seguridad

14. Entorno actual • Sistemas heredados • BBDD en mainframe, SQLs obsoletos… • Sistemas de HA necesarios • Database Mirroring, Failover Clustered Instances, Availability Groups, software de terceros… • Sistemas con necesidades especiales • Control de dispositivos físicos • Interacción con otros sistemas on-premise

15. SQL Server en Azure

16. PaaS • Azure SQL Database • Basic, Standard y Premium • Elastic pool • Aplicaciones nuevas nacidas en la nube • Orientadas a escalado horizontal • Tamaños de bbdd pequeños o medios • Startups, pruebas de concepto rápidas, proyectos departamentales sin apoyo de IT, etc. • Alta disponibilidad y backups “de serie”

17. PaaS • Únicamente el motor relacional • No integrable con AD propio • T-SQL limitado (cada vez menos) • Configurabilidad • Trace flags • Paralelismo

18. IaaS • Licenciamiento y operativos • VM con licencia incluida • SQL 2008 R2 SP3 (WS2008 R2) • SQL 2012 SP2 (WS2012, WS2012R2) • SQL 2014 (RTM/SP1) (WS2012R2) • SQL 2016 (RC3) (WS2012R2) • Express, Web, Standard y Enterprise • VM con licencia propia • Requiere movilidad  Software Assurance • Solo pagaríamos por la VM con Windows

19. IaaS • Tamaño de máquinas • Serie Dv2/G preferentemente • Almacenamiento • Discos Premium preferiblemente • Baja latencia • Buen rendimiento con profundidades de cola elevadas • Condicionado al tamaño de máquina • LRS  Sin redundancia geográfica • Política de caché • Log transacciones  None • Datos  Solo lectura

20. IaaS • Sin HA/DR por defecto • Availability groups (Basic en standard 2016) • Failover Cluster Instance • LogShipping • Database Mirroring • Replicación • Transaccional • P2P • Merge

21. Ejemplos de configuración

22. Ejemplos de configuración IaaS • Tempdb • Temporal D: • Almacenamiento normal • Almacenamiento premium • BBDD sistema • Separación datos/log • Max degree of parallelism • Cost threshold for parallelism • Traza por defecto / Errorlog

23. Ejemplos de configuración IaaS • Inicialización instantánea de ficheros • Perform volume maintenance tasks • Lock pages in memory • Actualización estadísticas asíncrona • Nivel de compatibilidad • Cardinality estimator • Frecuencia checkpoint • Indirect checkpoint (2012+) • Compresión de datos • Autogrow/autoshrink

24. Demo Despliegue por defecto vs personalizado

25. Demo SQL Database Direct Route

26. Demo Optimización condicionada

27. También puedes preguntar tus dudas con el hashtag #SQSummit en Twitter ADAPTIVE BI FRAMEWORK Te ayudaremos a mejorar la velocidad de desarrollo de tu plataforma de analítica de negocio basada en nuestra experiencia: •Diseña antes de construir •Automatización de procesos por ETL •Servicios de mentoring para ayudarte a conseguir mejores prácticas para la construcción de procesos específicos y plataformas de analítica de negocio •Muy fácil de mantener SOLIDQ FLEX SERVICES Con SolidQ Flex Services evitarás sustos, consiguiendo que tus sistemas sean estables. Desde una solución sencilla de monitorización, hasta un servicio de atención de incidencias 24/7, mantenimiento proactivo, resolución de problemas y línea de soporte. Todo con un coste fijo mensual… y tú dedica el tiempo a las cosas importantes. ¡Gracias!