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 |