Serverless Computing: O que é e como funciona

Como o Serverless pode eliminar as tarefas de gerenciamento de infraestrutura

Maior agilidade na hora de criar servidores para aplicativos ou serviços de back-end


O que é serverless?

Nos últimos anos temos nos deparado com o crescente uso do termo Serverless no dia a dia das empresas.

Mas afinal, de que se trata essa tecnologia que tem se destacado nos high trends de TI e vem sendo adotada por gigantes como Netflix, NuBank e Coca-Cola?

Em tradução livre o termo remete a “computação sem servidores”, porém é necessário logo desmistificarmos esse conceito.

Nós não declaramos independência desses gigantes equipamentos de alto poder computacional.

Não, nós não temos como rodar uma aplicação, que tenha um mínimo grau de complexidade, sem um hardware em algum lugar do globo para suportar as operações.

O que muda então?

A diferença está no fato de que o time de TI não precisa mais se ocupar com a infraestrutura para tal – estamos terceirizando ainda mais essa responsabilidade.

Para compreendermos melhor como chegamos até aqui, vamos fazer uma breve viagem de algumas décadas no passado.

No início das aplicações era comum precisarmos adquirir grandes servidores para suportar as operações da empresa.

Eram feitos massivos investimentos nesses equipamentos, sem os quais os negócios não poderiam funcionar.

Essas máquinas ficavam “in house” em alguma sala com controle de acesso e refrigeração, sendo cuidadas pela equipe interna de TI.

Toda a manutenção física, atualizações do sistema operacional e outros softwares eram responsabilidade da empresa.

Já no começo do século 20 ganhou força um novo conceito: a computação em nuvem.

Resumidamente, significa que não precisávamos mais manter poderosos servidores dentro de nossas instalações, bastava alugar recursos com um provedor de infraestrutura, sendo os maiores players Amazon AWS, Google Cloud e Microsoft Azure.

Imagine que a partir desse momento, empreendimentos poderiam ser criados com menores investimentos iniciais, ou ao menos estes investimentos poderiam ser mais bem direcionados.

Isso abriu caminho para diversas startups. A equipe de TI pôde respirar melhor, afinal não precisava mais se preocupar com um equipamento caro e sensível sob sua responsabilidade.

Contudo, esse conceito não resolvia todos os problemas. A TI se livrou da responsabilidade do hardware, porém não do software.

Ainda precisávamos lidar com as “máquinas virtuais” – VM’s –, instalar sistemas operacionais, softwares, manter tudo sempre atualizado e funcionando, além da constante preocupação com segurança.

Os custos de infraestrutura, embora reduzidos em relação ao paradigma anterior, ainda eram altos e a escalabilidade não tão interessante.

Temos na história algumas outras tecnologias que optaremos por não abordar, uma sopa de letrinhas, como PasS, BasS e muitas outras.

Como a arquitetura Serverless funciona?

Chegamos então em meados de 2014/2015, quando o conceito serverless começou a se destacar, principalmente após o lançamento do serviço AWS Lambda da Amazon, uma tecnologia FaaS.

Com ela, passamos a não precisar gerenciar mais hardware ou software, exceto, é claro, nosso próprio software, o core business da empresa.

Como ela funciona então? A ideia é bastante simples: apenas fazemos o upload de nossa aplicação para a nuvem e a mesma se encarrega de prover os recursos de hardware e software necessários para que tudo funcione adequadamente.

A capacidade de computação adequada será provisionada conforme a necessidade.

Fica claro que em termos de foco e responsabilidade o conceito serverless apresenta grandes vantagens, mas e o custo de toda essa tecnologia?

Nesse ponto tudo fica ainda mais interessante. Adotar essa prática tende a reduzir significativamente os gastos com cloud, afinal, você não irá mais pagar por um ou vários servidores de custo fixo, independente dos momentos em que não estão sendo utilizados.

Se durante o horário comercial seu sistema é utilizado mais intensamente, mas de madrugada fica ocioso, na cloud tradicional você acaba pagando o mesmo preço.

Mesmo que já se utilize de uma infraestrutura auto escalável com balanceamento de carga, ainda assim terá certos gastos regulares.

Já na computação serverless você pagará apenas pelo tempo e capacidade de processamento utilizados.

Claro, nem tudo são flores; para poder usufruir desse avanço tecnológico, seu time de TI poderá precisar realizar inúmeras adaptações no código de sua aplicação.

Dependendo do grau de complexidade do sistema e da forma que ele foi programado, pode ser uma tarefa realmente gigante.

Seja qual for a distância entre seu sistema e a cloud serverless, os times terão que, hora ou outra, adequar o sistema às novidades desse mundo tecnológico cada vez mais acelerado.

A tendência da terceirização

Com um olhar fora de TI, podemos entender essa mudança como algo natural e que vem acontecendo em outros setores das organizações – a terceirização de tudo o que não compõe nosso core business.

Aos poucos temos delegado responsabilidades sobre assuntos que nos ocupavam e tiravam o foco.

O filtro de água pode ser terceirizado como um serviço, o café vira assinatura, a limpeza vira responsabilidade de uma empresa especializada etc.

Até chegarmos talvez ao extremo da terceirização, que são os co-working: eles te oferecem toda a infraestrutura necessária para você operar seu negócio, sem maiores preocupações.

Aqui na B4B iniciamos nossa migração para o universo serverless em 2019, empregando grande esforço no treinamento, adaptação de código-fonte, evolução da esteira de deploy e muito mais.

Esse esforço tem sido grandemente recompensado! E aí na sua empresa, vocês já são serverless?!

Esse artigo foi criado por Gustavo Siqueira, CTO na empresa B4B Ventures.

Compartilhar no facebook
Facebook
Compartilhar no linkedin
LinkedIn
Compartilhar no twitter
Twitter

Deixe um comentário