Com o crescimento da adoção de Cloud Computing pelas organizações, elas começaram a perceber a importância de se adequarem a uma nova realidade híbrida. A nuvem deixou de estar distante dos dados armazenados fisicamente para, então, trabalharem juntos de maneira efetiva. Ou seja, a TI passa a observar a necessidade de modernizar-se para atender às novas necessidades das empresas.
Por causa dessas mudanças na infraestrutura das empresas, são adotadas as soluções e softwares híbridos, capazes de permitir que as pessoas se conectem a dados armazenados em qualquer lugar, seja local, na nuvem ou em uma operação com serviço hospedado. Uma tecnologia que chegou para auxiliar esse processo foi o Serverless Computing.
O que é Serverless Computing?
Serverless Computing (computação sem servidor) é uma abordagem que possibilita a implementação de software independente em relação à infraestrutura. Isso é possível graças à automatização de todo o processo de criação, implementação e serviços sob demanda. Dessa forma, o usuário apenas registra as funções e os recursos de que precisa.
Os primórdios do Serverless Computing estão ligados ao anúncio da AWS Lambda pela Amazon, em 2014, apresentando uma nova arquitetura de sistema para aplicações funcionando na nuvem. Nesse modelo, não existe um processo definitivo em execução em um servidor e aguardando solicitações HTTP ou chamadas de API, mas um mecanismo de evento que desencadeia a execução de parte de um código, geralmente apenas uma função, em um dos servidores da AWS.
A computação sem servidor é conhecida como uma infraestrutura orientada a eventos, ou seja, os provedores da nuvem executam o código somente quando necessário. Sendo assim, ela é classificada como FaaS.
O que é FaaS?
FaaS (Function as a Service) é um modelo em que os códigos são escritos independentemente do servidor no qual vão rodar. Assim, a TI pode se dedicar à aplicação que deve construir. O provedor de nuvem é quem se preocupa em encontrar o servidor no qual o código deve ser executado, aumentando a escala quando necessário e desativando-o assim que a execução termina. Os códigos são programados para executar apenasuma determinada função. Dessa forma, o código é executado somente quando acionado por um evento. Além disso, o usuário é cobrado apenas pelos recursos consumidos quando o código é executado. Esse tipo de funcionalidade também é chamada de Yet Another as a Service (YAaaS), uma das muitas que surgiram desde a consolidação da computação em nuvem.
Como é o FaaS comparado a outros modelos?
Serverless é diferente de outros serviços em nuvem, como o IaaS (Infrastructure as a Service) e o PaaS (Platform as a Service). Nesses modelos, os usuários precisam ativar as máquinas virtuais e implantar a base de códigos. É por isso que o Serverless é considerado o próximo passo da nuvem, tornando a escalabilidade mais fácil, além de proporcionar maior agilidade, velocidade e redução de custos para a empresa.
Enquanto o PaaS não está preparado para aplicações conforme demanda, o FaaS entrega exatamente isso. Dessa forma, a principal diferença entre FaaS e PaaS é a escala. Em sistemas baseados em FaaS, as chamadas de funções começam em milissegundos para permitir um tratamento individual de eventos. Ainda que o PaaS seja configurado para autoescala, ele não será executado de acordo com a solicitação. Portanto, o modelo FaaS é muito mais eficiente quando se trata de custos.
Leia também: SERVIDOR LOCAL X SERVIDOR EM NUVEM: DIFERENÇAS E VANTAGENS
Por que as equipes de TI devem se preparar?
Se a sua empresa já migrou para a nuvem, o que está em questão agora é a troca do controle total pela computação sem servidor. No entanto, assim como toda nova tecnologia, é preciso observar alguns desafios e limitações que as empresas devem considerar ao migrarem para FaaS.
O primeiro é o de que as funções de um fornecedor de serviços seguem determinados parâmetros, especialmente os que tratam de linguagens utilizadas. Por isso, a TI precisa estar preparada para lidar com eles.
Além disso, as empresas podem ter que enfrentar limitações, caso não disponham de habilidades e configurações técnicas para se adaptar às novas práticas e maneiras de trabalhar com esse modelo. Por isso, é também necessário que o time de TI se prepare para lidar com essas transformações.
O que a empresa ganha com a implementação da computação sem servidor?
Quanto aos benefícios da implementação de uma aplicação sem servidor, é possível listar uma redução significativa nos custos porque não é necessário pagar o aluguel de um servidor inteiro na nuvem, mas apenas por recursos consumidos durante a execução. Ou seja, a empresa só paga pelo que realmente usa. A cobrança é feita pelo tempo em que a função está processando. Afinal, não é necessário manter um servidor ligado durante a madrugada se raramente há acessos nesse horário. No entanto, usando Serverless, mesmo sem ser cobrada, a função ociosa fica disponível.
Outro destaque é a construção de aplicações totalmente escaláveis. Em um ambiente Serverless, escalabilidade já é algo natural. Quando um FaaS é usado, a intenção é que a função rode quando acionada e que ela escale por conta própria. O AWS Lambda permite que as funções executem em paralelo e escalem automaticamente conforme o aumento das chamadas.
Desenvolvedores afirmam que o uso de Serverless é mais simples, já que exige apenas especificar a função a ser executada. Com essa característica, a arquitetura Serverless tem a missão de acelerar o desenvolvimento de aplicações em nuvem, o que é possível porque a tecnologia oferece um conjunto de ações distintas e independentes. Ao se abstrair das preocupações com a infraestrutura, os profissionais de TI podem dedicar mais tempo ao seu trabalho, deixando que o provedor cuide da infraestrutura de servidores. Sendo assim, a computação sem servidor também contribui para o melhor aproveitamento dos profissionais de TI.
E, então, preparado para deletar seu servidor de aplicações e migrar para a computação sem servidor? Ainda não se sabe se essa arquitetura de computação em nuvem terá aceitação no mercado. Por enquanto, é apenas uma tendência, mas já é hora de pensar e discutir sobre o assunto. Deixe aqui nos comentários a sua opinião sobre o conceito de Serverless.