WordPress no Serviço de Aplicativo

Porta da frente do Azure
Azure Load Balancer
Rede Virtual do Azure
Serviço de aplicativo do Azure
Banco de Dados do Azure para MySQL

Este artigo descreve uma solução para instalações WordPress de pequeno a médio porte. A solução fornece a escalabilidade, confiabilidade e segurança da plataforma Azure sem a necessidade de configuração ou gerenciamento complexos. Para obter soluções para instalações maiores ou com uso intensivo de armazenamento, consulte Opções de hospedagem do WordPress no Azure.

Arquitetura

Diagrama de arquitetura do WordPress no Serviço de Aplicativo do Azure. O Azure Front Door roteia o tráfego para aplicativos Web. O Banco de Dados do Azure para MySQL armazena conteúdo dinâmico.

Baixe um Arquivo Visio dessa arquitetura.

Observação

Você pode estender esta solução implementando dicas e recomendações que não são específicas para qualquer método de hospedagem WordPress em particular. Para obter dicas gerais para implantar uma instalação do WordPress, consulte WordPress no Azure.

Fluxo de dados

Este cenário abrange uma instalação escalonável do WordPress que é executada em Serviços de Aplicativos do Azure.

  • Os usuários acessam o site front-end por meio do Azure Front Door com o Azure Web Application Firewall habilitado.
  • O Azure Front Door distribui solicitações entre os aplicativos Web do Serviço de Aplicativo nos quais o WordPress é executado. O Azure Front Door recupera todos os dados que não estão armazenados em cache dos aplicativos Web do WordPress.
  • O aplicativo WordPress usa um ponto de extremidade de serviço para acessar uma instância de servidor flexível do Banco de Dados do Azure para MySQL. O aplicativo WordPress recupera informações dinâmicas do banco de dados.
  • A alta disponibilidade localmente redundante é habilitada para o Banco de Dados do Azure para MySQL por meio de um servidor em espera na mesma zona de disponibilidade.
  • Todo o conteúdo estático é hospedado no Armazenamento de Blobs do Azure.

Componentes

  • O modelo WordPress no Serviço de Aplicativo é uma solução gerenciada para hospedar o WordPress no Serviço de Aplicativo. Além do Serviço de Aplicativo, a solução também usa os outros serviços do Azure descritos nesta seção.
  • O Serviço de Aplicativo fornece uma estrutura para criar, implantar e dimensionar aplicativos Web.
  • O Azure Front Door é uma rede moderna de entrega de conteúdo na nuvem. Como uma rede distribuída de servidores, o Azure Front Door fornece conteúdo da Web de forma eficiente aos usuários. As Redes de entrega de conteúdo minimizam a latência armazenando conteúdos em cache nos servidores de borda em localizações de ponto de presença próximas aos usuários finais.
  • A Rede de Entrega de Conteúdo do Azure fornece conteúdo da Web aos usuários com eficiência, armazenando blobs em locais estrategicamente posicionados. Nesta solução, você pode usar a Rede de Entrega de Conteúdo como uma alternativa ao Azure Front Door.
  • A Rede Virtual do Azure permite que recursos do Azure se comuniquem entre si, com a Internet e com redes locais. As redes virtuais proporcionam isolamento e segmentação. Eles também filtram e roteiam o tráfego e possibilitam estabelecer conexões entre vários locais. Nesta solução, as duas redes são conectadas via emparelhamento de rede virtual.
  • A Proteção contra DDoS do Azure fornece recursos de mitigação de DDoS avançados. Quando você combina esses recursos com as práticas recomendadas de design de aplicativos, eles ajudam a se defender contra ataques DDoS. Você deve habilitar a Proteção contra DDOS em qualquer rede virtual do perímetro.
  • Os grupos de segurança de rede contêm uma lista de regras de segurança que permitem ou rejeitam o tráfego de rede de entrada ou de saída com base no endereço IP de origem ou destino, na porta e no protocolo. Nas sub-redes desse cenário, as regras do grupo de segurança de rede restringem o fluxo de tráfego entre os componentes do aplicativo.
  • O Azure Key Vault armazena e controla rigidamente o acesso a senhas, certificados e chaves.
  • O Banco de Dados do Azure para MySQL um serviço de banco de dados relacional com base no mecanismo de banco de dados MySQL de software livre. A opção flexível de implantação de servidor é um serviço totalmente gerenciado que fornece controle e flexibilidade mais granulares nas funções de gerenciamento de banco de dados e definições de configuração. Nesse cenário, o Banco de Dados do Azure para MySQL armazena dados do WordPress.
  • O Armazenamento de Blobs fornece armazenamento de objetos escalável e otimizado. O Blob Storage é uma boa opção para cargas de trabalho nativas da nuvem, arquivos, data lakes, computação de alto desempenho e aprendizado de máquina.

Alternativas

  • Você pode usar o Cache do Azure para Redis para hospedar um cache de chave-valor para plug-ins de otimização de desempenho do WordPress. O cache pode ser compartilhado entre os aplicativos Web do Serviço de Aplicativo.
  • Em vez do Azure Front Door, você pode usar a Rede de Entrega de Conteúdo para entregar conteúdo da Web aos usuários.

Detalhes do cenário

Este cenário de exemplo é apropriado para instalações de pequeno a médio porte do WordPress.

Possíveis casos de uso

  • Eventos de mídia que causam aumento no tráfego
  • Blogs que usam o WordPress como sistema de gestão de conteúdo
  • Sites de comércio eletrônico ou de negócios que usam o WordPress
  • Sites criados usando outros sistemas de gerenciamento de conteúdo

Considerações

Estas considerações implementam os pilares do Azure Well-Architected Framework, que é um conjunto de princípios de orientação que podem ser usados para aprimorar a qualidade de uma carga de trabalho. Para obter mais informações, confira Microsoft Azure Well-Architected Framework.

Confiabilidade

A confiabilidade garante que seu aplicativo possa cumprir os compromissos que você assume com seus clientes. Para obter mais informações, confira Visão geral do pilar de confiabilidade.

Considere as seguintes recomendações ao implantar esta solução:

  • O Serviço de Aplicativo fornece balanceamento de carga interno e verificações de integridade. Esses recursos ajudam a manter a disponibilidade quando um aplicativo Web do Serviço de Aplicativo falha.
  • Ao usar uma rede de entrega de conteúdo para armazenar em cache todas as respostas, você obtém um pequeno benefício de disponibilidade. Especificamente, quando a origem não responde, você ainda pode acessar o conteúdo. Mas o cache não fornece uma solução de disponibilidade completa.
  • Você pode replicar o Armazenamento de Blobs para uma região emparelhada para redundância de dados em várias regiões. Para mais informações, confira Redundância do Armazenamento do Microsoft Azure.
  • Para aumentar a disponibilidade do Banco de Dados do Azure para MySQL, habilite a alta disponibilidade da mesma zona. Esse recurso cria um servidor em espera na mesma zona de disponibilidade que o servidor primário. Você precisa usar a camada de computação de Uso Geral ou Crítica de Negócios para habilitar a alta disponibilidade da mesma zona. Para obter mais informações, consulte as opções de alta disponibilidade que se aplicam às suas necessidades.

Segurança

A segurança fornece garantias contra ataques deliberados e o abuso de seus dados e sistemas valiosos. Para saber mais, confira Visão geral do pilar de segurança.

Considere as seguintes recomendações ao implantar esta solução:

  • Use o Firewall de Aplicativo Web do Azure no Azure Front Door para ajudar a proteger o tráfego de rede virtual que flui para a camada de aplicativo front-end. Para obter mais informações, confira Firewall de Aplicativo Web do Azure no Azure Front Door.
  • Não permita que o tráfego de saída da Internet flua da camada do banco de dados.
  • Não permita acesso público ao armazenamento privado.

Para obter mais informações sobre a segurança do WordPress, consulte Dicas gerais de segurança e desempenho do WordPress e documentação de segurança do Azure.

Otimização de custo

A otimização de custos é a análise de maneiras de reduzir as despesas desnecessárias e melhorar a eficiência operacional. Para obter mais informações, confira Visão geral do pilar de otimização de custo.

Analise as seguintes considerações de custo ao implantar esta solução:

  • Expectativas de tráfego (GB/mês) Seu volume de tráfego é o fator que tem o maior efeito sobre seu custo. A quantidade de tráfego que você recebe determina o número de instâncias do Serviço de Aplicativo necessárias e o preço da transferência de dados de saída. O volume de tráfego também se correlaciona diretamente com a quantidade de dados fornecidos pela sua rede de entrega de conteúdo, onde os custos de transferência de dados de saída são mais baratos.
  • Quantidade de dados hospedados. É importante considerar a quantidade de dados que você hospeda no Armazenamento de Blobs. O preço do armazenamento é baseado na capacidade usada.
  • Porcentagem de gravação. Considere a quantidade de novos dados que você grava em seu site e host no Armazenamento do Azure. Determine se os novos dados são necessários. Para implantações de várias regiões, a quantidade de novos dados que você grava em seu site se correlaciona com a quantidade de dados espelhados em suas regiões.
  • Conteúdo estático versus dinâmico. Monitore o desempenho e a capacidade de armazenamento do banco de dados para determinar se um SKU mais barato pode oferecer suporte ao seu site. O banco de dados armazena conteúdo dinâmico e a rede de entrega de conteúdo armazena em cache o conteúdo estático.
  • Otimização do Serviço de Aplicativo Para obter dicas gerais para otimizar os custos do Serviço de Aplicativo, consulte Serviço de Aplicativo do Azure e otimização de custos.

Eficiência de desempenho

A eficiência do desempenho é a capacidade de dimensionar sua carga de trabalho para atender às demandas colocadas por usuários de maneira eficiente. Para obter mais informações, consulte Visão geral do pilar de eficiência de desempenho.

Esse cenário hospeda o front-end do WordPress no Serviço de Aplicativo. Você deve habilitar o recurso de dimensionamento automático para dimensionar automaticamente o número de instâncias do Serviço de Aplicativo. Você pode definir um gatilho de dimensionamento automático para responder à demanda do cliente. Você também pode definir um gatilho baseado em uma agenda definida. Para obter mais informações, consulte Introdução à escala automática no Azure e o artigo Princípios de eficiência de desempenho do Azure Well-Architected Framework.

Colaboradores

Esse artigo é mantido pela Microsoft. Ele foi originalmente escrito pelos colaboradores a seguir.

Autor principal:

Outros colaboradores:

  • Adrian Calinescu | Arquiteto de Soluções Cloud Sênior

Para ver perfis não públicos no LinkedIn, entre no LinkedIn.

Próximas etapas

Documentação do produto:

Módulos de treinamento da Microsoft: