por cesarschmitzhaus

27 set 2018

Elasticidade na Cloud Computing: como funciona?

A elasticidade em nuvem é a capacidade de expandir e contrair a infraestrutura de processamento conforme a demanda de acesso. Os recursos do armazenamento, processamento e memória podem ser alterados ou diminuídos de acordo com as alterações de pico de acesso. Em outras palavras, é o que torna o dimensionamento automático e dinâmico.

Esse recurso é especialmente usado em sites e e-commerces durante datas comemorativas – e é um dos grandes argumentos para se adotar o cloud computing.

Em termos práticos, a funcionalidade traz os seguintes benefícios:

  • Evita que seu site caia quando o volume de acessos aumenta de forma inesperada;
  • Permite que você não desperdice dinheiro mantendo servidores muito potentes quando não há tráfego compatível;
  • Garante uma economia de tempo com monitoramento e administração de servidores;
  • Traz uma economia de escala de 70%, segundo nossas estimativas.

Isso é especialmente funcional em aplicações web que sofrem com oscilações de demanda de aplicativos, como os de e-commerce. A maior parte das lojas virtuais tem um fluxo médio constante de acesso, o que muda radicalmente em dias de grandes promoções, como Black Friday, ou em períodos que antecedem as datas comemorativas.

Exemplo de página da web não disponível

Exemplo de página da web não disponível.

Falar da Black Friday é especialmente relevante ao se falar sobre elasticidade, pois é a data do varejo do e-commerce brasileiro que mais concentra visitantes. Segundo a Vtex, plataforma de e-commerce, é possível que o número de acessos aumente até vinte vezes mais que o número regular. Não ter uma elasticidade que comporte este tipo de demanda imediata é o mesmo que perder um número elevado de vendas.

Se, de outro modo, um comércio eletrônico tivesse de investir em uma infraestrutura que desse conta dos tempos de pico, ele teria prejuízo com capacidade ociosa. Em termos de custos, seria inviável dar conta de todos os custos de maquinário, suporte e recursos humanos para dar conta de picos tão grandes, mesmo que eles já fossem esperados.

Mas nem só para e-commerces vive a elasticidade da nuvem. Outros tipos de serviços podem ser afetados por uma grande quantidade de acessos, como empresas que rodam suas folhas de pagamentos na intranet. Plataformas de redes sociais também precisam de elasticidade, por exemplo.

Um caso emblemático foi a morte do cantor Michael Jackson, em 2009. A sobrecarga de usuários foi tanta que derrubou o Twitter e até mesmo o próprio Google, que reconheceu o pico de usuários como um ataque hacker e teve que bloquear a palavra-chave do Rei do Pop por um período, até reverter a situação.

É importante compreender que ganhar escala é diferente de ganhar performance. A elasticidade permite responder a qualquer quantidade de acessos com o mesmo desempenho da infraestrutura em seu tamanho original.

Como funciona a elasticidade

Nos ambientes de cloud dos maiores players do mercado, a elasticidade é oferecida por meio de um serviço chamado Auto Scaling – presentes na AWS, Azure e também no Google, parceiros Teltec, que pode ser ativado gratuitamente. O uso da expansão de sua infraestrutura é cobrado sob o modelo “pay as you go”, ou seja, você paga apenas pelo que usou.

O escalonamento dos recursos na nuvem é feito, em sua maioria, de maneira horizontal. Para o aumento dos recursos verticalmente, é preciso aumentar a capacidade deste recurso. Por exemplo, se uma máquina virtual opera com 4 gb de memória RAM, um aumento vertical significaria que esta capacidade teria que ser aumentada para dar conta das demandas. Este tipo de dimensionamento costuma não ser utilizado, já que requer que o sistema fique temporariamente indisponível para a implementação do recurso.

Já para o dimensionamento horizontal, a capacidade do recurso não é aumentada, mas duplicada, com as mesmas características da máquina virtual original. Se a máquina virtual original tem capacidades de memória com número x, as máquinas duplicadas terão a mesma capacidade.

É a forma mais utilizada porque permite que os recursos sejam provisionados sem que o sistema fique indisponível. Da mesma forma, caso a demanda caia, os recursos são desalocados automaticamente.

Por exemplo: você tem uma estrutura padrão para um site de e-commerce, que demanda dois servidores virtuais em condições normais, mas, por conta de uma campanha promocional, o acesso ao serviço aumentou dez vezes por dois dias.

Se o dimensionamento automático estiver ativado, você pagará pelo uso de mais servidores – o que for suficiente para dar conta da demanda – durante esse período. O serviço será cobrado na fatura, a ser enviada ao final do mês. Desta forma, não é necessário fazer previsões nem pagar antecipadamente.

O ligamento e o desligamento das máquinas são feitos de forma economicamente otimizada. Como o pagamento de cada máquina é por tempo, isso significa que as máquinas que estão ligadas há mais tempo são as primeiras a serem desligadas. Se houver dúvidas, toda a movimentação de liga e desliga do escalonamento pode ser acompanhada pelo usuário por relatórios.

Abilio Neto, analista de soluções da Teltec, explica que o usuário é quem determina a quantidade máxima de máquinas que o recurso do Auto Scaling pode alocar. “Como o serviço é cobrado por recursos alocados e pelo tempo que ele é usado, o usuário pode determinar o número máximo de máquinas que poderão ser utilizadas nestes picos de demanda. Isso é importante porque permite a previsibilidade dos recursos financeiros”, afirma Abilio.

 

Como funciona a elasticidade.

Análise estratégica da elasticidade

As informações produzidas e organizadas pelo ambiente de cloud computing permitem que a equipe de TI tenha novas atribuições, mais estratégicas e relacionadas ao tratamento analítico desse Big Data que está relacionado ao sistema como um todo.

Na prática, é possível produzir informações úteis para a área comercial, por exemplo. No caso de um e-commerce, é possível mapear quais são os horários em que se vende mais; qual o perfil de quem compra; qual o volume de vendas por visitante, etc.

Um de nossos clientes deslocou cinco pessoas da área de infraestrutura de TI para a área de análise do Big Data após a adoção do serviço de cloud. Ou seja, além de reduzir custo de investimento com hardware, software e licença, foi possível otimizar o trabalho de parte dos recursos humanos e direcioná-lo para atividades mais estratégicas.

Elasticidade x Escalabilidade

Apesar de serem dois termos parecidos, elasticidade é ligeiramente diferente de escalabilidade em cloud. Por um lado, a elasticidade é uma forma de ajustar os recursos utilizados para mais ou para menos, de acordo com a demanda. Por outro, a escalabilidade em nuvem se refere ao crescimento da oferta sem que isto altere o custo do produto. Um sistema pode ser escalável sem ser elástico.

Um exemplo: a plataforma Uber, para ser escalável, teve que adentrar novos mercados e oferecer seus serviços, de maneira contínua, a mais usuários. Para isso, ela também precisou ter um serviço de nuvem elástica, que teria a capacidade de suportar uma enorme quantidade de acessos ao mesmo tempo.

Em geral, é a velocidade e a facilidade de mudança de escala – para aumento ou para diminuição – é que vai dizer se o sistema é elástico ou não.

Elasticidade e seu negócio

Apesar de os grandes players de Cloud disponibilizarem serviços competitivos entre si, existem funcionalidades que são próprias do serviço de Cloud em si. Para entender qual o melhor para o momento do seu negócio, empresa ou instituição, é preciso estar atento às quais são as suas necessidades no momento.

Para Abilio, existem diferenças que vão além das próprias características da nuvem, como o perfil do cliente. “Com a dor do cliente localizada, nós podemos analisar qual player de cloud vai oferecer os melhores benefícios para ele”, afirma. A Teltec Solutions vai te ajudar a analisar qual serviço de Cloud é o que mais lhe trará vantagens! Fale conosco.

Trilha de cloud computing: do básico à prática



Acompanhe nossas novidades nas redes sociais!