Atualizações:
A migração está concluída! O servidor corre agora sobre o pequeno Alpine v3.18 :)


Boas!

Estou de volta com mais notícias :)
Desta vez trago atualizações, pequenas correções e um aviso importante!

Atualizações

Atualizaram-se todos os componentes para as suas respetivas versões mais recentes (a 12/08).

Serviço Versão
Servidor lemmy v0.18.4
Multimédia pict-rs v0.4.2
Base de dados postgres v15.4
Interface principal lemmy-ui v0.18.4
Voyager voyager v1.8.0
Alexandrite alexandrite v0.7.0
Mlmym mlmym v0.0.27
Métricas netdata v1.42.0

Além disso, um novo documento de transparência financeira foi lançada (já há uns dias), relativo ao passado mês de julho, acessível aqui.

Correções

Melhorou-se e corrigiu-se a lógica de proxying, que incorretamente dirigia algum tráfego para os componentes internos errados. Assim, resolveu-se o problema dos símbolos em falta na interface Alexandrite.

Como sempre, para mais detalhes técnicos sobre estas alterações, deve-se consultar o repositório de deployment.

⚠️ Migração do servidor

De momento, todos os serviços correm num VPS (Virtual Private Server) com Ubuntu 20.04 LTS (kernel 5.4).
As atualizações (por vezes importantes) a certos componentes demoram bastante tempo a chegar, o kernel está numa versão antiga (de 2019), carecendo de várias melhorias relevantes nas versões mais recentes (especialmente 6+), e o Ubuntu tem muito “lixo” embutido, que só ocupa espaço e consome recursos.

Assim, e tomando como exemplo outras plataformas, decidiu-se migrar os serviços para uma máquina com Alpine Linux (atualmente v3.18), uma distribuição minimalista, focada em segurança e manutenção.
Esta máquina continuará a ser um VPS com as mesmas características (3 vCPU, 6GB RAM, 85GB SSD).

Está, também, a considerar-se migrar o armazenamento das imagens (do serviço pict-rs) para Object Storage, e colocar uma camada de caching/CDN em cima dos vários serviços expostos. A bunny.net parece ser a melhor oferta, e foi recomendada por várias pessoas com experiência na área. Essa rede de CDN tem nós em Portugal, porém o centro de armazenamento mais próximo é em Espanha. Isto significa que os dados de multimédia passariam a estar alojados fora de território nacional, porém, ainda servidos aos clientes pelo nosso servidor (o pict-rs ainda obriga a que todo o tráfego passe pelo serviço). Se se empregasse uma camada de caching/CDN, então algum tráfego (em particular, recursos estáticos como CSS e multimédia) poderia passar a ser servido maioritariamente pelos nós da bunny.net e não pelo nosso servidor.

Visto ser uma operação um tanto delicada e, para evitar perdas de dados (locais), vai-se desativar o serviço durante a janela de manutenção. Espera-se não demorar mais que 3 horas, porém não damos garantias.
Para mais informações e atualizações sobre o processo, devem consultar a página da manutenção: https://estado.lemmy.pt/maintenance/245046

Em caso de dúvida não hesitem em comentar e colocar questões, especialmente no que toca a esta migração!

Cumps,

~tmpod

  • @wiki
    link
    19 months ago

    Obrigado pelo update. Aproveito para dizer que ultimamente as coisas têm estado muito mais estáveis para mim :)

    Está, também, a considerar-se migrar o armazenamento das imagens (do serviço pict-rs) para Object Storage, e colocar uma camada de caching/CDN em cima dos vários serviços expostos. A bunny.net parece ser a melhor oferta, e foi recomendada por várias pessoas com experiência na área. Essa rede de CDN tem nós em Portugal, porém o centro de armazenamento mais próximo é em Espanha.

    Por curiosidade e para saber que tipo de bitaites mandar:

    Qual é o objectivo de usares Object Storage? É para fazeres offload desse armazenamento para outro servidor, para teres crescimento elástico do armazenamento, both, outra coisa?

    Faço a mesma pergunta em relação à CDN. Que tipo de coisas é que queres CDNizar, e porquê?

    • TmpodOPMA
      link
      Português
      19 months ago

      Aproveito para dizer que ultimamente as coisas têm estado muito mais estáveis para mim :)

      Folgo em sabê-lo! Ump assinho de cada vez x)

      Qual é o objectivo de usares Object Storage?

      O grande objetivo é reduzir a complexidade de manutenção dos ficheiros multimédia. Vão ocupando block storage que, apesar de eu ter preços mais baratos que o normal, é mais caro que object storage e requer mais atenção da minha parte. Além disso, o meu sistema de backups, assente no borg, está a começar de fraquejar seriamente perante o volume astronómico de ficheiros existentes na diretoria do pict-rs. Cada backup está agora a demorar 1 hora ou mais, é ridículo. Outro fator é a distribuição dos ficheiros que, com object storage e CDN, consigo ter melhores tempos de resposta, especialmente para o Brasil, e reduzir a carga no servidor, melhorando o resto tb.

      Faço a mesma pergunta em relação à CDN. Que tipo de coisas é que queres CDNizar, e porquê?

      A ideia era colocar o CDN e uma camada de caching à frente dos vários recursos estáticos, como as cenas do pict-rs e frontends.

      Fico curioso para ouvir os teus bitaites hehe