Executando verificação de segurança...
4

Publique suas aplicações na nuvem grátis, rápido e fácil com Mogenius

Introdução

  • Muitas vezes finalizamos nossa aplicação e queremos que ela fique disponível para que qualquer um acesse. E ai a questão que fica é: Como fazer isso?
  • Certamente para aplicações reais com grande demanda as grandes clouds como AWS, Azure, Google Cloud e etc oferecerem diversas opções.
  • Porém para apenas disponibilizar sua aplicação para testes as opções a cima podem ser caras (apesar da maioria ter um free tier).
  • Há um tempo podiamos fazer isso facilmente com o Heroku e ainda para o Front End temos opções como o Vercel.
  • Uma opção muito interessante que acabei me deparando é o Mogenius que nos possibilita colocar toda a nossa infraestrutura em um lugar só de forma gratuita (existindo opções pagas mais robustas)

Mogenius

Com o Mogenius basicamente precisamos criar o arquivo Dockerfile para a nossa aplicação e integrar com ele, seja integrando diretamente com o nosso repositório, conectando com o repositório que contém a imagem gerada ou fazendo o upload da imagem.

Você configura quanto de RAM, CPU e Disco que disponiblizar para a instância e pronto o mogenus irá cuidar de alocar os recursos em um cluster Kubernetes e configurar o CDN Cloudflare incluindo SSL.

Aqui não irei discutir sobre como utilizar o Docker, mas basicamente uma pesquisa rápida no google te mostra como criar o Dockerfile, por exemplo: Angular + Nginx + Docker

Para esse post criei uma aplicação angular simples com o arquivo Dockerfile, caso você queira utilizar ela basta acessar o repositório:
Repositório app exemplo

Realizando o deploy

Como comentei há algumas maneiras de fazer isso:

  • Através da integração com um repositório do github
  • Através da integração com o docker hub
  • Upload manual da imagem gerada

Nesse caso iremos seguir com a integração com o github

Crie uma conta no Mogenius através do link : Criar conta e confirme seu e-mail.

Após a confirmação do email você deve visualizar a tela:

Clique em create cloudspace, configure com seu nome selecionando o plano gratuito

Selecione a opção Bring Your Code, como destacado na imagem

Agora temos duas opções, no caso de um repositório privado é necessário fazer a conexão com a sua conta do Github. Em um repositório público podemos utilizar a aba public

Config do repositório

Nesse caso vou utilizar o repositório que passei ali em cima para vocês, como ele é publico vou utilizar a aba public.

Em git repository url indicamos a url do repositório, no nosso caso:
https://github.com/vinicius-fernandes/angular-docker-template.git

Em git branch selecionamos a branch desejada, para esse caso selecione a master.

Em docker file name, indicamos o nome do arquivo Dockerfile. Em algumas situações o arquivo pode estar em outra pasta, com isso pode ser necessário indicar o caminho completo, por exemplo se ele estiver na raíz do projeto em um pasta docker esse campo teria o valor Docker/Dockerfile

Em docker context indicamos . para que o contexto seja a pasta raíz do nosso projeto, no caso essa pasta será a pasta que ele irá dar o clone, portanto se por exemplo no nosso repositório tivessemos uma pasta chamada front_end com todo o projeto angular dentro o valor do contexto seria front_end/

Alocação de recursos

Agora vamos destinar um pouco dos recursos disponíveis para essa instância, nesse caso podemos alocar poucos recursos pensando em deixar disponível recursos para subir um backend nessa mesma conta.

Liberação de portas

Precisamos expor a porta 80, pois é através dela que o nginx trabalha conforme configuramos.

Finalizando

Agora com tudo configurado basta clicar em create service, deve demorar em torno de 1 minuto para o serviço estar disponível.

Se tudo deu certo seu serviço deve estar como running

Agora basta obter o external hostname e acessar sua aplicação.

No meu caso minha external url é https://angulardockert-prod-tabnews-gkwgao.mo4.mogenius.io/ que basicamente só tem o template do angular.

Conclusão

A ideia desse post é mostrar mais uma alternativa para fazer o deploy de suas aplicações.

Observe que além do front end, poderia facilmente criar um serviço para o backend e também para o banco de dados. Dessa forma tendo a aplicação completa em um único lugar de forma gratuita e rápida.

Além disso a utilização do docker facilita bastante caso seja necessária mudar para um outro ambiente.

Grande parte do que fizemos até aqui é baseado no quick start da documentação do Mogenius.

É isso pessoal, espero que o post tenha sido útil para vocês e qualquer dúvida vamos discutindo nos comentários

Carregando publicação patrocinada...
1

Show de bola. Há limitação de quantas aplicações podemos subir?

Heroku era ótimo, mesmo tendo a limitação de 5 apps. Infelizmente, não há mais possibilidade de subir apps de graça.

1

A limitação seria em relação a quantidade de recursos.

Então enquanto tiver RAM, CPU e armazenamento para utilizar da para ir colocando mais serviços, mas sendo realista com pouca coisa você já atinge os 100% da cpu.

Se não me engano uma limitação é que no serviço você só consegue ter uma instância rodando, o que impossibilitaria escalar horizontalmente ele.

Mas em resumo, com o gratuito dele da para subir o front + back + bd sem muitos problemas, fiz um teste com Angular + Spring Boot + MySQL e rodou tranquilamente.

1

Só pode uma instância pra cada app. Mas podem ter vários apps? Se sim, tá valendo. É o novo Heroku.

Não é preciso muito recursos pra POCs (prova de conceito). Se houver pelo menos 512Mb de RAM e 1Ghz de CPU dá pra rodar muita coisa hehehe

Edit: Aqui as configurações