Função como serviço (FaaS) é um serviço de computação em nuvem que permite que os clientes executem códigos em resposta a eventos, sem gerenciar a infraestrutura complexa normalmente associada à criação e ao lançamento de aplicações de microsserviços.
Hospedar uma aplicação de software na internet geralmente envolve a criação e o gerenciamento de um servidor virtual ou físico, bem como a gestão de um sistema operacional e de processos de hospedagem do servidor web. Com o FaaS, o hardware físico, o sistema operacional de máquina virtual e o gerenciamento de software de servidor da Web são tratados automaticamente pelo provedor de serviços de nuvem. Esta funcionalidade permite que os desenvolvedores se concentrem exclusivamente em funções individuais no código da sua aplicação.
Serverless e função como serviço (FaaS) são frequentemente confundidos, mas a verdade é que o FaaS é, na realidade, um subconjunto do conceito de serverless.
O Serverless é dedicado a qualquer categoria de serviço, seja computação, armazenamento, banco de dados, mensagens e API Gateway, em que a configuração, o gerenciamento e o faturamento dos servidores são invisíveis para o usuário.
No entanto, o FaaS, embora seja talvez a tecnologia mais central em arquiteturas serverless, está concentrado no paradigma de computação baseada em eventos, onde o código da aplicação ou os containers são executados somente em resposta a eventos ou solicitações.
O FaaS é uma ferramenta valiosa para a migração eficiente e econômica de aplicações para a nuvem. Veja a seguir mais alguns benefícios:
Há várias práticas recomendadas que você pode seguir para facilitar a implementação e tornar o uso do FaaS mais eficaz:
Devido à sua capacidade de isolar e dimensionar transações com facilidade, o FaaS é adequado para cargas de trabalho de alto volume e paralelizáveis de maneira simples. Também pode ser usado para criar sistemas de back-end ou para atividades como processamento de dados, conversão de formatos, codificação ou agregação de dados.
O FaaS também é uma ótima ferramenta para aplicativos da web, backends, processamento ou fluxos de dados, ou para criar chatbots online ou back-ends para dispositivos IoT. O FaaS pode ajudá-lo a gerenciar e usar serviços de terceiros. Se você pretende desenvolver aplicativos para Android, por exemplo, pode adotar uma abordagem FaaS para manter seus custos sob controle. Como você só paga quando seu aplicativo se conecta à nuvem para uma função específica, como processamento em lote, os custos podem ser consideravelmente mais baixos do que seriam com uma abordagem tradicional.
O FaaS também pode impulsionar drasticamente o desempenho da computação. Por exemplo, dois alunos trabalharam recentemente com engenheiros da IBM para explorar como usar as funções do IBM Cloud para simulações de Monte Carlo (métodos matemáticos usados para estimar os resultados futuros de determinados eventos difíceis de prever) para estimar os preços das ações. As simulações do Monte Carlo são consideradas uma importante carga de trabalho de computação de alto desempenho.
A combinação do Monte Carlo com o IBM Cloud Functions permitiu que a equipe executasse cálculos em grande escala e permitiu que se concentrassem na lógica de negócios. Com o FaaS, a equipe concluiu uma simulação de Monte Carlo inteira em cerca de 90 segundos com mil invocações simultâneas. Comparativamente, a execução do mesmo fluxo em um laptop com quatro núcleos da CPU consumiu 247 minutos e quase 100% de utilização da CPU.
FaaS, PaaS (plataforma como serviço), contêineres e máquinas virtuais (VMs) todos desempenham um papel fundamental no ecossistema serverless. Uma vez que a FaaS é o elemento central e mais definidor do serverless stack, vale a pena examinar como o FaaS difere de outros modelos comuns de computação disponíveis hoje em dia, considerando atributos-chave:
Kubernetes e Knative são uma das implementações de "estrutura básica" por trás do FaaS. Kubernetes é uma ferramenta de orquestração de contêiner de código aberto essencial para o gerenciamento de aplicações na nuvem. O Knative permite a execução de serverless dentro de um cluster do Kubernetes.
A combinação do Knative e Kubernetes possibilita que você utilize as funções do Kubernetes, como monitoramento, segurança, registro e autenticação, e as combine com os benefícios do Knative, como construção automática de contêineres, portabilidade completa e operação em ambientes híbridos.
Os criadores dessa tecnologia acreditavam que os desenvolvedores não deveriam ter que escolher entre serverless e contêineres ao construírem aplicativos em nuvem. O objetivo era aumentar a disponibilidade e a consistência dos contêineres com o dimensionamento poderoso e o acesso serverless sob demanda.
Acelere a transformação de negócios com soluções em nuvem projetadas para inovação e crescimento. Explore ferramentas e insights avançados para se manter à frente da concorrência.
Tudo pronto para modernizar sua empresa? Descubra as estratégias de migração para a nuvem mais eficientes que podem otimizar o desempenho, reduzir os custos e aumentar a escalabilidade.
Explore como a infraestrutura como serviço (IaaS) fornece à sua empresa soluções de infraestrutura em nuvem escaláveis, flexíveis e econômicas, adaptadas às suas necessidades.
Saiba como a IaaS, a PaaS e o SaaS podem transformar suas operações, oferecendo flexibilidade, escalabilidade e economia. Entenda as diferenças e escolha a solução perfeita para o seu crescimento.
Descubra como os bancos de dados NoSQL podem melhorar sua estratégia de gerenciamento de dados com soluções flexíveis e escaláveis. Conheça os tipos e os benefícios do NoSQL para ficar à frente no mundo atual baseado em dados.
Descubra como a Techwave usou IBM® Cloud Bare Metal Servers para promover a transformação digital, garantindo flexibilidade, escalabilidade e controle total para seus clientes.
Utilize nossos serviços de nuvem, desenvolvidos com a nossa plataforma IBM® Consulting Advantage para acelerar sua jornada para a nuvem híbrida, gerando eficiência de custos, aumento da produtividade, sustentabilidade e menor tempo de lançamento no mercado.
A hospedagem de servidores dedicados da IBM oferece isolamento total, controle e segurança para cargas de trabalho de missão crítica com opções personalizáveis.
O IBM Cloud Virtual Server for VPC é uma linha de virtual servers Intel x86, IBM® Z e IBM® LinuxONE construídos na IBM® Cloud Virtual Private Cloud.