Blog/JAMstack

Mais opções de hospedagem para sites JAMstack

Uma lista com as mais famosas opções de hospedagem em nuvem para sites JAMstack, com algumas considerações, prós e contras.

Publicado em

Palavras-chave:JAMstack, site, hospedagem, nuvem, cloud

Mais opções de hospedagem para sites JAMstack

No meu artigo anterior eu trouxe 3 opções de hospedagem em nuvem para sites desenvolvidos em arquitetura JAMstack que considero as melhores, ainda mais porque também são grátis.

Se você leu e conhece um pouco dos grandes e famosos serviços de hospedagem de sites em nuvem, provavelmente se perguntou:

Por que os mais famosos não estão naquela lista?

Eu terminei aquele artigo dando um motivo bastante simples: porque não atendem os requisitos que analisei para classificá-los como as melhores opções dentro daqueles critérios específicos.

Mas, se aquela lista não te deixou satisfeito e você quer ver uma lista com os nomes das famosas gigantes de tecnologia em nuvem, que você certamente já conhece ou pelo menos ouviu falar... Então segue abaixo, com meus comentários a respeito, novamente com base na minha própria experiência de uso em meus testes.

Então, comparadas às opções anteriores, quais requisitos estes aqui não atendem?

  1. Não oferecem gratuitamente todos os recursos que estão disponíveis nas opções listadas anteriormente. Alguns desses aqui nem oferecem os mesmos recursos diretamente integrados e/ou facilmente configuráveis, mas como serviços ou produtos pagos a parte e nem sempre fáceis de usar.
  2. CI/CD. Nenhuma dessas opções abaixo tem automação para deploy integrada, simplificada e/ou grátis através de uma conexão direta com um repositório Git (Github, Gitlab, Bitbucket, etc...). Todas exigem o uso de algum meio extra para isso e você pode ver os detalhes na descrição de cada um.

Apesar disso, ainda podem ser excelentes opções para alguns ou em casos de necessidades mais específicas da aplicação a ser publicada.

Então, mais uma vez, a lista segue da opção menos para a mais interessante, no meu ponto de vista. Fique à vontade para discordar, é claro!

AWS

Surpresa! Duvido que você não se assustou com o fato de eu listar AWS aqui como a opção menos interessante da lista. Mas antes de me julgar, não entenda mal, é óbvio que AWS é uma excelente plataforma de serviços em nuvem! Porém, o foco aqui é o seu custo-benefício para a implantação de sites com arquitetura JAMstack.

Apesar da propaganda e de muito conteúdo na Internet dizendo que é possível publicar um site na AWS fácil e gratuitamente, isso não é verdade. A gratuidade é apenas para contas novas, apenas no 1º ano de uso e com limites muito bem definidos que, se forem ultrapassados, geram cobranças pelos excedentes dos serviços consumidos. Claro que um JAMstack provavelmente será extremamente econômico em recursos, mas não estará livre de possíveis cobranças inesperadas (ou esperadas).

Além disso, publicar um site na infraestrutura AWS é quase uma "ciência de foguetes". É nececssário estudar e entender muitas coisas diferentes dentro da plataforma, gerenciadas em diversos painéis de controle diferentes, com interfaces diferentes e que funcionam de formas diferentes dentro dos serviços AWS. Tudo isso para publicar um simples site estático.

Não é possível usar domínios personalizados sem custo e nem ativar SSL (https) facilmente. Sem contar que o simples ato de apontar um domínio para o seu site hospedado na AWS requer o gerenciamento de um recurso totalmente isolado e específico dentro da plataforma, além dos demais já necessários para hospedá-lo.

AWS também possui uma plataforma com intenção de simplificar a publicação de sites JAMstack, chamada Amplify (com proposta semelhante ao Azure Static Web Apps ou o Google Firebase, descritos a seguir). Mas mesmo o recurso mais simples da AWS consegue ser mais complicado do que qualquer outra opção que conheço.

Ou seja, publicar um simples site na AWS não é uma tarefa simples, a menos que você use soluções ou frameworks de terceiros para simplifcar o processo, como o framework Serverless ou ainda serviços CI/CD com integrações mais simplificadas (ou aprenda "ciência de foguetes").

Mas, se mesmo assim, por algum motivo inexplicável você acredita que a infraestrutura AWS é a melhor de todas e faz questão de que seu site esteja lá dentro... Ok, boa sorte! Eu usaria Netlify ou Vercel (da lista anterior), a infra deles é construída sobre AWS e eles são extremamante mais objetivos, simples, práticos e especializados em JAMstack.

Github Pages

Esta também é outra opção muito falada por aí na Internet como um meio fácil e gratuito de se hospedar um site JAMstack.

Isso é um pouco mais verdadeiro do que a opção AWS, mas também tem os seus contras...

Para começar, não é possível publicar Github Pages gratuitamente em um repositório privado. Ou seja, para usar o Github Pages gratuitamente, você precisa tornar o código-fonte do repositório público para a comunidade. Só é possível usar Github Pages em um repositório privado se você pagar um plano.

Além disso, não existe uma maneira de implantação automática por CI/CD. No modo gratuito, você precisa entregar o build do site pronto na raiz de uma branch do repositório e configurar essa branch como o source do site para ser publicado. No caso dos planos pagos pode ser um diretório específico em uma branch.

Também não há suporte a nenhum recurso extra além do básico que é hospedar um site estático. Nada de serverless functions, integrações, serviços de dados... Nada! Se precisar de qualquer coisa desse tipo, terá que usar algum serviço externo.

Mas, se você não se importa com nada disso, pode ser uma boa opção, inclusive com suporte para domínios personalizados e SSL (https) gratuito, automático e simples de ativar.

Em alguns benchmarks publicados pela Internet, comparando a performance de vários serviços de hospedagem JAMstack, Github Pages geralmente é listado como um dos mais rápidos, competindo inclusive com os "gigantes" da lista.

Azure Static Web Apps

No Microsoft Azure também existe uma opção dedicada a sites JAMstack, lançada recentemente e chamada Azure Static Web Apps.

Muito semelhante às opções listadas no artigo anterior, inclusive com configuração de domínios personalizados e SSL gratuito, mas com alguns limites bem restritivos para hospedagem gratuita e o uso de API via Azure Functions está sujeito a cobranças padrão dos planos praticados na plataforma.

Além disso, não é tão simples quanto as opções da lista anterior, mas não chega nem perto de ser a "ciência de foguetes" da AWS. Porém, também não tem integração simples e automática com repositórios Git para deploys, dependendo de serviços de integração externos para isso. Mas, a ferramenta de CLI pode ajudar com isso e integrações prontas através do Github Actions facilitam CI/CD, mas você estará sujeito aos limites gratuitos do serviço no Github e os limites do Azure para deploy desse tipo de aplicação.

Um destaque interessante aqui está no fato de existirem extensões oficiais da Microsoft para o Visual Studio Code, que ajudam no trabalho de desenvolvimento e implantação usando a IDE.

Google Firebase

Este é sem dúvida a melhor opção desta lista!

O Firebase começou alguns anos atrás com a Google comprando um antigo serviço, semelhante à Netlify na época, que se chamava DivShot. Com alguns muitos ajustes da Google ao longo do tempo, então evoluiu para se tornar muito mais do que apenas um serviço de hospedagem JAMstack e tornou-se parte integrante do sistema Google Cloud. Por isso, dispensa comentários sobre a qualidade do serviço e também garante uma performance excelente.

Atualmente funciona como uma interface simplificada para recursos do Google Cloud, especializada na publicação de sites JAMstack e serviços em nuvem para aplicativos.

Os limites de uso gratuito são até generosos e além da hospedagem JAMstack incluem:

  • domínios personalizados com SSL gratuito e automático
  • serviços de autenticação de usuários
  • bancos de dados NoSQL (os famosos Firestore, Realtime Database e o BigQuery do Google Cloud)
  • Analytics, Teste A/B e monitor de Performance integrados
  • etc..

Muitos desses recursos podem inclusive ser usados em qualquer site hopedado em qualquer outro lugar, por terem sido criados a princípio como serviços em nuvem para aplicativos de celular.

Porém, temos alguns contras a observar:

  • É possível criar integrações CI/CD através de recursos dos próprios serviços mais famosos de repositórios, como o Github Actions, Gitlab CI/CD, Bitbucket Pipelines, ou até mesmo outros de terceiros. Mas isso exigirá conhecimento, trabalho e consumo extra de serviços.
  • Até algum tempo atrás, era possível usar Cloud Functions no plano gratuito, mas recentemente isso mudou e agora é um recurso pago. Porém, basta ativar o plano de pagamento por uso, que passa a cobrar poucos centavos por uso de recursos em grandes lotes. É um ótimo custo-benefício!

Já acabou? Mas e o serviço ... ?

Ok, poderiam ser listadas ainda outras opções, mas cada uma delas se afastaria cada vez mais dos pontos considerados interessantes na análise para uma lista das melhores opções de hospedagem para sites com arquitetura JAMstack.

Então, compare-os e escolha o que faz mais sentido para as necessidades do seu projeto!