Alguém já trocou de nuvem em uso?
(news.ycombinator.com)Pergunta e respostas no HN sobre os motivos e as experiências de quem já migrou entre nuvens como AWS, Azure e Google
- Fiz migração com zero downtime do ambiente de um cliente de AWS → Google, e depois de Google → Hetzner
- O principal motivo foi preço. Depois que os créditos gratuitos da AWS/Google acabaram, fomos para a Hetzner
- A economia obtida com o uso dos créditos foi 20 vezes maior que o custo da migração
- A migração foi feita conectando o backend via reverse proxy em cada ambiente, depois configurando uma VPN entre os serviços e então alterando o DNS
- A parte mais complicada foi o failover do banco de dados, e fazer com que as atualizações fossem tentadas novamente após a troca do master
- Com isso, o cliente passou a ter uma configuração independente de provedor de nuvem e aproveitou bem os créditos gratuitos que possuía
- Detalhes técnicos
- reverse proxy com haproxy, nginx etc. + Hashicorp Consul + ngx_mruby
- Configurar VPN entre as nuvens para que o reverse proxy consiga acessar os backends de ambos os lados
- Replicação do banco de dados para a nova nuvem
- Permitir que o app escolha qual banco de dados usar como master (Consul)
- Fazer o app lidar com erros de banco de dados de forma graceful. Essa foi a parte mais difícil
- Definir um DNS TTL baixo
- Conectar o novo backend ao reverse proxy e verificar se não há erros
- Atualizar o DNS para adicionar o novo reverse proxy ao ambiente
- Promover a réplica da nova nuvem a master
- Reduzir as conexões que ainda existem no backend antigo
- Por fim, remover o reverse proxy antigo do DNS
- Depois de confirmar tudo, desativar o ambiente antigo e restaurar o DNS TTL
- O GitLab foi de AWS para Azure e depois voltou para o Google Cloud (há alguns anos)
- No começo, como quase todo mundo, começaram pela AWS, mas o custo ficou altíssimo
- Como davam créditos da Azure para membros da YC, fizeram as contas e parecia cobrir cerca de 1 ano de uso, então migraram
- Mas a migração foi dolorosa, e durante o período em que usaram Azure ninguém ficou satisfeito. Além disso, os créditos gratuitos acabaram relativamente rápido
- Não lembram exatamente por que foram para o GCP, mas foi um processo bem difícil e que levou bastante tempo
- A experiência com GCP foi muito melhor, mas não dá para dizer que foi perfeita
- Em especial, o GCP tinha a tendência de desligar VMs aleatoriamente sem uma razão clara
- Às vezes encerrava de forma limpa, mas em outros casos terminava em um tipo de estado intermediário, fazendo outros sistemas tentarem se conectar e, em vez de falhar imediatamente, ocorrer timeout de conexão
- Pelo que lembram, isso melhorou com o tempo, mas ainda parecia algo muito característico do Google: “Algo quebrou, mas não podemos dizer o motivo.”
- Olhando para trás, se fossem abrir uma empresa de novo, provavelmente ficariam com Hetzner ou outro provedor barato de bare metal
- Serviços de nuvem são excelentes se você realmente explorar tudo o que eles oferecem, mas em 90% dos casos você só está usando sem tirar proveito e pagando caro
- Google Cloud → Digital Ocean → OVH
- Rodar nossa própria infraestrutura em servidores de alto desempenho é mais fácil e dá menos problema do que parece
- Fazer deploy com
git pushe buildar contêineres é algo no nível de “set it and forget it” - Como temos dados de PostgreSQL na casa dos terabytes, isso sai absurdamente caro na maioria das nuvens
- Algumas pessoas parecem achar que a nuvem é como pão já fatiado para ser fácil de consumir, mas na prática isso não reduz de verdade o tempo dos desenvolvedores
- A nuvem é mais cara e muito mais lenta do que operar servidores. Para workloads de porte médio, não há vantagem em usar nuvem
Selecionei apenas as 3 respostas mais votadas. Nas respostas acima também há vários comentários com perguntas, opiniões e contrapontos, então vale a pena conferir junto.
5 comentários
Parece que saiu no ITWorld uma matéria criticando especificamente este tópico, dizendo que ainda é generalizada a falta de entendimento sobre nuvem.
"Seduzidos pelos créditos": migração para a nuvem... "o maior equívoco"
Ao ler o artigo da ITWorld, é preciso ter em mente que Matt Asay, o autor, foi até pouco tempo atrás o chefe de marketing para desenvolvedores da AWS.
https://www.linkedin.com/in/mjasay/details/experience/
Opa, obrigado pela boa informação.
A nuvem não é solução para tudo. A última frase da terceira resposta me deixa um pouco em dúvida; talvez dependa de como é utilizada..
Era uma pergunta sobre migração entre clouds, mas muita gente está recomendando serviços de hospedagem como a Hetzner em vez de cloud.
Provavelmente o custo é o principal motivo, mas ainda assim acho que usar cloud da forma certa traz várias vantagens.
Na prática, se uma empresa pequena diz “a gente não usa cloud, usa hospedagem!”, a verdade é que também fica mais difícil contratar desenvolvedores. (Se você mesmo desenvolve, aí tudo bem.)
No meio da discussão, concordei totalmente com a observação de que o Google Cloud tinha uma tendência de encerrar VMs aleatoriamente sem um motivo claro.
Há alguns anos, eu operava um servidor pequeno no Google e foi por isso que migrei para a AWS LightSail.
De vez em quando acontecia de o servidor simplesmente morrer do nada ou ficar inacessível sem explicação. Talvez hoje isso tenha melhorado, mas... não foi uma boa experiência.