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

O Firebase Hosting se integra a opções de computação sem servidor, incluindo Cloud Functions para Firebase e Cloud Run. Usando o Firebase Hosting com essas opções, você pode hospedar microsserviços direcionando solicitações HTTPS para acionar suas funções e aplicativos em contêineres para serem executados em um ambiente gerenciado e seguro.

Cloud Functions para Firebase : você escreve e implanta uma função, que é um código de back-end que responde a um gatilho específico. Em seguida, usando o Firebase Hosting, você pode direcionar solicitações HTTPS para acionar a execução de sua função.

Cloud Run : você escreve e implanta um aplicativo empacotado em uma imagem de contêiner. Em seguida, usando o Firebase Hosting, você pode direcionar solicitações HTTPS para acionar a execução do seu aplicativo em contêiner.

Casos de uso

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

  • Servir conteúdo dinâmico — Além de servir conteúdo estático em seu site de hospedagem, você pode servir respostas geradas dinamicamente a partir de uma função ou aplicativo em contêiner que executa lógica no lado do servidor.

    Por exemplo, você pode apontar um padrão de URL (como /blog/<blog-post-id> ) para uma função que usa o parâmetro de ID de postagem do blog da URL para recuperar conteúdo dinamicamente do seu banco de dados.

  • Crie APIs REST – você pode criar uma API de microsserviço usando funções.

    Por exemplo, as funções podem lidar com a funcionalidade de login do seu site. Enquanto seu site estiver hospedado em / , qualquer solicitação para /api será redirecionada para sua API de microsserviço. Por exemplo, confira este exemplo de código aberto .

  • Armazenar conteúdo dinâmico em cache — Você pode configurar o armazenamento em cache do seu conteúdo dinâmico em um CDN global.

    Por exemplo, se uma função gera novo conteúdo apenas periodicamente, você pode acelerar seu aplicativo armazenando em cache o conteúdo gerado por pelo menos um curto período de tempo. Você também pode reduzir potencialmente os custos de execução porque o conteúdo é servido a partir do CDN, em vez de por meio de uma função acionada ou de um aplicativo em contêiner.

  • Pré-renderize seus aplicativos de página única – você pode melhorar o SEO e otimizar o compartilhamento em várias redes sociais criando meta tags dinâmicas. Para saber mais, assista a este vídeo ou confira este exemplo de código aberto .

Escolhendo uma opção sem servidor

Embora o Cloud Functions para 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 aproveitadas para diferentes casos de uso e nível desejado de configuração personalizada.

Ao usar qualquer uma das opções sem servidor, é melhor localizá-la com os servidores do Firebase Hosting, implantando 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 o Cloud Functions para Firebase em comparação ao Cloud Run. Para obter uma lista completa de cotas, limites e métricas, consulte a documentação detalhada de cada produto ( Cloud Functions para Firebase ou Cloud Run ).

Consideração Funções de nuvem para Firebase Execução na nuvem
Configurar A CLI do Firebase agrupa várias tarefas em comandos únicos, desde a inicialização até a criação e implantação. Os contêineres oferecem opções mais personalizáveis, portanto, as tarefas de configuração, construção e implantação envolvem etapas distintas.
Ambiente de execução Requer Node.js, mas você pode especificar qual versão do Node.js usar. Ao construir seu contêiner , você especifica o ambiente de execução.
Suporte a linguagens e estruturas

JavaScript e TypeScript

Estruturas da Web, como Express.js, são suportadas.

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

Estruturas da Web para cada linguagem são suportadas.

Tempo limite para solicitação de hospedagem 60 segundos (ver nota abaixo) 60 segundos (ver nota 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
Cobrança Uso do Cloud Functions

Cota de uso gratuita, mas é necessária uma conta Cloud Billing . Consulte as perguntas frequentes do Firebase .

Uso do Cloud Run + armazenamento do Container Registry

Cota de uso gratuita, mas é necessária uma conta Cloud Billing