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

Dúvida | DevOps para Backend Node.js

Olá pessoal, como estão?

Resumo: como dar deploy em uma aplicação MVP em node.js?

A aplicação

Atualmente estou com uma aplicação feita em Nest.js e usando prisma como ORM (uma delicinha, por sinal). Minha experência com essa Stack está sendo maravilhosa, essas ferramentas aceleram muito o desenvolvimento da aplicação.
Também estou com uma database no planetscale, que casa muito bem com prisma, então de database, por enquanto, estou bem servido

O problema

Como havia citado, database não é problema, pois o planetscale me dá uma forma de operar meu banco de dados de forme free, o problema maior seria o deploy da aplicação, que pelo que eu estava estudando, é uma dorzinha de cabeça, se não for feito da forma correta.

Conclusão

Minha pergunta é: como eu faço para dar deploy na minha aplicação, sem ter que pagar rios de dinheiro com um container na AWS?

Carregando publicação patrocinada...
2

Você pode usar o Cloud run da Google cloud. você tem 300 reais e ainda consegue usar o freetier do gcp se tiver poucas requests.

recomendo apenas subi uma imagem para o artifact registry do gcp e já consegue fazer o deploy facilmente para o cloud run com apenas um clique

1

Eu tava lendo sobre, é bem interessante o cloud da Google, me parece mais user friendly do que a AWS, que na hr que vc loga na dashboard aparecem um milhão de coisa na tela kkk

2

da para usar a vercel, tem a possibilidade de fazer o deploy de aplicações em nestjs, precisa adaptar algums detalhes mas é bem simples e free do jeito que a gente gosta kkkk

1

Então, eu vi isso no YT, mas não consegui dar deploy, não tentei muito mais além das configs q precisam, mas mesmo assim n deu mt certo. De quais detalhes vc fala pra dar deploy na vercel?

1
2

Eu uso o render.com pra deploy gratuito de aplicações backend gratuito pra estudos. Vercel pro frontend.

O render em questão é MUITO simples o deploy, vale a pena

1

vou ver como que é, pq eu tava pensando em primeiro deixar num lugar onde os devs do front possam consumir e desenvolver sem me preocupar muito com o custo de requisição, se tiver. Vou ver se esse render resolve o problema, valeu!

1

AWS free tier, instala num EC2 free, pode até usar um RDS free com PostgreSQL, MariaDB ou MYSQL.

A AWS é free também só é difícil de configurar, ela é mais chata do que cara. Mas é a mais usada e com maior infraestrutura de rede do mundo.

Já trabalhei com várias empresas fazendo trabalhos de migrar da Digital Ocean pra AWS, Heroku para AWS, Linode para AWS.

Se você acha q seu serviço vai crescer amanhã ou depois essas clouds vão gargalar e você vai gastar ou muito tempo ou muito dinheiro para migrar para uma cloud robusta suficiente.

Gasta 3 semanas aprendendo o básico de EC2 e RDS e faz o deploy lá, o você de amanhã vai agradecer por não ter que gastar pelo menos 50mil de consultoria para migrar.

Não precisa usar docker, não precisa ser Server Less, faça algo que resolva hoje, mas pensando em reduzir seu trabalho amanhã.

Quando sua aplicação crescer você migra de EC2 para lambda num pulo, sai de PostgreSQL para DynamoDB num estalar de dedos.

Estar numa cloud robusta não quer dizer que produto será bom hoje, quer dizer que amanhã a cloud vai suportar. Pelo menos 5 migrações eu já fiz com a mesma reclamação "chega uma hora que a (Heroku, Digital Ocean, Linode, Alibaba) não dá mais conta, aí ter que partir para o peixe grande.

2

Exatamente isso. Pra uma aplicação profissional, que vai escalar, melhor deixar numa Amazon, Azure, Google Cloud da vida pra já não ter problemas.

Para estudo, sugiro o render.com. Supre bem e a aplicação não hiberna, pra mostrar uma aplicação funcional numa entrevista de emprego o render e vercel são boas soluções free, agora aplicações profissionais tem que gastar, não adianta.

1

Isso! Eu ja usei Digital Ocean e Linode para projetos pessoais, porém é muita configuração manutal tbm, não sei como está hoje, mas antes a linode não tinha RDBMS as a service assim como a AWS tem o RDS, ai é instalar o postgres no linux, abrir as portas no firewall, configurar o pg_hba.conf e alguns outros arquivos que nem me lembro mais para fazer login com senha, permitir apenas subnet x ou y, é possível fazer nessas clouds, a principio num ambiente pequeno é mais barato, mas se o seu aplicativo der certo você vai gastar rins de dinheiro para fazer funcionar direito, com performance suficiente e eficiencia monetária, no final você vai acabar decidindo ir para as grandes.

Recomendação que um cara ja fez nesse post Oracle Cloud, dizem que é mt boa, tenho parceiros de negócio que usam e eu uso o serviço deles, mt bom mesmo, porém eu não sei como é o lado de gerenciar a OCI, porém meus parceiros tem alguns grandes datacenters nessa cloud e dizem só coisa boa. Ponho minha mão no fogo por eles então deem uma olhada tbm.

1

interessante seu ponto, tava pensando em colocar na AWS, mas os números em dólares me assustaram um pouco, confesso kkkk, mas como a minha aplicação tá em fase de desenvolvimento, creio que não vá estourar o limite. Valeu pela dica mano!

1

Se não for necessária uma infraestrutura muito grande, o free tier deve bastar.

Recomendo que crie um alerta do AWS CloudWatch para custos também. Dessa forma vc recebe uma notificação por e-mail quando os custos excederem o esperado (isso se vc n tiver usando o free tier, que obviamente é de graça kkkkk).