<!DOCTYPE html> <html> <head> <meta http-equiv="content-type" content="text/html;charset=utf-8"> <title>O Processo Hidra</title> <meta name="generator" content="S9"> <meta name="author" content="Silvio Rhatto" > <!-- S6 style sheet links --> <link rel="stylesheet" href="hidra.css" media="projection" id="styleProjection"> <link rel="stylesheet" href="s6/screen.css" media="screen" id="styleScreen"> <link rel="stylesheet" href="s6/print.css" media="print"> <!-- S6 JS --> <script src="s6/jquery.js"></script> <script src="s6/jquery.slideshow.js"></script> <script> $(document).ready( function() { Slideshow.init(); } ); </script> <!-- Better Browser Banner for Microsoft Internet Explorer (IE) --> <!--[if IE]> <script src="s6/jquery.microsoft.js"></script> <![endif]--> </head> <body> <div class="layout"> <div id="header"></div> <div id="footer"> <h1></h1> <h2></h2> </div> </div> <div class="presentation"> <div class='slide centered'> <!-- _S9SLIDE_ centered --> <p><img src="hidra-oil.png" alt="O Processo Hidra" /></p> </div> <div class='slide '> <h1 id="o-processo-hidra">O Processo Hidra</h1><div class="centered"> <p><img src="hidra-oil.png" alt="O Processo Hidra" /></p> <p>De relógios a nuvens, de nuvens a hidras.</p> </div> </div> <div class='slide '> <h1 id="parte-1-introduo">Parte 1: Introdução</h1></div> <div class='slide '> <h1 id="objetivo-da-apresentao">Objetivo da apresentação</h1><p>O objetivo desta fala é divulgar os estudos em andamento sobre o processo hidra dando espaço para possíveis andamentos:</p> <ol> <li> <p>Informar os grupos e pessoas que possuem conteúdo hospedado em infraestruturas tecno-sociais comuns sobre o trabalho desenvolvido.</p> </li> <li> <p>Encorajar grupos técnicos existentes para adotarem procedimentos que favoreçam suas infraestruturas a terem comportamento hidra.</p> </li> </ol> <p>Esta apresentação ainda está em processo de concepção e revisão e por isso não está sendo divulgada.</p> </div> <div class='slide '> <h1 id="o-que--uma-hidra">O que é uma Hidra?</h1></div> <div class='slide '> <h1 id="ser-mitolgico-de-mltiplas-cabeas-regenerativas-destrudo-por-hrcules">Ser mitológico de múltiplas cabeças regenerativas, destruído por Hércules</h1><div class="centered"> <p><img src="images/Hydra_04.jpg" alt="Hidra mitológica" /></p> </div> </div> <div class='slide '> <h1 id="na-biologia-moderna-animal-aqutico-que-possui-capacidades-regenerativas">Na biologia moderna, animal aquático que possui capacidades regenerativas</h1><div class="centered"> <p><img src="images/Hydra001.jpg" alt="Hida biológica" /></p> </div> </div> <div class='slide '> <h1 id="o-que--o-processo-hidra">O que é o Processo Hidra?</h1><p>O Processo Hidra é uma descrição de infraestruturas tecno-sociais que apresentam:</p> <ol> <li> <p>Replicabilidade e escalabilidade.</p> </li> <li> <p>Capacidade de combinação rizomática.</p> </li> <li> <p>Regeneração e reagrupamento após eventos catastróficos.</p> </li> </ol> <p>A Hidra moderna pode resistir a Hércules.</p> </div> <div class='slide '> <h1 id="parte-2-grupos-tcnicos-sociais">Parte 2: Grupos Técnicos Sociais</h1><p>Mas antes façamos uma retrospectiva…</p> </div> <div class='slide '> <h1 id="sistemas-informacionais-sociais">Sistemas informacionais sociais</h1><p>Modelo “clássico” de hospedagem: arquitetura “cliente-servidor”:</p> <div class="centered"> <p><img src="http://code.google.com/edu/parallel/img/client-server.gif" alt="Arquitetura cliente-servidor" /></p> </div> </div> <div class='slide '> <h1 id="trabalho-tcnico-informacional-em-grupos-sociais">Trabalho técnico informacional em grupos sociais</h1><p>Características:</p> <ul> <li> <p>Considerado tecnicamente de alta dificuldade e dedicação.</p> </li> <li> <p>Esforço para provisionamento, configuração e manutenção de sistemas.</p> </li> <li> <p>Trabalho demorado: escala de meses para alcançar estabilidade.</p> </li> <li> <p>Suscetível a muitas falhas: escala de horas para que um sistema seja inutilizado.</p> </li> <li> <p>Pouco tempo disponível para o trabalho.</p> </li> <li> <p>Dificuldade para a realização de backups e manutenção de procedimentos administrativos.</p> </li> <li> <p>Baixa mobilização e força de trabalho “tarefeira”.</p> </li> <li> <p>Custa um bom dinheiro…</p> </li> </ul> </div> <div class='slide '> <h1 id="interldio-a-destruio-das-redes">Interlúdio: a destruição das redes</h1><p><img src="http://www.ibiblio.org/pioneers/images/centralized.gif" alt="Redes centralizadas e descentralizadas" /> <img src="http://www.ibiblio.org/pioneers/images/distributed.gif" alt="Rede distribuída" /></p> <p>A cada evento catastrófico, vários grupos são prejudicados com danos à comunicação de difícil cicatrização.</p> </div> <div class='slide '> <h1 id="parte-3-contra-ataque-infraestrutural">Parte 3: Contra-ataque infraestrutural</h1><p>Como impedir que uma rede seja destruída mesmo que a remoção de nodos continue?</p> </div> <div class='slide '> <h1 id="a-diviso-em-camadas">A divisão em camadas</h1><p>Observação crucial:</p> <pre><code>"Ghost in the shell": o disco e o hardware são intercambiáveis, provisionamento pode ocorrer em múltiplas etapas. É possível manter um estoque de discos pré-instalados e uma reserva financeira para a aquisição de máquinas. Isso e backups permite a reconstrução de sistemas. </code></pre> <p>Conclusão imediata:</p> <pre><code>É necessário "descolar" a camada de serviços (web, streaming, email, etc) da camada infraestrutural (máquinas, conexões, etc): filtragem de problemas físicos e jurídicos. </code></pre> <p>A camada de serviços pode então ser “congelada” na forma de backups, enquanto que a camada infraestrutural não possui “alma” intrínseca, podendo ser reconfigurada quando necessário. Desse modo, várias máquinas podem ser mantidas no ar para aumentar a tolerância a falhas.</p> <p>Mas como um sítio pode estar simultaneamente em várias máquinas?</p> </div> <div class='slide '> <h1 id="dns-colando-domnios-em-mquinas">DNS: colando domínios em máquinas</h1><p><img src="images/An_example_of_theoretical_DNS_recursion.png" alt="DNS" /> <img src="http://www.linux.org/docs/ldp/howto/Jabber-Server-Farming-HOWTO/c2s-round-robin.jpeg" alt="Round Robin DNS" /></p> <p>O colamento/descolamento entre camadas é possível mediante mudanças de DNS.</p> </div> <div class='slide '> <h1 id="proxies-distribuindo-um-stio-entre-mquinas">Proxies: distribuindo um sítio entre máquinas</h1><div class="centered"> <p><img src="http://perl.apache.org/docs/tutorials/apps/scale_etoys/machine_layout.png" alt="App proxy" /></p> </div> </div> <div class='slide '> <h1 id="aplicao-descentralizada-ou-distribuda">Aplicação descentralizada ou distribuída</h1><div class="centered"> <p><img src="http://upload.wikimedia.org/wikipedia/en/thumb/5/5a/ICEgrid.png/800px-ICEgrid.png" alt="ICE" /></p> </div> </div> <div class='slide '> <h1 id="tipos-de-camadas">Tipos de camadas</h1><p>Informação de um sistema é dividida conforme sua aplicabilidade:</p> <ul> <li> <p>Hardware: manifestações cristalizadas de informação: computadores.</p> </li> <li> <p>Programas (software): pacotes.</p> </li> <li> <p>Configuração (módulos).</p> </li> <li> <p>Chaves e senhas.</p> </li> <li> <p>Dados (o conteúdo propriamente dito).</p> </li> </ul> <p>Tais camadas podem ser empacotadas em sistemas e tais sistemas podem ser agregados em outros sistemas (camadas de camadas de camadas): pode ser uma abstração complicada, mas o ganho conceitual em isolamento de instâncias é importante.</p> </div> <div class='slide '> <h1 id="problemas">Problemas</h1><p>O discurso é bonito, porém…</p> <ol> <li> <p>Hardware é muito heterogêneo para padronizações serem efetivas.</p> </li> <li> <p>Os programas são muito diversos para serem estudados, integrados e desenvolvidos.</p> </li> <li> <p>Configurações são muito complexas e numerosas para serem facilmente separadas e replicadas de forma genérica.</p> </li> <li> <p>São necessárias muitas senhas de boa complexidade, o que torna sua manutenção complicada.</p> </li> <li> <p>Backups são difíceis de serem realizados e recuperados.</p> </li> </ol> <p>Ou seja: o discurso da divisão em camadas é interessante, porém na realidade sua implementação enfrenta diversos problemas. Serão eles impeditivos?</p> </div> <div class='slide '> <h1 id="o-plano-r">O Plano R*</h1><p><img src="http://www.autistici.org/orangebook/slides/rete.png" alt="Rede" /> <img src="http://www.autistici.org/orangebook/slides/rings.png" alt="Anéis" /></p> </div> <div class='slide '> <h1 id="o-plano-r-email">O Plano R*: email</h1><div class="centered"> <p><img src="http://www.autistici.org/orangebook/slides/flussomail.png" alt="Sistema de email escalável" /></p> </div> </div> <div class='slide '> <h1 id="como--possvel">Como é possível?</h1><p>O segredo está na articulação da força de trabalho com a divisão de camadas. A regra geral é:</p> <ol> <li>Utilização de ferramentas sólidas e amplamente utilizadas por comunidades de software livre e aberto.</li> <li>Trabalho de desenvolvimento focado na integração de soluções existentes, enviando alterações em código corrente acima sempre que possível.</li> <li>Desenvolvendo código próprio, porém livre, apenas quando não existente ou insuficiente nas comunidades.</li> </ol> <p>Cada um desdes tipos informacionais é distribuído em unidades que por sua vez são agregados em árvores:</p> <ul> <li>Hardware em servidores (canalizadores de fluxos, nodos ou instâncias em nuvens).</li> <li>Programas em pacotes e distribuições.</li> <li>Configurações em módulos e repositórios.</li> <li>Chaves (que são unidades de segredo) em repositórios.</li> <li>Dados em árvore de backups.</li> </ul> </div> <div class='slide '> <h1 id="diviso-arteftica">Divisão artefática</h1><p>A divisão em camadas é artificial (artefática), porém com importantes consequências quando observada à luz da divisão do trabalho de comunidades de software livre e aberto:</p> <pre><code> /'\ | | \./ upstream downstream </code></pre> <ul> <li>Hardware: desenvolvimento caro e complexo; hardware livre e aberto engatinhando; dependência do mercado. Exemplo: disco rígido.</li> <li>Programas e distribuições: grandes comunidades de desenvolvimento e uso. Exemplo: GNU/Linux, Debian.</li> <li>Configuração: comunidades mais restritas de desenvolvimento e uso. Exemplo: manuais, howtos, módulos.</li> <li>Chaves e senhas: restrita ao grupo responsável por manter uma dada infraestrutura. Exemplo: senha de superusuário/a.</li> <li>Dados: desenvolvidos pelas pessoas e grupos hospedados. Exemplo: texto num wiki. </li> </ul> </div> <div class='slide '> <h1 id="diviso-arteftica---2">Divisão artefática - 2</h1><p>É possível reconstruir um sistema dados esses elementos. A divisão do trabalho upstream/downstream é favorável à reconstrução, já que as tarefas se tornam mais complexas ao longo da subida da corrente onde usualmente os grandes grupos sociais se reúnem para solucioná-las.</p> </div> <div class='slide '> <h1 id="economia-de-trabalho">Economia de trabalho</h1><p>Assim, é possível economizar muita força de trabalho.</p> <ol> <li> <p>Enviar um desenvolvimento corrente acima (upstream) libera o grupo técnico de uma manutenção posterior, pois o trabalho passa a ser de responsabilidade da comunidades mais ampla.</p> </li> <li> <p>Quanto mais específica for a informação, mais abaixo da corrente (downstream) ela deve ser mantida.</p> </li> <li> <p>Naquilo que não houver desenvolvimento corrente acima, atuar como fonte (ou seja, agir como upstream) e fornecer para a comunidade.</p> </li> </ol> </div> <div class='slide '> <h1 id="tipos-de-salvaguarda">Tipos de salvaguarda</h1><p>Para todas as camadas divididas anteriormente é possível criar algum tipo de salvaguarda contra perdas:</p> <ul> <li> <p>Dinheiro: armazenamento e replicação de força de trabalho (potencial de trabalho armazenado).</p> </li> <li> <p>Estoque: hardware hoje é commodity, podendo ser minimamente estocado ou mantido online em diversos locais.</p> </li> <li> <p>Repositórios: programas, pacotes, distribuições e configurações.</p> </li> <li> <p>Backups: manutenção de dados ou coisas sobressalentes.</p> </li> </ul> </div> <div class='slide '> <h1 id="parte-3-contexto-brasileiro">Parte 3: contexto brasileiro</h1></div> <div class='slide '> <h1 id="oramento-e-infraestrutura">Orçamento e infraestrutura</h1><p>Custos:</p> <ul> <li>Plano R*: EUR 10.000 anuais.</li> <li>No Brasil, é praticamente a despesa anual de um centro social alugado e muito mais do que a receita da maioria dos grupos.</li> </ul> <p>Conexão:</p> <ul> <li>Nos EUA e na Europa, a conexão é rápida e barata. Datacenters corporativos são acessíveis.</li> <li>No Brasil, a conexão é lenta, cara e o preço dos datacenters é exorbitante.</li> </ul> <p>Repressão:</p> <ul> <li>Criminalização dos movimentos sociais (entulho jurídico).</li> <li>Polícia violenta.</li> </ul> <p>Estaremos impossibilitados/as de mantermos servidores no país?</p> </div> <div class='slide '> <h1 id="por-outro-lado">Por outro lado</h1><ul> <li> <p>A legislação, a jurisprudência, cultura e valores brasileiros são muito mais favoráveis à preservação da privacidade que nos EUA ou na Europa (fator Dantas).</p> </li> <li> <p>Honorários advocatícios não são tão altos quanto no exterior (?).</p> </li> <li> <p>O câmbio é favorável a doações internacionais.</p> </li> </ul> </div> <div class='slide '> <h1 id="o-caso-satangoss">O caso Satangoss</h1><p>“O que demorou quatro anos para juntarmos nos foi arrebatado num único dia.”</p> <ul> <li> <p>Agosto de 2008: polícia civil apreende o servidor do Saravá sem mandado judicial.</p> </li> <li> <p>Mais de cem sítios fora do ar.</p> </li> <li> <p>Não havia backup remoto e nem medidas de contingência estabelecidas.</p> </li> <li> <p>Todos os ovos estavam na mesma cesta.</p> </li> <li> <p>Grande desmobilização.</p> </li> <li> <p>Análise do caso: http://www.sarava.org/node/44</p> </li> </ul> <p>Como reverter a crise num novo ciclo de mudança e amadurecimento?</p> </div> <div class='slide '> <h1 id="parte-4-o-processo-hidra">Parte 4: O Processo Hidra</h1><div class="centered"> <p><img src="http://f.i.uol.com.br/folha/ciencia/images/0825246.jpg" alt="Regeneração" /></p> </div> </div> <div class='slide '> <h1 id="regenerao">Regeneração</h1><p>Hidra: toda célula pode ter o germe da própria organização. Múltiplas cabeças, células tronco que podem adquirir especialização conforme a necessidade.</p> <div class="centered"> <p><img src="http://image.wistatutor.com/content/growth-regeneration-ageing/regeneration-hydra.jpeg" alt="Regeneração da hidra" /></p> </div> </div> <div class='slide '> <h1 id="hidra-em-processo">Hidra em processo</h1><div class="centered"> <p><img src="http://www.uni-kiel.de/zoologie/bosch/jpg/bosch_fig2.jpg" alt="Regeneração da Hidra" /></p> </div> </div> <div class='slide '> <h1 id="hidra-em-processo---2">Hidra em processo - 2</h1><div class="centered"> <p><img src="http://www.uni-kiel.de/zoologie/bosch/jpg/bosch_fig3.jpg" alt="Regeneração da Hidra" /></p> </div> </div> <div class='slide '> <h1 id="topologias">Topologias</h1><pre><code>"[To] keep our sources safe, we have had to spread assets, encrypt everything, and move telecommunications and people around the world to activate protective laws in different national jurisdictions," Mr Assange said told the BBC earlier this year. </code></pre> <p>Fonte: <a href="http://www.bbc.co.uk/news/world-11047811">http://www.bbc.co.uk/news/world-11047811</a></p> <p>Possíveis montagens: anel, estrela, rizomática, etc. Frontends e backends.</p> </div> <div class='slide '> <h1 id="parte-5-o-processo-hidra-saravento">Parte 5: O Processo Hidra Saravento</h1><ol> <li> <p>Apresenta Padrão Saravá (Sarava Pattern, <a href="http://padrao.sarava.org">http://padrao.sarava.org</a>).</p> </li> <li> <p>Utiliza Resource Sharing Protocol (RSP, <a href="http://rsp.sarava.org">http://rsp.sarava.org</a>).</p> </li> <li> <p>Considerando a adoção de padrões definidos de política de segurança e privacidade.</p> </li> <li> <p>Organiza-se de acordo com protocolos (<a href="http://protocolos.sarava.org">http://protocolos.sarava.org</a>).</p> </li> </ol> <p>Na Hidra Saraventa, cada célula é chamada de “nodo”:</p> <ul> <li> <p>Nodos físicos com servidores virtuais com fins específicos.</p> </li> <li> <p>Nodos virtuais em diversos locais (inclusive hospedados por terceiros).</p> </li> </ul> <p>Baseada no seguinte pricípio: quais problemas solucionaremos, quais não.</p> </div> <div class='slide '> <h1 id="o-padro-sarav">O Padrão Saravá</h1><p>O Padrão Saravá é uma sistematização de configuração de servidores, gerenciadores de conteúdo e aplicações diversas usados pelo Grupo Saravá. O padrão foi desenvolvido para:</p> <ul> <li> <p>Ter controle dos pacotes utilizados, arquivos de configuração e serviços em uso.</p> </li> <li> <p>Uniformidade de administração.</p> </li> <li> <p>Sistema de gerenciamento de backups comum para que as máquinas de um projeto possam trocar dados.</p> </li> <li> <p>Que um servidor seja configurado apenas uma vez e que suas configurações possam ser aproveitados para outras máquinas.</p> </li> <li> <p>Que sites e serviços sejam armazenados de maneira regular para facilitar atualizações e migrações.</p> </li> <li> <p>Manter projetos e serviços isolados uns dos outros através de servidores virtuais.</p> </li> <li> <p>Tornar a instalação dos servidores facilmente replicável.</p> </li> </ul> <p>Dinâmica de desenvolvimento:</p> <pre><code>Documentação wiki -> Configurações pré-gravadas -> Software </code></pre> </div> <div class='slide '> <h1 id="puppet">Puppet</h1><p><img src="http://docs.reductivelabs.com/images/Puppet_Star.png" alt="Puppet: topologia" /> <img src="http://www.puppetlabs.com/images/system_diagram.png" alt="Puppet: diagrama de sistema" /></p> </div> <div class='slide '> <h1 id="puppet-compartilhando-configurao">Puppet: compartilhando configuração</h1><p>Código puppet:</p> <pre><code>file { '/etc/passwd': owner => root, group => root, mode => 644, } </code></pre> <p>Módulos compartilhados:</p> <ul> <li> <p><a href="http://git.sarava.org">http://git.sarava.org</a></p> </li> <li> <p><a href="https://labs.riseup.net/code/projects/sharedpuppetmodules">https://labs.riseup.net/code/projects/sharedpuppetmodules</a></p> </li> </ul> </div> <div class='slide '> <h1 id="git-e-gitosis">Git e gitosis</h1><p><img src="http://hoth.entp.com/output/scm.png" alt="VCS" /> <img src="http://hoth.entp.com/output/dscm.png" alt="VCS distribuído" /></p> </div> <div class='slide '> <h1 id="o-protocolo-de-compartilhamento-de-recursos">O Protocolo de Compartilhamento de Recursos</h1><pre><code>"The Resource Sharing Protocol (RSP) is a set of metadata intended to help free software groups * Share their available resources and also Find groups that can host * services for them given their needs and requirements. The RSP splits each resource in a layer or set of service layers. You can think of service layers something very general, ranging from servers, databases, websites. If you need to, you can even consider stuff such as tables and bicycles as layers that provide some kind of service to a hosted group. ;)" -- http://rsp.sarava.org </code></pre> </div> <div class='slide '> <h1 id="orquestrao">Orquestração</h1><p>Para complementar a Configuração de sistemas padronizada e centralizada, procedimentos como</p> <ol> <li>Atualização de pacotes.</li> <li>Atualização de código de gerenciadores de conteúdo.</li> <li>Carga de bancos de dados. </li> </ol> <p>podem ser codificados de forma a serem facilmente aplicados a múltiplas camadas de forma simultânea.</p> <p>Exemplos:</p> <ul> <li><a href="https://git.sarava.org/?p=hydra.git;a=summary">https://git.sarava.org/?p=hydra.git;a=summary</a></li> <li><a href="http://www.capify.org">http://www.capify.org</a></li> <li><a href="http://marionette-collective.org">http://marionette-collective.org</a></li> <li><a href="https://fedorahosted.org/func">https://fedorahosted.org/func</a></li> <li><a href="http://fabfile.org">http://fabfile.org</a></li> <li><a href="http://www.debian-administration.org/article/Automating_ssh_and_scp_across_multiple_hosts">http://www.debian-administration.org/article/Automating_ssh_and_scp_across_multiple_hosts</a></li> </ul> </div> <div class='slide '> <h1 id="ikiwiki">Ikiwiki</h1><p>O Ikiwiki (<a href="http://ikiwiki.info">http://ikiwiki.info</a>) é um software de wiki que usa um sistema de controle de versão e arquivos de texto, possibilitando:</p> <ol> <li>A existência de múltiplas cópias integrais do wiki (online e offline).</li> <li>Desenvolvimento distribuído de documentação.</li> </ol> <p>O ikiwiki é muito útil para reunir documentação de sistemas, já que não necessita de nenhum sistema web funcional para abrigá-la.</p> </div> <div class='slide '> <h1 id="virtualizao">Virtualização</h1><p>Virtualização através de Linux-VServer (existem outras implementações possíveis):</p> <ul> <li><a href="http://www.linux-vserver.org">http://www.linux-vserver.org</a></li> <li><a href="http://slack.sarava.org/vservers">http://slack.sarava.org/vservers</a></li> </ul> <p>Principais vantagens:</p> <ul> <li> <p>Permite diversos grupos compartilharem uma mesma máquina presevando sua autonomia.</p> </li> <li> <p>Grupos podem hospedar mutuamente instâncias virtuais. Exemplo: se existem 5 grupos com uma máquina cada um, se cada um deles hospedar um vserver para cada grupo, teremos 4 locais remotos de hospedagem por grupo, aumentando assim as possibilidades de salvaguarda e escalabilidade.</p> </li> </ul> </div> <div class='slide '> <h1 id="keyringer-e-monkeysphere">Keyringer e monkeysphere</h1><p>O Keyringer (<a href="http://git.sarava.org/?p=keyringer.git;a=summary">http://git.sarava.org/?p=keyringer.git;a=summary</a>) é um repositório distribuído de senhas/chaves baseado em GPG e git.</p> <p>O monkeysphere (<a href="http://web.monkeysphere.info">http://web.monkeysphere.info</a>) é um programa que permite a verificação de hosts SSH e usuários/as através da Teia de Confiabilidade do OpenPGP. Com ele, o gerenciamento de fingerprints fica mais fácil e evita que páginas como esta centralizem informações que possam se desatualizar. </p> </div> <div class='slide '> <h1 id="tecnologia-bootless">Tecnologia bootless</h1><p>Muitos esquemas de criptografia em disco se baseiam na proteção das partições de dadados e da área de troca, porém dependem da existência de ao menos uma partição de inicialização com as imagens do sistema e de um setor de inicialização.</p> <p>Com acesso físico à máquina, é possível infectar tais dados de inicialização e comprometer a criptografia de todo o sistema.</p> <p>Para mitigar a situação, o esquema Bootless é um repositório git que contém as imagens de inicialização e a configuração necessárias para o procedimento de partida.</p> <p>Assim, é possível manter a parte de inicialização fora da máquina, por exemplo em chaveiros USB.</p> <p>Projeto similar: <a href="http://lfde.org">http://lfde.org</a></p> </div> <div class='slide '> <h1 id="monitoramento-nagios">Monitoramento: nagios</h1><div class="centered"> <p><img src="http://nagios.sourceforge.net/images/screens/new/statusmap-circular.png" alt="Nagios" /></p> </div> </div> <div class='slide '> <h1 id="monitoramento-munin">Monitoramento: munin</h1><div class="centered"> <p><img src="http://upload.wikimedia.org/wikipedia/commons/c/ce/Munin-memory-week.png" alt="Munin" /></p> </div> </div> <div class='slide '> <h1 id="backups">Backups</h1><p>Estratégia:</p> <ol> <li>Backups locais criptografados com duplicity: <ul> <li>Incluindo apenas <code>/etc</code>, <code>/var</code>, <code>/home</code>.</li> <li>Excluindo logs, cache e backups remotos.</li> </ul> </li> <li>Backups remotos apenas do backup local em duplicity, via rdiff ou rsync.</li> <li>Nodos designados para armazenamento de backups.</li> <li>Incrementos locais e remotos para aumentar consistência dos dados.</li> <li>Procedimento integrado de restore e ativação de nodo.</li> </ol> </div> <div class='slide '> <h1 id="hardware-e-custos">Hardware e custos</h1><ul> <li>Servidor mini-ITX Atom dual core + 2GB RAM + 1TB: R$680.00.</li> <li>Nobreaks APC: +/- R$500,00.</li> <li>Banda larga ADSL/cabo: R$80,00 a R$200,00.</li> <li>Energia: 180W (mini-ITX) máx.</li> <li>Sistema pode ser instalado inclusive em memórias de estado sólido (microSD por exemplo).</li> </ul> <div class="centered"> <p><img src="http://upload.wikimedia.org/wikipedia/commons/thumb/2/23/Mini-itx-motherboard.jpg/800px-Mini-itx-motherboard.jpg" alt="Mini ITX" /></p> </div> </div> <div class='slide '> <h1 id="utilidades-adaptador-para-discos">Utilidades: adaptador para discos</h1><div class="centered"> <p><img src="http://www.sataadapter.com/sata-to-usb-adapter-cable-for-windows-and-mac.jpg" alt="Adaptador SATA" /></p> </div> </div> <div class='slide '> <h1 id="utilidades-chave-de-entropia">Utilidades: chave de entropia</h1><p><img src="http://www.entropykey.co.uk/res/device.jpeg" alt="Entropy key" /> <img src="http://www.entropykey.co.uk/res/entropy-trite-small-nq8.png" alt="Entropy graph" /></p> </div> <div class='slide '> <h1 id="segurana">Segurança</h1><p>Acesso remoto:</p> <ul> <li> <p>Contas SSH administrativas em todos os nodos.</p> </li> <li> <p>Contas SSH de backup para nodos de backup.</p> </li> <li> <p>Contas SSH de tunelamento para nodos diversos.</p> </li> </ul> <p>Análise:</p> <ol> <li> <p>É importante isolar o máximo a capacidade de acesso para contas de nodos de backup ou que tunelem conexões.</p> </li> <li> <p>Administradores/as precisam ter boas medidas de segurança:</p> <ul> <li>Pasta criptografada.</li> <li>Senhas e chaves seguras.</li> </ul> </li> </ol> </div> <div class='slide '> <h1 id="protocolos-sociais">Protocolos sociais</h1><ul> <li>Protocolo de Ação Coletiva: <a href="http://protocolos.sarava.org">http://protocolos.sarava.org</a>.</li> <li>Outros protocolos e metodologias (contabilidade, acesso à informação, relação com grupos, etc).</li> <li> <p>Uso de um sistema de gestão de processos (trac ou similar).</p> <pre><code> .------------------->-----------------. / .----------<--------------<-------. \ | ' \ \ | | .------>-----. \ \ | | | \ \ \ Proposta -----> Discussão ->--. \ \ \ | ^ | \ \ \ \ | | | \ \ \ \ | `----<-----' | \ \ \ | | | \ \ `------>------ Decisão --<--' | \ \ | | | \ \ | | | | | Atribuição de --<---' '---> Arquivamento --->---' ; Responsabilidades ----->-------' ^ \ / ^ | ___________/ `---<-----' | \ .' | `--> Realização -->--. | | | \ | | | / `----<-----' `-----<---' </code></pre> </li> </ul> </div> <div class='slide '> <h1 id="resumo-estratgia-de-gesto">Resumo: Estratégia de gestão</h1><ul> <li> <p>Facilitar instalação, manutenção e gestão de dados.</p> </li> <li> <p>Manter backups em máquinas prontas para serem inicializadas.</p> </li> <li> <p>Manter nodos master prontos para assumirem o posto de “cabeça ativa”.</p> </li> </ul> </div> <div class='slide '> <h1 id="parte-6-a-confederao-das-hidras-unidas">Parte 6: A Confederação das Hidras Unidas</h1><div class="centered"> <p><img src="http://apod.nasa.gov/apod/image/0104/hydra_aat116.jpg" alt="Hidra Cluster" /></p> </div> </div> <div class='slide '> <h1 id="a-confederao-das-hidras-unidas">A Confederação das Hidras Unidas</h1><ul> <li> <p>Hidra é um processo, não uma tecnologia, implementação, sistema ou serviço.</p> </li> <li> <p>Assim, é possível ter hidras menos sistematizadas e com diferentes formas de organização. O processo já ocorre em vários locais.</p> </li> <li> <p>Havendo várias hidras, se elas se integram passa a existir a Confederação das Hidras Unidas.</p> </li> <li> <p>Importante questão do licenciamento: AGPL 3.0 para garantir o máximo possível da disponibilização de código e documentação.</p> </li> <li> <p>Não é estritamente necessária a criação de uma “confederação”, já que a cultura de hidras pode ser não-coordenada.</p> </li> </ul> </div> <div class='slide '> <h1 id="parte-7-nuvens-e-hidras">Parte 7: Nuvens e Hidras</h1><p>Hidras são nuvens (cloud computing)?</p> <ul> <li> <p>Cloud computing foca apenas nas instâncias e como estas são integradas por aplicações (IaaS, SaaS, PaaS) e no seu uso sob demanda.</p> </li> <li> <p>Cloud computing é uma iniciativa do mercado e uma tendência à terceirização total das atividades.</p> </li> <li> <p>A Hidra leva em consideração a organização social que suporta a infraestrutura computacional.</p> </li> <li> <p>A Hidra é uma nuvem na qual certos nodos desempenham papéis determinados, porém contendo o germe de toda a organização.</p> </li> <li> <p>Outra classe de nuvens: botnets.</p> </li> </ul> </div> <div class='slide '> <h1 id="nuvens-diagramas">Nuvens: diagramas</h1><p><img src="http://upload.wikimedia.org/wikipedia/commons/thumb/3/3a/Cloud_Computing_Stack.svg/340px-Cloud_Computing_Stack.svg.png" alt="Camadas" /> <img src="http://upload.wikimedia.org/wikipedia/commons/thumb/7/79/CloudComputingSampleArchitecture.svg/550px-CloudComputingSampleArchitecture.svg.png" alt="Arquitetura" /></p> </div> <div class='slide '> <h1 id="tipos-de-nuvens">Tipos de nuvens</h1><div class="centered"> <p><img src="http://upload.wikimedia.org/wikipedia/commons/thumb/8/87/Cloud_computing_types.svg/800px-Cloud_computing_types.svg.png" alt="Tipos de nuvens" /></p> </div> </div> <div class='slide '> <h1 id="parte-8-futuro">Parte 8: Futuro</h1><ul> <li>Hidra Saraventa: ainda em intenso desenvolvimento, porém já em estágio maduro. Falta (em agosto/2010): <ul> <li>Melhoria no procedimento de bootstrap.</li> <li>Integração com DNS.</li> <li>Sistema de proxy para balanceamento de carga.</li> <li>Melhoria de procedimentos de sunsetting de sítios, plataformas e contas.</li> <li>Longuíssimo prazo, caso realizável: possibilidade de um nodo ser convertido de uma classe para outra.</li> <li>Procedimentos para suporte jurídico.</li> <li>Nodos em conexões DSL e cabo: IP dinâmico, DNS reverso, etc.</li> <li>VPN entre os nodos, Puppet Dashboard?, External node tool?</li> <li>Migrar para Linux Containers (lxc).</li> <li>Melhoria da documentação e representações gráficas do processo.</li> <li>Storage de dados distribuído.</li> </ul> </li> <li>Hidras via Rádio.</li> <li>Hidras em outros tipos de organizações sociais.</li> </ul> </div> <div class='slide '> <h1 id="parte-9-concluses">Parte 9: Conclusões</h1><ul> <li> <p>Resolver a replicação e escalabilidade primeiro na infraestrutura (máquinas, configurações e backups), depois nas camadas superiores (CMSs, por exemplo)</p> </li> <li> <p>Não importa tanto se a rede é centralizada, descentralizada ou distribuída se antes de tudo ela for regenerativa. No entanto, em geral são as redes distribuídas e descentralizadas que possuem fatores de regeneração maiores do que no caso centralizado.</p> </li> <li> <p>Número grande de máquinas é interessante: várias podem estar sem funcionar num dado momento, mas as que estiverem funcionando podem dar conta da demanda.</p> </li> <li> <p>A hidra é indestrutível? Essa questão faz sentido? Positivismo, revoluções e cataclismas: o limite da hidra por ter uma relação e abertura e fechamento (autonomia dependente).</p> </li> </ul> </div> <div class='slide '> <h1 id="parte-10-referncias">Parte 10: Referências</h1></div> <div class='slide '> <h1 id="referncias-imagens-usadas">Referências: imagens usadas</h1><ul> <li><a href="http://en.wikipedia.org/wiki/File:Hydra_04.jpg">http://en.wikipedia.org/wiki/File:Hydra_04.jpg</a></li> <li><a href="http://en.wikipedia.org/wiki/File:Hydra001.jpg">http://en.wikipedia.org/wiki/File:Hydra001.jpg</a></li> <li><a href="http://code.google.com/edu/parallel/dsd-tutorial.html">http://code.google.com/edu/parallel/dsd-tutorial.html</a></li> <li><a href="http://en.wikipedia.org/wiki/File:DNS_in_the_real_world.svg">http://en.wikipedia.org/wiki/File:DNS_in_the_real_world.svg</a></li> <li><a href="http://www.linux.org/docs/ldp/howto/Jabber-Server-Farming-HOWTO/c2sfarm.html">http://www.linux.org/docs/ldp/howto/Jabber-Server-Farming-HOWTO/c2sfarm.html</a></li> <li><a href="http://www.autistici.org/orangebook/slides/orangebook.en.html">http://www.autistici.org/orangebook/slides/orangebook.en.html</a>.</li> <li><a href="http://www.autistici.org/orangebook/slides/orangebook.en.html">http://www.autistici.org/orangebook/slides/orangebook.en.html</a></li> <li><a href="http://perl.apache.org/docs/tutorials/apps/scale_etoys/machine_layout.png">http://perl.apache.org/docs/tutorials/apps/scale_etoys/machine_layout.png</a></li> <li><a href="http://en.wikipedia.org/wiki/File:ICEgrid.png">http://en.wikipedia.org/wiki/File:ICEgrid.png</a></li> <li><a href="http://www.ibiblio.org/pioneers/baran.html">http://www.ibiblio.org/pioneers/baran.html</a></li> <li><a href="http://www1.folha.uol.com.br/folha/ciencia/ult306u442499.shtml">http://www1.folha.uol.com.br/folha/ciencia/ult306u442499.shtml</a></li> <li><a href="http://www.tutorvista.com/content/biology/biology-iv/growth-regeneration-ageing/regeneration.php">http://www.tutorvista.com/content/biology/biology-iv/growth-regeneration-ageing/regeneration.php</a></li> <li><a href="http://www.uni-kiel.de/zoologie/bosch/developmentalbiology.html">http://www.uni-kiel.de/zoologie/bosch/developmentalbiology.html</a></li> <li><a href="http://www.uni-kiel.de/zoologie/bosch/developmentalbiology.html">http://www.uni-kiel.de/zoologie/bosch/developmentalbiology.html</a></li> <li><a href="http://www.puppetlabs.com/puppet/introduction">http://www.puppetlabs.com/puppet/introduction</a></li> <li><a href="http://docs.reductivelabs.com/guides/introduction.html">http://docs.reductivelabs.com/guides/introduction.html</a></li> <li><a href="http://www.nagios.org/about/screenshots">http://www.nagios.org/about/screenshots</a></li> <li><a href="http://en.wikipedia.org/wiki/File:Munin-memory-week.png">http://en.wikipedia.org/wiki/File:Munin-memory-week.png</a></li> <li><a href="http://hoth.entp.com/output/git_for_designers.html">http://hoth.entp.com/output/git_for_designers.html</a></li> <li><a href="http://en.wikipedia.org/wiki/Mini-itx">http://en.wikipedia.org/wiki/Mini-itx</a></li> <li><a href="http://www.sataadapter.com">http://www.sataadapter.com</a></li> <li><a href="http://www.entropykey.co.uk">http://www.entropykey.co.uk</a></li> <li><a href="http://apod.nasa.gov/apod/ap010416.html">http://apod.nasa.gov/apod/ap010416.html</a></li> <li><a href="http://en.wikipedia.org/wiki/File:Cloud_Computing_Stack.svg">http://en.wikipedia.org/wiki/File:Cloud_Computing_Stack.svg</a></li> <li><a href="http://en.wikipedia.org/wiki/File:CloudComputingSampleArchitecture.svg">http://en.wikipedia.org/wiki/File:CloudComputingSampleArchitecture.svg</a></li> <li><a href="http://en.wikipedia.org/wiki/File:Cloud_computing_types.svg">http://en.wikipedia.org/wiki/File:Cloud_computing_types.svg</a></li> </ul> </div> </div><!-- presentation --> </body> </html>