fbpx

Servidor WordPress Alto Tráfego na AWS 5 mil Conexões

Compartilhar no facebook
Facebook
Compartilhar no twitter
Twitter
Compartilhar no linkedin
LinkedIn
Compartilhar no google
Google+
Compartilhar no whatsapp
WhatsApp
Compartilhar no email
Email
Compartilhar no telegram
Telegram

Nesse artigo irei falar um pouco sobre servidor de alto tráfego na Amazon AWS para WordPress.

Tenho trabalhado muito em projetos de clientes que precisam colocar sites WordPress em servidores ou hospedagem de alto tráfego, e na AWS temos todo o amparato para montar um ambiente de alta disponibilidade focado em Alto Tráfego.

No entanto, existem outros provedores que podemos trabalhar tranquilamente como o Google Cloud, DigitalOcean, Vultr e outros. Claro, com metodologias ou ferramentas distintas.

No mês 08/2020, implementei três estruturas para hospedagem de alto tráfego, 02 deles na AWS e 1 no GCP. Todos eles com plataformas em WordPress, 02 plataformas de eventos/streaming e 01 grande portal de notícia.

  • 1 Portal de notícias ( 5/10 Milhões de acessos mês )  – GCP
  • 1 Portal de eventos ( 10/20 mil usuários simultâneos )  – AWS
  • 1 Portal de eventos ( 5 mil usuários simultâneos)  – AWS

Nesse artigo irei comentar um pouco sobre esse tipo de ambiente, os famosos servidores para Alto Tráfego, mas com um foco maior na Amazon AWS pois é onde mais trabalho. 

O que é uma hospedagem de alto tráfego ?

Hospedagem de Alto Tráfego é um modelo de infraestrutura que foi projetado para suportar um determinado número de acessos simultâneos sem que o site caia. Então, conforme o número de usuários aumentam, novas configurações e até modelos de estruturas são utilizados.

Mas uma hospedagem de alto tráfego não significa que você tem uma hospedagem de alta disponibilidade. Alta disponibilidade de sites é um outro conceito que falaremos em um outro momento.

Quem precisa de uma hospedagem de alto tráfego ?

Se você possui um grande portal de notícias, um e-commerce ou um site com um alto volume de acessos, significa que você precisa sim ter uma hospedagem de alto tráfego.

  • Portais de Notícias
  • Blogs com público formado
  • E-Commerce de médio/grande porte
  • Sites que vão receber tráfego ADS recorrente
  • Sites de Eventos, Streaming e Transmissões ao vivo
  • Aplicações Web
  • Sites adultos
  • Sites com algum sistema ou aplicação paas

Quando falo em alto tráfego estou me referindo a projetos que tem muitos acessos, milhares, senão centenas de milhares de acessos simultâneos.

Coleta de Dados: Hospedagem WordPress Alto Tráfego na Amazon AWS

Estou sempre estudando, aprendendo novas tecnologias e amadurecendo o que já domino, principalmente para projetos WordPress. É muito importante entender seus principais gargalos e detalhes que podem fazer diferença na velocidade e performance do projeto.

Em nuvem, podemos arquitetar cada detalhe mínimo da infraestrutura, e com isso podemos pensar em um cenário que realmente atenda nossos clientes.

Não existe uma única solução ou forma de hospedar um site, pois existem inúmeras tecnologias no mercado para os mais diversos gostos. Mas cada projeto é único, e dependendo do projeto tendemos a adotar tecnologias que mais se adequam ao cenário.

Como dito no início do artigo, realizei algumas implementações na AWS e GCP onde arquitetei ambientes para alto tráfego de sites em WordPress.

Antes de iniciar a arquitetura e implementação do ambiente, solicitei algumas métricas importantes que foram:

1. Média de Acessos Simultâneos e Mensal do WordPress

Ter essas métricas é crucial para a implementação e execução do projeto, pois vai impactar diretamente nos modelos de servidores e otimizações que serão feitas. Sem essas métricas, nossa única alternativa é implementar um cenário e torcer para dar certo ou ter que reajustar em realtime com o projeto em produção.

Essas métricas são importantes paras as seguintes tarefas:

  • Escolha do tipo de servidor(es)
  • Quantidade de CPU e RAM
  • Escolha do Web Server
  • Otimizações no Nginx ou LiteSpeed Web Server
  • Otimizações no PHP
  • Otimizações e arquitetura do MySQL
  • Escolha do Cache de Objetos
  • Escolha do Load Balancer ( Se aplicável )
  • Cache de página
  • Tuning no Servidor

2. Tamanho do Banco de Dados

Não sou especialista em banco de dados, existem profissionais para isso, os famosos DBA’s. No entanto, adquiri conhecimento suficiente para entender os principais gargalos e problemas com banco de dados.

Sites em WordPress com banco de dados muito grande, dependendo do nível do servidor, após ter uma carga leve de acessos a parte interna do site fica extremamente lenta, mesmo que as paginas para os visitantes estejam rápidas em algumas vezes. E novamente, a primeira etapa acima faz muito sentido nesse momento. 

Também é nesse momento que decidimos se implementamos um serviço de banco de dados dedicado no Aurora ou RDS com MySQL ou se colocamos em um servidor EC2 de baixo custo. 

Dicas Para Sites de Alto Tráfego AWS – Cliente com 5 mil conexões Simultâneas

Vou dar uma pincelada básica na arquitetura que utilizamos para um de nossos clientes. Ele possui um projeto em WordPress para eventos e Streaming, o requisito era aguentar um tráfego simultâneo e constante de 5 mil pessoas online.

servidor wordpress alto trafego aws case 01
WordPress AWS

1. Hardware

Na AWS existem vários tipos de famílias de servidores, desde as mais genéricas até as mais potentes. Nesse case em específico usamos:

  • Servidor EC2 família C5
  • Discos SSD e EFS 
  • Banco de Dados Aurora

Servidor Fixo EC2 c5.xlarge / 4 CPU / 8 GB RAM

Servidor Spot AutoScaling EC2 c5.xlarge / 4 CPU / 8 GB RAM

Banco de Dados Aurora Serverless: Min 1 CPU e 2GB RAM, Max 8CPU e 32GB RAM.

 

2. Software e Otimizações – Stack

Uma vez que os tipos de servidores e tecnologias que envolvem a camada da nuvem foram decididas, agora vamos definir nossa stack com os softwares que iremos executar. Nesses projetos tivemos a oportunidade de colocar em produção em ambientes de alto tráfego tecnologias como:

  • Web Server OpenLiteSpeed com configurações de otimização
  • LSCache para cache de página
  • LSAPI 7.4 com configurações de otimização
  • Tuning no SO com otimizações

Na camada de nuvem ainda configuramos:

  • Elasticache AWS para cache de objetos
  • CDN CloudFront com integração ao S3 para servir imagens e cache de arquivos estáticos

Leia Mais:

3. Banco de Dados Externo RDS

Para o banco de dados podemos utilizar tanto o RDS com o MySQL/MariaDB como o Aurora para MySQL, ambos os serviços são gerenciados pela AWS e são incríveis. No entanto, quando estamos trabalhando com um ambiente de alto tráfego o Aurora Serverless é o mais indicado.
Imagine você precisar de mais memória RAM ou poder de processamento(CPU), e ele poder escalar sem downtime, isso é maravilhoso! . 

4. CDN com CloudFront e S3 Storage

O CloudFront é um serviço da Amazon AWS para rede e entrega de conteúdo, ou seja, um CDN. Quando um site trabalha com um CDN, ele acaba ganhando duas grandes vantagens: velocidade e economia de recursos do servidor.

Como o CloudFront está presente em várias regiões do mundo, imagens e arquivos estáticos vão ser carregados a partir do local mais próximo do usuário, gerando uma velocidade maior. Já o servidor não vai precisar na maioria dos casos se preocupar em processar esses arquivos para entregar ao usuário.

Podemos trabalhar com o CloudFront em conjunto com o S3. O S3 Storage é o serviço que irá guardar os arquivos dentro de baldes de objetos, os famosos buckets. Então configuramos o CloudFront e o S3 com um subdomínio personalizado para o cliente, por exemplo: cdn.exemplo.com.br ,.

Para automatizar os envios de imagens e arquivos estáticos para o S3, existe um plugin para WordPress que se conecta a esses serviços. Sempre que você subir uma imagem e/ou arquivo no wordpress ele será mandado para o S3 e o CDN irá fazer a entrega.

Se tiver interesse em adquirir o plugin WP OFFLOAD MEDIA clique no banner abaixo para saber mais detalhes.

iab os3

Esse plugin em sua versão paga, faz com que todas as suas imagens, videos e arquivos sejam enviados para o S3 e sincronizados com o CDN. Na sua versão gratuita apenas os novos conteúdos são sincronizados.

 

Vídeo: Ambiente Alto Tráfego WordPress na AWS com 10 mil conexões simultâneas

No vídeo abaixo arquitetei um laboratório na Amazon  AWS para testar um tráfego de 10 mil conexões/acessos simultâneos em um site WordPress. Confira em primeira mão:

Considerações Finais

Se você está enfrentando problemas de lentidão e quedas quando tem um determinado número de usuários online em seu site significa que precisa de uma infraestrutura que vá te atender. Nesse artigo tive um foco maior na AWS, mas temos opções em várias outras empresas.

O custo para manter uma infraestrutura de alto tráfego é totalmente diferente do que um simples serviço de hospedagem. No entanto, se sua empresa depende financeiramente do projeto, o retorno será muito maior! E você verá que vale cada centavo investido.

Se precisa de um consultor aws ou um parceiro para elaborar uma infraestrutura de alto tráfego, entre em contato conosco.

Abraços. 

 

Outros Cases:

 

De uma nota para esse artigo.
[Total: 9 Total: 5]
Principais Categorias

Consultoria e Parcerias

Consultoria, gerenciamento e mentoria para serviços de Infraestrutura, DevOps e Hosting.

Entre em contato

2 comentários em “Servidor WordPress Alto Tráfego na AWS 5 mil Conexões”

  1. Conteúdo excelente! Tenho um projeto de streaming de vídeo na amazon aws no papel, mas gostaria de um especialista aws para me ajudar nessa empreitada. Estarei entrando em contato com você.

    Sucesso,
    tks.

    1. Como vai Bruno ? Tenho uma ótima solução para seu projeto, se quiser saber mais detalhes pode entrar em contato comigo através da pagina de contato ou pelo botão do whatsapp, que te respondo hoje mesmo.
      Abraços.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *