Resumo
- As aplicações na cloud têm de tomar precauções para garantir que utilizam recursos que as ajudem a cumprir os seus requisitos de largura de banda e latência, bem como seguir as melhores práticas de segurança.
- As aplicações implementadas na cloud estão frequentemente sujeitas a variação de desempenho devido à natureza partilhada da cloud.
- A cloud facilita a manutenção de vários ambientes diferentes para além da produção. Os pipelines de aplicação são mantidos ao utilizar sistemas de repositório de códigos e controlo da versão e são automatizados através de ferramentas de integração contínua.
- Planear a falha é crucial. A redundância é a técnica principal utilizada para garantir a resiliência, muitas vezes através de réplicas implementadas em zonas de disponibilidade e regiões.
- Os recursos redundantes são geralmente monitorizados e acedidos através de um balanceador de carga central e altamente disponível. A elevada disponibilidade é assegurada através da troca para uma instância de reserva quando uma falha.
- Empresas como a Netflix e o Facebook injetam grandes falhas aleatórias (ou planeadas) nos seus datacenters e operações na cloud para testar a tolerância a falhas.
- O balanceamento de carga suporta também o dimensionamento horizontal, através do qual recursos mais idênticos podem ser emitidos para um problema. O outro tipo de dimensionamento é vertical, no qual o tamanho ou a capacidade dos recursos existentes é aumentado(a).
- O dimensionamento horizontal através de demasiados nós conduz ao problema da latência de cauda, no qual o desempenho da aplicação é determinado pelo seu componente mais lento. Isto deve-se à variabilidade do desempenho na cloud e também porque as aplicações com um grande acionador de distribuição ramificada apresentam picos de atividade em cada fase.
- Finalmente, a falta de uniformização e a elevada competitividade do mercado de cloud conduzem a oportunidades e desafios interessantes para minimizar os custos.