Selección de la opción adecuada de MySQL Server en Azure

SE APLICA A: Azure Database for MySQL: servidor único Azure Database for MySQL: servidor flexible

Importante

El servidor único de Azure Database for MySQL está en proceso de retirada. Es muy recomendable actualizar al servidor flexible de Azure Database for MySQL. Para obtener más información sobre la migración al servidor flexible de Azure Database for MySQL, consulte ¿Qué sucede con el servidor único de Azure Database for MySQL?

Con Azure, las cargas de trabajo del servidor MySQL se pueden ejecutar en una infraestructura como servicio (IaaS) de máquina virtual hospedada o como una plataforma como servicio (PaaS) hospedada. PaaS dispone de dos opciones de implementación y, dentro de cada una, hay niveles de servicio. Al decidir entre IaaS y PaaS, debe decidir si quiere administrar la base de datos, aplicar revisiones, copias de seguridad, seguridad, supervisión o escalado, o si delega estas operaciones en Azure.

Cuando tome la decisión, tenga en cuenta las dos siguientes opciones:

  • Azure Database for MySQL. Esta opción entra en la categoría del sector de PaaS, y representa un motor de base de datos MySQL totalmente administrado basado en la versión estable de MySQL Community Edition. Esta base de datos relacional como servicio (DBaaS), hospedada en plataforma en la nube de Azure, se engloba en la categoría del sector denominada PaaS. Con una instancia administrada de MySQL en Azure, puede usar características integradas, por ejemplo, revisiones automatizadas, alta disponibilidad, copias de seguridad automatizadas, escalado elástico, seguridad de nivel empresarial, cumplimiento y gobernanza, supervisión y alertas que necesitan una configuración exhaustiva cuando el servidor MySQL está en el entorno local o en una máquina virtual de Azure. Al usar MySQL como servicio, se paga por el uso, con opciones de escalado vertical u horizontal a fin de aumentar el control de forma ininterrumpida. Azure Database for MySQL, con tecnología de MySQL Community Edition, está disponible en dos modos de implementación:

    • El servidor flexible es un servicio de base de datos totalmente administrado y listo para la producción diseñado para lograr un control más pormenorizado y una mayor flexibilidad de las funciones de administración de bases de datos y las opciones de configuración. La arquitectura de servidor flexible permite a los usuarios optar por la alta disponibilidad dentro de una única zona de disponibilidad o entre varias. Los servidores flexibles proporcionan mejores controles de optimización de costos con la capacidad de iniciar o detener el servidor y niveles de proceso ampliables, que son idóneos para cargas de trabajo que no necesitan una capacidad de proceso completa de forma continua. El servidor flexible también admite instancias reservadas, de modo que puede ahorrar hasta un 63 % del coste, lo que resulta ideal para las cargas de trabajo de producción con requisitos de capacidad de proceso predecibles. El servicio admite la versión Community de MySQL 5.7 y 8.0. El servicio está disponible con carácter general hoy en varias regiones de Azure. Los servidores flexibles son más adecuados para todos los nuevos desarrollos y la migración de cargas de trabajo de producción al servicio Azure Database for MySQL.

    • Servidor único es un servicio de base de datos totalmente administrado diseñado para una personalización mínima. La plataforma de servidor único está diseñada para administrar la mayoría de las funciones de administración de bases de datos, como aplicación de revisiones, copias de seguridad, alta disponibilidad y seguridad, sin que el usuario tenga que intervenir apenas en la configuración y el control. La arquitectura está optimizada para una alta disponibilidad integrada, ya que ofrece una disponibilidad del 99,99 % en una zona de disponibilidad única. Es compatible con la versión Community de MySQL 5.6 (retirada), 5.7 y 8.0. El servicio está disponible con carácter general hoy en varias regiones de Azure. Los servidores únicos son solo los más adecuados para las aplicaciones existentes que ya aprovechan un servidor único. Se recomienda elegir el servidor flexible para todos los desarrollos o migraciones nuevos.

  • MySQL en máquinas virtuales de Azure. Esta opción pertenece a la categoría del sector de IaaS. Con este servicio, puede ejecutar MySQL Server dentro de una máquina virtual administrada en la plataforma en la nube de Azure. Puede instalar todas las versiones y ediciones recientes de MySQL en una máquina virtual.

Comparar las opciones de implementación de MySQL en Azure

Las principales diferencias entre estas opciones se mencionan en la siguiente tabla:

Atributo Azure Database for MySQL
Servidor único
Azure Database for MySQL
Servidor flexible
MySQL en máquinas virtuales de Azure
General
Disponibilidad general Disponibilidad general Disponibilidad general Disponibilidad general
Acuerdo de Nivel de Servicio (SLA) Acuerdo de Nivel de Servicio con disponibilidad del 99,99 % 99.99 % con Availability Zones 99.99 % con Availability Zones
Sistema operativo subyacente Windows Linux Administrado por el usuario
Edición de MySQL Community Edition Community Edition Community o Enterprise Edition
Compatibilidad con versiones de MySQL 5.6 (retirado), 5.7 y 8.0 5.7 y 8.0 Cualquier versión
Selección de zona de disponibilidad para la coubicación de aplicaciones No
Nombre de usuario en la cadena de conexión <user_name>@server_name. Por ejemplo, mysqlusr@mypgServer. Solo nombre de usuario. Por ejemplo, mysqlusr. Solo nombre de usuario. Por ejemplo: mysqlusr
Escalado de almacenamiento y proceso
Niveles de proceso Básico, De uso general y Optimizado para memoria Ampliable, De uso general y Optimizado para memoria Ampliable, De uso general y Optimizado para memoria
Escalado de proceso Compatible (no se admite el escalado desde y hasta el nivel Básico) Compatible Compatible
Tamaño de almacenamiento De 5 GiB a 16 TiB De 20 GiB a 16 TiB De 32 GiB a 32 767 GiB
Escalado de almacenamiento en línea Compatible Admitido No compatible
Escalado de almacenamiento automático Compatible Admitido No compatible
Escalado de IOPS No compatible Compatible No compatible
Optimización de costos
Precios de instancias reservadas Compatible Admitido Compatible
Detener o iniciar el servidor para el desarrollo El servidor se puede detener hasta siete días El servidor se puede detener hasta 30 días Compatible
SKU ampliable de bajo costo No compatible Compatible Compatible
Redes y seguridad
Conectividad de red - Puntos de conexión públicos con firewall de servidor.
- Acceso privado con compatibilidad con Private Link.
- Puntos de conexión públicos con firewall de servidor.
- Acceso privado con compatibilidad con Private Link.
- Acceso privado con integración de Virtual Network.
- Puntos de conexión públicos con firewall de servidor.
- Acceso privado con compatibilidad con Private Link.
SSL/TLS Habilitado de forma predeterminada con compatibilidad con TLS v1.2, 1.1 y 1.0 Habilitado de forma predeterminada con compatibilidad con TLS v1.2, 1.1 y 1.0 Compatible con TLS v1.2, 1.1 y 1.0
Cifrado de datos en reposo Compatible con claves administradas por el cliente (BYOK) Compatible con claves administradas por el servicio No compatible
Autenticación de Microsoft Entra Compatible Admitido No compatible
Soporte técnico de Microsoft Defender para la nube No
Auditoría de servidor Compatible Compatible Administrado por el usuario
Aplicación de revisión y mantenimiento
Aplicación de revisiones del sistema operativo Automático Automático Usuario administrado
Actualización de la versión secundaria de MySQL Automático Automático Usuario administrado
Actualización local de la versión principal de MySQL Compatible de 5.6 a 5.7 No compatible Administrado por el usuario
Control de mantenimiento Administrada por el sistema Administrado por el cliente Usuario administrado
Ventana de mantenimiento En cualquier momento en un plazo de 15 horas Periodo de 1 hora Usuario administrado
Notificación de mantenimiento planeado Tres días Cinco días Usuario administrado
Alta disponibilidad
Alta disponibilidad Alta disponibilidad integrada (sin espera activa) Alta disponibilidad integrada (sin espera activa), alta disponibilidad con redundancia de zona y de misma zona con espera activa Usuario administrado
Redundancia de zona No compatible Compatible Compatible
Colocación de zona en espera No compatible Compatible Compatible
Conmutación por error automática Sí (gira otro servidor) Administrado por el usuario
Conmutación por error manual forzada iniciada por el usuario No Administrado por el usuario
Conmutación por error transparente de la aplicación Administrado por el usuario
Replicación
Compatibilidad para réplicas de lectura Administrado por el usuario
Número de réplicas de lectura compatibles 5 10 Administrado por el usuario
Modo de replicación Asincrónica Asincrónica Administrado por el usuario
Compatibilidad de GTID para réplicas de lectura Compatible Compatible Administrado por el usuario
Compatibilidad entre regiones (replicación geográfica) Yes No compatible Administrado por el usuario
Escenarios híbridos Compatible con Replicación de datos de entrada Compatible con Replicación de datos de entrada Administrado por el usuario
Compatibilidad de GTID con la replicación de datos de entrada Compatible No compatible Administrado por el usuario
Replicación de datos de salida No compatible Compatible Compatible
Copia de seguridad y recuperación
Copias de seguridad automatizadas No
Retención de copias de seguridad Entre 7 y 35 días 1-35 días Administrado por el usuario
Retención a largo plazo de copias de seguridad Administrado por el usuario Administrado por el usuario Administrado por el usuario
Exportación de copias de seguridad Compatible con copias de seguridad lógicas Compatible con copias de seguridad lógicas Compatible
Funcionalidad de recuperación a un momento dado en cualquier momento dentro del período de retención Administrado por el usuario
Punto de restauración rápida No No
Capacidad de restauración en una zona diferente No compatible
Capacidad de restauración en una red virtual diferente No
Capacidad de restauración a una región diferente Sí (Con redundancia geográfica) Sí (Con redundancia geográfica) Administrado por el usuario
Capacidad de restaurar un servidor eliminado No
Recuperación ante desastres
DR en todas las regiones de Azure Uso entre regiones de réplicas de lectura, copia de seguridad con redundancia geográfica Uso de la copia de seguridad con redundancia geográfica Administrado por el usuario
Conmutación por error automática No No compatible No
Puede usar el mismo punto de conexión de l/e No No compatible No
Supervisión
Integración y alertas de Azure Monitor Compatible Compatible Administrado por el usuario
Supervisión de las operaciones de base de datos Compatible Compatible Administrado por el usuario
Información del rendimiento de las consultas Compatible Compatible (mediante Workbooks) Administrado por el usuario
Registros del servidor Compatible Compatible (mediante registros de diagnóstico) Administrado por el usuario
Registros de auditoría Compatible Admitido Compatible
Registros de errores No compatible Compatible Compatible
Soporte técnico de Azure Advisor Compatible No compatible No compatible
Complementos
validate_password No compatible En versión preliminar Compatible
caching_sha2_password No compatible En versión preliminar Compatible
Productividad de los desarrolladores
Administración de flota Compatible con la CLI de Azure, PowerShell, REST y Azure Resource Manager Compatible con la CLI de Azure, PowerShell, REST y Azure Resource Manager Compatible para máquinas virtuales con la CLI de Azure, PowerShell, REST y Azure Resource Manager
Compatibilidad con Terraform Compatible Admitido Compatible
Acciones de GitHub Compatible Compatible Administrado por el usuario

Motivaciones empresariales para elegir PaaS o IaaS

Hay varios factores que pueden influir a la hora de elegir PaaS o IaaS para hospedar las bases de datos MySQL.

Coste

La reducción de costes suele ser la consideración principal que determina la mejor solución para hospedar las bases de datos. Esto suele darse en el caso de las startups con poca disponibilidad de efectivo o el equipo de una empresa bien establecida que opera con presupuestos ajustados. En esta sección se describen los conceptos básicos de facturación y licencias en Azure tal como se aplican a Azure Database for MySQL y MySQL en las máquinas virtuales de Azure.

Facturación

Azure Database for MySQL está disponible como servicio en varios niveles con diferentes precios de recursos. Todos los recursos se facturan por hora a una tarifa fija. Para obtener la información más reciente sobre los niveles de servicio, los tamaños de proceso y las cantidades de almacenamiento admitidos actualmente, vea la página de precios. Los niveles de servicio y los tamaños de proceso se pueden ajustar de forma dinámica para satisfacer las necesidades variables de rendimiento de la aplicación. Se le factura por el tráfico saliente de Internet según las tarifas de transferencia de datos habituales.

Con Azure Database for MySQL, Microsoft configura el software de base de datos, aplica revisiones en él y lo actualiza de forma automática. Estas acciones automatizadas reducen los costos de administración. Además, Azure Database for MySQL tiene funcionalidades de copia de seguridad automatizadas. Estas funcionalidades le ayudan a obtener un ahorro significativo, sobre todo, cuando se tiene gran cantidad de base de datos. Por el contrario, con MySQL en las máquinas virtuales de Azure, puede elegir y ejecutar cualquiera de las versiones de MySQL. Con independencia de la versión de MySQL que use, se paga por la máquina virtual aprovisionada, el coste de almacenamiento asociado a los datos, la copia de seguridad, la supervisión de los datos y el almacenamiento de registros, así como los costes del tipo de licencia de MySQL específico que se utilice (si existe).

Azure Database for MySQL proporciona alta disponibilidad integrada para una interrupción de nivel de nodo y mantiene la garantía del 99,99 % establecida en el SLA del servicio. Pero para la alta disponibilidad de la base de datos en las máquinas virtuales, se usan las opciones de alta disponibilidad disponibles en una base de datos de MySQL, como la replicación de MySQL. El uso de una opción de alta disponibilidad compatible no proporciona un SLA adicional. Pero permite lograr una disponibilidad de base de datos superior al 99,99 % a cambio de un coste adicional y sobrecarga administrativa.

Para más información de precios, consulte los artículos siguientes:

Administración

Para muchas empresas, la decisión de pasar a un servicio en la nube significa implica tanto aligerar la complejidad de la administración como el costo.

Con IaaS, Microsoft:

  • Administra la infraestructura subyacente.
  • Proporciona revisiones automatizadas para el hardware y el sistema operativo subyacentes.

Con PaaS, Microsoft:

  • Administra la infraestructura subyacente.
  • Proporciona una aplicación automatizada de revisiones para el hardware, el sistema operativo y el motor de base de datos subyacentes.
  • Administra la alta disponibilidad de la base de datos.
  • Realiza copias de seguridad y replicaciones automáticas de todos los datos para proporcionar recuperación ante desastres.
  • Cifra los datos en reposo y en movimiento de forma predeterminada.
  • Supervisa el servidor y proporciona características para obtener información de rendimiento de consultas y recomendaciones de rendimiento

En la lista siguiente se describen las consideraciones administrativas para cada opción:

  • Con Azure Database for MySQL, puede seguir administrando la base de datos. Sin embargo, ya no necesita administrar el motor de base de datos, el sistema operativo o el hardware. Entre los ejemplos de elementos que puede seguir administrando se incluyen:

    • Bases de datos
    • Inicio de sesión
    • Ajuste del índice
    • Ajuste de las consultas
    • Auditoría
    • Seguridad

    Además, la configuración de alta disponibilidad en otro centro de datos no requiere configuración y administración o, si acaso, ajustes mínimos.

  • Con MySQL en las máquinas virtuales de Azure, puede controlar la configuración del sistema operativo y la instancia del servidor de MySQL. Usted decide cuándo actualizar o renovar el sistema operativo y el software de la base de datos con una máquina virtual, así como qué revisiones aplicar. También puede decidir cuándo instalar cualquier software adicional, como una aplicación antivirus. Se proporcionan algunas características automatizadas para simplificar significativamente la aplicación de revisiones, las copias de seguridad y la alta disponibilidad. Puede controlar el tamaño de la máquina virtual, el número de discos y sus configuraciones de almacenamiento. Para más información, consulte Tamaños de las máquinas virtuales y los servicios en la nube de Azure.

Es hora de cambiar a Azure

  • Azure Database for MySQL es la solución adecuada para las aplicaciones diseñadas para la nube cuando la productividad del desarrollador y un plazo de comercialización rápido de las nuevas soluciones son factores críticos. Con una funcionalidad mediante programación como DBA, el servicio es idóneo para arquitectos y desarrolladores de la nube, puesto que reduce la necesidad de administrar el sistema operativo y la base de datos subyacentes.

  • Si quiere evitar el tiempo y los gastos de adquirir nuevo hardware local, MySQL en máquinas virtuales de Azure es la solución adecuada para las aplicaciones que necesitan un control granular y la personalización del motor de MySQL que no admite el servicio o que requiere acceso al sistema operativo subyacente. Esta solución también es idónea para migrar aplicaciones y bases de datos locales existentes a Azure intactas en casos en los que Azure Database for MySQL no sea una buena solución.

Dado que no es necesario cambiar las capas de presentación, aplicación y datos, se ahorra tiempo y presupuesto a la hora de renovar la arquitectura de la solución existente. Así, puede centrarse en migrar todas las soluciones a Azure y en abordar algunas optimizaciones de rendimiento que puede requerir la plataforma Azure.

Pasos siguientes