Afilio tinha um data center na Europa e migrou para AWS com práticas definidas pelo Well-Architected Framework.
A Afilio, empresa focada em marketing de performance, migrou para a nuvem da Amazon Web Services (AWS) por meio da Mandic Cloud Solutions, do grupo Claranet, uma empresa multinacional especializada em serviços profissionais em cloud com ofertas que contemplam consultoria, implantação, migração e gerenciamento de nuvem privada, pública e híbrida; automação em DevOps; engenharia de dados e analytics; entre outras soluções exclusivas. A companhia possui as principais certificações de qualidade, como ISO 20.000 e PCI-DSS e é reconhecida como AWS Managed Service Provider (MSP).
Anteriormente, a empresa tinha sua infraestrutura baseada em um data center na Europa e gostaria de migrar este workload para a AWS seguindo as práticas de arquitetura definidas pelo Well-Architected Framework. Dentre os requisitos do projeto é possível destacar os seguintes:
- Arquitetura segura, escalável e disponível Implementar uma arquitetura na AWS seguindo os padrões do WAF, visando atender diferentes pilares de qualidade;
- Infraestrutura como código e imutável Utilizar ferramentas de infraestrutura como código para criar e operar o ambiente de forma fácil e controlada;
- Processos automatizados Implementar pipelines de deployment para a aplicação atingir o ambiente de produção de forma repetível e segura.
Desafios
- Migrar aplicação para AWS;
- Obter ganhos de qualidade de serviço;
- Obter melhor time-to-market;
- Indisponibilidade em picos de acessos (Black Friday).
- Má qualidade dos serviços do Data Center;
- Processos de deployment manuais.
Solução Proposta
- Utilizar infraestrutura como código e infraestrutura imutável para migrar o ambiente, baseando-se nos padrões definidos pelo AWS Well-Architected Framework;
- Implementar pipelines de CI/CD para a aplicação.
Impacto
- Arquitetura escalável e com alta disponibilidade;
- Infraestrutura segura;
- Processos de deployment automatizados
- Visibilidade de segurança e performance da aplicação.
Inicialmente a Mandic, empresa do grupo Claranet, referência em gestão de cloud corporativa e parte do AWS Partner Network (APN) com nível Advanced, realizou uma análise da arquitetura atual da aplicação na Afilio. Foram identificados que, serviços da AWS, seriam necessários para replicar a arquitetura. Depois que alguns pontos de melhorias foram apresentados, foi iniciado este cenário de backlog para execução da migração.
Como os serviços da AWS foram usados na solução
Na arquitetura proposta algumas aplicações antes instaladas em servidores e gerenciados manualmente foram substituídos por serviços gerenciados pela própria AWS, resultando em uma gestão mais simples e com alta disponibilidade.
- FTP → AWS Transfer for SFTP;
- S3;
- >Memcached → ElastiCache;
- VPN na cliente → Client Endpoints (OpenVPN gerenciado pela AWS);
- Pool de WebApplication estático → Auto Scaling Group + Elastic Load Balancer;
- Deploy via shell script → CodePipeline, CodeCommit, CodeDeploy;
- CDN;
- WAF.
Resultados
Desempenho do Sistema
Ocorreu uma melhora significativa na performance da aplicação com o uso de serviços gerenciados da AWS, como Auto Scaling Groups, S3 e RDS.
Disponibilidade
A implantação do projeto seguiu os padrões de arquitetura definidos pelo Well-Architected Framework, que converteu-se em um no alto nível de disponibilidade geral da aplicação. O uso de escalonamento horizontal permite aumentar e diminuir o poder de processamento conforme a demanda.
Processos automatizados
A equipe de implantação, utilizou os serviços de pipeline da AWS para automatizar os processos de deployments da aplicação. O CodeCommit foi usado como repositório de código e um disparo automático foi configurado no CodePipeline sempre que um commit era feito na branch master. Como a aplicação é desenvolvida em PHP, não há necessidade de utilizar o CodeBuild para realizar o build da aplicação, pois o CodeDeploy foi formatado para atualizar a aplicação nas máquinas de um pool de Auto Scaling utilizando a estratégia de in-place deployment
Infraestrutura como código e imutável
A infraestrutura de código aberta, Terraform, foi provisionada para a criação da infraestrutura necessária para a aplicação. As ferramentas Packer e Ansible foram formatadas para criar golden images com as dependências necessárias para o funcionamento da aplicação e realização do tuning de sistema operacional.
Segurança
Diversas ferramentas são usadas para garantir que o ambiente permaneça seguro. A configuração de NACLs, Security Groups e CloudFront com WAF permite atingir um alto nível de segurança para toda a arquitetura e o aplicativo de software, o Client VPN, garante o acesso aos serviços privados provisionados de forma segura.
Redução de custos
Segundo a Afilio, os custos com a infraestrutura anterior foram reduzidos em 35%.
Depoimento
"Os benefícios foram além do fuso horário que dificultava as transações e comunicação, mas com a mudança do workload para AWS ganhamos em autonomia e agilidade, pois é possível entrar em contato diariamente com o time da companhia, além de realizar todas as tratativas, na língua portuguesa". Felipe de Oliveira, CTO da Afilio