FaaS e outros serviços de computação em nuvem

O que é Function as a Service?

FaaS refere-se a um serviço de backend serverless que permite aos desenvolvedores escrever módulos de código de forma ágil, executados em resposta a eventos específicos.

Com a computação serverless, os desenvolvedores podem criar e executar aplicativos sem se preocupar com a infraestrutura de nuvem. Os servidores ainda existem no modelo serverless, mas são abstraídos do processo de desenvolvimento de aplicativos. Um provedor de nuvem assume o trabalho operacional de provisionamento, manutenção e escalabilidade da infraestrutura de servidores usando uma arquitetura serverless, permitindo que os desenvolvedores se concentrem exclusivamente no código para implantação.

Embora os termos Function as a Service (FaaS) e serverless sejam às vezes usados como sinônimos, eles têm definições distintas. FaaS é um subconjunto da computação serverless focado em gatilhos orientados a eventos, em que o código é executado em resposta a eventos ou solicitações. Enquanto serverless se refere a qualquer modelo em que o servidor é completamente abstraído do usuário final, FaaS é uma subclassificação da computação serverless centrada em gatilhos orientados a eventos, nos quais o código executa em reação a eventos ou solicitações. O servidor é desligado quando não há solicitações acionadas por eventos, liberando seus recursos para requisições subsequentes. O FaaS responde à demanda e escala verticalmente conforme necessário após ser ativado. Quando uma função serverless está ociosa, raramente gera custos, proporcionando economia em diferentes cenários.

Como PaaS, IaaS e FaaS se relacionam

Platform as a Service (PaaS), Function as a Service (FaaS) e Infrastructure as a Service (IaaS) são conhecidos como serviços de computação em nuvem. A diferença está no nível de abstração entre a infraestrutura e o usuário que cada um oferece.

O IaaS fornece o menor nível de abstração. Os usuários que utilizam IaaS têm controle total sobre sua infraestrutura e as ferramentas e softwares associados. No entanto, não precisam gerenciar ou controlar a infraestrutura física, como data centers. O IaaS permite que os desenvolvedores escolham quais camadas de abstração desejam usar. Eles podem optar por controlar ou gerenciar tudo sozinhos ou adicionar recursos como balanceadores de carga e serviços gerenciados para facilitar a manutenção de seus aplicativos.

Para o usuário final, o PaaS inclui uma camada extra de abstração. Os usuários que adotam o PaaS não precisam se preocupar em gerenciar o sistema operacional, o runtime ou outras partes da infraestrutura de seus aplicativos. Ainda assim, têm controle granular sobre as opções de infraestrutura subjacente e os aplicativos. O PaaS oferece uma opção de infraestrutura totalmente gerenciada para desenvolvedores que desejam lançar aplicativos rapidamente. Os desenvolvedores que escolhem o PaaS podem se concentrar em seu trabalho enquanto o provedor cuida da administração do sistema e dos processos de backend.

O FaaS oferece muito mais abstração para o operador e a funcionalidade mais específica dos três modelos. Com o FaaS, os programadores têm acesso a um sistema que executa a lógica do aplicativo sob demanda, e o provedor de serviços gerencia todos os recursos do sistema e outros componentes de infraestrutura.

Diferenças entre PaaS e FaaS

Embora os produtos FaaS e PaaS possam parecer muito semelhantes à primeira vista, há considerações importantes sobre as diferenças ao escolher qual é o melhor para você.


● Configuração: o FaaS tem um tempo de provisionamento curto devido ao seu caso de uso simples e soluções totalmente gerenciadas. Embora o PaaS ofereça um nível de abstração maior do que outros serviços de computação em nuvem, ainda requer alguma configuração. Dependendo do nível de controle desejado, isso pode ser uma vantagem ou uma desvantagem.
● Operações: as soluções FaaS ativam e desativam aplicativos inteiros para solicitações individuais. Embora o PaaS ofereça capacidade de escalar conforme necessário, os recursos geralmente estão disponíveis o tempo todo. Latência, custo e a capacidade de concluir solicitações complexas podem ser afetados por esse recurso do FaaS.
● Escalabilidade: o PaaS pode escalar conforme necessário, mas o desenvolvedor precisa planejar e configurar isso. Com o FaaS, não há necessidade de planejamento de capacidade. Ele escala facilmente conforme a demanda.
● Preços: os preços do PaaS variam conforme o provedor, embora frequentemente sejam mais altos do que os do FaaS para cargas de trabalho leves. Se os gatilhos de eventos forem esporádicos, o FaaS permite que os desenvolvedores paguem por chamada de função, gerando economia. O PaaS pode ser a melhor solução para cargas de trabalho mais consistentes ou maiores em termos de custo-benefício.

Como o FaaS funciona?

A arquitetura monolítica era comumente usada nos primeiros aplicativos. Como resultado, o aplicativo era projetado como uma única operação que precisava ser executada. Os microsserviços se tornaram mais populares entre os desenvolvedores. Microsserviços são um conjunto de componentes que podem ser implantados independentemente. São mais fáceis de manter e testar porque podem ser trabalhados separadamente.

Idealmente, uma função é um microsserviço capaz de executar uma ação em resposta a um evento. O provedor iniciará um servidor quando uma função for invocada no FaaS. Ele executará o código e, em seguida, desligará o servidor. Quando o servidor é desligado, os serviços serverless permanecem ativos apenas enquanto a função está em uso, permitindo que os mesmos recursos computacionais sejam alocados em outro lugar.

Os desenvolvedores com acesso à plataforma FaaS podem executar o código de seus aplicativos. A força do FaaS está em sua simplicidade. Para aproveitar ao máximo o FaaS, os desenvolvedores devem garantir que uma função execute apenas uma única ação. O escopo da função deve ser restrito e eficiente. Usar muitas bibliotecas ou fazer com que uma função chame outra causará lentidão no programa e aumentará os custos.

Vantagens do FaaS

Usar uma arquitetura FaaS traz diversas vantagens. Veja alguns motivos pelos quais você pode escolher o FaaS para executar seu aplicativo:


● Liberdade para se concentrar inteiramente na codificação e no desenvolvimento do seu aplicativo
● Pagamento apenas pelo que usa, gerando economia de custos
● Escalabilidade automática sem planejamento de capacidade ou manutenção regular
● Tempo de lançamento reduzido graças à simplicidade de testes e desenvolvimento

Considerações ao escolher o FaaS

De aplicativos web a chatbots online, processamento de dados a funções de backend e muito mais, o FaaS pode ser usado de diversas formas. Considere os seguintes pontos antes de escolher um provedor de FaaS:


● Cargas de trabalho: o FaaS é ideal para tarefas simples e repetitivas que exigem pouco esforço ou muitas solicitações. Como o FaaS cobra por função executada, os custos para uso intenso podem ser maiores do que com uma solução PaaS. O FaaS é uma excelente solução para simplificar o provisionamento e reduzir custos se sua carga de trabalho for relativamente pequena.
● Controle: o FaaS é um dos produtos de nuvem com maior nível de abstração. Pense em quanta visibilidade e controle você deseja sobre suas configurações e infraestrutura. Experimente uma solução PaaS se quiser um pouco mais de controle do que o FaaS, mantendo a mesma simplicidade de uso. Uma solução IaaS deve ser considerada por equipes que desejam controle total de seu ecossistema de produção e do design e comportamento de sua infraestrutura.
● Dependência de fornecedor: este termo descreve uma situação em que a migração de aplicativos criados por um provedor específico pode ser difícil. O uso de tecnologias de nuvem de código aberto facilita a transferência de atividades de computação de um único provedor para outros.

Artigos relacionados

Explorar mais ofertas especiais

  1. Short Message Service (SMS) e Serviço de e-mail

    Pacote de 50.000 e-mails a partir de US$ 1,99; 120 mensagens curtas a partir de apenas US$ 1,00

phone Fale Conosco
Oi, eu sou o assistente de IA da Alibaba Cloud!
Posso ajudar com perguntas e soluções.