Já perdi a conta de quantas reuniões fiz, ao longo dos anos, nas quais gestores e líderes de tecnologia me perguntaram: “Afinal, qual arquitetura cloud faz mais sentido? Vale entrar de cabeça no serverless, no modelo baseado em funções, apostar nos tradicionais PaaS ou montar infra baseada em contêineres?”. Essas dúvidas surgem de quem quer entregar projetos velozes, de forma simples, controlada e, claro, previsível financeiramente.
Neste artigo, vou compartilhar o que aprendi em projetos reais, explicando o conceito, funcionamento e diferenças entre as abordagens modernas no mundo cloud. Vou mostrar situações em que a computação baseada em funções pode ser a melhor alternativa, e também quando pode não ser a escolha certa. Ao final, espero que você consiga visualizar de forma clara o que casa melhor com o momento atual da sua empresa.
O que é FaaS e por que tantas empresas estão adotando?
De uns anos para cá, venho acompanhando o quanto os desenvolvedores e gestores de TI se empolgaram com o chamado Functions as a Service (FaaS). O que me impressiona é a simplicidade da ideia: publicar pequenos trechos de código (funções) que só rodam quando necessário – e pagar apenas pelo uso, sem precisar reservar servidor, configurar máquinas ou se preocupar com capacidade ociosa.
É como acender a luz quando entra no cômodo. A lâmpada só consome energia se alguém a estiver usando. No cenário cloud, cada função só roda quando processa uma chamada, um evento, ou um pedido externo.
Serverless não significa sem servidor, mas sem preocupação com servidor.
Parece básico, mas é uma mudança de mentalidade poderosa. Os benefícios de adotar computação baseada em funções incluem alta flexibilidade, escalabilidade automática e potencial para reduzir custos, pois o modelo elimina gastos com recursos parados.
Como funciona a computação baseada em funções dentro da nuvem?
Essas funções ficam “dormindo” até serem ativadas por algum gatilho. O cloud provider cuida da infraestrutura: inicia a função rapidamente (processo conhecido como “cold start”), entrega os recursos necessários conforme a demanda, executa a lógica do seu código e encerra tudo ao final.
O modelo serverless (um dos corações disso tudo) é caracterizado por:
- Cobrança por execução: paga-se apenas pelo tempo de execução da função, não pela disponibilidade de servidor.
- Escalabilidade automática: centenas ou milhares de execuções simultâneas, conforme o volume de eventos.
- Simplicidade da gestão: não é preciso instalar, atualizar ou monitorar sistemas operacionais, clusters, middleware.
- Agilidade no deploy: basta publicar o código, configurar o gatilho e começar a usar.
Em meus projetos, vejo aplicações que vão desde o processamento de imagens sob demanda e automação de documentação, até integrações corporativas e manipulação de dados em tempo real.
Por dentro das diferenças: FaaS, PaaS e contêineres
Antes de escolher, é bom entender: não existe abordagem mágica – cada arquitetura traz vantagens e algumas restrições. Por isso, quero comparar os principais formatos que vejo no dia a dia:
- Functions as a Service (FaaS): código dividido em funções autônomas, rodando apenas sob demanda, sem preocupação com infraestrutura.
- Platform as a Service (PaaS): plataforma gerenciada, onde se publica aplicações inteiras, sem cuidar do sistema operacional, mas controlando dependências, framework etc.
- Infraestrutura com contêineres: aplicações empacotadas em “containers” leves, criando ambientes isolados, portáveis e flexíveis, podendo ser orquestradas em clusters (inclusive com Kubernetes).
Principais diferenças entre os modelos
Tempo de execução e ciclo de vida
- FaaS: executa por “eventos” (curto prazo), processos rápidos.
- PaaS: aplicações inteiras, rodando por tempo contínuo, expostas via endpoints.
- Contêineres: flexibilidade máxima; podem rodar processos curtos ou duradouros, suportam execuções em lote, APIs, jobs agendados e muito mais.
Gestão operacional
- FaaS: zero preocupação com sistema operacional ou runtime. Gestão total do fornecedor cloud.
- PaaS: aplicação gerenciada, mas ainda exige alguma atenção a dependências e configurações específicas.
- Contêineres: gestão avançada, exige conhecimento em Docker/Kubernetes e rotinas de monitoramento, atualização e escalonamento, como aponta o DATASUS.
Custos
- FaaS: alta previsibilidade e potencial economia – paga apenas pelo uso.
- PaaS: normalmente tarifas mensais ou por “tier” de recursos.
- Contêineres: depende do dimensionamento do cluster, podendo incluir cobrança por nó, por uso de CPU e armazenamento, conforme detalhado em características essenciais da computação em nuvem apresentadas pelo Governo Digital.
Escalabilidade
- FaaS: escala automático, quase instantaneamente.
- PaaS: escalabilidade mais controlada; depende do modelo e provedor.
- Contêineres: escalabilidade avançada, com ajuste granular, especialmente usando ferramentas de orquestração (como mostro neste guia de Kubernetes).
Vantagens e limitações de cada abordagem
Functions as a Service traz máxima simplicidade e economia para necessidades pontuais, eventos esporádicos e integrações rápidas. No entanto, pode não ser o melhor modelo para processos de longa duração, sistemas que exigem alta taxa de conexão constante ou aplicações com tamanhos de deploy superiores ao limite permitido.
Já o PaaS traz boa produtividade, ótima para equipes que querem focar no desenvolvimento e deixar a operação de lado, interessante para APIs persistentes ou aplicações web com alta demanda, mas com padrões mais estáveis.
A infraestrutura baseada em contêineres é a que, na minha experiência, oferece maior flexibilidade e controle. É ótima quando você precisa de ambientes híbridos, microserviços complexos ou múltiplas variáveis na operação (saiba mais nas imersões promovidas pela Escola de Gestão Pública do Ceará).
É bom citar que, segundo estudo do Centro Paula Souza, o uso de soluções gerenciadas na nuvem, seja para bancos de dados ou aplicações, oferece mais facilidade para escalabilidade e disponibilidade – mas pode exigir ajustes por região e gerenciamento dos backups.
Casos de uso: onde FaaS brilha e onde pode não ser tão vantajoso
Se tem algo que aprendi, é que função como serviço não resolve tudo – mas pode ser uma ferramenta incrível (e leve). Em empresas que buscam modernização, vejo aplicações muito interessantes:
- Automação de processos e rotinas internas: envio de e-mails transacionais, notificações, geração de PDFs ou relatórios sob demanda.
- Integração entre sistemas SaaS diversos: por exemplo, função que lê informações de um ERP e joga dados em sistemas financeiros ou de workflow.
- Processamento de imagens e vídeos: converter, redimensionar ou analisar conteúdo multimídia conforme upload do usuário.
- Soluções IoT: processamento de dados vindos de sensores em tempo real, agrupamento ou envio para APIs externas.
- APIs event-driven: backends flexíveis e escaláveis, que precisam sustentar picos de acesso e alternância entre momentos de alto e baixo tráfego.
Em empresas de logística, por exemplo, vi funções disparando notificações automáticas a cada etapa de coleta – tudo sem manter nenhum servidor ligado o tempo todo. Já em startups de IoT, vi funções processando e agrupando dados de milhares de sensores, organizando tudo em data lakes (tema que aprofundo neste artigo).
Agora, para cargas muito pesadas, processos contínuos/reais e aplicações que precisam de controle total sobre ambientes, pode ser melhor apostar em contêineres ou em plataformas gerenciadas recorrendo a PaaS. Muitas vezes, a combinação dessas abordagens gera melhores resultados.
Exemplo prático 1: automação de onboarding
Numa consultoria recente, implementei funções cloud para automatizar todo o onboarding de novos colaboradores. A cada cadastro aprovado, funções disparavam e-mails, criavam usuários em sistemas e acionavam fluxos de treinamento. Ganhamos velocidade sem gastar com servidores parados. Um case típico de função como serviço bem aplicada.
Exemplo prático 2: integração com sistemas legados
Outra situação marcante foi ao usar funções para integrar sistemas antigos do setor financeiro com plataformas novas baseadas em microserviços. A cada evento no legado (“conta paga”, por exemplo), uma função processava, validava e transferia dados para APIs modernas. Foi simples, rápido e barato.
A arquitetura serverless: moderna, ágil e… exige atenção
Eu sempre digo: a computação sem servidor democratiza a inovação digital. Para empresas que não podem (ou não querem) investir pesado em infraestrutura, é libertador criar soluções sem pensar em patch, backup ou capacidade ociosa.
O lado bom está claro: menos investimento inicial, deploy quase imediato, foco total no negócio e escalabilidade que responde em minutos, como reforçam as características da nuvem. Você pode lançar experimentos, testar hipóteses e evoluir projetos sem grandes riscos ou gastos mensais fixos.
Mas, aviso – não se iluda com a promessa de “zero gerente de TI”. Algumas práticas são essenciais:
- Governança do ciclo de vida das funções: documentação, versionamento e testes.
- Gestão eficiente de variáveis de ambiente, secrets e políticas de acesso.
- Observabilidade: logs, métricas e alertas para evitar surpresas.
- Preocupação com cold start, limites de execução e pacotes de dependência.
Testar código serverless exige abordagem específica, geralmente focando em testes unitários, mocks e simulações de eventos. Em grandes empresas, recomendo automatizar ao máximo, usando pipelines de CI/CD e ferramentas de orquestração – tema muito discutido em estudos sobre automação e orquestração do IBICT.
Principais provedores e ecossistema de FaaS
Hoje, praticamente todo grande fornecedor de nuvem oferece seu próprio ecossistema de funções como serviço. O que muda entre eles? Alguns detalhes, como:
- Tempo máximo de execução por função (geralmente 15 minutos ou menos, mas há exceções).
- Suporte a linguagens (Node.js, Python, Java, .NET, Go, entre outras).
- Integração nativa com serviços cloud (armazenamento, bancos, triggers de eventos, APIs REST, etc.).
- Soluções para deploy, versionamento, debugging e monitoramento.
- Em alguns casos, possibilidade de rodar funções customizadas em ambiente privado.
A escolha depende mais do ecossistema em que sua empresa já está inserida e do domínio operacional desejado. Mas recomendo sempre começar pela automação, integração e gestão centralizada dos recursos – aí, a experiência do time faz toda a diferença.
Quando usar FaaS, PaaS ou contêineres: situações ideais
Na prática, raramente adotei arquitetura “pura” em projetos. Quase sempre misturamos abordagens para potencializar resultados, mas há cenários em que é mais fácil decidir:
- FaaS: melhor em automações esporádicas, jobs assíncronos, integrações SaaS, processamento sob demanda, APIs event-driven e experimentação rápida.
- PaaS: indica-se para aplicações web tradicionais, APIs expostas 24×7, sistemas internos de médio porte, aplicações legadas migrando sem grandes refatorações.
- Contêineres: ideal ao construir arquiteturas de microserviços complexos, aplicações com requisitos especiais, demandas de customização ou workloads que exigem portabilidade entre ambientes (cloud, on-premises etc.), além de clusters com múltiplos serviços, como detalhado em comparativo de Docker e Kubernetes.
Se seu time é enxuto e busca rapidez, talvez tenha sua resposta. Se requer integração a sistemas legados, pode ser interessante mesclar abordagens – sendo que containers costumam entrar como curinga para “costurar” soluções.
Ganhos operacionais: o impacto para times de TI e decisores
O que todos buscam, no fundo, é mais rapidez para entregar resultados, cortar atrasos e responder à transformação do mercado. No modelo por funções, impressiona a economia de tempo no deploy, atualização de código e rollback de mudanças. Já perdi as contas de quantos projetos ganharam tração ao eliminar etapas burocráticas de provisionamento.
A escalabilidade automática é outro destaque: sua aplicação acompanha o volume do negócio, sem sustos na fatura ou gargalos em momentos de pico. A visibilidade dos custos melhora para gestores, já que o billing é transparente e proporcional à demanda.
Outro ponto que costumo reforçar é a capacidade do serverless empoderar equipes multidisciplinares. O desenvolvedor pode criar, publicar e testar seu código integrando diversas áreas, com mínimo esforço operacional.
Claro, é preciso cuidar da governança, limitar a dispersão de funções, acompanhar custos e manter padrões de documentação e qualidade.
Boas práticas para implementar FaaS em sua empresa
Se fosse apontar um checklist que sempre aplico nos projetos:
- Mapeie processos que podem se beneficiar da automação sob demanda.
- Desenhe funções pequenas, coesas e reutilizáveis – evite “monolitos” disfarçados.
- Foque em eventos bem definidos como disparadores (upload, webhook, fila de mensagens, timer).
- Padronize documentação, logging, versionamento e monitoramento desde o início.
- Implemente pipelines de automação para testes e deploy – CI/CD é indispensável para reduzir riscos de erro manual.
- Use boas práticas de controle e segregação de acessos, especialmente em projetos regulados (LGPD, PCI, etc.).
Em grandes equipes, não deixe de investir em cultura DevOps, integração contínua e automação de infraestrutura. E, claro, mantenha líderes de TI atentos à governança e aos limites do modelo.
Como acelerar a modernização com consultoria cloud
Ao longo dos anos, percebi que muitas empresas possuem dúvidas na definição da estratégia de cloud. Se você quer acelerar a adoção de novas arquiteturas – combinando funções como serviço, PaaS e contêineres de forma eficiente, segura e alinhada ao negócio – o apoio de especialistas faz diferença.
Consultorias cloud ajudam a:
- Definir a jornada de modernização ideal para o cenário da sua empresa.
- Construir arquitetura resiliente e econômica.
- Desenvolver integrações, automações e APIs rapidamente.
- Capacitar times internos e definir padrões de governança eficiente.



