O que é computação sem servidor? | Definição de "sem servidor"

Computação sem servidor é um método de fornecimento de serviços de back-end baseado em como são utilizados. Os servidores ainda são utilizados, mas uma empresa que utiliza os serviços de back-end de um fornecedor sem servidor é cobrada com base no uso, não por uma quantidade fixa de largura de banda ou número de servidores.

Share facebook icon linkedin icon twitter icon email icon

sem servidor

Objetivos de aprendizado

Depois de ler este artigo você será capaz de:

  • Defina computação sem servidor
  • Descreva as vantagens do uso de uma arquitetura sem servidor

O que é computação sem servidor?

Computação sem servidor é um método de fornecimento de serviços de back-end baseado em como são utilizados. Uma arquitetura sem servidor permite que os usuários escrevam e implantem código sem precisar se preocupar com a infraestrutura subjacente. Uma empresa que usa serviços de back-end de um fornecedor sem servidor é cobrada com base na computação utilizada e não precisa reservar e pagar por uma quantidade fixa de largura de banda ou número de servidores, já que o serviço aumenta automaticamente quando necessário. Vale notar que, embora os serviços sejam chamados de "sem servidor", os servidores físicos ainda são utilizados, mas os desenvolvedores não precisam estar cientes deles.

Nos primeiros dias da internet, qualquer pessoa que desejasse criar uma aplicação web precisava possuir o hardware físico necessário para rodar um servidor, uma tarefa complicada e cara.

Mais tarde apareceu a nuvem, onde um número fixo de servidores ou quantidades de espaço no servidor podiam ser alugados remotamente. Os desenvolvedores e empresas que alugavam essas unidades fixas de espaço no servidor geralmente compravam espaço extra para garantir que um aumento de tráfego ou de atividade não excedesse seus limites mensais e interrompesse suas aplicações. Isso significava que boa parte do espaço de servidor pago costumava ser desperdiçado. Para resolver o problema, os fornecedores de nuvem introduziram modelos que aumentavam os serviços automaticamente, mas mesmo esse tipo de modelo poderia acabar saindo muito caro se ocorresse um pico de atividade indesejado, como um ataque de DDoS.

Vantagens do esquema sem servidor

A computação sem servidor permite que os desenvolvedores comprem serviços de back-end com base em um esquema flexível "pague pelo que usar", o que significa que só precisam pagar pelos serviços realmente utilizados. É como migrar de um plano de dados de celular com limite fixo mensal para um que cobra apenas por cada byte de dados que é realmente usado.

O termo "sem servidor" passa uma mensagem errada, já que os servidores que fornecem esses serviços de back-end continuam existindo, mas significa que quem lida com todas as questões de espaço e infraestrutura é o fornecedor. Sem servidor significa que os desenvolvedores podem fazer seu trabalho sem precisar se preocupar nem um pouco com os servidores.

O que são serviços de back-end? Qual é a diferença entre front-end e back-end?

O desenvolvimento de aplicações geralmente é dividido entre dois domínios: o front-end e o back-end. O frontend é a parte da aplicação que é vista pelos usuários e com a qual estes interagem, como a organização visual. O back-end é a parte que o usuário não vê; isso inclui o servidor no qual ficam hospedados os arquivos da aplicação e o banco de dados no qual os dados do usuário e a lógica dos negócios são mantidos.

Comparação entre o front-end e o back-end de uma aplicação

Por exemplo, vamos imaginar um site que venda ingressos para shows. Quando um usuário digita uma solicitação na janela do navegador, ele envia uma solicitação ao servidor de back-end, que responde com os dados do site. O usuário verá o front-end do site, que incluirá texto, imagens e campos de formulário para o usuário preencher. O usuário pode interagir com um dos campos de formulário no front-end para buscar seu artista favorito. Quando o usuário clica em "enviar", estará acionando outra solicitação para o back-end. O código do back-end verifica seu banco de dados para ver se existe um artista com esse nome e, caso positivo, qual a data do próximo show e quantos ingressos estão disponíveis. Em seguida, o back-end passará esses dados de volta para o front-end e exibirá os resultados de uma maneira que faça sentido para o usuário. Da mesma forma, quando o usuário cria uma conta e digita as informações financeiras para comprar os ingressos, ocorre outra comunicação entre o front-end e o back-end.

Que tipo de serviços de back-end a computação sem servidor pode fornecer?

A maioria dos provedores sem servidor oferece a seus clientes serviços de banco de dados e armazenamento e muitos também têm plataformas de Função Como um Serviço (FaaS), como o Cloudflare Workers. Essas plataformas podem executar trechos de código na borda sem armazenar nenhum dado.

Quais são as vantagens da computação sem servidor?

  • Custos mais baixos — a computação sem servidor geralmente é muito econômica, já que o modelo de serviços de back-end na nuvem dos provedores tradicionais (alocação de servidores) geralmente significa que o usuário acaba pagando pelo espaço não utilizado ou pelo tempo ocioso da CPU.
  • Escalabilidade simplificada — os desenvolvedores que usam arquitetura sem servidor não precisam se preocupar com as políticas de aumento da capacidade de seu código. O fornecedor sem servidor se encarrega de aumentar os serviços de acordo com a demanda.
  • Código de back-end simplificado — com o FaaS, os desenvolvedores podem criar funções simples que rodam independentemente para executar uma única finalidade, como fazer uma chamada de API.
  • Retorno mais rápido — a arquitetura sem servidor pode reduzir significativamente o tempo de lançamento no mercado. Ao invés de demandar um processo complicado de implantação para implementar correções de bugs e novas funcionalidades, os desenvolvedores podem adicionar e modificar o código gradualmente.