Automação de Servidor WordPress Amazon AWS CloudFormation
Nesse artigo vamos falar um pouco do nosso projeto open source recém lançado no GitHub com foco em automação de Servidor WordPress.
Hoje em dia quase tudo o que envolve hospedagem e deploy de aplicações, nós tentamos imaginar formas de automatizar várias tarefas. Imagine você configurar um servidor na mão levando horas, e através de uma automação poder ter o ambiente pronto em minutos. Incrível, não?
Pensando na melhor forma de configurar um servidor, e até mesmo poder replicar várias vezes em novos projetos sem longas horas técnicas, elaboramos esse modelo básico de automação. Você pode utiliza-lo, customiza-lo, e trabalhar com ele conforme precise.
Esquema do processo de deploy desde a geração da AMI até o deploy do EC2.
Automação Infraestrutura (IAC)
Infraestrutura como Código (IAC), é algo que assim que descobri me apaixonei. Podemos escrever e versionar nossa infraestrutura em código (JSON,YAML), e existe várias tecnologias para isso como:
- Terraform
- Ansible
- CloudFormation
No nosso modelo de automação, usamos o CloudFormation. Através dele definimos todo o escopo da infraestrutura que desejamos que seja provisionado como: Região, Tipo de Máquina, Tamanho do Disco, Imagem do Servidor, Regras de Segurança e muito mais.
Na console da AWS podemos fazer o deploy da infraestrutura usando nosso template diretamente na console ou via terminal com o AWS CLI.
Esquema do processo de deploy desde a geração da AMI até o deploy do EC2.
Automação Imagem Servidor WordPress
Como estamos trabalhando com AWS e principalmente usando o CloudFormation para provisionar a nossa infraestrutura. Nós precisamos ter uma AMI como base criada. O servidor irá utilizar uma imagem de sistema operacional personalizada para que inicialize com todos os serviços funcionando.
Nós podemos utilizar o Packer para automatizar a criação de uma AMI personalizada para que nós utilizemos na AWS. No nosso projeto a AMI irá utilizar o Ubuntu 20:04 e já vai vir com toda a parte de software instalado.
Automação de Software
Todos os softwares necessários para que um site WordPress consiga funcionar (Nginx, PHP, MySQL) também foram automatizados. Nós escolhemos o Ansible como ferramenta de automação na instalação e configuração da nossa Stack.
No momento que nossa AMI estiver sendo criada, o Ansible será acionado para instalar nossa Stack.
Informações da Automação WordPress AWS
Todos os requisitos e formas de uso estão no nosso GitHub.
- Projeto: https://github.com/alejunio/wordpress-cloudformation-packer-devops
- Vídeo Deploy:
Caso queira colaborar com alguma atualização, funcionalidade e até mesmo relatar um bug, nos vemos lá.