|
Acadêmico(a): Marco Aurélio Alano Godinho |
Título: Arquitetura na nuvem pública AWS voltada à hospedagem de uma aplicação Magento |
|
Conclusão: |
O trabalho apresentado serviu como um meio para validar uma arquitetura na nuvem
que fosse robusta, escalável e resiliente para o Magento. O resultado foi uma infraestrutura
que, através da utilização de contêineres Docker, é altamente disponível por garantir a
operação do serviço mesmo com a perda de uma zona de disponibilidade da AWS. Além
disto, a infraestrutura é escalável por aumentar ou reduzir automaticamente o seu tamanho de
forma a se adequar à demanda – limites neste quesito podem decorrer de um limite da
quantidade ou tamanho das instâncias permitidas pela AWS para a conta na qual o ambiente é
criado.
A utilização de um provedor de plataforma como serviço na nuvem foi fundamental
para o cumprimento dos objetivos, pois permitiu que a infraestrutura fosse criada e destruída
em poucos minutos com cobranças somente pelo tempo em que ficou rodando. A nuvem
também permitiu que houvesse versionamento da infraestrutura e o desenvolvimento de uma
arquitetura de alta disponibilidade com distribuição de dados e recursos computacionais entre
duas zonas de disponibilidade.
O Magento se provou uma plataforma escalável e viável para a execução dos testes.
Com a arquitetura proposta foi possível isolar potenciais pontos de falha da aplicação de
forma a evitar indisponibilidades no serviço, como o armazenamento de cache, sessão de
usuários, dados e processamento da aplicação em si. A utilização de Docker como forma de
centralizar os serviços que permitem a execução do Magento como um serviço único
simplificou a forma de implantar o código, e permitiu que múltiplas instâncias idênticas
fossem criadas.
A solução criada possui uma limitação na parte que a integra ao fluxo de
desenvolvimento. Apesar de possuir uma pipeline que cria uma imagem contendo o código, a
atualização desta imagem no ambiente de produção não foi planejada. Assim, a cada vez que
uma nova imagem é criada, é necessário intervir manualmente para que ela comece a ser
utilizada para rodar a aplicação. Outra limitação está na limpeza do cache do Varnish. Como o
Magento não faz uma consulta DNS para recuperar todas as instâncias de Varnish, ele executa
a limpeza em apenas uma. Estes pontos podem ser revisitados numa futura extensão do
trabalho, assim como a possibilidade de utilização de serviços como o AWS Web Application
Firewall (WAF) para melhoria da segurança do Magento. É válido também realizar testes
reais com a perda de uma zona de disponibilidade. Um estudo mais aprofundado, potencialmente em contato com a própria AWS, precisa ser realizado para identificar como
isto pode ser feito.
Este artigo se mostra relevante por tratar de um conceito ainda em desenvolvimento, a
implementação de infraestrutura como código. Além disso, trata-se de um estudo de caso
detalhado dos requerimentos necessários para a criação de uma arquitetura altamente
disponível, permitindo que projetos com objetivos similares utilizem técnicas semelhantes e
contribuindo assim com uma base de conhecimento científico na área. |
|
|