Desde hace unos años, todos hemos notado un aumento drástico en los ciclos de desarrollo de software por parte de todos los fabricantes.  En el caso de Microsoft, vemos como desde que pasaron a un modelo de desarrollo Cloud First, si hacemos uso de sus plataformas SaaS y/o PaaS, disfrutaremos mes a mes de novedades, que van mas allá de parches de seguridad. Mes a mes, aplican mejoras de rendimiento, nuevas funcionalidades a sus productos,…pero existe una base de despliegues enorme que sigue todavía ajena a esa tendencia…el mundo OnPremise. Además, si a esto unimos el fin de soporte de SQL Server 2008, veremos que es un tema en el que conviene estar al día.

La plataforma de datos SQL Server actual

La plataforma de datos SQL Server es muy diferente a lo que la mayoria de nosotros conoció hace unos años. Atrás quedó aquella época en la que SQL Server era un conjunto de 4 servicios (motor relacional, Analysis Services, Integration Services y Reporting Services), y algo que uno descargaba en forma de .iso, que instalaba en un Sistema Operativo Windows a base de “siguiente->siguiente” y que como resultado era alguna de estas opciones:

  • SQL Server Standalone con algun tipo de solucion rudimentaria de Alta disponibilidad (como mirroring)
  • SQL Server en cluster con Windows Server Failover Cluster para verdadera alta disponibilidad

En algunos entornos, solo si el presupuesto acompañaba, incluso se podían montar soluciones de Geo-Cluster mediante costosas soluciones Hardware, que básicamente te permitían estar mas tranquilo a la hora de conseguir una verdadera alta disponibilidad…pero todo tenía un factor común…”Do It Yourself” (DIY).

Hoy en día todo esto ha cambiado y no hay mas que darle un vistazo a la siguiente imagen:

SQL Server data state

SQL Server ha evolucionado para conseguir adaptarse a la perfección independientemente de las necesidades de negocio…

Flexibilidad

Hoy en día, SQL Server es hoy un producto muy flexible, desplegable en múltiples sabores:

Y además, entornos híbridos montando arquitecturas que mezclen IaaS, PaaS, OnPrem,…

¿Cómo se portó SQL Server a otras plataformas?

https://cloudblogs.microsoft.com/sqlserver/2016/12/16/sql-server-on-linux-how-introduction/

¿Por qué modernizar nuestra plataforma de datos?

Modernizar nuestra plataforma de datos va a ayudarnos indudablemente a mejorar la competitividad de nuestro negocio, sobre todo si éste, gira entorno al dato, ya que modernizar nuestra plataforma:

  • Significa tener un sistema que automáticamente detecta regresiones de rendimiento y se ajusta automáticamente para mitigarlo
  • Significa poder tener RealTime Operational Analytics, donde tu entorno OLTP crítico que procesa decenas de miles de transacciones por segundo es capaz simultáneamente de servir, sobre los mismos datos y en tiempo real, peticiones masivas de agregados provenientes de tus usuarios de negocio.
  • Significa que puedes desplegar en segundos una arquitectura compleja y completa de alta disponibilidad mediante kubernetes
  • Significa que puedes escalar en caliente el rendimiento de tu plataforma (hyperscale)

Y también significa que vamos a mejorar indudablemente el SLA de la alta disponibilidad que queramos ofrecer:

  • Nunca mas te vas a tener que preocupar por si el hacer un mantenimientos de índices en tu sistema crítico, vamos a tener bloqueos que impacten en tu negocio (pausar y resumir)
  • Tenemos mas facil que nunca la configuración híbrida de plataforma de datos
  • Accelerated Database Recovery para deshacer transacciones y/o levantar BBDD en tiempo record
  • Soluciones de HA híbridas FCI+AlwaysON

En definitiva, modernizar nuestra plataforma de datos es mejorar nuestra competitividad.

Cómo modernizar nuestra plataforma de datos

Tenemos muchísimas opciones para modernizar nuestra plataforma de datos, cubriendo todo el porfolio prácticamente del espacio de datos…solo tenemos que plantearnos qué queremos conseguir:

Opciones de modernización

lift-thinker-and-shift

Se trata de la opción más sencilla y transparente. Básicamente se trata de modernizar tu infraestructura actual mediante un upgrade de versión SQL Server, a versión superior. Esto por ejemplo podría ser con un modelo IaaS (Azure SQL VM)  si además quieres irte a la nube. Esta es la opción mas sencilla de modernizar nuestra plataforma y básicamente podemos acceder a ella:

  • Virtualizando nuestro entorno
  • Actualizando la versión del motor de SQL Server a una versión mas moderna

Lift-and-shift

En el momento que nos embarcamos en la modernización de la plataforma de datos, podemos querer ir un paso mas y movernos a un entorno PaaS, pero con todas las ventajas de disponer de nuestra instancia completa, al estilo de cómo podemos tenerlo en IaaS

En este caso, tenemos a nuestra disposición la opción de “Managed Instances“, donde tenemos un entorno completamente securizado, al que solo podemos acceder mediante vNet y con prácticamente todo el surface area de SQL Server a nuestra disposición. 

Re-architecturing

Se trata de la opción mas costosa a la hora de realizar una modernización de la plataforma de datos, pero por otro lado es la opción que puede darnos mayor valor. En este enfoque, básicamente nos planteamos si la arquitectura que tenemos es la adecuada, para adaptarla en consecuencia.

Esto puede ser, desde utilizar técnicas de escalabilidad horizontal con escenarios de replicación de mezcla para conseguir escenarios de lectura-escritra Activo-Activo multigeográficos, hasta pasar por diseñar un entorno multi-tenant. Se trata por tanto de conseguir la mejor arquitectura para el estado actual y futuro que vamos a necesitar. Podría estar este nuevo estado por ejemplo en el uso de Azure SQL Database, por ejemplo, donde siempre dispondremos de la última versión aplicada de SQL Server y las features nuevas mas importantes a nuestra disposición….

Este modo de adaptación requiere probablemente mayor destreza por parte de nuestro equipo de desarrollo y un mayor afinamiento de la solución, pero sin duda es una de las mejores opciones cuando queremos preparar nuestra plataforma para el futuro…modernizándola con él.