Exiba o conteúdo dinâmico e hospede os microsserviços usando o Firebase Hosting

O Firebase Hosting se integra a opções de computação sem servidor, incluindo Cloud Functions for Firebase e Cloud Run. Ao usar o Firebase Hosting com essas opções, é possível hospedar microsserviços. Basta direcionar as solicitações HTTPS para que acionem a execução das suas funções e seus apps conteinerizados em um ambiente gerenciado e seguro.

Cloud Functions for Firebase: é possível gravar e implantar uma função, que é um código de back-end que responde a um acionador específico. Em seguida, use Firebase Hosting para direcionar solicitações HTTPS para que acionem a execução da função.

Cloud Run: é possível gravar e implantar um aplicativo empacotado em uma imagem de contêiner. Em seguida, com o Firebase Hosting, é possível direcionar solicitações HTTPS para acionar a execução do seu aplicativo conteinerizado.

Casos de uso

Como usar as opções de computação sem servidor com o Firebase Hosting?

  • Exibir conteúdo dinâmico: além de exibir conteúdo estático no seu site do Hosting, é possível exibir respostas geradas dinamicamente usando uma função ou app conteinerizado que esteja desempenhando a lógica do servidor.

    Por exemplo, é possível apontar um padrão do URL, como /blog/<blog-post-id>, para uma função que usa o parâmetro de ID do post do blog do URL para recuperar dinamicamente o conteúdo do banco de dados.

  • Crie APIs REST: é possível criar uma API de microsserviço usando funções.

    Por exemplo, as funções podem processar a funcionalidade de login do site. Enquanto o site está hospedado em /, qualquer solicitação para /api é redirecionada para sua API de microsserviço. Consulte esta amostra de código aberto.

  • Armazenar conteúdo dinâmico em cache: é possível configurar o armazenamento em cache do seu conteúdo dinâmico em uma CDN global.

    Por exemplo, se uma função gerar um novo conteúdo apenas periodicamente, é possível acelerar o aplicativo, basta armazenar em cache o conteúdo gerado em um curto período de tempo, no mínimo. Também é possível reduzir potencialmente os custos de execução, porque o conteúdo é exibido a partir da CDN e não de uma função acionada ou de um app conteinerizado.

  • Pré-renderizar os apps de página única: é possível melhorar a SEO e otimizar o compartilhamento em várias redes sociais usando tags meta dinâmicas. Para saber mais, assista a este vídeo ou confira esta amostra de código aberto.

Como escolher uma opção sem servidor

Embora o Cloud Functions for Firebase e o Cloud Run se integrem ao Firebase Hosting e ofereçam um ambiente sem servidor, totalmente gerenciado, com escalonamento automático e seguro, as duas opções podem ser usadas em diferentes casos de uso e níveis desejados de configuração personalizada.

Ao usar qualquer uma das opções sem servidor, é melhor colocalizá-la com os servidores do Firebase Hosting, fazendo a implantação em uma das seguintes regiões:

  • us-west1
  • us-central1
  • us-east1
  • europe-west1
  • asia-east1

A tabela a seguir descreve algumas considerações básicas para usar Cloud Functions for Firebase em vez de Cloud Run. Para ter acesso a uma lista completa de cotas, limites e métricas, consulte a documentação detalhada de cada produto (Cloud Functions for Firebase ou Cloud Run).

Consideração Cloud Functions for Firebase Cloud Run
Configuração A CLI do Firebase agrupa várias tarefas em comandos únicos, desde a inicialização até a criação e a implantação. Os contêineres oferecem mais opções personalizáveis, portanto, as tarefas de configuração, criação e implantação envolvem etapas diferentes.
Ambiente de execução Requer o Node.js, mas é possível especificar qual versão dele deve ser usada. Ao criar o contêiner, você especifica o ambiente de execução.
Compatibilidade de linguagem e frameworks

JavaScript e TypeScript

Frameworks da Web, como Express.js, são compatíveis.

Qualquer linguagem compatível com Dockerfiles, incluindo Go, Node.js, Python, Java e outras

Os frameworks da Web para cada linguagem são compatíveis.

Tempo limite para a solicitação Hosting 60 segundos (veja a observação abaixo) 60 segundos (veja a observação abaixo)
Simultaneidade 1 solicitação por instância de função
(sem simultaneidade por instância)
Até 1.000 solicitações simultâneas por instância de contêiner
Faturamento Uso de Cloud Functions

Cota de uso sem custos financeiros, mas é necessário ter uma conta do Cloud Billing. Consulte as Perguntas frequentes sobre o Firebase.

Uso do Cloud Run + armazenamento do Container Registry

Cota de uso sem custos financeiros, mas é necessário ter uma conta do Cloud Billing.