segunda-feira, 26 de agosto de 2024

Simplificando a escolha na hora de comprar de serviços de Nuvem (Cloud)

 Os serviços em Cloud são cobrados principalmente por:

  1. Computação
  2. Transporte de dados (nas redes)
  3. Armazenamento
Um bom profissional arquiteto/engenheiro de nuvem vai saber utilizar todos os recursos necessários de maneira otimizada e inteligente sem gastar recursos de maneira desnecessária.

Portanto deve saber configurar configurar corretamente o auto-scaling que vai aumentar ou diminuir os recursos conforme a demanda sem prejudicar o seu processamento, definindo um "mínimo" e um "máximo" de acordo com a nossa vontade de "elasticidade". 

O gerenciamento da necessidade de aumentar ou diminuir do Auto-Scaling é feito pelo Elastic Load Balancing (Balanceamento Elástico de Carga)


Embora o Elastic Load Balancing e o Amazon EC2 (Cloud Computing) Auto Scaling sejam serviços separados, eles trabalham juntos para que as aplicações executadas no Amazon EC2 tenham alto desempenho e disponibilidade. 

Ok com estas informações agora é preciso escolher em qual Região e a Zona de disponibilidade que vamos executar o serviço, o ideal é escolher com base na distância onde haverá maior requisição dos serviços para que os dados não tenham que viajar tanto e cheguem o mais rápido possível!

Contudo, nem sempre escolher uma zona de disponibilidade mais próxima do seu público-alvo é o melhor coisa a se fazer, por exemplo aqui no Brasil você pode pagar muito mais caro por causa de impostos e políticos "Taxades" do que em outros países.

Tá mas e agora? Vou colocar meu "site" em uma Região distante, e ele vai demorar a chegar? Não necessariamente, seu o seu site por exemplo não necessitar de conexão e atualização constante como por exemplo um jogo de tiro ou de corrida onde milésimo importa, o seu site mesmo que contendo vídeos como uma "plataforma de ensino" essa "demora" pode ser imperceptível graças aos serviços de CDN (Content Delivery Network).

Uma rede de distribuição de conteúdo (CDN) é um grupo de servidores geograficamente distribuídos que armazenam conteúdo em cache próximo aos usuários finais. 

Alguns nomes de serviços em alguns serviços de Nuvem são modificados, por exemplo na AWS (Amazon Web Services) o serviço de CDN (Content Delivery Network) é chamado de "Cloud Front" e o serviço de DNS (Domain Name System) é chamado de Route 53 (por causa que a porta de destino para solicitações de servidor DNS, é a porta 53 do TCP ou UDP. Os servidores DNS respondem a consultas na porta 53 e fornecem respostas que direcionam os usuários finais para aplicativos na internet).

O que pode atrapalhar e confundir ainda mais o entendimento do funcionamento de um serviço x ou y fornecido por uma "Nuvem" (AWS, Google, Azure, etc).

Continuando... Agora que eu já escolhi minha nuvem e zona de disponibilidade, como eu acesso ela? Como eu gerencio ela? Basicamente de 3 formas:
  1. O jeito mais simples que é acessando o site/plataforma que tem uma interface gráfica mais ou menos amigável com menus e botões, também chamado de "Console".
  2. O terminal também chamado de CLI (Command Line Interface) que geralmente também pode ser acessado pelo site/plataforma da nuvem escolhida.
  3. SKD's (Software Kit Development) como por exemplo um plugin do vscode ou jetbrains
Ok escolhemos a nuvem, região, serviços, mas como o meu site vai se conectar na internet? 

O site vai ficar em algo que chamamos de VPC (Virtual Private Cloud), ou seja na sua nuvem virtual privada, e o site vai se conectar publicamente através do Gateway de Internet.

Ainda na sua VPC (Nuvem Privada) você vai configurar o que você quer que seja acessível ao público e o que deve ser acessível somente para você ou sua empresa através das: Sub-redes!

Uma sub-rede é uma seção de uma VPC na qual você pode agrupar recursos com base em necessidades operacionais ou de segurança. As sub-redes podem ser públicas ou privadas. 



Uma VPC com três instâncias do Amazon EC2 em uma sub-rede pública e três bancos de dados em uma sub-rede privada.
Sub-redes públicas contêm recursos que precisam ser acessíveis ao público, como o site de uma loja on-line.

As sub-redes privadas contêm recursos que devem ser acessíveis apenas pela sua rede privada, como um banco de dados que contém informações pessoais dos clientes e históricos de pedidos. 

Em uma VPC, as sub-redes podem se comunicar entre si. Por exemplo, um aplicativo que envolve instâncias do Amazon EC2 em uma sub-rede pública que se comunicam com bancos de dados localizados em uma sub-rede privada.

Todo o tráfego (de pacotes de dados) que entra e saí da sua VPC é gerenciado pela ACL (Acess List Control) depois que passa pelo Gateway de Internet, ou seja:

Uma ACL de rede é um firewall virtual que controla o tráfego de entrada e saída no nível de sub-rede.

E dentro de cada sub-rede temos instâncias que possuem uma "barreira de controle" que também gerenciam a entrada e saída de pacotes de dados: grupo de segurança


Bem, isso é o básico, outra coisa importante abordar é sobre "bancos de dados", o "ouro da empresa", eles podem (e se recomenda) que sejam não estejam no EC2, mas que apenas sejam conectados. Na Amazon esse serviço é chamado de: Elastic Block Store (Amazon EBS).



















Nenhum comentário:

Postar um comentário

Postagens mais visitadas