LFCA Aprenda a disponibilidade, desempenho e escalabilidade da nuvem - Parte 14
- 3030
- 820
- Arnold Murray
No tópico anterior de nossa série LFCA, demos uma introdução à computação em nuvem, os diferentes tipos e nuvens e serviços em nuvem e o orientamos em alguns dos benefícios associados à computação em nuvem.
Se sua empresa ainda está andando no ambiente tradicional de computação de TI, é hora de você se subir e mudar para a nuvem. Estima -se que até o final de 2021, mais de 90% da carga de trabalho total será tratada na nuvem.
Entre os principais benefícios associados à adoção da computação em nuvem estão o melhor desempenho, alta disponibilidade e escalabilidade. De fato, escovamos isso como um dos principais benefícios do uso da tecnologia em nuvem.
Neste tópico, nos concentramos na disponibilidade, desempenho e escalabilidade da nuvem e procuramos entender como esses três coalescem para atender às demandas dos clientes e garantir que os usuários acessem seus dados conforme precisam de qualquer parte do mundo.
1. Disponibilidade da nuvem
Os aplicativos e serviços de TI de uma organização são críticos e qualquer interrupção do serviço pode ter um efeito profundo na receita. A expectativa dos clientes é que os serviços sejam acessíveis o tempo todo a qualquer momento em qualquer local. E é isso que a tecnologia em nuvem procura fornecer.
Alta disponibilidade é o objetivo final da computação em nuvem. Ele procura fornecer o máximo tempo de atividade possível dos serviços de uma empresa, mesmo diante da interrupção, que pode ser ocasionada por tempo de inatividade sem precedentes ou degradação da rede.
A alta disponibilidade é possível ter sistemas redundantes e de failover. Isso acontece em um ambiente de cluster, onde vários servidores ou sistemas executam as mesmas tarefas e, assim, fornecendo redundância.
Quando um servidor diminui, o resto ainda pode continuar correndo e fornecendo os serviços prestados pelo servidor afetado. Um exemplo perfeito de redundância é a replicação de dados em vários servidores de banco de dados em um cluster. Caso o servidor de banco de dados primário no cluster tenha um problema, outro servidor de banco de dados ainda fornecerá os dados exigidos pelos usuários, apesar da falha.
A redundância elimina um único ponto de falha e garante que haja 99.999% Disponibilidade de serviços e aplicativos. O clustering também fornece balanceamento de carga entre servidores e garante que a carga de trabalho seja distribuída de forma equitativa e nenhum servidor seja sobrecarregado.
2. Escalabilidade em nuvem
Outra marca registrada da computação em nuvem é a escalabilidade. Escalabilidade é a capacidade de ajustar os recursos da nuvem para atender às mudanças de demandas. Simplificando, você pode aumentar ou diminuir perfeitamente os recursos conforme e quando necessário para atender à demanda sem comprometer a qualidade dos serviços ou o tempo de inatividade.
Suponha que você esteja executando um blog que está começando a obter hits e mais tráfego. Você pode adicionar facilmente mais recursos de computação, como armazenamento, RAM e CPU, à sua instância de computação em nuvem para lidar com a carga de trabalho adicional. Por outro lado, você pode diminuir os recursos quando necessário. Isso garante que você pague apenas pelo que precisa, e isso ressalta as economias de escala que a nuvem fornece.
A escalabilidade é dupla: escala vertical e escala horizontal.
Escala vertical
Também referido como 'escalando'A escala vertical envolve adicionar mais recursos, como RAM, armazenamento e CPU, à sua instância de computação em nuvem para acomodar uma carga de trabalho adicional. Este é o equivalente a desligar seu PC ou servidor físico para atualizar a RAM ou adicionar um disco rígido extra ou SSD.
Escala horizontal
Escala horizontal, também conhecida como 'escalando'Envolve adicionar mais servidores ao seu pool de servidores pré-existentes para garantir a distribuição da carga de trabalho em vários servidores. Com a escala horizontal, você não se limita à capacidade de um único servidor, diferentemente da escala vertical. Isso fornece mais escalabilidade e menos tempo de inatividade.
A escala é mais desejável em comparação com a escala
E aqui está o porquê. Com Escala horizontal, Você está basicamente adicionando mais recursos, como servidores ou armazenamento ao seu pool de recursos já existente. Isso permite que você combine o poder e o desempenho de várias instâncias de computação em uma e, assim, obtendo melhor desempenho, em vez de adicionar recursos em um único servidor. Servidores adicionais sugerem que você não terá que lidar com um déficit de recursos.
Adicionalmente, Escala horizontal Fornece redundância e tolerância a falhas de tal maneira que, mesmo que um servidor seja impactado, o restante continuará provendo o acesso aos serviços necessários. Escala vertical está associado a um único ponto de falha. Se a instância de computação travar, então tudo cairá com isso.
Escala horizontal também oferece a máxima flexibilidade em oposição a Escala vertical onde as aplicações são construídas como uma grande unidade. Isso torna mais desafiador gerenciar, atualizar ou alterar seções de código sem ter que reiniciar todo o sistema. A escala permite a dissociação de aplicativos e permite uma atualização perfeita com o mínimo de tempo de inatividade.
3. Desempenho da nuvem
Garantir que o desempenho do aplicativo atenda às demandas dos clientes pode ser uma tarefa bastante difícil, especialmente se você tiver vários componentes sentados em diferentes ambientes que precisam se comunicar constantemente entre si.
Problemas como a latência provavelmente se manifestarão e afetarão o desempenho. Além disso, não é fácil prever o desempenho onde os recursos são compartilhados por várias entidades. Independentemente disso, você ainda pode obter alto desempenho e permanecer à tona implementando as seguintes medidas.
1. Instância da nuvem
Certifique -se de usar as instâncias de nuvem certas com recursos suficientes para lidar com as cargas de trabalho de seus aplicativos e serviços. Para aplicações com uso intensivo de recursos, verifique se você provisiona RAM, CPU e recursos de armazenamento suficientes para sua instância em nuvem para evitar um possível déficit de recursos.
2. Balanceador de carga
Implemente um balanceador de carga para distribuir equitativamente o tráfego de rede entre seus recursos. Isso garantirá que nenhum de seus aplicativos seja sobrecarregado pela demanda. Suponha que seu servidor da web esteja recebendo muito tráfego que está causando atrasos e afetando o desempenho.
Uma solução perfeita seria implementar Escala horizontal com um total de 4 servidores da web sentados atrás de um balanceador de carga. O balanceador de carga distribuirá o tráfego de rede nos 4 servidores da Web e garantirá que nenhum fique sobrecarregado pela carga de trabalho.
3. Cache
Use soluções de cache para acelerar o acesso a arquivos por aplicativos. Os caches armazenam frequentemente os dados e, assim, eliminam pesquisas constantes de dados que podem afetar o desempenho. Eles reduzem a latência e a carga de trabalho à medida que os dados já estão em cache, melhorando assim os tempos de resposta.
O cache pode ser implementado em vários níveis, como nível de aplicativo, nível de banco de dados. As ferramentas populares de armazenamento em cache incluem Redis, Memcached e Varnish Cache.
4. Monitoramento de desempenho
Por fim, certifique -se de monitorar o desempenho de seus servidores e aplicativos. Os provedores de nuvem fornecem ferramentas nativas que podem ajudá -lo a ficar de olho em seus servidores em nuvem de um navegador da web.
Além disso, você pode tomar sua própria iniciativa e instalar ferramentas de monitoramento gratuitas e de fonte aberta que podem ajudá-lo a manter seus aplicativos e servidores. Exemplos de tais aplicações incluem Grafana, NetData e Prometeu, para mencionar alguns.
Conclusão
Não podemos enfatizar o suficiente como a disponibilidade, escala e desempenho são cruciais na nuvem. Os três fatores determinam a qualidade do serviço que você receberá do seu fornecedor de nuvem e, finalmente, desenhe a linha entre o sucesso ou o fracasso do seu negócio.
Torne -se um Associado de TI certificado pela Fundação Linux (LFCA)- « Como instalar o Apache Nifi no Ubuntu Linux
- Como usar os scripts NMAP Script Engine (NSE) no Linux »