Sistema de Arquivos Interplanetário

By | October 16, 2018

O nome é bem ambicioso, mas acho que a idéia do IPFS (Interplanetary File System) é apenas acompanhar as outras novas tecnologias que já estão em uso.

Se você pensar que temos endereços IPv6 mais do que suficiente para cada átomo no planeta, e que num pool ZFS você pode armazenar 256 trilhões de yobibytes, talvez um sistema de arquivos interplanetário nem seja tão ambicioso assim.

O IPFS é um sistema de arquivos P2P que se utiliza das partes boas das cripto-moedas, tem seu próprio sistema de resolução de nomes e foi espertamente planejado para integrar com tecnologias de uso corrente, como HTTP e DNS.

Sua implementação oficial em Go faz dele multi-plataforma logo de cara e com o backend expondo APIs e usando interfaces em javascript a adoção é bem simples.

As aplicações possíveis são bem interessantes: Máquinas rodando ipfs num data centre, por exemplo, podem compartilhar arquivos sem um servidor central. Assim como bittorrent, quanto mais nós compartilham um arquivo, mais rápido fica o download. Então instalar um update em todas as máquinas usando IPFS é exponencialmente mais rápido que fazê-las baixar o arquivo de um servidor central, por exemplo.

Alguém inclusive teve uma boa idéia e já existe um gerenciador de pacotes baseado em ipfs.

Outros usos, como escapar de filtros de censura e continuar compartilhando arquivos mesmo que o acesso à Internet seja cortado pelo governo também são muito interessantes. E lógico, no caso de uma colônia em Marte, basta que apenas um nó baixe o arquivo localmente e ele estará disponível para todos por lá, sem precisar de uma outra transferência aqui da Terra, sem proxy, sem cache, sem complicação. Os Marcianos mal podem esperar pelos filmes de gatinho.

Como citei ali em cima, existe uma implementação de gateway de IPFS para HTTP com diversos pontos de entrada e recentemente a Cloudfare começou a oferecer um gateway também. Usando eles como exemplo e mais uma prova-de-conceito que criei, aqui vocês tem acesso ao meu arquivo de configuração do TMUX, diretamente via IPFS.

Ainda quero gastar mais tempo fuçando e fazendo implementações práticas para a vida de um sysadmin usando IPFS, mas vou dizer que gostei. Já tenho rodando no meu laptop, no meu servidor de casa e numa instância no GCP.

Alguém mais por ai já usando IPFS? Alguém tem um bom exemplo de aplicação prática para sysadmin/devops?

Fica a recomendação de assistir esse vídeo na íntegra:

https://www.youtube.com/watch?v=HUVmypx9HGI