aboutsummaryrefslogtreecommitdiff
path: root/slides/hidra.pdf.html
diff options
context:
space:
mode:
Diffstat (limited to 'slides/hidra.pdf.html')
-rw-r--r--slides/hidra.pdf.html989
1 files changed, 989 insertions, 0 deletions
diff --git a/slides/hidra.pdf.html b/slides/hidra.pdf.html
new file mode 100644
index 0000000..7c5da53
--- /dev/null
+++ b/slides/hidra.pdf.html
@@ -0,0 +1,989 @@
+<!DOCTYPE html>
+<html>
+<head>
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+ <title>O Processo Hidra</title>
+
+
+
+<style>
+html, body { margin: 0; padding: 0; }
+
+body { font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; }
+
+a:link, a:visited { color: black; }
+
+h1 { font-size: 30pt; }
+h2 { font-size: 28pt; }
+h3 { font-size: 25pt; }
+p, li, dt, dd, td, th { font-size: 18pt; }
+
+pre { font-size: 14pt; }
+pre.small { font-size: 11pt; }
+
+pre.code {
+ background-color: azure;
+ padding: 5px;
+ }
+
+ul { list-style-type: square; }
+
+.center { text-align: center; }
+
+.slide { page-break-after: always;
+ min-height: 100mm;
+ padding: 40px;
+
+ border: 1px dotted black;
+
+/*
+ background: -moz-linear-gradient( top, maroon, red);
+*/
+ }
+
+
+body {
+ font-family: monospace;
+}
+
+.centered img {
+ display: block;
+ margin-left: auto;
+ margin-right: auto;
+}
+
+.centered {
+ text-align: center;
+}
+
+p, li, dt, dd, td, th {
+ font-size: 16pt;
+}
+
+.slide h1 {
+ font-size: 25pt;
+}
+
+
+
+/*
+for princexml (CSS3 paged media support)
+@page { size: A4 landscape }
+*/
+</style>
+
+</head>
+<body>
+
+<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&hellip;</p>
+
+
+</div>
+<div class='slide '>
+<h1 id="sistemas-informacionais-sociais">Sistemas informacionais sociais</h1><p>Modelo &ldquo;clássico&rdquo; de hospedagem: arquitetura &ldquo;cliente-servidor&rdquo;:</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 &ldquo;tarefeira&rdquo;.</p>
+ </li>
+ <li>
+ <p>Custa um bom dinheiro&hellip;</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 &ldquo;congelada&rdquo; na forma de backups, enquanto que a camada infraestrutural não possui &ldquo;alma&rdquo; 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&hellip;</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>&ldquo;O que demorou quatro anos para juntarmos nos foi arrebatado num único dia.&rdquo;</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 &ldquo;nodo&rdquo;:</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 -&gt; Configurações pré-gravadas -&gt; 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 =&gt; root,
+ group =&gt; root,
+ mode =&gt; 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> .-------------------&gt;-----------------.
+ / .----------&lt;--------------&lt;-------. \
+ | ' \ \
+ | | .------&gt;-----. \ \
+ | | | \ \ \
+ Proposta -----&gt; Discussão -&gt;--. \ \ \
+ | ^ | \ \ \ \
+ | | | \ \ \ \
+ | `----&lt;-----' | \ \ \
+ | | | \ \
+ `------&gt;------ Decisão --&lt;--' | \ \
+ | | | \ \
+ | | | | |
+ Atribuição de --&lt;---' '---&gt; Arquivamento ---&gt;---' ;
+ Responsabilidades -----&gt;-------' ^ \ /
+ ^ | ___________/ `---&lt;-----'
+ | \ .'
+ | `--&gt; Realização --&gt;--.
+ | | | \
+ | | | /
+ `----&lt;-----' `-----&lt;---'
+</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 &ldquo;cabeça ativa&rdquo;.</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 &ldquo;confederação&rdquo;, 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>
+