Escolher a opção certa do Servidor MySQL no Azure

APLICA-SE A: Banco de Dados do Azure para MySQL – Servidor Único Banco de Dados do Azure para MySQL – Servidor Flexível

Importante

O Banco de Dados do Azure para servidor único MySQL está no caminho de desativação. É altamente recomendável que você atualize para o Banco de Dados do Azure para o servidor flexível MySQL. Para obter mais informações sobre como migrar para o Banco de Dados do Azure para servidor flexível MySQL, consulte O que está acontecendo com o Banco de Dados do Azure para Servidor Único MySQL?

Com o Azure, as suas cargas de trabalho do servidor MySQL podem ser executadas como uma PaaS (plataforma como serviço) hospedada ou em uma IaaS (infraestrutura como serviço) de máquina virtual hospedada. O serviço PaaS tem duas opções de implantação e existem camadas de serviço dentro de cada opção de implantação. Ao escolher entre IaaS e PaaS, você precisa decidir se deseja gerenciar o banco de dados, aplicar patches, backups, segurança, monitoramento e colocação em escala ou se deseja delegar essas operações ao Azure.

Ao tomar sua decisão, considere as seguintes duas opções:

  • Banco de Dados do Azure para MySQL. Essa opção se enquadra na categoria do setor de PaaS e representa um mecanismo de banco de dados MySQL totalmente gerenciado com base na versão estável da edição da comunidade MySQL. Esse banco de dados relacional como serviço (DBaaS), hospedado na plataforma de nuvem do Azure, se enquadra na categoria do setor PaaS. Com uma instância gerenciada do MySQL no Azure, você pode usar recursos integrados, tais como: aplicação de patch automatizada, alta disponibilidade, backups automatizados, escala elástica, segurança de nível empresarial, conformidade e governança, monitoramento e alertas que exigem configuração extensa quando o MySQL Server estiver no local em uma VM do Azure. Ao usar o MySQL como um serviço, você paga conforme o uso das opções para escalar verticalmente ou escalar horizontalmente para maior controle sem interrupção. Banco de Dados do Azure para MySQL da plataforma MySQL Community Edition, está disponível em dois modos de implantação:

    • O Flexible Server é um serviço de banco de dados totalmente gerenciado pronto para produção projetado para controle e flexibilidade mais granulares sobre funções de gerenciamento de banco de dados e definições de configuração. A arquitetura de servidor flexível permite que os usuários optem por alta disponibilidade dentro de uma zona de disponibilidade única e entre várias zonas de disponibilidade. Os servidores flexíveis fornecem controles de otimização de custo melhores com a capacidade de parar/iniciar o servidor e a camada de computação com capacidade de intermitência, ideais para cargas de trabalho que não precisam de capacidade de computação completa continuamente. O Servidor Flexível também dá suporte a instâncias reservadas, permitindo que você economize até 63%, o que é ideal para cargas de trabalho de produção com requisitos de capacidade de computação previsíveis. O serviço dá suporte à versão da comunidade do MySQL 5.7 e 8.0. O serviço está em disponibilidade geral em várias regiões do Azure. Os servidores flexíveis são mais adequados para todos os novos desenvolvimentos e para a migração de cargas de trabalho de produção para o serviço de Banco de Dados do Azure para MySQL.

    • O Servidor Único do Banco de Dados do Azure para MySQL é um serviço de banco de dados totalmente gerenciado projetado para ter personalização mínima. A plataforma de servidor único é projetada para administrar a maioria das funções de gerenciamento de banco de dados, como aplicação de patches, backups, alta disponibilidade e segurança, com a mínima configuração e controle do usuário. A arquitetura é otimizada para alta disponibilidade interna com disponibilidade de 99,99% em uma zona de disponibilidade única. Ele dá suporte à versão da comunidade do MySQL 5.6 (desativado), 5.7 e 8.0. O serviço está em disponibilidade geral em várias regiões do Azure. Servidores únicos são mais adequados apenas para aplicativos existentes que já utilizam servidores únicos. É recomendável escolher o Servidor Flexível para todos os novos desenvolvimentos ou migrações.

  • MySQL em VMs do Azure. Essa opção se enquadra na categoria de IaaS do setor. Com esse serviço, você pode executar o servidor MySQL dentro de uma máquina virtual totalmente gerenciada na plataforma de nuvem do Azure. Você pode instalar todas as versões e edições recentes do MySQL em uma máquina virtual.

Comparar as opções de implantação do MySQL no Azure

As diferenças principais entre essas opções estão listadas na tabela a seguir:

Atributo Banco de Dados do Azure para MySQL
Servidor único
Banco de Dados do Azure para MySQL
Servidor Flexível
MySQL nas VMs do Azure
Geral
Disponibilidade Geral Disponível para o público geral Disponível para o público geral Disponível para o público geral
SLA (Contrato de Nível de Serviço) SLA com 99,99% de disponibilidade 99,99% usando Zonas de Disponibilidade 99,99% usando Zonas de Disponibilidade
S/O subjacente Windows Linux Usuário gerenciado
Edição do SQL Community Edition Community Edition Community ou Edição Enterprise
Suporte para Versão do MySQL 5.6 (desativado), 5.7 e 8.0 5.7 e 8.0 Qualquer versão
Seleção de zona de disponibilidade para colocação do aplicativo Não Sim Yes
Nome de usuário na cadeia de conexão <user_name>@server_name. Por exemplo, mysqlusr@mypgServer Apenas nome de usuário. Por exemplo, mysqlusr Apenas nome de usuário. Por exemplo, mysqlusr
Dimensionamento de Armazenamento Online
Camadas de computação Básico, Uso Geral e Otimizado para Memória Com capacidade de intermitência, Uso Geral e Otimizado para Memória Com capacidade de intermitência, Uso Geral e Otimizado para Memória
Dimensionamento de computação Com suporte (não há suporte para dimensionamento de e para a camada Básica) Com suporte Com suporte
Tamanho de armazenamento 5 GiB a 16 TiB 20 GiB a 16 TiB 32 GiB a 32,767 GiB
Dimensionamento de Armazenamento Online Com suporte Compatível Sem suporte
Dimensionamento de armazenamento automático Com suporte Compatível Sem suporte
Dimensionamento IOPs Sem suporte Com suporte Sem suporte
Otimização de custos
Preço de Instância Reservada Com suporte Compatível Com suporte
Parar/iniciar servidor para desenvolvimento O servidor pode ser interrompido por até sete dias O servidor pode ser interrompido por até 30 dias Com suporte
SKU de baixo custo que pode ser estourado Sem suporte Com suporte Com suporte
Rede/Segurança
Conectividade de rede – Pontos de extremidade públicos com firewall do servidor.
– Suporte para Acesso privado com Link Privado.
– Pontos de extremidade públicos com firewall do servidor.
– Suporte para Acesso privado com Link Privado.
– Acesso privado com integração de Rede Virtual.
– Pontos de extremidade públicos com firewall do servidor.
– Suporte para Acesso privado com Link Privado.
SSL/TLS Habilitado por padrão com suporte para TLS v1.2, 1.1 e 1.0 Habilitado por padrão com suporte para TLS v1.2, 1.1 e 1.0 Com suporte com TLS v1.2, 1.1 e 1.0
Criptografia de dados inativos Com suporte com chaves gerenciadas pelo cliente (BYOK) Com suporte com chaves gerenciadas pelo serviço Sem suporte
autenticação do Microsoft Entra Com suporte Compatível Sem suporte
Suporte para o Microsoft Defender para Nuvem Sim Não Não
Auditoria de Servidor Com suporte Com suporte Usuário gerenciado
Aplicação de patch e manutenção
Aplicação de patch do sistema operacional Automática Automática Usuário gerenciado
Atualizações secundárias de versão MySQL Automática Automática Usuário gerenciado
Atualização da versão principal in-place do MySQL Com suporte de 5.6 a 5.7 Sem suporte Usuário gerenciado
Controle de manutenção Gerenciado pelo sistema Gerenciado pelo cliente Usuário gerenciado
Janela de manutenção A qualquer momento dentro da janela de 15 horas Janela 1h Usuário gerenciado
A notificação de manutenção planejada Três dias Cinco dias Usuário gerenciado
Alta disponibilidade
Alta disponibilidade HA integrado (sem espera a quente) HA integrado (sem espera a quente), HA com redundância de zona e zona com espera a quente Usuário gerenciado
Redundância de zona Sem suporte Com suporte Com suporte
Posicionamento de zona em espera Sem suporte Com suporte Com suporte
failover automático Sim (gira outro servidor) Sim Usuário gerenciado
Failover forçado iniciado pelo usuário Não Sim Usuário gerenciado
Failover transparente de aplicativo Sim Sim Usuário gerenciado
Replicação
Compatibilidade com réplicas de leitura Sim Sim Usuário gerenciado
Número de réplicas de leitura 5 10 Usuário gerenciado
Modo de replicação Assíncronos Assíncronos Usuário gerenciado
Suporte a gtid para réplicas de leitura Com suporte Com suporte Usuário gerenciado
Suporte entre regiões (replicação geográfica) Yes Sem suporte Usuário gerenciado
Cenários híbridos Com suporte com Replicação de Dados Com suporte com Replicação de Dados Usuário gerenciado
Suporte a gtid para replicação de dados Com suporte Sem suporte Usuário gerenciado
Replicação de saída de dados Sem suporte Com suporte Com suporte
Backup e recuperação
Backups automatizados Sim Sim Não
Retenção de backup 7–35 dias 1-35 dias Usuário gerenciado
Retenção de longo prazo de backups Usuário gerenciado Usuário gerenciado Usuário gerenciado
Exportando backups Suporte ao uso de backups lógicos Suporte ao uso de backups lógicos Com suporte
Capacidade de restauração de ponto no tempo a qualquer momento dentro do período de retenção Sim Sim Usuário gerenciado
Ponto de restauração rápida Não Sim Não
Capacidade para restaurar em uma zona diferente Sem suporte Sim Sim
Capacidade de restaurar para uma rede virtual diferente Não Sim Sim
Capacidade para restaurar em uma região diferente Sim (com redundância geográfica) Sim (com redundância geográfica) Usuário gerenciado
Capacidade para restaurar um servidor excluído Sim Sim Não
Recuperação de Desastre
Recuperação de desastre em todas as regiões do Azure Usando réplicas de leitura entre regiões, backup com redundância geográfica Usando backup de redundância geográfica Usuário gerenciado
failover automático Não Sem suporte Não
Pode usar o mesmo ponto de extremidade r/w Não Sem suporte Não
Monitoramento
Integração e alerta com o Azure Monitor Com suporte Com suporte Usuário gerenciado
Monitoramento de Operações de Banco de Dados Com suporte Com suporte Usuário gerenciado
Insights de Desempenho de Consulta Com suporte Com suporte (usando pastas de trabalho) Usuário gerenciado
Logs do servidor Com suporte Com suporte (usando logs de diagnóstico) Usuário gerenciado
Logs de Auditoria Com suporte Compatível Com suporte
Logs de erros Sem suporte Com suporte Com suporte
Suporte do Consultor do Azure Com suporte Sem suporte Sem suporte
Plug-ins
validate_password Sem suporte Em versão prévia Com suporte
caching_sha2_password Sem suporte Em versão prévia Com suporte
Produtividade do desenvolvedor
Gerenciamento de Frota Com suporte com CLI do Azure, PowerShell, REST e Azure Resource Manager Com suporte com CLI do Azure, PowerShell, REST e Azure Resource Manager Com suporte para VMs com CLI do Azure, PowerShell, REST e Azure Resource Manager
Suporte do Terraform Com suporte Compatível Com suporte
GitHub Actions Com suporte Com suporte Usuário gerenciado

Motivações de negócios para escolher PaaS ou IaaS

Vários fatores podem influenciar se você escolhe entre PaaS ou IaaS para hospedar os bancos de dados MySQL.

Cost

Frequentemente, a redução de custo é a principal consideração na determinação da melhor solução para hospedar seus bancos de dados. Isso é verdadeiro tanto se você for uma startup com pouco dinheiro como uma equipe em uma empresa estabelecida que opere sob restrições de orçamento rígidas. Esta seção descreve as noções básicas de cobrança e licenciamento no Azure, pois elas se aplicam ao Banco de Dados do Azure para MySQL e ao MySQL em VMs do Azure.

Cobrança

O Banco de Dados do Azure para MySQL está disponível atualmente como um serviço em vários níveis com preços diferentes para recursos. Todos os recursos são cobrados por hora a uma taxa fixa. Para obter as informações mais recentes sobre as camadas de serviço, tamanhos da computação e quantidades de armazenamento atuais com suporte, veja a página de preços. Você ajustar as camadas de serviço e os tamanhos da computação dinamicamente para atender à variação das necessidades de produtividade do aplicativo. Você será cobrado pelo tráfego de Internet de saída em taxas de transferência de dados regulares.

Com o Banco de Dados do Azure para MySQL, a Microsoft automaticamente configura, aplica patches e atualiza o software de banco de dados. Essas ações automatizadas reduzem os custos de administração. Além disso, o Banco de Dados do Azure para MySQL tem funcionalidades de backups automatizados. Essas funcionalidades ajudam você a obter economia significativa, principalmente ao ter muitos bancos de dados. Por outro lado, com o MySQL em VMs do Azure, você pode escolher e executar qualquer versão do MySQL. Independente de qual versão do MySQL usar, você paga pela VM provisionada, pelo custo de armazenamento associado aos dados, backup, monitoramento de dados e armazenamento de logs, bem como os custos do tipo de licença do MySQL específico usado (se houver).

O Banco de Dados do Azure para MySQL fornece alta disponibilidade interna para interrupções no nível de nó e, ao mesmo tempo, mantém a garantia de SLA de 99,99% do serviço. No entanto, para alta disponibilidade do banco de dados nas VMs, use as opções de alta disponibilidade como replicação de MySQL que estão disponíveis em um banco de dados MySQL. Usar uma opção de alta disponibilidade com suporte não fornece um SLA adicional. Mas permite que você obtenha mais de 99,99% de disponibilidade de banco de dados com custo adicional e sobrecarga administrativa.

Para obter mais informações sobre preços, veja os seguintes artigos:

Administração

Para muitas empresas, a decisão de migrar para um serviço de nuvem tem a ver com o objetivo de reduzir custos e a complexidade da administração.

Com a IaaS, a Microsoft:

  • Administra a infraestrutura subjacente.
  • Fornece aplicação de patch automatizada para o hardware e o sistema operacional subjacentes.

Com a PaaS, a Microsoft:

  • Administra a infraestrutura subjacente.
  • Fornece a aplicação de patch automatizada do hardware, do sistema operacional e do mecanismo de banco de dados subjacentes.
  • Gerencia a alta disponibilidade do banco de dados.
  • Executa backups automaticamente e replica todos os dados para fornecer recuperação de desastre.
  • Criptografa os dados em repouso e em movimento por padrão.
  • Monitora o servidor e fornece recursos para insights de desempenho de consulta e recomendações de desempenho

A lista a seguir descreve as considerações administrativas para cada opção:

  • Com o Banco de Dados do Azure para MySQL, você pode continuar administrando o banco de dados. Mas você não precisa mais gerenciar o mecanismo de banco de dados, o sistema operacional ou o hardware. Exemplos de itens que você pode continuar a administrar incluem:

    • Bancos de dados
    • Conexão
    • Ajuste do índice
    • Ajuste de consulta
    • Auditoria
    • Segurança

    Além disso, a configuração da alta disponibilidade para outro data center requer pouca ou nenhuma administração e configuração.

  • Com o MySQL nas VMs do Azure, você pode controlar o sistema operacional e a configuração da instância do servidor MySQL. Você decide quando atualizar ou fazer upgrade do sistema operacional e do software de banco de dados com uma VM e quais patches aplicar. Você também escolhe quando instalar qualquer software adicional, como um aplicativo antivírus. Alguns recursos automatizados são fornecidos para simplificar significativamente a aplicação de patches, o backup e a alta disponibilidade. Você pode controlar o tamanho da VM, o número de discos e as configurações de armazenamento desses discos. Para obter mais informações, confira Tamanhos da máquina virtual e do serviço de nuvem para o Azure.

Tempo para mover para o Azure

  • O Banco de Dados do Azure para MySQL é a solução adequada para aplicativos desenvolvidos em nuvem quando a produtividade do desenvolvedor e a rapidez de colocação no mercado para novas soluções são fatores críticos. Com a funcionalidade de programação como DBA, o serviço é adequado para desenvolvedores e arquitetos de nuvem, pois reduz a necessidade de gerenciamento do sistema operacional e do banco de dados subjacentes.

  • Ao querer economizar tempo e despesas para aquisição de um novo hardware local, o MySQL em VMs do Azure é a solução adequada para aplicativos que exigem controle granular e personalização do mecanismo MySQL que não têm suporte no serviço ou exigem acesso ao sistema operacional subjacente. Essa solução também é adequada para migrar os aplicativos locais e bancos de dados existentes para o Azure intactos, para casos em que o Banco de Dados do Azure para MySQL não é adequado.

Já que não há necessidade de alterar a apresentação, o aplicativo e as camadas de dados, você economiza tempo e orçamento em rearquitetura da solução existente. Em vez disso, você pode se concentrar em migrar todas as soluções para o Azure e fazer algumas otimizações de desempenho que possam ser necessárias para a plataforma Microsoft Azure.

Próximas etapas