Tipos de arquiteturas para o DialCloud+

Tipos de arquiteturas: Chega uma hora que uma simples instância não consegue mais suportar o nível de acessos da sua aplicação. Para isso existe o DialCloud+, ele permite que você construa uma arquitetura mais complexa e que consiga lidar com toda a demanda de trafego da sua aplicação. Neste artigo vou apresentar algumas das mais comuns e mostrar os pôs e contras dela.

Uma instância para tudo

Tudo em uma instância

É o mais comum atualmente, banco de dados e aplicação rodando no mesmo ambiente. É muito usado em aplicações simples, e é rápido para ser configurado.

Pros:

  • Não demanda uma configuração avançada;

Contras:

  • Não é possível escalar e não possui uma boa performance, já que tudo roda no mesmo servidor;

Banco de dados dedicado

Banco de dados dedicado.

Uma instância ainda continua servindo as requisições web, porem agora possuí uma instância totalmente dedicada ao banco de dados em uma rede interna. É utilizado em aplicações que demandam mais processamento. O banco de dados para de disputar recursos com o serviço web (normalmente Apache e PHP).

Pros:

  • É possível usar uma instância com recursos diferenciados, otimizando uma para o banco de dados e outra para a aplicação.
  • Dá mais segurança aos dados, já que o banco de dados não fica disponível para acesso via internet.

Contras:

  • É mais complexo do que o primeiro caso
  • Podem acorrer problemas de performance devido a problemas de rede (entre o banco de dados e a instância para a aplicação)

Camada de cache na frente

Camada de cache.

É adicionado uma instância de cache na frente da instância de aplicação, assim o conteúdo mais visitado vai ser acessado pela instância de cache, e não vai exigir processamento da instância da aplicação dando espaço para outras requisições. É muito utilizado em blogs como o WordPress que ganham uma performance significante utilizando o cache.

Pros:

  • Melhora a performance reduzindo a carga de uso da instância da aplicação;
  • Melhora o tempo de resposta da aplicação;
  • Podem ajudar a proteger contra alguns ataques DDoS;

Contras:

  • Demanda bastante conhecimento, já que é necessário configurar bem o cache para que ele possa ser ter um beneficio real;
  • Se mal configurado pode reduzir a performance;

Usando load balancer

Load balancer na frente das instâncias de aplicação.

É adicionada uma instância dedicada à balancear a carga entre os servidores, se uma instância falhar, o load balancer tem o poder de redirecionar a demanda para outra instâncias e manter a sua aplicação online. Todos os planos DialCloud+ possuem um load balancer dedicado incluso.

Pros:

  • Possui suporte para oferecer escalonamento horizontal adicionado mais servidores;
  • Pode proteger contra ataques DDoS já que o load balancer é totalmente dedicado a redirecionar o trafego;

Contras:

  • Se for mal configurado ou não possuir recursos suficientes pode causar perda de performance;
  • Possui uma configuração que demanda mais complexidade, já que tarefas simples como adicionar um certificado se tornam mais complicadas;

Cluster de banco de dados

Custer de banco de dados

É criado um grupo de instâncias dedicado ao banco de dados, geralmente possuem configuração master-master, onde todos os bancos de dados podem ler e escrever os dados. Os bancos de dados se mantêm em sincronismos e um balanceador de carga é colocada em frente à eles, para que possam dividir com eficiência a quantidade de requisições. Geralmente utilizados em aplicações que precisam manter uma maior disponibilidade.

Pros:

  • Melhora a performance de escrita no banco de dados, já que elas podem ser espalhadas em infinitos bancos de dados;
  • Pode ser ainda mais otimizado, disponibilizando bancos somente para leitura e outros para escrita;

Contras:

  • A aplicação deve ser inteligente para saber balancear a carga entre as instâncias;
  • Se a sincronização de dados for assíncrona, é possível que os dados estejam fora de sincronia por questões de segundos;
  • Se o banco de dados master (central) falhar, é preciso arrumar-lo para que o cluster volte a funcionar;
  • Este artigo foi útil para você?
  • Sim   Não

Tags relacionadas

arquitetura

arquiteturas

cloud

DialCloud

tipos