Características de um provedor de Cloud
- #Docker
- #AWS
- #Kubernetes
É muito comum confundirmos hospedagem de sites com computação em nuvem; Hostgator, Locaweb e Wix jamais podem ser considerados provedores de Cloud, pois faltam a eles muitos elementos. Um serviço só será considerado Cloud se tiver as seguintes 5 características:
1. Auto-serviço sob demanda
- Instância, banco de dados e storage são provisionados por conta própria
- O serviço já está lá, você usa quando quer. Não precisa entrar em contato com o provedor, assinar um outro plano de serviços, ligar no suporte; não há mensalidades padrão ou "plano premium".
2. Amplo acesso à rede
- As instâncias criadas se comportam como se fossem máquinas físicas, e podem realizar virtualmente qualquer coisa;
- O acesso à internet deve ser irrestrito (basta configurar o firewall e as VPCs)
3. Pool de recursos compartilhados
- Quando utilizamos os recursos da AWS, Google Cloud Platform, Azure, Oracle Cloud, IBM Cloud ou qualquer outra nuvem pública, na verdade estamos alugando um pedaço do datacenter.
- Há múltiplos inquilinos do hardware destas empresas, de forma que fisicamente a sua aplicação pode estar hospedada ao lado do Nubank ou do Banco Itaú. Os recursos são compartilhados entre todos, o que inclusive aumenta o aproveitamento dos data-centers.
- Isso não representa, de forma alguma, um problema de segurança, já que o provedor se responsabiliza pelo isolamento dos datacenters e serviços, devendo o especialista Cloud configurar o projeto corretamente.
4. Elasticidade rápida
- Importante em Cloud! Pode-se crescer a infraestrutura horizontalmente, e em segundos.
- Vale mencionar a diferença entre escala horizontal e escala vertical
- Escala vertical: quando se aumenta os recursos computacionais do servidor já configurado. É aumentar o número de CPUs e memória RAM das máquinas virtuais.
- É bem mais caro, não escala por demanda, desperdiça-se recursos contratados, não é Cloud.
- Escala horizontal: vários servidores respondendo pelo mesmo serviço (aplicação distribuída). Aumentam-se o número de instâncias sob demanda; Load balancer recebe a requisição e há o autoscaling.
- Paga-se somente pelo uso e aumenta-se a disponibilidade.
5. Serviços mensuráveis
- É possível medir exatamente as variáveis de uso, como requests em bancos de dados, tráfego de rede, usuários conectados, storage utilizado.
- Está intimamente ligado ao pagamento pelo uso, em Cloud pagamos exatamente pelo que foi utilizado, e isso não seria possível sem uma mensuração precisa.
- Inclusive podemos analisar se nossas aplicações estão otimizadas, hoje a maioria dos provedores de Cloud disponibilizam alertas e monitoramento dos serviços; anomalias podem ser detectadas analisando o comportamento da aplicação hospedada.