Tenho um fórum Discourse em um Droplet da DigitalOcean.
O tamanho do disco é de 160 GB (45 GB livres no momento). Meu site está usando muito espaço para uploads (40 GB). Qual é a melhor opção para mover os uploads? Alguma sugestão? S3, Spaces da DigitalOcean? O que mais?
Dê uma olhada em Usando Armazenamento de Objetos para Uploads (S3 e Clones). Se você sabe como fazer o AWS funcionar, é o mais bem suportado e confiável. O Spaces teve algumas dificuldades técnicas algumas vezes, mas talvez eles já tenham resolvido agora.
Movi alguém para o Spaces e o bunny.net na semana passada e tudo correu bem.
Configurei um bucket S3 para uploads e backups e está funcionando bem. Ainda não criei uma CDN. Isso pode ser um problema? Alguma sugestão? Devo mover os uploads antigos para o S3 usando rake?
O tempo necessário depende de muitos fatores. Muito provavelmente, o S3 receberá seu upload tranquilamente na velocidade que seu servidor conseguir enviar, menos algumas sobrecargas. Em um link de 1 Gbit, isso deve levar cerca de 5 minutos.
O rebake e as tarefas resultantes são provavelmente onde a grande maioria do tempo será gasta. Quanto tempo isso levará pode variar drasticamente dependendo de quantas postagens sua instância tem, da quantidade e do tipo de conteúdo que as postagens normalmente têm, e da velocidade do clock da CPU do seu servidor. O tempo que as tarefas resultantes levarão dependerá, em certa medida, das mesmas coisas, bem como de quantos núcleos de CPU estão disponíveis.
Meu entendimento (alguém por favor me corrija se estiver errado) sobre o processo de migração para o S3 e o rebake é que os uploads existentes não serão removidos até algum momento após serem desassociados da postagem (após o rebake ter feito isso naquela postagem), para que a instância possa continuar sendo usada sem perder uploads enquanto a migração e o rebake estão ocorrendo.
Se você estiver em um servidor virtual com apenas um núcleo disponível, pode valer a pena considerar fazer um upgrade para mais núcleos durante o rebake e depois rebaixar após a conclusão. O processo levará significativamente mais tempo em um único núcleo e o desempenho do Discourse pode ser severamente afetado durante esse período.