这是indexloc提供的服务,不要输入任何密码

O que é computação sem servidor?

A computação sem servidor é um modelo de execução de computação em nuvem que aloca recursos de máquina conforme usados. Em um modelo sem servidor, os desenvolvedores podem criar e executar aplicativos sem gerenciar servidores e pagar apenas pela quantidade exata de recursos usados. Em vez disso, o provedor de serviços de nuvem é responsável por provisionar, gerenciar e escalonar a infraestrutura de nuvem que executa o código do aplicativo.

A computação sem servidor, apesar do nome, não elimina os servidores. Em vez disso, ele simplifica o desenvolvimento de aplicativos ao abstrair tarefas de infraestrutura de rotina. Isso significa que você não vê, configura, gerencia ou escalona as máquinas que executam seus aplicativos. Basicamente, você paga pelo serviço do servidor, e não pelo servidor em si.

Do ponto de vista do desenvolvimento, é como se não houvesse servidores. Os desenvolvedores escrevem o código, o implantam na produção e o provedor de nuvem cuida do resto.

Entender como o Google Cloud faz a computação sem servidor funcionar para você

Como funciona a computação sem servidor?

Quando se trata de criar aplicativos, os desenvolvedores normalmente têm uma série de outras tarefas de gerenciamento de servidor que precisam executar para implantar o código, como definir recursos para processamento e armazenamento, aplicar patches, balanceamento de carga e muito mais. Todos esses itens extras levam a tempos de provisionamento mais longos e mais sobrecarga operacional que, no fim, desacelera as equipes de desenvolvimento. 

A computação sem servidor tenta fornecer uma experiência "sem servidor" invisível para os desenvolvedores, eliminando a necessidade de pensar nos servidores ou em qualquer coisa que um aplicativo possa precisar executar. Em vez disso, o provedor de serviços faz todo o trabalho nos bastidores para garantir que você tenha os recursos para executar seu código e atender aos requisitos sem ser cobrado por capacidade ociosa. 

Entender a computação sem servidor

Pense na computação sem servidor como levar água para sua casa. Você pode cavar o próprio poço, testar a qualidade da água, instalar e manter todo o encanamento externo necessário para executá-lo na casa. Ou você pode se conectar ao principal sistema de abastecimento da sua cidade. Basta ligar a torneira de água e pegar a quantidade de água que quiser exatamente quando precisar, e a cidade enviará uma fatura mensal com a quantidade exata de água que você consome. 

Da mesma forma, os provedores de nuvem ativam automaticamente os recursos de infraestrutura e os ambientes de execução necessários para executar seus aplicativos sem servidor e reduzem automaticamente o escalonamento a zero quando a execução é concluída. Normalmente, você é cobrado com base nos recursos durante o tempo de execução. No entanto, isso pode variar de acordo com o serviço e o fornecedor. 

Computação sem servidor x outros tipos de computação em nuvem

Mas não é o caso de outros tipos de computação em nuvem não fornecem recursos sob demanda com pagamento por utilização? É verdade que modelos de serviço na nuvem comoInfrastructure as a Service (IaaS) ePlataforma como serviço (PaaS) também oferecem acesso sob demanda a recursos de computação.

No entanto, a infraestrutura em nuvem alocada para você permanece ativa mesmo que não seja usada. Também é sua responsabilidade escalonar a capacidade do servidor ou configurar seus aplicativos para aumentar ou diminuir a escala em resposta à demanda do usuário. 

Por outro lado, as arquiteturas sem servidor são orientadas a eventos. Nesse modelo, o provedor só fornece recursos quando um evento aciona a execução do seu código e faz o escalonamento automático e instantâneo das solicitações.

Resolva seus desafios comerciais com o Google Cloud

Clientes novos recebem US$ 300 em créditos para usar no Google Cloud.
Fale com um especialista em vendas do Google Cloud para discutir seu desafio exclusivo em mais detalhes.

Comparação de modelos de computação em nuvem

Principais definições:

  • Sobrecarga administrativa: o nível de esforço necessário para gerenciar e manter a infraestrutura subjacente
  • Modelo de custo: o método usado para calcular e cobrar o consumo de recursos
  • Requisitos de manutenção: a quantidade de manutenção, patches e atualizações contínuas necessárias
  • Escalonabilidade: a capacidade de ajustar automaticamente os recursos em resposta à mudança na demanda
  • Ausência de estado: se o aplicativo armazena dados do cliente de sessão para sessão

Sem servidor

  • Sobrecarga administrativa: mínima
  • Modelo de custo: pagamento conforme o uso
  • Requisitos de manutenção : nenhum
  • Escalonabilidade : automática e instantânea
  • Sem estado: normalmente sem estado

PaaS

  • Sobrecarga administrativa: média
  • Modelo de custo : pagamento por instância
  • Requisitos de manutenção: baixos
  • Escalonabilidade: escalonamento manual ou automático
  • Sem estado: pode ser com ou sem estado

Contêineres

  • Sobrecarga administrativa : média a alta
  • Modelo de custo: pagamento por contêiner
  • Requisitos de manutenção: médios
  • Escalonabilidade: escalonamento manual ou automático
  • Sem estado: pode ser com ou sem estado

VMs

  • Sobrecarga administrativa: alta
  • Modelo de custo : pagamento por VM
  • Requisitos de manutenção : alto
  • Escalonabilidade : escalonamento manual ou automático
  • Sem estado: pode ser com ou sem estado

Tipos de computação sem servidor

Na computação em nuvem sem servidor, geralmente há dois tipos de serviços: funções como serviço (FaaS) e back-end como serviço (BaaS). 

  • O FaaS fornece os recursos de computação necessários para executar a lógica do aplicativo em resposta às solicitações. Esses elementos de lógica (ou funções) são executados em contêineres totalmente gerenciados pelo provedor de serviços de nuvem. Os aplicativos sem servidor normalmente são divididos em funções únicas que realizam uma ação em resposta a um evento. 
  • O BaaS oferece toda a funcionalidade de back-end de aplicativos da Web ou móveis como serviço, como serviços de autenticação, gerenciamento de banco de dados, armazenamento em nuvem, notificações push e hospedagem. O BaaS também elimina a necessidade de gerenciar servidores, contêineres ou máquinas virtuais. 

No desenvolvimento, o termo "sem servidor" é geralmente usado para descrever ofertas FaaS. No entanto, é importante observar que, tecnicamente, o FaaS é um subconjunto da tecnologia sem servidor. A computação sem servidor inclui qualquer tipo de serviço em que o gerenciamento, a configuração, o escalonamento e o faturamento do servidor são abstraídos do usuário final. Isso pode incluir bancos de dados, armazenamento, streaming de eventos, mensagens e gateways de API.

Casos de uso da computação sem servidor

Alguns dos exemplos de computação sem servidor mais comuns e emergentes incluem:

API e integração de terceiros

  • Caso de uso: sincronizar leads/clientes de forma integrada entre diferentes aplicativos de negócios (por exemplo, CRM para automação de marketing)
  • Solução sem servidor: uma função do Cloud Run acionada por HTTP recebe webhooks do sistema de origem (por exemplo, Salesforce), transforma os dados e chama a API do sistema de destino (por exemplo, HubSpot), geralmente usando o Secret Manager para credenciais
  • Produtos sem servidor do Google Cloud: Cloud Run functions e Secret Manager

Ações programadas e baseadas em gatilhos

  • Caso de uso: automatizar a geração e distribuição de relatórios de rotina
  • Solução sem servidor: um job do Cloud Scheduler aciona uma função do Cloud Run pelo Pub/Sub diariamente. A função consulta um data warehouse (por exemplo, o BigQuery), processa os dados em um relatório e envia o relatório por uma API de e-mail
  • Produtos sem servidor do Google Cloud: Cloud Scheduler, Pub/Sub, Cloud Run functions e BigQuery

Automação de processos de TI

  • Caso de uso: reduzir os custos de nuvem identificando e gerenciando automaticamente recursos de computação inativos
  • Solução sem servidor: um job noturno do Cloud Scheduler aciona uma função do Cloud Run pelo Pub/Sub. Essa função usa a API Compute Engine e o Cloud Monitoring para identificar instâncias ociosas e as interrompe ou exclui automaticamente, registrando as ações no Cloud Logging
  • Produtos sem servidor do Google Cloud: Cloud Scheduler, Pub/Sub, Cloud Run functions, Cloud Monitoring e Cloud Logging

Processamento em tempo real e assíncrono

  • Caso de uso: processar e enriquecer dados de streaming de alto volume (por exemplo, atividade do usuário) para insights e ações imediatas
  • Solução sem servidor: os eventos de clickstream do usuário são transmitidos para o Pub/Sub. Uma função do Cloud Run (ou serviço do Cloud Run) consome esses eventos, os enriquece com dados do Firestore e publica os dados enriquecidos em outro tópico do Pub/Sub para análise em tempo real no BigQuery ou recomendações personalizadas
  • Produtos sem servidor do Google Cloud: Pub/Sub, Cloud Run functions, Cloud Run, Firestore e BigQuery

Fluxos de trabalho de CI/CD e DevOps

  • Caso de uso: automatizar a criação, o teste e a implantação de microsserviços após mudanças no código
  • Solução sem servidor: um gatilho do Cloud Build monitora um repositório Git (por exemplo, o Cloud Source Repositories). Após o commit do código, o Cloud Build executa testes, cria uma imagem de contêiner no Artifact Registry e implanta automaticamente a nova versão no Cloud Run
  • Produtos sem servidor do Google Cloud: Cloud Build, Cloud Run, Artifact Registry e Cloud Source Repositories

Processamento de imagens/vídeos

  • Caso de uso: gerar automaticamente variantes de imagem otimizadas (por exemplo, miniaturas, formatos diferentes) após o upload
  • Solução sem servidor: uma função do Cloud Run é ativada quando uma nova imagem é enviada para um bucket do Cloud Storage. Essa função processa a imagem (redimensionamento, conversão de formato), salva as novas versões de volta no Cloud Storage e atualiza os metadados no Firestore
  • Produtos sem servidor do Google Cloud: Cloud Storage, Cloud Run functions e Firestore

Aplicativos e agentes de IA

  • Caso de uso: realizar inferências de IA em tempo real usando LLMs como Llama 3.1, Gemma 2, Mistral e outros
  • Solução sem servidor: o Cloud Run se integra a modelos de IA, como a API Gemini, endpoints da Vertex AI ou modelos hospedados em um serviço do Cloud Run habilitado para GPU. Ele também pode atuar como um endpoint de API escalonável e hospedar agentes de IA
  • Produtos sem servidor do GCP: Cloud Run, Cloud Storage, Firestore

Vantagens da computação sem servidor

Melhor produtividade dos desenvolvedores 

Os desenvolvedores sem servidor se concentram em escrever códigos e otimizar a lógica de negócios em vez de se preocupar com provisionamento, gerenciamento ou escalonamento de infraestrutura. 

Escalonabilidade imediata

Arquiteturas sem servidor são escalonadas verticalmente ou verticalmente por natureza. Ao contrário do escalonamento automático em outros tipos de computação em nuvem, que requer regras de ajuste, o escalonamento automático sem servidor é instantâneo e pode ser escalonado para zero. 

Preços flexí

Os modelos de preços sem servidor geralmente são cobrados com base no uso real e no tempo necessário para executar uma função. Você também não paga pela capacidade inativa, o que ajuda a reduzir os custos operacionais associados à execução e ao gerenciamento dos seus próprios servidores.

Implantação mais rápida

A computação sem servidor pode ajudar a reduzir a dificuldade de definir a infraestrutura para equipes de DevOps quando se trata de integração, teste, entrega e implantação. Assim, eles podem se concentrar em escrever e implantar o código diretamente na produção.

Use qualquer idioma

Os ambientes sem servidor são compatíveis com qualquer linguagem ou framework, o que permite que as equipes desenvolvam nessa linguagem ou com o framework (Go, Python, Java, Node.js, .NET e muito mais) que se sentem mais à vontade.

Desvantagens da computação sem servidor

Uma das maiores desvantagens da computação sem servidor é que ela ainda é uma tecnologia relativamente nova. Por isso, ele ainda não é adequado para atender a todos os casos de uso em potencial. 

Também está claro que algumas das atuais fraquezas serão resolvidas com o tempo, à medida que a computação sem servidor continua a evoluir. Muito trabalho já está sendo feito em implementações de código aberto de sem servidor e maneiras de tornar os serviços em nuvem mais abertos para tornar as soluções portáteis em diferentes plataformas e ambientes. 

  • Adequação limitada do caso de uso: as arquiteturas sem servidor nem sempre são adequadas para aplicativos com requisitos específicos, como processos de longa duração ou necessidades de latência muito baixa
  • Restrições de desempenho: as funções sem servidor podem ter inicializações a frio (execução inicial atrasada) e limitações no tempo de execução e na memória
  • Dependência de um fornecedor: migrar aplicativos sem servidor entre provedores de nuvem pode ser complexo devido a diferenças nas APIs e configurações
  • Visibilidade reduzida do servidor: os desenvolvedores têm visibilidade limitada da infraestrutura, o que dificulta a solução de problemas de desempenho ou a otimização da utilização de recursos
  • Inicialização lenta: às vezes, as funções sem servidor podem passar por uma "inicialização a frio", em que há um atraso na invocação da função, o que pode afetar a latência

Vá além

Comece a criar no Google Cloud com US$ 300 em créditos e mais de 20 produtos do programa Sempre gratuito.

Google Cloud