Computação sem servidor
O que é Functions as a Service (FaaS)?
O que é o modelo Functions as a Service (FaaS)?
Functions as a Service ou FaaS é um modelo de execução de computação serverless que permite aos programadores implementar e executar facilmente aplicações sem qualquer necessidade de gerir os servidores. As estimativas para o mercado global de FaaS em 2025 variam consoante a empresa de investigação, indo de 7,17 mil milhões de dólares, segundo a Straits Research, a 13,08 mil milhões de dólares, de acordo com a The Business Research Company.
Em No FaaS, o utilizador escreve o código enquanto o fornecedor de nuvem lida automaticamente com a implementação do servidor, alocação de recursos e gestão do ambiente.
Como o FaaS funciona?
No modelo FaaS, os desenvolvedores escrevem código na forma de funções, que são pequenos blocos independentes projetados para executar uma única operação. Essas funções são iniciadas por eventos, por exemplo, solicitações HTTP, alterações de banco de dados ou um evento de upload de arquivo. Quando um evento ocorre, o provedor de nuvem aloca imediatamente os recursos necessários para a função e os libera após a conclusão do evento da função. Este modelo de computação permite implantação sem servidor orientada a eventos, o que significa cobrança por execução de função.
Alguns fornecedores de FaaS bem conhecidos são o Amazon AWS Lambda, o Microsoft Azure Functions e o Google Cloud Run functions (formerly Cloud Functions).
Qual é a diferença entre FaaS e SaaS?
FaaS e SaaS são ambos os serviços no computação em nuvem ambiente, embora tenham funções diferentes.
- FaaS: Disponibiliza uma plataforma para executar código personalizado acionado por eventos específicos. Os desenvolvedores de aplicações controlam o código, o fornecedor trata da infraestrutura, e o dimensionamento é gerido de forma automática e ao nível mais micro. Os custos são determinados pelos recursos efetivamente utilizados (pay-as-you-go): com o plano Flex Consumption do Azure Functions, paga pelas execuções totais e pela memória utilizada enquanto o seu código está a ser executado (calculado em GB-segundos).
- SaaS: Fornece soluções de software pré-configuradas através de uma infraestrutura na nuvem. Os utilizadores trabalham com a interface fornecida, mas têm um controlo limitado sobre a infraestrutura subjacente. O dimensionamento é limitado com base no plano de subscrição, sendo os custos normalmente cobrados como assinaturas.
| Recurso | Funções como Serviço (FaaS) | Software como Serviço (SaaS) |
|---|---|---|
| Funcionalidade Principal | ||
| Objetivo Principal | Executar código personalizado acionado por eventos específicos | Fornecer soluções de software pré-configuradas |
| Controle de Infraestrutura | Os desenvolvedores controlam o código; o fornecedor gere a infraestrutura | Controle limitado do usuário sobre a infraestrutura subjacente |
| Escalabilidade e desempenho | ||
| Mecanismo de escalonamento | Escalonamento automático em micro-nível | Normalmente limitado por planos de assinatura |
| Alocação de recursos | Dinâmico, baseado na execução real da função | Estático, predefinido por nível de assinatura |
| Modelo de precificação e custo | ||
| Estrutura de preços | Pay-as-you-go, cobrado por execuções e tempo de execução | Geralmente baseado em subscrição, taxas recorrentes fixas |
| Custo-benefício | Elevado, a utilização sob procura é faturada por execuções e tempo de execução | Normalmente custos fixos, independentemente da utilização real |
Qual é o principal benefício do FaaS?
O FaaS é um tipo de computação serverless em que os desenvolvedores se preocupam especificamente em escrever código e podem ter muito pouco controlo sobre os servidores.O sistema permite o ajuste dos níveis de atividade em correlação com a procura da aplicação, utilizando preços baseados na utilização.
Quais são as desvantagens do FaaS?
Com o FaaS, fatores como a dependência de um único fornecedor (vendor lock-in), ocorrências de arranque a frio (cold start), abordagens de gestão de estado e processos de depuração e monitorização são típicos.
- Bloqueio do fornecedor: Pode haver variações entre como o FaaS é implementado entre diferentes fornecedores de nuvem, o que pode criar dificuldades na movimentação do seu aplicativo.
- Inícios a frio: O tempo de início inicial de funções inativas pode ser prolongado, abrandando os tempos de resposta para os utilizadores.
- Depuração e monitoramento: uma aplicação serverless distribuída pode ser mais complexa de depurar e monitorizar do que uma aplicação monolítica.
- Sem estado: Preservar o estado entre as execuções da função é bastante complexo e um esforço adicional deve ser feito ao projetar um aplicativo.
Apesar destas desvantagens, o FaaS é utilizado com aplicações escaláveis e orientadas a eventos. Em 2025, a avaliação das empresas de consultoria sobre o mercado global de FaaS variava entre 7,17 mil milhões de USD (Straits Research) e 13,08 mil milhões de USD (The Business Research Company).
Conclusão
O FaaS é uma componente da computação serverless onde os desenvolvedores criam e executam aplicações, com a gestão de servidores a ser tratada de forma independente. Gere a infraestrutura subjacente, com dimensionamento automatizado e faturação baseada em recursos.
Pode implementar o FaaS no desenvolvimento de soluções na nuvem escaláveis e orientadas a eventos, no entanto, não é adequado para todos os tipos de aplicações.