NoOps e Serverless Computing: o futuro da computação?

Serverless computing

Pense em um mundo em que os servidores computacionais não sejam tão necessários como ainda são nos dias de hoje. Você consegue imaginar isso? Empresas como Google, Microsoft, Amazon e IBM sim, afinal de contas, são elas que estão na dianteira desse movimento, conhecido como serverless computing.

Nas rodas da tecnologia, o assunto vem se tornando cada vez mais evidente, sobretudo quando relacionadas à arquitetura de softwares e hardwares. Em essência, trata-se de um novo conceito cuja característica consiste também em um novo modelo, o FaaS, sigla para Function as a Service, que em português significa “Função como Serviço”.

Material complementar: XaaS: a nova era do Tudo como Serviço

Além disso, também está diretamente associado à tendência do NoOps, tida por muitos como o caminho natural para a forma como as organizações lidarão com as suas operações no futuro.

Neste artigo, mostrarei os principais pontos no que se refere ao serverless computing. Vamos lá?

O que é NoOps?

Para entender o porquê do serverless computing estar em alta, o primeiro passo está na compressão de NoOps. O termo é derivado da expressão No Operations (sem operações), sendo utilizado para descrever um ambiente de TI que seja totalmente abstraído da necessidade de ter uma equipe técnica para a gestão dos seus procedimentos internos.

De acordo com a Forrester, o conceito de NoOps é definido pelo objetivo de automatizar a implantação, o monitoramento e o gerenciamento de aplicativos e da infraestrutura na qual os processos da empresa são executados.

O que é serverless computing?

Visto o que é NoOps, vamos agora ao serverless computing. De forma clara e objetiva, estamos falando de um modelo de computação em que o cloud provider administra o provisionamento dos servidores por meio da execução de um trecho de código, alocando os recursos de modo totalmente dinâmico.

Em um ambiente tradicional, os desenvolvedores precisam provisionar e configurar servidores, instalar os sistemas operacionais e gerenciar essa infraestrutura. Entretanto, com o serverless computing, você tem a liberdade para criar, gerir e implantar aplicativos dimensionados sob demandas, sem ter que se preocupar com as habituais estruturas de TI.

O código que é utilizado para a execução dos recursos está na forma de função. É por esse motivo que o serverless computing é por vezes referido como FaaS. Caso queira testar essa tecnologia, veja quais são os principais provedores no momento:

  • AWS (AWS Lambda);
  • Microsoft Azure (funcionalidades do Azure);
  • Google Cloud (funções da nuvem).

Como funciona e de que maneiras pode ser aplicado?

Para entender o funcionamento do serverless computing, é preciso limpar o ar do seu aspecto mais irritante. Qual? O fato de que a computação sem servidores ainda requer servidores. Isso significa que o termo é um tanto quanto enganador.

Mas não se assuste, pois mesmo que não exponha uma verdade integral, o sentido existe, fazendo valer o seu nome. A diferença entre o cloud computing e o Serverless é que, no segundo, você, o cliente, não paga por recursos subutilizados.

Em vez de ter os seus processos executados em um servidor AWS da forma como ocorre na computação em nuvem tradicional, em que os recursos de hardware são empregues diretamente ao serviço, no serverless computing eles serão rodados pela execução do código.

É essa característica que dá à tecnologia a denominação de FaaS, já que a execução desse código nada mais é do que uma função. Em palavras mais práticas, o modelo da computação sem servidores abstrai a infraestrutura subjacente dos provedores como parte dos serviços entregues ao usuário.

No entanto, ela ainda existe, porém, apenas como pilar para o gerenciamento de recursos, o qual é realizado pelos fornecedores: você seria cobrado pela utilização dessa estrutura somente quando o seu código for executado.

Quais são os desafios?

Como em praticamente qualquer outra nova tecnologia, desafios estão presentes na adoção do serverless computing. Um dos principais é que as funções só podem ser acessadas como APIs privadas, exigindo, em vista disso, uma configuração específica para o API do gateway.

Isso não afeta os preços e nem os processos, mas incide na desvantagem de que você não poderá acessá-las diretamente por meio do seu IP habitual.

Outro contratempo é o limite de tempo de 300 segundos para a realização de tarefas. Isso significa que a computação sem servidores pode resultar em problemas de eficiência em casos em que o processamento das informações for muito complexo.

Quais são as vantagens?

Para a compreensão das vantagens, é necessário dividi-las em três grupos: negócio, desenvolvedor e usuário.

Do ponto de vista do negócio

  • o custo imposto no serverless computing é baseado no número de execuções de função, medido em milissegundos em vez de horas;
  • agilidade do processo (entrega mais rápida de recursos ao mercado, aumentando a capacidade de adaptação à mudança);
  • o custo de contratação de engenheiros de infraestrutura de back-end é reduzido;
  • redução de despesas operacionais.

Da perspectiva do desenvolvedor

  • responsabilidade reduzida (não é preciso se preocupar com a infraestrutura de back-end);
  • gestão operacional facilitada;
  • configuração simplificada;
  • ótima escalabilidade (sem preocupações com a queda dos serviços por conta do excesso de solicitações simultâneas);
  • colaboração à inovação.

Da perspectiva do usuário

  • se os provedores estão utilizando essa tecnologia para enviar os recursos mais rapidamente, os clientes estão os recebendo mais depressa;
  • é possível para os usuários fornecer seu próprio back-end de armazenamento (Dropbox, Google Drive etc);
  • melhor experiência offline em virtude do armazenamento em cache otimizado.

Por fim, fique tranquilo caso não consiga entender o serverless computing de modo integral. A tecnologia é recente e ainda tem muito a se desenvolver. Todavia, se você tem interesse nas mudanças relacionadas à Transformação Digital, é interessante se manter atento quanto a ela.

O que não se discute, aqui, é que a partir do momento em que chegar a sua fase de maturação, será amplamente adotada. Prova disso é a Netflix, que não apenas a utiliza em algum grau, mas a tem como uma aposta de futuro quando o assunto diz respeito à hospedagem e processamento de dados.

CEO na Introduce

Formado em Redes de Computadores, com especializações em Gestão de Pessoas, Coaching e MBA em Marketing. É co-founder da introduceti.com.br, que conduz o crescimento dos negócios através de estratégias e tecnologias. Além disso é investidor no projeto Globin.it, Middas e Grupo 3Minds.