Computação sem servidor
O que é Functions as a Service (FaaS)?
Published: Outubro 28, 2024
Last updated: Novembro 26, 2024
O que é o modelo Functions as a Service (FaaS)?
Functions as a Service ou FaaS é um modelo de execução de computação sem servidor que permite que os desenvolvedores implantem e executem aplicativos facilmente, sem a necessidade de gerenciar os servidores. Em resumo, com o FaaS, você escreve o código enquanto o provedor de nuvem lida automaticamente com a implantação do servidor, alocação de recursos e gerenciamento de 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 provedores FaaS bem conhecidos são Amazon AWS Lambda, Microsoft Azure Functions e Google Cloud Functions.
Qual é a diferença entre FaaS e SaaS?
FaaS e SaaS são modelos de implantação no computação em nuvem ambiente, embora tenham funções diferentes.
- FaaS: Ele fornece uma plataforma para executar código personalizado acionado por eventos específicos. Os desenvolvedores de aplicativos controlam o código e a infraestrutura, enquanto o dimensionamento é tratado automaticamente e no nível mais micro. Os custos são determinados pelos recursos reais usados (pague conforme o uso).
- SaaS: Fornece soluções de software pré-configuradas por meio de uma infraestrutura de nuvem. Os usuários trabalham com a interface fornecida, mas têm controle limitado sobre a infraestrutura subjacente. Isso ocorre porque a escalabilidade é normalmente limitada em planos de assinatura, enquanto os custos são normalmente cobrados em assinaturas.
Qual é o principal benefício do FaaS?
FaaS é um tipo de computação sem servidor em que os desenvolvedores estão especificamente preocupados com a escrita de código e podem ter muito pouco controle sobre os servidores. Ele permite ajustar a escala de atividade e é baseado em um mecanismo automático de cobrança de uso em função da carga de trabalho em um aplicativo.
Quais são as desvantagens do FaaS?
Apesar dos benefícios que vêm com o FaaS, é fundamental discutir algumas das desvantagens.
- 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 dormentes pode ser prolongado, levando a atrasos no feedback no que diz respeito aos indivíduos.
- Depuração e monitoramento: Um aplicativo serverless distribuído pode ser mais complexo de depurar e monitorar do que um aplicativo monolítico.
- 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 dessas desvantagens, o FaaS é amplamente utilizado na construção de aplicativos de alta tecnologia, escaláveis e econômicos, particularmente em estruturas orientadas a eventos e centradas no cliente.
Conclusão
FaaS é uma extensão da arquitetura sem servidor, na qual os desenvolvedores podem criar e implantar aplicativos sem adquirir servidores. O FaaS oculta a infraestrutura para a utilização de dimensionamento automatizado, ciclo de desenvolvimento e custo baseado em recursos. Você pode implantar o FaaS no desenvolvimento de soluções em nuvem escaláveis e orientadas a eventos, no entanto, ele não é adequado para todos os tipos de aplicativos.