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

Problemas de integração no Heroku, e agora?

Recentemente precisei dar deploy em uma aplicação POC [Proof of Concept/Prova de conceito] e sempre que o assunto era publicar sites de baixo fluxo e open-source eu costumava recorrer a ferramenta Heroku, porém um problema de segurança recente fez com que eu buscasse algumas outras alternativas.

O que aconteceu?

Não sei se ouviram falar ou tiveram algum problema com o Heroku e sua integração com o GitHub recentemente, mas diversos usuários têm relatado nos últimos meses problemas dessa integração onde tem sido apresentada a mensagem Internal Server Error ao tentar sincronizar esses repositórios.

Resumidamente o que houve foi uma falha de segurança identificada no dia 13 de Abril de 2022 que envolve o Heroku, o Sales Force e o GitHub, onde foi detectado um download ilegal de subsets em repositórios privados armazenados no Heroku através do GitHub devido a problemas com o token OAuth, mais detalhes do que ocorreu você pode verificar nessa página de status do heroku. (Só lembrando que os updates estão em ordem crescente, então o primeiro relato se encontra ao fim da página)

Tenho um repositório que precisa dessa integração, o que devo fazer?

Bom, como disse anteriormente eu precisava fazer um deploy e quando o destemido Internal Server Error apareceu em um pop-up eu comecei a me questionar a queda da plataforma e acabei descobrindo esse problema com a plataforma.

Saber do problema real fez com que eu ficasse com medo, não do meu projeto ser explorado por hackers (ele é open-source, então se eles quisessem colaborar ajustando a segurança do projeto eu até ficaria feliz), mas sim dessa questão do meu token do GitHub ser vazado de alguma forma, e então eu fui atrás de algumas soluções:

Heroku CLI

Alguns usuários preferiram continuar usando a plataforma do Heroku por ser robusta, popular e ter planos gratuitos, mas pra isso tiveram que fazer algumas adaptações no seu projeto para ter acesso remoto ao repositório direto do Heroku.

Para ter o passo-a-passo basta ir para este post do Stack Overflow onde é detalhada essa sincronização.

Alternativas ao Heroku

Como eu disse, fiquei um pouco apreensivo com a plataforma e como estava fazendo um projeto novo resolvi ir atrás de alguma solução parecida ao Heroku que me ajudasse a fazer um deploy sem necessitar tanto de um DevOps, encontrei diversas dessas através do site Alternative To mas resolvi trazer algumas plataformas que se destacaram aos meus olhos para ajudar na pesquisa. (Os links das plataformas estão nos títulos das mesmas)

Vercel

Acredito que provavelmente já tenham escutado falar da nossa queridinha Vercel, a criadora e mantenedora do Next JS e a famosa plataforma do "click to deploy", os planos gratuitos da Vercel definitivamente são muito bons e a forma de CD(Continuous Deploy) é muito interessante, mas para mim não iria funcionar pois meu objetivo era utilizar WebSocket e existem alguns probleminhas quanto a metodologia serverless utilizada pela Vercel e a utilização de WebSocket.

Render

Essa plataforma foi uma surpresa, nunca tinha ouvido falar dela antes e ela tinha diversos favoritos no site Alternative To (80 "curtidas"), e para meu caso caiu como uma luva, essa plataforma possui alguns planos gratuitos bem simples, mas que pro meu projeto eram perfeitos. A ferramenta possui uma forma de deploy utilizando um Dockerfile da aplicação em questão, uma documentação instruindo como hospedar determinadas stacks e uma dashboard muito detalhada trazendo logs e até conexões SSH. Além de tudo ela não exige o cadastro do cartão de crédito para planos gratuitos melhores como o Heroku, que era algo que eu não gostava muito. Uma desvantagem é que achei os preços um pouco salgados caso queira melhorar os servidores das suas aplicações, mas pode ser por conta de estar por fora dessas precificações do mercado a algum tempo

Cloudify

Essa foi uma ferramenta que chamou muito minha atenção por possuir alguns projetos open-source mas não tive oportunidade de explorar muito esse serviço.

Planos gratuitos da GCP/AWS/Azure

Essas plataformas possuem ótimos planos gratuitos, porém algumas coisas não me agradaram muito, o meu objetivo com o Heroku era o deploy simplificado que ele oferecia e essas ferramentas geralmente possuem um processo um tanto quanto complexo e por conta disso acaba até precisando de um especialista em DevOps muitas vezes o que fez com que eu não fosse muito atrás delas.

Conclusão

A plataforma Heroku sempre foi ótima e problemas de segurança constumam surgir em grandes empresas, o que me fez preocupar quanto a isso foi o tempo que está perdurando esse problema, até agora não foi publicada nenhuma solução pra integração e isso me gerou certa preocupação, mas acabou sendo uma ótima oportunidade de explorar novas plataformas e entender melhor como anda esse mercado de serviços de hospedagem.

E vocês, já utilizavam o Heroku ou alguma das ferramentas que listei? Essa falha de segurança gerou alguma preocupação em vocês? Tem alguma outra ferramenta que goste bastante?

Espero que possa ter ajudado vocês de alguma forma :D Valeu!

Carregando publicação patrocinada...
5

Há outra alternativa para Heroku, a Railway muito boa para deploy de aplicações Backend já que possui Postgres, MongoDB, MySQL e entre outros serviços.
Algo que me fez me apaixonar pela plataforma foi a simplicidade de fazer deploy, sem burocracia e sem dificuldade e nada de ficar desligando sua aplicação se estiver inativa.

1

Nossa muito bonita a página do Railway, não conhecia! E uma coisa que senti muita falta é a Vercel (servidor que usamos hoje no TabNews) fornecer de uma forma integrada e segura um Banco de Dados, principalmente por hoje não fornecer VPC Peering na AWS.

2
3

Muito bom o artigo! Eu usava Heroku antes para integrar uns projetos de Python, mas parei por causa de problemas relacionados a compatibilidade com banco de dados e algumas limitações no plano free :/

1

Valeu! É complicado encontrar planos grátis que não limitem muito hoje em dia, ou demanda alguma experiência com devops e monitoramento ou limitam muito a capacidade do projeto, ao menos da pra encontrar alguns planos acessíveis por aí.

1
1
1

De verdade, eu considero esse post perfeito. Digo isso, pois trouxe um caso pessoal, incrementado com o contexto do que aconteceu no Heroku, e o resumo das alternativas. Estou impressionado gcarvalho, parabéns!

2

Olooko, muito obrigado!!

Antes de fazer esse post eu vi o post do @DanielGianni dentro do post [Tentando construir um pedaço de internet mais massa] onde ele fala o que é uma "news", e me inspirei pra trazer um relato/notícia, a plataforma mal começou a engatinhar e já temos conteúdos sensacionais! Ps: Só fiquei um pouco em dúvida de como trazer o título, acho que o título que coloquei fala um pouco sobre a notícia, mas n parece trazer um relato também