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. |