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 | Sí | Sí |
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.3, 1.2 | 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 | Sí | Sí | 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 | Compatible de 5.7 a 8.0 | 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) | Sí | Administrado por el usuario |
Conmutación por error manual forzada iniciada por el usuario | No | Sí | Administrado por el usuario |
Conmutación por error transparente de la aplicación | Sí | Sí | Administrado por el usuario |
Replicación | |||
Compatibilidad para réplicas de lectura | Sí | Sí | 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) | Sí | Sí | 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 | 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 | Sí | Sí | 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 | Sí | Sí | Administrado por el usuario |
Punto de restauración rápida | No | Sí | No |
Capacidad de restauración en una zona diferente | No compatible | Sí | Sí |
Capacidad de restauración en una red virtual diferente | No | Sí | Sí |
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 | Sí | Sí | 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 | N.º | 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 | Admitido | 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
- Consulte Precios de Azure Database for MySQL.
- Comenzar por crear el primer servidor.