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!
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).
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.
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.