sábado, 28 de janeiro de 2017

FTP que se foi. Downloads que vamos ter.

A Internet, como conhecemos no passado e que foi a pedra fundamental do que temos hoje, não existe mais. =/

Vejo uns focos de resistência aqui e ali (quero acreditar que faço parte deles), mas... Mais cedo ou mais tarde, todos abandonam o barco de um jeito ou de outro, e cabe àqueles que ficaram dar continuidade (ou não).

O povo deve estar mais careca que eu =P de saber que tô desenvolvendo, nas horas vagas, uma tal de Confederação de Micro Serviços Retrô. O principal (pelo menos por enquanto) serviço é uma Search Engine para repositórios de arquivos (FTP principalmente, mas tem alguns em HTTP). E o conhecimento que eu obtive analisando diversos repositórios para construir cada Adapter para internalizar seus dados não me deixou feliz.

Com raras e honrosas exceções, os atuais mantenedores NÃO SABEM o que estão fazendo. Os melhores tentam não estragar nada, mas outros simplesmente rendem o serviço beirando o inusável. (sigh)

Um exemplo segue:

As Bibliotecas Digitais por excelência na Internet são os servidores FTP. Eles foram feitos pra isso: armazenar e servir arquivos, e o arquivo ainda é a principal (se não a única) mídia efetiva no mundo dos computadores e, por tabela, no mundo da Internet.

Existem outras formas de se servir arquivos? ô se tem. Mas quem tentou servir arquivos por HTTP sabe do tremendo trampo que dá manter a coisa escalável - ao mesmo tempo em que o FTP já tinha resolvido, há décadas, quase todos estes problemas!

É um protocolo "arcaico"? O motor à explosão também o é, e nem vou comentar sobre a roda. Não é porque é velho que deixou de ser útil, e não é porque é novo que é melhor! Se você não precisa de streaming, existe uma chance enorme de que o FTP, quando decentemente configurado, seja a melhor opção para você.

Uma reclamação recorrente que vejo nos fóruns dos atuais mantenedores de alguns repositórios é a largura de banda. Lógico que servir arquivos gasta largura de banda, e uma das formas que a geração anterior tinha para mitigar este problema eram os mirrors: "clones" do repositório oficial cuja função era fornecer alternativas para o download do arquivo. Você dá acesso privilegiado para os mirrors, acesso reduzido para o resto do povo, e publicava uma lista dos mirrors oficiais e o povo que se virasse.

Esta solução, no entanto, tinha um problema: a necessidade de se sincronizar os dados entre os repositórios para manter a consistência.

Profissionais competentes já pensam logo em RSYNC, e com razão.

Outros simplesmente ficam reclamando da largura de banda, impõem restrições e ofuscam endereços para "se proteger de leechers" - como se os dados sendo protegidos pertencessem à eles (simplesmente não é o caso na maioria das vezes).
Criar dificuldades para vender facilidades.
Mas os inteligentes vieram com uma alternativa mais barata: o ALLFILES.

Sempre que há uma alteração no repositório (arquivo que entra, arquivo que sai, arquivo atualizado), um processo noturno gera o ALLFILES (ou 00_INDEX.txt, ou ls-LR) com uma listagem de todos os arquivos do repositório. Alguns, mais sofisticados, usam este arquivo para fornecer uma descrição detalhada dos arquivos servidos - excelente para buscas.

Isso deixa tudo muito simples! Um mirror só precisa checar a data/hora da última alteração do arquivo (e, se for paranóico como eu, também o tamanho) e se for igual, não há nada o que fazer. Mas se for diferente, uma mera comparação com a cópia anterior é suficiente para se saber quais são as novidades e, então, tomar os passos necessários para atualizar sua cópia local.

Isso economiza recursos de todos os lados, porque não é necessário atravessar o repositório inteiro checando arquivo por arquivo!!

Então, ao invés de implantar QoS no seu servidor HTTPD, se preocupar com Load Balance, manter um banco de dados cuja única função é mascarar o endereço real do arquivo a ser servido (pra não falar nas constantes atualizações das páginas HTML quando muda o identificador do arquivo), gastar tempo e dinheiro com CAPTCHAs... E então se engajar numa batalha perdida contra Web Crawlers e serviços anti-capchas... Que tal voltarmos um pouco às nossas raízes?

É mais barato. É mais simples. É mais democrático. É mais Internet.

Pensem nisso.

Um comentário:

  1. Isso que hoje em dia, a criatura que quer disponibilizar algo não está lá pra te ajudar, ela visa em ficar rica da noite pro dia criando dificuldades em tudo! Tudo tem que monetizar. O cara disponibiliza um arquivo MAS.. usa uma pagina entupida de poluição visual (que se tu ficar parado olhando, vai abrir um js chato que te impede de ver o quet a la, te forçando a assinar a mailing list dele ou dar like na pagina dele no facebook, se estiver olhando mobile, fodeu) e lá dentro vai ter um ad que vai abrir um popup que vai abrir outro adlink, que vai te da um link, que gera outro link, que faz tu esperar 10s, que gera outro link que faz tu esperar 5s, que gera um link final de um downloader maldito que te impede de baixar se tu tiver um adblock mas faz tu esperar 5 minutos abrindo popups porque, segundo ele, teu ip já está baixando outro arquivo. Tais pessoas acham que vão ficar muito ricas com toda essa poluição criando transtornos na vida de todo mundo ao invés de fazer o que todo mundo faz e funciona já tem algumas centenas de anos: arrumar um emprego.

    ResponderExcluir

(c)2005 a 2016 por Lisias Toledo.
Reproduções parciais autorizadas somente com menção da fonte e com fins não comerciais.
Qualquer outra utilização, comercial ou não, somente com autorização expressa do autor.