Resumo
Seguem-se alguns dos principais pontos apresentados neste módulo sobre elasticidade:
- As VMs e outros recursos da cloud raramente apresentam cargas constantes. Em vez disso, apresentam cargas variáveis. Por vezes, as cargas variam de acordo com uma ordem de grandeza ou mais ao longo do tempo.
- O dimensionamento da capacidade de computação para ajustar às cargas de pico garante a qualidade do serviço (QoS), mas resulta num aumento dos custos e da utilização de energia.
- A elasticidade refere-se à capacidade de adicionar recursos para processar cargas mais elevadas e remover recursos quando a carga diminui.
- A elasticidade é obtida na cloud através do dimensionamento de recursos, como VMs e bases de dados.
- Aumentar e reduzir horizontalmente (dimensionamento horizontal) referem-se ao aumento e à diminuição do número de recursos dedicados a uma tarefa, por exemplo, ao aumentar o número de VMs que servem os utilizadores do site de 10 para 15.
- Aumentar e reduzir verticalmente (dimensionamento vertical) referem-se à substituição dos recursos existentes por mais ou menos recursos poderosos, por exemplo, ao substituir uma VM de servidor Web com 2 núcleos e 4 GB de RAM por uma com 4 núcleos e 8 GB de RAM.
- O dimensionamento de recursos para corresponder à procura mantém a utilização dos recursos relativamente constante, reduz os custos e melhora a utilização de energia.
- O dimensionamento automático permite que o dimensionamento ocorra com base em regras ou políticas estabelecidas por um administrador da cloud. As regras ou políticas podem ser baseadas no tempo, em métricas ou em ambos os fatores. Um exemplo de dimensionamento automático baseado em métricas é colocar instâncias adicionais online quando a utilização média da CPU atinge um limiar predeterminado, como 70%.
- O dimensionamento automático baseado no tempo, também conhecido como dimensionamento automático agendado, é mais adequado quando as cargas são cíclicas e previsíveis.
- O dimensionamento automático baseado em métricas pode processar cargas previsíveis e imprevisíveis.
- Um balanceamento de carga eficaz é crucial para implementar serviços cloud dimensionáveis.
- Os balanceadores de carga utilizam diferentes tipos de algoritmos para distribuir a carga, incluindo algoritmos round robin e baseados em hashes.
- Alguns balanceadores de carga tentam distribuir pedidos de forma mais inteligente com métricas como o tempo de execução do pedido e a utilização da CPU em cada nó.
- Os balanceadores de carga também aumentam a disponibilidade ao monitorizarem o estado de funcionamento dos recursos de back-end e ao reconhecerem quando esses recursos não estão disponíveis.
- Como um único balanceador de carga representa um ponto único de falha, os balanceadores de carga são normalmente implementados aos pares.
- A computação sem servidor oferece benefícios que incluem preços baseados no consumo, escalabilidade automática e custos administrativos reduzidos
- Um exemplo de computação sem servidor são as funções sem servidor, que permitem carregar código para a cloud e definir quando é executado.
- Outro exemplo são os fluxos de trabalho sem servidor, que permitem definir fluxos de trabalho empresariais (normalmente com designers gráficos e sem escrever código) e especificar quando são executados.
- A computação sem servidor também inclui bases de dados, dimensionadas para satisfazer a procura que recai sobre as mesmas.