WordPress no Serviço de Aplicativo

Azure Front Door
Azure Load Balancer
Azure Virtual Network
Azure App Service
Azure Database for 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 encaminha o tráfego para aplicativos Web. O Banco de Dados do Azure para MySQL armazena conteúdo dinâmico.

Transfira um ficheiro do Visio desta arquitetura.

Nota

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 específico. 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 escalável do WordPress que é executada no Serviço de Aplicativo 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 pelos 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 moderna rede de entrega de conteúdo na nuvem. Como uma rede distribuída de servidores, o Azure Front Door fornece conteúdo Web de forma eficiente aos utilizadores. As redes de entrega de conteúdo minimizam a latência armazenando conteúdo armazenado em cache em servidores de borda em locais de ponto de presença próximos aos usuários finais.
  • A Rede de Entrega de Conteúdo do Azure fornece conteúdo Web de forma eficiente aos utilizadores armazenando blobs em locais estrategicamente colocados. 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 fornece uma forma de os recursos implementados comunicarem entre si, com a Internet e com as 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 aprimorados de mitigação de DDoS. 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 redes virtuais de perímetro.
  • Os grupos de segurança de rede usam uma lista de regras de segurança para permitir ou negar o tráfego de rede de entrada ou saída com base no endereço IP de origem ou de destino, porta e 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 o acesso a senhas, certificados e chaves.
  • Banco de Dados do Azure para MySQL - servidor flexível é um serviço de banco de dados relacional baseado no mecanismo de banco de dados MySQL de código aberto. A opção de implantação de servidor flexível é um serviço totalmente gerenciado que fornece controle granular e flexibilidade sobre 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 Blob 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 Redis do Azure 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 fornecer 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.

Potenciais casos de utilização

  • Eventos de mídia que causam picos de tráfego
  • Blogs que usam o WordPress como seu sistema de gerenciamento de conteúdo
  • Sites de negócios ou e-commerce que usam WordPress
  • Sites criados usando outros sistemas de gerenciamento de conteúdo

Considerações

Essas considerações implementam os pilares do Azure Well-Architected Framework, que é um conjunto de princípios orientadores que podem ser usados para melhorar a qualidade de uma carga de trabalho. Para obter mais informações, consulte Microsoft Azure Well-Architected Framework.

Fiabilidade

A confiabilidade garante que seu aplicativo possa atender aos compromissos que você assume com seus clientes. Para obter mais informações, consulte 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 e verificações de integridade integrados. Esses recursos ajudam a manter a disponibilidade quando um aplicativo Web do Serviço de Aplicativo falha.
  • Quando você usa uma rede de distribuição de conteúdo para armazenar em cache todas as respostas, 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 Blob para uma região emparelhada para redundância de dados em várias regiões. Para obter mais informações, veja 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 para os 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 oferece garantias contra ataques deliberados e o abuso de seus valiosos dados e sistemas. Para obter mais informações, consulte 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 na Porta da Frente do Azure para ajudar a proteger o tráfego de rede virtual que flui para a camada de aplicativo front-end. Para obter mais informações, consulte Azure Web Application Firewall on Azure Front Door.
  • Não permita que o tráfego de saída da Internet flua da camada de banco de dados.
  • Não permita o 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 custos

A otimização de custos consiste em procurar formas de reduzir despesas desnecessárias e melhorar a eficiência operacional. Para obter mais informações, consulte Visão geral do pilar de otimização de custos.

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

  • Expectativas de tráfego (GB/mês). O seu volume de tráfego é o fator que tem o maior efeito no 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 Blob. O preço do armazenamento é baseado na capacidade usada.
  • Percentagem de escrita. Considere a quantidade de novos dados que você escreve em seu site e host no Armazenamento do Azure. Determine se os novos dados são necessários. Para implantações em várias regiões, a quantidade de novos dados que você grava em seu site está correlacionada com a quantidade de dados espelhados em suas regiões.
  • Conteúdo estático versus dinâmico. Monitore o desempenho e a capacidade do 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 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

Eficiência de desempenho é a capacidade da sua carga de trabalho para dimensionar para satisfazer as exigências que os utilizadores lhe colocam de forma eficiente. Para obter mais informações, consulte Visão geral do pilar de eficiência de desempenho.

Este 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 com base em um cronograma definido. Para obter mais informações, consulte Introdução ao dimensionamento automático no Azure e o artigo Princípios de eficiência de desempenho do Azure Well-Architected Framework.

Contribuidores

Este artigo é mantido pela Microsoft. Foi originalmente escrito pelos seguintes contribuidores.

Autor principal:

Outros contribuidores:

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

Para ver perfis não públicos do LinkedIn, inicie sessão no LinkedIn.

Próximos passos

Documentação do produto:

Módulos de formação da Microsoft: