Escolha uma opção de hospedagem adequada para o seu aplicativo MySQL
Se você estiver desenvolvendo um novo aplicativo ou modernizando um existente, escolher a opção de hospedagem certa é crucial para otimizar o desempenho, a segurança e a relação custo-benefício. Tradicionalmente, os aplicativos eram hospedados em servidores Web como o Internet Information Services (IIS), Apache ou NGINX em hardware físico ou virtualizado local. Embora essa opção ofereça a vantagem de fornecer à equipe de infraestrutura controle total do ambiente, ela requer esforço adicional para gerenciar despesas gerais, custos iniciais, disponibilidade, escalabilidade, resiliência, segurança e conformidade.
Ao implantar seu aplicativo na nuvem, você elimina a necessidade de gerenciar essas áreas. Hospedar um aplicativo na nuvem reduz os custos gerais de configuração, fornece maior disponibilidade e confiabilidade com opções de continuidade de negócios e recuperação de desastres (BCDR); permite que você dimensione os recursos do seu aplicativo sob demanda; e fornece segurança avançada.
O Microsoft Azure oferece uma gama diversificada de opções de hospedagem de aplicativos personalizadas para atender aos requisitos de arquitetura e casos de uso do seu aplicativo.
Muitas dessas opções de hospedagem de aplicativos se integram perfeitamente ao Banco de Dados do Azure para MySQL - Servidor Flexível, um serviço particularmente eficaz para bancos de dados back-end devido à sua escalabilidade, desempenho e capacidade de gerenciamento. Esta unidade explora algumas arquiteturas comuns de aplicativos MySQL e serviços do Azure para ajudá-lo a determinar a opção de hospedagem mais adequada para a carga de trabalho do seu aplicativo.
Aplicativos Web no Serviço de Aplicativo do Azure
MySQL é um dos bancos de dados mais populares para o desenvolvimento de aplicativos web e móveis por causa de sua portabilidade, velocidade, escalabilidade e confiabilidade, tudo a baixo custo. Usando o Banco de Dados do Azure para MySQL - Servidor Flexível no back-end, você pode criar mais facilmente aplicativos de escala de internet de pilha LAMP (Linux-Apache-MySQL-PHP) leves ou de missão crítica. Você também pode desenvolver usando CMSs populares como WordPress, Drupal ou Joomla, sistemas de gerenciamento de aprendizagem como o Moodle e plataformas de comércio eletrônico como Magento, que são todos compatíveis com o Banco de Dados do Azure para MySQL - Servidor Flexível.
Os desenvolvedores podem implantar esses aplicativos Web e móveis apoiados pelo MySQL em um ambiente Windows ou Linux usando o Serviço de Aplicativo do Azure, uma solução de plataforma como serviço (PaaS) baseada em HTTP para hospedar aplicativos Web, APIs REST e back-ends móveis. Com o Serviço de Aplicativo do Azure, você pode reduzir a sobrecarga de gerenciamento, desenvolver em seus idiomas favoritos, automatizar a implantação de aplicativos, aumentar e diminuir a escala rapidamente e até mesmo "dockerizar" seu aplicativo para hospedar contêineres personalizados do Docker do Windows ou Linux.
Aplicativos em contêineres no Serviço Kubernetes do Azure ou nos Aplicativos de Contêiner do Azure (arquitetura de microsserviços)
Recentemente, os aplicativos com arquitetura de microsserviços têm sido cada vez mais populares por sua eficiência, resiliência, escalabilidade e facilidade de implantação. Ao contrário dos aplicativos monolíticos tradicionais, cada microsserviço, ou contêiner, opera de forma independente e pode ser atualizado sem reimplantar o aplicativo inteiro.
No Azure, você pode implantar esses microsserviços no Serviço Kubernetes do Azure (AKS), um serviço Kubernetes totalmente gerenciado que ajuda você a definir, implantar, depurar e atualizar até mesmo os aplicativos em contêineres mais complexos de forma rápida e fácil.
Além do AKS, o Azure Container Apps (ACA) oferece um serviço de hospedagem de contêiner sem servidor, ideal para aplicativos modernos criados a partir de microsserviços. O ACA simplifica a implantação e o dimensionamento de contêineres sem gerenciar a infraestrutura subjacente, como máquinas virtuais ou clusters Kubernetes. Ele se integra bem aos Aplicativos Lógicos do Azure e ao Azure Functions para arquitetura orientada a eventos, oferecendo suporte ao rápido dimensionamento e gerenciamento de componentes de aplicativos. O ACA é particularmente benéfico para aplicativos que exigem operações ágeis e iterações rápidas, fornecendo opções de dimensionamento dinâmico com base no tráfego HTTP ou gatilhos controlados por eventos. Este serviço suporta contêineres Windows e Linux, permitindo que você implante microsserviços desenvolvidos em vários ambientes de programação sem problemas.
Ao aproveitar o ACA juntamente com as implantações tradicionais do Kubernetes por meio do AKS, você pode desfrutar de mais flexibilidade na forma como eles orquestram, dimensionam e gerenciam seus aplicativos em contêineres. Essa abordagem não só maximiza a eficiência operacional, mas também aumenta a capacidade de responder rapidamente às mudanças do mercado e às demandas dos clientes.
Aplicativos sem servidor orientados a eventos com o Azure Functions e os Aplicativos Lógicos do Azure
Os aplicativos sem servidor aceleram o desenvolvimento usando um modelo controlado por eventos, com gatilhos que executam código automaticamente para responder a eventos e associações para integrar perfeitamente serviços adicionais. Você só é cobrado pelo tempo e recursos necessários para executar o código.
O Azure Functions e as Aplicações Lógicas do Azure são soluções sem servidor no Azure que o ajudam a criar sistemas para reagir a uma série de eventos críticos.
- Azure Functions O Azure Functions é um serviço de computação sem servidor altamente versátil que executa código em resposta a uma variedade de gatilhos, como solicitações HTTP, eventos de timer (trabalhos cron) ou eventos de serviço do Azure (como mensagens de Filas de Armazenamento do Azure ou Service Bus). Essa flexibilidade permite que você crie aplicativos que respondem em tempo real às alterações sem gerenciar a infraestrutura do servidor. O Azure Functions dá suporte a uma ampla variedade de linguagens de programação, incluindo C#, Java, JavaScript, Python e PowerShell, tornando-o acessível a uma base diversificada de desenvolvedores. Essas funções também podem interagir com outros recursos do Azure.
- As Aplicações Lógicas do Azure fornecem uma experiência de design sem servidor que ajuda a automatizar e orquestrar tarefas, processos e fluxos de trabalho entre aplicações e entre empresas. Usando um designer visual no portal do Azure ou no Visual Studio, você pode configurar fluxos de trabalho para automatizar cenários de negócios complexos com codificação mínima. Esses fluxos de trabalho orquestram uma coleção de funções ou etapas chamadas ações que são executadas para realizar uma tarefa complexa, como processar ordens em lote e agregar resultados.
O Azure também fornece serviços como a Grade de Eventos do Azure, o Barramento de Serviço do Azure e os Hubs de Eventos do Azure para retransmitir e gerenciar eventos e mensagens que podem acionar aplicativos sem servidor em fluxos de trabalho controlados por eventos.
Aplicativos herdados monolíticos em VMs do Azure
Algumas organizações podem ter aplicativos legados com arquiteturas monolíticas que estão intimamente ligadas aos processos de negócios e são difíceis de modernizar. Você pode migrar esses aplicativos para o Azure usando um modelo de elevação e mudança e hospedá-los em Máquinas Virtuais do Azure, que é um serviço de infraestrutura como serviço (IaaS).
Embora as vantagens do Azure incluam a capacidade de habilitar serviços de backup e restauração, criptografia de disco e opções de dimensionamento que não exigem custos iniciais, você ainda precisará investir esforços manuais para implantar, manter e gerenciar aplicativos em VMs do Azure.