Escalando uma aplicação Wordpress com o Azure Websites

Sign in to queue

Description

Escalando o WordPress no Azure

O objetivo nesta seção é tornar esta uma aplicação WordPress altamente escalável, mas para isso vamos precisar realizar as seguintes mudanças:

  1. Criar uma conta de armazenamento no Azure
  2. Instalar e Implantar o plug-in "Windows Azure Storage for WordPress"
  3. Configurar o plug-in "Windows Azure Storage for WordPress"
  4. Configurar o Azure para escalar a aplicação

Para tornar o WordPress uma aplicação preparada para ser escalada no Azure é necessário que os arquivos carregados na biblioteca de Mídia do WordPress não sejam mais criados no sistema de arquivos do Azure Web Sites. O plug-in "Windows Azure Storage for WordPress" muda o local de upload dos arquivos para o Azure Storage, utilizando um container de Blob. Por isso precisamos realizar os passos 1, 2 e 3 antes de escalar a aplicação de fato.

Criar uma conta de armazenamento no Azure

Você pode encontrar um passo a passo detalhado de como criar uma conta na documentação do Azure disponível neste endereço.

Instalar no WordPress o plug-in "Windows Azure Storage for WordPress"

Acesse a área de administração do WordPress e clique em Plug-ins. Você vai ver a listagem de plug-ins instalados:

Generic Episode Image

Clique no botão Add New e na tela seguinte, na caixa de texto, busque por "Windows Azure Storage for WordPress":

Generic Episode Image

O plug-in que procuramos é o primeiro da lista. Clique em Install Now. Após alguns instantes será apresentada a tela de sucesso:

Generic Episode Image

Confirme a instalação do plug-in na caixa de diálogo e aguarde até concluir a instalação.

Ao concluir o processo de instalação, clique em "Activate Plugin".

Generic Episode Image

Agora você pode reparar que existe mais um plug-in ativo na listagem de plug-ins.

Generic Episode Image

Para realizar a implantação deste plug-in é necessário realizar um push para o repositório central do Azure. No terminal é necessário realizar os seguintes comandos.

sudo git add .

sudo git commit -m "mensagem de commit"

sudo git push origin master

Generic Episode Image

Configurar o plug-in "Windows Azure Storage for WordPress"

Para configurar o plug-in "Windows Azure Storage for WordPress" você precisa ter realizado os dois passos anteriores.

Para configurar o "Windows Azure Storage for WordPress" você vai precisar preencher duas informações: Store Account Name e Primary Access Key. Estas informações estão disponíveis no painel da sua Storage Account.

Generic Episode Image

Ambas as informações estão disponíveis ao clicar no botão Gerenciar Chaves de Acesso na barra inferior da página.

Generic Episode Image

Com estas informações em mãos vamos a página de configuração do Plug-In.

Após a instalação do plug-in "Windows Azure Storage for WordPress" terá um novo item disponível no sub-menu de "Settings" chamando "Windows Azure", acesse-o e nesta seção terá toda a configuração para integrar a biblioteca de mídia com o Serviço de Armazenamento do Azure.

Generic Episode Image

Preencha os campos Store Account Name e Primary Access Key com os dados da sua Storage Account, dê um nome para o container e clique no botão "Create".

Generic Episode Image

Marque o check box no final da página para que o Plug-In passe a ser utilizado quando os uploads forem feitos.

Generic Episode Image

Clique em "Save Changes" e você receberá uma mensagem que a sua alteração foi realizada com sucesso.

Configurar o Azure para escalar a aplicação

O Azure Web Sites oferece opções para escalabilidade (aumentar a quantidade de máquinas servindo a aplicação) de forma simples e transparente. Estas configurações estão na aba "Escala" da página do site no Portal de Gerenciamento do Azure:

Generic Episode Image

As opções são disponibilizadas de acordo com plano Azure utilizado pela aplicação.

No plano "Compartilhado" a sua aplicação ficara em uma máquina virtual compartilhada com outras aplicações, nesta opção é possível escolher o número de instancias que irão prover o site de forma manual.

Generic Episode Image

No plano "Básico", você passa a ter uma máquina virtual completamente dedicada para servir a sua aplicação, nesta opção você pode além de escolher o número de instancias, também é possível escolher o tamanho destas instâncias.

Generic Episode Image

No plano "Padrão", como no básico, você tem uma máquina virtual completamente dedicada para servir a sua aplicação. Neste plano você tem as maiores opções de escalabilidade, onde é possível realizar todas as configurações das opções anteriores e regras para aumentar esta quantidade.

Existem duas regras possíveis de configurar para escalar a aplicação automaticamente:

  • Em datas ou períodos específicos
  • De acordo com as métricas do Azure

 

Para realizar a configuração por datas ou períodos específicos basta clicar no botão "configurar horas agendadas" no painel de administração do Azure.

Generic Episode Image

Nesta nova tela você pode optar por períodos recorrentes ou datas específicas.

Generic Episode Image

Para realizar a configuração por métricas basta escolher uma das métricas disponíveis (hoje a única métrica disponível é CPU) e então definir os valores máximo e mínimo de instâncias que o Azure deve utilizar e pôr fim a porcentagem mínima e máxima que o consumo da CPU deve trabalhar.

Nesta opção o Azure se auto regula para criar e remover instancias de acordo com as definições da métrica de CPU.

Generic Episode Image

Qualquer configuração que você faça é necessário clicar no botão salvar para que esta entre em vigor.

Generic Episode Image

Ao salvar uma configuração de escalabilidade o Azure irá apresentar uma mensagem apresentando as regras de faturamento e como isso pode afetar sua conta. Você precisa confirmar esta mensagem, para conseguir alterar as configurações de escalabilidade.

Generic Episode Image

Com todas as opções apresentadas você não deverá ter problemas para escalar sua aplicação conforma a sua necessidade.

É importante destacar para termos uma aplicação escalável esta deve possuir uma arquitetura que permita a replicação em várias instâncias. Alguns dos plug-ins hoje disponíveis para WordPress não tem uma arquitetura escalável. Como por exemplo o plug-in "SP Project & Document Manager" apresentado na primeira seção deste documento como exemplo de customização.

Por tanto se você vai precisar escalar a sua aplicação precisa escolher muito bem quais as customizações que estará colocando na sua aplicação e se assegurar que todas elas mantêm a sua aplicação escalável.

 

 

The Discussion

Add Your 2 Cents