Serverless Computing: você já conhece? Confira mais sobre!
Por Administrador 2 de março de 2020 7 minutos de leitura
A computação em nuvem, em geral, e a infraestrutura como serviço (IaaS), em particular, tornaram-se amplamente aceitos e adotaram paradigmas para computação com as ofertas de máquinas virtuais sob demanda. Um fator importante na crescente adoção da nuvem pela TI corporativa foi o modelo de pagamento conforme o uso.
Infelizmente, o ônus do dimensionamento foi deixado para desenvolvedores e projetistas de sistemas que normalmente usavam técnicas de superprovisionamento para lidar com aumentos repentinos de solicitações de serviço.
Nesse contexto, a serverless computing — ou a computação sem servidor — emergiu como um paradigma novo e atraente para a implantação de aplicativos em nuvem. A arquitetura sem servidor oferece pagamento conforme o uso, sem trabalho adicional para iniciar e parar o servidor, e está mais próxima das expectativas originais quanto à computação em nuvem.
Vamos conversar um pouco sobre a simplicidade e as vantagens econômicas da computação sem servidor? Acompanhe este artigo!
1 A definição de serverless computing
1.2 Elasticidade
2 O funcionamento de uma arquitetura sem servidor
3 Os principais benefícios da serverless computing
3.1 Maior foco em tarefas críticas aos negócios
3.2 O dimensionamento automático se traduz em estabilidade de serviço
3.3 Grandes economias na criação e execução de sistemas de software
A definição de serverless computing
Em poucas palavras, a serverless computing é uma plataforma que oculta o uso do servidor pelos desenvolvedores e executa o código sob demanda e automaticamente dimensionado e cobrado apenas pelo tempo em que ele estiver em execução.
Essa definição captura os dois principais recursos da computação sem servidor, que vamos descrever a seguir.
Como os servidores e o uso deles não fazem parte do modelo de serverless computing, é natural pagar somente quando o código está em execução. Como esse tempo pode ser curto, ele deve ser cobrado em unidades de tempo detalhadas e os desenvolvedores não precisam pagar pela sobrecarga na criação ou destruição de servidores.
Esse modelo de custo é muito atraente para cargas de trabalho que precisam ser executadas ocasionalmente — o serverless suporta "escalar para zero" e evita a necessidade de pagar por servidores inativos. O grande desafio para os provedores de nuvem é a necessidade de agendar e otimizar seus recursos.
Como os desenvolvedores não têm controle sobre os servidores que executam seu código, nem sabem o número de servidores em que ele é executado, as decisões sobre dimensionamento são deixadas para os provedores de nuvem. Os desenvolvedores não precisam escrever políticas de dimensionamento automático ou definir como o uso no nível da máquina (CPU, memória e assim por diante) se traduz na utilização do aplicativo.
Em vez disso, eles dependem do provedor de nuvem para iniciar automaticamente mais execuções paralelas quando houver mais demanda. Os desenvolvedores também podem assumir que o provedor de nuvem cuidará da manutenção, atualizações de segurança, disponibilidade e monitoramento de confiabilidade dos servidores.
O funcionamento de uma arquitetura sem servidor
Em vez de pagar pela capacidade e armazenamento predefinidos de computação, desenvolvedores e administradores de sistema pagam apenas pelos recursos consumidos pelo aplicativo. Ao adotar essa nova oferta, as empresas podem reduzir ainda mais os custos e acelerar o desenvolvimento de aplicativos em muitos casos.
Um aspecto fundamental da computação sem servidor é o que chamamos de funções. Elas são pequenos pedaços de código independentes que concluem solicitações específicas. Por exemplo, uma empresa pode desenvolver uma função para redimensionar e reformatar imagens à medida que elas são carregadas pelos usuários.
Enquanto os usuários carregam fotos de alta resolução em formatos não suportados, a função converte as imagens em um formato e tamanho uniformes, com base em especificações pré-determinadas. Isso cria uma experiência e uma interface consistentes para o usuário no front-end, enquanto potencialmente limita os custos de armazenamento para os negócios no back-end.
Ao contrário de máquinas virtuais e contêineres, as funções na computação sem servidor não acontecem indefinidamente. Em vez disso, eles alternam para concluir as solicitações do usuário ou em resposta a determinados eventos (como alguém fazendo upload de uma imagem) e diminuem assim que a tarefa é concluída — normalmente sendo executada por apenas alguns segundos por vez.
Os principais benefícios da serverless computing
Agora que detalhamos como a arquitetura sem servidor funciona, vamos nos aprofundar. Aqui estão alguns dos principais benefícios de usá-la na sua empresa.
Maior foco em tarefas críticas aos negócios
Diferentemente da computação centralizada, a serverless computing permite que você se concentre nos seus códigos, não nos servidores. Portanto, você não precisa gastar tempo e recursos em manutenção e solução de problemas de sua infraestrutura de TI. Em vez disso, seus engenheiros e desenvolvedores podem se concentrar em aperfeiçoar seus produtos, explorar novas verticais de negócios e aumentar suas vendas.
Por exemplo, se você estiver executando uma loja online, é menos provável que seus clientes se preocupem com sua infraestrutura. Por que eles se preocupariam com o código que não podem ver? No entanto, eles se preocupam com a aparência, funcionalidade e velocidade do seu site de comércio eletrônico.
Se você estiver usando computação sem servidor, seus desenvolvedores poderão gastar mais tempo aperfeiçoando seu UX do que corrigindo problemas de back-end relacionados aos servidores.
O dimensionamento automático se traduz em estabilidade de serviço
Um dos aspectos mais críticos da administração de uma empresa neste mundo hiperconectado é garantir tempo de inatividade mínimo ou nenhum. No entanto, também é um desafio garantir a disponibilidade 24 horas para seus usuários.
Provavelmente, seu site encontrará um aumento súbito no tráfego em algum momento. Talvez seja sua última campanha de marketing chamando a atenção de seus clientes em potencial. No entanto, é uma boa notícia apenas se o seu site puder lidar com essa situação.
Infelizmente, a maioria das plataformas baseadas em servidor geralmente não consegue lidar com um rápido aumento de tráfego, forçando você a encerrar seus negócios no momento em que está prestes a conquistar um melhor resultado. Obviamente, você pode alugar servidores extras para manter seu site pronto para um pico potencial. No entanto, isso prejudicará seu orçamento de TI.
É aí que entra um sistema de computação sem servidor. A maioria dos provedores de serviços de serverless computing oferece dimensionamento automático no caso de um pico repentino de tráfego. Você pode reverter para o seu plano original assim que ele diminuir. É uma vantagem para todos, incluindo seus clientes, desenvolvedores ou engenheiros.
Grandes economias na criação e execução de sistemas de software
Talvez o impacto mais reconhecível da serverless computing seja o custo mais baixo. Embora você provavelmente precise gastar algum dinheiro na contratação de um provedor de serviços de migração para nuvem, as economias de longo prazo valem a pena.
A maioria dos provedores de soluções sem servidor cobra com base no pagamento por uso, resultando em um menor custo total de propriedade em comparação com as máquinas virtuais. Portanto, a arquitetura sem servidor pode ajudar a reduzir os custos de construção, manutenção e execução de sistemas de software. Quanto maiores suas operações, maiores serão as suas economias.
O modelo de precificação de pagamento por uso é particularmente útil na execução de aplicativos orientados a eventos. Para muitas empresas e até as pequenas, alguns aplicativos podem precisar lidar com solicitações em massa, mas permanecem ociosos a maior parte do tempo. Nesse caso, o uso do modelo tradicional de servidor dedicado significaria pagar um custo mais alto por um aplicativo subutilizado.
Em resumo, a serverless computing é um desenvolvimento revolucionário no espaço digital. Mover seus negócios — ou, pelo menos, partes deles — para uma plataforma sem servidor reduzirá o tempo de entrada no mercado, permitirá que você se concentre em suas principais responsabilidades comerciais, melhore sua estabilidade de serviço e resulte em economias significativas.
Quer descobrir como uma arquitetura sem servidor pode trazer vantagens específicas para o seu negócio? Entre em contato com a gente e saiba como podemos ajudá-lo!