Computação Serverless

Por
Atualizado em
Publicado em
4 min. de leitura

Olá, querida(o) estudante! Neste artigo, vamos estudar sobre computação serverless, um modelo de execução em nuvem que vem transformando a forma como sistemas são desenvolvidos e implantados. Essa abordagem elimina a necessidade de o desenvolvedor gerenciar servidores, permitindo que o foco esteja totalmente na lógica do negócio e não na infraestrutura.

Compreender o funcionamento do serverless é essencial para quem atua em tecnologia e, principalmente, para quem se prepara para concursos, já que esse tema aparece em questões que exploram conceitos de escalabilidade, cobrança e modelo de execução em nuvem.

O que é Computação Serverless?

Serverless é um modelo de computação em nuvem no qual o provedor (como AWS, Azure ou Google Cloud) gerencia automaticamente a infraestrutura necessária para rodar aplicações. Apesar do nome, não significa ausência de servidores, mas sim que o desenvolvedor não precisa se preocupar em provisionar, escalar ou manter máquinas virtuais.

Nesse modelo, o código é executado sob demanda, em resposta a eventos, e os recursos computacionais são alocados dinamicamente pelo provedor.

Como Surgiu?

A popularização do serverless ocorreu a partir de 2014, com o lançamento do AWS Lambda, primeiro grande serviço de Function-as-a-Service (FaaS). Desde então, provedores como Google Cloud Functions e Azure Functions consolidaram o modelo, que hoje é amplamente adotado para aplicações escaláveis, APIs e processamento de dados em tempo real.

  • Pay-as-you-go: o pagamento é feito apenas pelos recursos efetivamente consumidos, sem custos com máquinas ociosas. Esse modelo é ideal para aplicações que não rodam continuamente, mas que precisam de alta disponibilidade quando demandadas, como processamento de arquivos sob demanda.
  • Execução orientada a eventos: funções são disparadas em resposta a gatilhos, como requisições HTTP, uploads de arquivos, mensagens em filas ou agendamentos de tarefas. Essa característica facilita a integração com diferentes serviços da nuvem.
  • Stateless: as funções não armazenam estado entre execuções, o que permite que várias instâncias rodem em paralelo e garantam escalabilidade horizontal automática. Caso seja necessário manter informações, deve-se utilizar bancos de dados ou caches externos.
  • Gerenciamento pelo provedor: toda a infraestrutura (servidores, sistemas operacionais, atualizações de segurança) é administrada pela nuvem, liberando o desenvolvedor dessa responsabilidade e reduzindo custos operacionais.
  • Escalabilidade automática: os provedores podem alocar de zero a milhares de instâncias de uma função em segundos, garantindo que aplicações consigam lidar com picos de demanda sem intervenção manual.

Vantagens

  • Redução de custos: como não há cobrança por recursos ociosos, o serverless se mostra mais econômico para cargas de trabalho variáveis ou sazonais.
  • Foco no negócio: o desenvolvedor concentra-se no código e na entrega de valor, deixando toda a infraestrutura para o provedor.
  • Escalabilidade simplificada: os serviços crescem ou reduzem automaticamente, sem necessidade de configurar balanceadores de carga ou scripts de automação.
  • Agilidade no desenvolvimento: acelera o ciclo de testes e entregas, permitindo que novas funcionalidades sejam lançadas rapidamente.

Desafios

  • Cold start: pode haver atraso na execução da função quando chamada após um período de inatividade. Esse impacto pode ser pequeno, mas é relevante em aplicações críticas em tempo real.
  • Limitações de tempo e memória: provedores impõem limites (como tempo máximo de execução e memória disponível), o que pode restringir funções mais complexas.
  • Gerenciamento de estado: como as funções são stateless, qualquer dado persistente precisa ser armazenado externamente, adicionando complexidade arquitetural.
  • Dependência do provedor (vendor lock-in): ao adotar soluções específicas de uma nuvem, pode ser difícil migrar aplicações para outro ambiente no futuro.

Serverless x Modelos Tradicionais

  • Infraestrutura tradicional: exige que a equipe configure e mantenha servidores, pagando por capacidade reservada mesmo que o sistema esteja ocioso.
  • Serverless: abstrai totalmente os servidores, com cobrança apenas pelo uso real e escalabilidade automática. É mais econômico, mas menos flexível para quem precisa de controle fino sobre o ambiente.

Ferramentas e Tecnologias Associadas

  • Provedores: AWS Lambda, Google Cloud Functions e Azure Functions.
  • Orquestração: AWS Step Functions e Azure Durable Functions, que permitem coordenar várias funções em fluxos complexos.
  • BaaS (Back-end as a Service): Firebase, Auth0 e bancos de dados serverless como DynamoDB e Firestore.
  • Observabilidade: serviços de monitoramento como AWS CloudWatch, Google Cloud Monitoring e Azure Application Insights, que auxiliam no rastreamento de logs e métricas.

Aplicações Reais

  • Processamento de imagens e vídeos: funções que são executadas automaticamente para redimensionar, converter ou analisar arquivos enviados para a nuvem.
  • APIs e microsserviços: endpoints implementados de forma escalável e sob demanda, sem necessidade de servidores dedicados.
  • Automação de fluxos de dados: integração com filas, mensageria e pipelines para processar grandes volumes de dados em tempo real.
  • Chatbots e assistentes virtuais: execução rápida e sob demanda de funções de inteligência artificial e integração com serviços de mensagens.

Vamos ver como isso é cobrado nos concursos!

1) Ano: 2024 – Banca: FGV – Órgão: EPE
Prova: FGV – 2024 – EPE – Analista de Gestão Corporativa – Tecnologia da Informação (Infraestrutura e Segurança)

A computação serverless é um modelo de computação em nuvem em que o provedor gerencia automaticamente a infraestrutura.
Sobre a computação serverless, analise as afirmativas a seguir:

I. A precificação segue um modelo chamado pay-as-you-go, no qual o contratante paga apenas pelos recursos utilizados.
II. Armazena o estado de suas funções entre execuções, de modo a evitar interrupções e possibilitar escalabilidade horizontal.
III. O provedor gerencia automaticamente a infraestrutura usada, de modo que o desenvolvedor não precisa se preocupar com aspectos de segurança.

Está correto o que se afirma em:


a) I, apenas.
b) II, apenas.
c) III, apenas.
d) I e II, apenas.
e) II e III, apenas.

Gabarito: Letra A

Comentário:

  • A afirmativa I está correta: a cobrança em serverless segue o modelo pay-as-you-go, ou seja, o cliente paga apenas pelo uso real dos recursos.
  • A afirmativa II está incorreta, pois as funções em serverless são stateless, não preservam estado entre execuções. O estado precisa ser armazenado externamente.
  • A afirmativa III também está incorreta. Embora o provedor cuide da infraestrutura, aspectos de segurança da aplicação continuam sendo responsabilidade do desenvolvedor.

2) Ano: 2023 – Banca: FGV – Órgão: SEFAZ-MG
Prova: FGV – 2023 – SEFAZ-MG – Auditor Fiscal da Receita Estadual – Tecnologia da Informação (Tarde)**

Computação serverless é um modelo de execução de computação na nuvem no qual o provedor aloca recursos sob demanda, cuidando dos servidores em nome de seus clientes.
Em relação ao modelo de computação serverless, assinale a afirmativa incorreta.


a) Os serviços de funções de nuvem também são chamados de Function-as-a-Service (FaaS), e computação serverless é atualmente FaaS + BaaS (Back-end as a Service).
b) As funções de nuvem usam programação stateless e stateful de estilo funcional na linguagem de sua escolha, geralmente JavaScript ou Python.
c) A computação serverless fornece uma abstração que oculta os servidores e a complexidade de programá-los e operá-los.
d) A computação serverless oferece um modelo de custo pay-as-you-go, em vez de um modelo baseado em reserva, para que não haja cobrança por recursos ociosos.
e) A computação serverless tem a capacidade de escalonamento automático de recursos para corresponder à demanda, de zero a praticamente infinito.

Gabarito: Letra B

Comentário:

  • A alternativa incorreta é a letra B, pois as funções em serverless são sempre stateless, ou seja, não mantêm estado entre execuções. O armazenamento de estado deve ser feito por meio de serviços externos.
  • As demais alternativas estão corretas: o serverless combina FaaS + BaaS (a), abstrai a infraestrutura (c), adota o modelo de cobrança pay-as-you-go (d) e garante escalabilidade praticamente ilimitada (e).

Conclusão

A computação serverless representa uma mudança de paradigma no desenvolvimento de sistemas, ao permitir que desenvolvedores se concentrem exclusivamente na lógica de negócios. Com benefícios como escalabilidade automática e redução de custos, mas também com desafios como cold start e gerenciamento de estado, o modelo é cada vez mais relevante em concursos e no mercado.

Referências

  • Roberts, M.; Chapin, J.; Gill, B. (2017). Serverless Architectures on AWS: With examples using AWS Lambda. Manning Publications.
  • Adzic, G.; Chatley, R. (2017). Serverless Computing: Economic and Architectural Impact. IEEE Software.
  • Kasunic, M. (2020). Microservices and Serverless: Best Practices and Design Strategies. Packt Publishing.
  • Dragoni, N., et al. (2021). Microservices: Yesterday, Today, and Tomorrow. Springer.
  • AWS Documentation – Serverless Developer Guide.

Por
Atualizado em
Publicado em
4 min. de leitura