Resumo

Concluído
  • Os aplicativos de nuvem devem tomar precauções para garantir que usem recursos que os ajudam a atender aos requisitos de largura de banda e latência, além de seguir as práticas recomendadas de segurança.
  • Aplicativos implantados na nuvem geralmente estão sujeitos à variância de desempenho devido à natureza compartilhada da nuvem.
  • A nuvem facilita a manutenção de vários ambientes diferentes, além da produção. Os pipelines de aplicativos são mantidos usando sistemas de controle de versão e repositório de código e são automatizados usando ferramentas de integração contínua.
  • O planejamento para falhas é crucial. A redundância é a principal técnica usada para garantir a resiliência, geralmente usando réplicas implantadas em regiões e zonas de disponibilidade.
  • Recursos redundantes geralmente são monitorados e acessados usando um balanceador de carga central e altamente disponível. A alta disponibilidade é garantida alternando para uma instância de backup quando uma falha.
  • Empresas como Netflix e Facebook injetam falhas grandes e aleatórias (ou planejadas) em seus datacenters e operações de nuvem para testar a tolerância a falhas.
  • O balanceamento de carga também dá suporte à escala horizontal, em que mais recursos idênticos podem ser lançados para um problema. O outro tipo de escala é a vertical, em que o tamanho ou a capacidade de recursos existentes é aumentado.
  • A escala horizontal em muitos nós leva ao problema da latência de cauda, em que o desempenho do aplicativo é determinado por seu componente mais lento. Isso ocorre devido à variabilidade de desempenho na nuvem e também porque aplicativos com distribuição ampla disparam picos de atividade em cada fase.
  • Por fim, a falta de padronização e a alta competitividade do mercado de nuvem levam a oportunidades e desafios interessantes para minimizar os custos.