Explorando o Banco de Dados do Azure para MySQL

Concluído

Para decidir se a sua organização pode se beneficiar da migração para o Banco de Dados do Azure para MySQL, vamos começar com uma visão geral rápida dos bancos de dados DBaaS e das opções adequadas de hospedagem de MySQL no Azure e do Banco de Dados do Azure para MySQL.

O que é DBaaS?

Com um DBaaS, as organizações podem configurar e acessar bancos de dados na nuvem sem necessidade de gerenciar máquinas virtuais (VMs) e outras infraestruturas subjacentes. O Banco de Dados do Azure para MySQL, um serviço totalmente gerenciado, exemplifica isso ao habilitar o desenvolvimento de aplicativos de banco de dados em uma plataforma DBaaS, com o Microsoft Azure se encarregando de toda a configuração e manutenção.

Observação

As ofertas de DBaaS se enquadram na categoria mais ampla de ofertas de Plataforma como Serviço (PaaS).

O que é MySQL?

O MySQL é uma plataforma de banco de dados consistente de código aberto, amplamente usada por desenvolvedores e organizações de nível empresarial para hospedar aplicativos web e sistemas de missão crítica. É otimizado para cargas de trabalho OLTP em escala de internet e constitui uma parte fundamental da pilha LAMP (Linux, Apache, MySQL, PHP), uma das mais populares pilhas de tecnologia para desenvolvimento web.

Como escolher uma opção de hospedagem adequada

Com o Azure, suas cargas de trabalho de MySQL podem ser executadas em uma Infraestrutura de VM (Máquina Virtual) como Serviço (IaaS) hospedada ou como uma plataforma como serviço (PaaS) hospedada, também conhecida como Banco de Dados Relacional como Serviço (DBaaS). As duas opções de hospedagem abordadas neste módulo incluem:

  • Banco de Dados do Azure para MySQL - Servidor Flexível: O Banco de Dados do Azure para MySQL– Servidor Flexível é um DBaaS relacional totalmente gerenciado hospedado no Azure e se baseia no MySQL Community Edition de código aberto. A opção fornece vários recursos de disponibilidade, manutenção, segurança e desempenho prontos para uso, sem requerer praticamente nenhuma administração, mas também permite um controle granular e flexibilidade das funções de gerenciamento e as configurações de banco de dados.

Observação

Ao longo deste módulo, sempre que “Banco de Dados do Azure para MySQL” for mencionado estaremos nos referindo ao Banco de Dados do Azure para MySQL – Servidor Flexível.

  • MySQL em VMs do Azure: Para aqueles que requerem IaaS, essa opção oferece flexibilidade de gerenciamento do MySQL nas VMs gerenciadas do Azure, adequada para cenários que não exigem benefícios de DBaaS.

Vamos examinar essas opções em mais detalhes.

Modo de implantação do Banco de Dados do Azure para MySQL – Servidor Flexível

O Banco de Dados do Azure para MySQL é uma plataforma de DBaaS relacional totalmente gerenciada, hospedada no Azure. O serviço fornece:

  • Alta disponibilidade e opções de recuperação de desastres, incluindo configurações com redundância de zona, replicação entre regiões e Restauração Geográfica Universal.

  • Proteção de dados com backups automáticos e sob demanda e a opção de retenção de longo prazo (até 10 anos na versão prévia).

    Observação

    O Banco de Dados do Azure para MySQL usa backups automáticos e com restauração pontual por até 35 dias, que você pode usar de forma independente ou como um acréscimo à retenção de longo prazo.

  • Manutenção automatizada dos seguintes componentes, para garantir que o serviço seja o mais seguro e atualizado possível:

    • Hardware subjacente
    • Sistema operacional
    • Mecanismo de banco de dados

    O serviço também oferece a flexibilidade de selecionar sua janela de manutenção programada.

  • Desempenho previsível, com recursos como dimensionamento automático de IOPS e Logs Acelerados, que ajudam a atender às demandas de carga de trabalho.

  • Dimensionamento elástico e custos otimizados, com recursos para iniciar/parar o servidor e um nível de computação com capacidade de intermitência.

  • Recursos de conformidade e segurança de nível empresarial para ajudar a proteger dados confidenciais inativos e em trânsito.

  • Recursos de segurança avançados, incluindo criptografia de dados com Chaves Gerenciadas pelo Cliente, conectividade privada com o Link Privado do Azure e proteção simplificada contra ameaças usando o Microsoft Defender para Nuvem.

  • Ferramentas de monitoramento e automação que simplificam o gerenciamento de implantações em larga escala.

Esses recursos padrão requerem pouco esforço administrativo para serem implementados e configurados.

O Banco de Dados do Azure para MySQL é compatível com ferramentas comuns como o Workbench de MySQL e se integra ao Azure Data Studio por meio da extensão de MySQL, mantendo um fluxo de trabalho ao qual os desenvolvedores estão acostumados. O serviço fornece a você a flexibilidade de desenvolver aplicativos usando suas ferramentas, linguagens e estruturas favoritas, implantar mais rapidamente se integrando a serviços do Azure como os Serviços de Aplicativos, ou AKS, e automatizar tarefas de CI/CD usando o GitHub ou o Azure DevOps.

Pense em usar esse modo de implantação para dar suporte a soluções e aplicativos nativos de nuvem que:

  • São projetados para gerenciar uma aplicação de patch automatizada, com um grau suficiente de flexibilidade e controle do agendamento da manutenção.

  • O suporte à alta disponibilidade:

    • Em uma única zona de disponibilidade
    • Em várias zonas de disponibilidade
  • Pode se beneficiar dos controles de otimização de custos por meio da capacidade de:

    • Iniciar e interromper o servidor.
    • Implementar uma computação com capacidade de intermitência.

    Dica

    Esses controles flexíveis de otimização de custos são úteis para cargas de trabalho que nem sempre precisam da capacidade de computação total.

  • Requer que o banco de dados dimensione sua capacidade de computação e armazenamento dinamicamente.

  • Precisa de desempenho pronto para uso, juntamente com a capacidade de controlar e personalizar as configurações do MySQL.

  • Pode se beneficiar de uma experiência de desenvolvimento simplificada e de uma interoperabilidade estreita com o ecossistema do Azure.

MySQL nas VMs do Azure

Essa opção de hospedagem é categorizada como IaaS em vez de ser um serviço de banco de dados totalmente gerenciado. Permite que você execute o MySQL dentro de uma VM gerenciada na plataforma de nuvem do Azure.

Dica

Você pode instalar todas as versões e edições recentes do MySQL em sua VM hospedada.

Considere essa opção somente quando você precisar do maior nível de controle fornecido pelas implantações de IaaS e puder renunciar à facilidade de uso e a outros benefícios incluídos em uma plataforma DBaaS.

As opções de hospedagem são diferentes?

Você pode implantar o MySQL no Azure de diferentes maneiras. A tabela a seguir identifica as principais características de cada uma dessas abordagens.

Opção de hospedagem Resumo
Banco de Dados do Azure para MySQL Uma plataforma DBaaS totalmente gerenciada com ampla configuração e controle do usuário.
MySQL nas VMs do Azure Uma opção baseada em IaaS que permite controle total sobre a implementação do banco de dados.

Aqui está um resumo das diferenças nos recursos:

  • Suporte a versão do MySQL:
    • O Banco de Dados do Azure para MySQL dá suporte às versões 5.7 e 8.0 do MySQL, com atualizações automatizadas das versões principal e secundárias.
    • O MySQL em VMs do Azure permite a instalação de qualquer versão do MySQL, fornecendo flexibilidade para o suporte herdado.
  • Dimensionamento de computação:
    • Ambas as opções fornecem recursos dimensionáveis para acomodar demandas de carga variáveis.
  • Conectividade de rede:
    • Ambas as opções suportam:
      • Pontos de extremidade públicos com um firewall de servidor.
      • Acesso privado com suporte a Link Privado do Azure.
      • Acesso privado com integração de Rede Virtual do Microsoft Azure.
  • Conectividade SSL/TLS:
    • Suportado em ambos os métodos de hospedagem para garantir a transmissão segura de dados.
  • Armazenamento e IOPS:
    • O Banco de Dados do Azure para MySQL oferece suporte a tamanhos de armazenamento entre 5 gigabytes (GiBs) e 32 terabytes (TiBs). Também dá suporte ao dimensionamento automatizado de armazenamento e ao dimensionamento automático de IOPS.
    • O MySQL em VMs do Azure dá suporte de 32 GiB a 32.767 GiB, mas não dá suporte ao dimensionamento do armazenamento online ou de IOPS.
  • Atualização e aplicação de patches no SO e MySQL:
    • Automática para o Banco de Dados do Azure para MySQL.
    • Gerenciadas por usuários finais para MySQL em VMs do Azure.
  • Alta disponibilidade:
    • O Banco de Dados do Azure para MySQL dá suporte à alta disponibilidade interna em várias zonas de disponibilidade.
    • O MySQL em VMs do Azure exige que você gerencie essas configurações com personalização.
  • Criptografia de dados inativos:
    • O Banco de Dados do Azure para MySQL dá suporte à criptografia de dados inativos com chaves gerenciadas pelo serviço ou pelo cliente.
    • A implementação de criptografia de dados em repouso para MySQL em VMs do Azure requer intervenção manual.
  • Backup:
    • O Banco de Dados do Azure para MySQL fornece backups automatizados com retenção configurável de até 35 dias e agora dá suporte a uma retenção de longo prazo de até 10 anos.
    • Os backups em VMs do Azure requerem gerenciamento manual. Além disso, o Banco de Dados do Azure para MySQL vem com outros recursos integrados como monitoramento e alertas, a capacidade de se expandir até 10 réplicas de leitura, autenticação do Microsoft Entra ID e suporte do Microsoft Defender para Nuvem, que não estão disponíveis ou precisam de gerenciamento manual durante a execução do MySQL em VMs do Azure.

Além disso, o Banco de Dados do Azure para MySQL vem com outros recursos integrados, como monitoramento e alertas, capacidade de dimensionar até 10 réplicas de leitura, autenticação do Microsoft Entra ID e suporte ao Microsoft Defender para Nuvem, que não estão disponíveis ou precisam de gerenciamento manual durante a execução do MySQL em VMs do Azure.

Na próxima unidade, vamos examinar o Banco de Dados do Azure para MySQL com mais detalhes.