diff options
Diffstat (limited to 'doc/hidra.html')
-rw-r--r-- | doc/hidra.html | 954 |
1 files changed, 954 insertions, 0 deletions
diff --git a/doc/hidra.html b/doc/hidra.html new file mode 100644 index 0000000..e2b81e0 --- /dev/null +++ b/doc/hidra.html @@ -0,0 +1,954 @@ +<!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>
\ No newline at end of file |