diff options
author | Silvio Rhatto <rhatto@riseup.net> | 2016-05-14 09:51:13 -0300 |
---|---|---|
committer | Silvio Rhatto <rhatto@riseup.net> | 2016-05-14 09:51:13 -0300 |
commit | c0accb84196d996d4ddc66d1c02b7e7cc3ed9765 (patch) | |
tree | d996f86e90ebf19b335349b90b64133d8d8fcddc /doc/hidra.markdown | |
parent | 342686e80dd37d3f18fed7dbb27c0feb31f087e6 (diff) | |
download | hydra-c0accb84196d996d4ddc66d1c02b7e7cc3ed9765.tar.gz hydra-c0accb84196d996d4ddc66d1c02b7e7cc3ed9765.tar.bz2 |
Slides location
Diffstat (limited to 'doc/hidra.markdown')
-rw-r--r-- | doc/hidra.markdown | 764 |
1 files changed, 0 insertions, 764 deletions
diff --git a/doc/hidra.markdown b/doc/hidra.markdown deleted file mode 100644 index b620443..0000000 --- a/doc/hidra.markdown +++ /dev/null @@ -1,764 +0,0 @@ -Title: O Processo Hidra -Author: Silvio Rhatto -Generator: S9 - -%css - -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; -} - -%end - -!SLIDE centered - -![O Processo Hidra](hidra-oil.png) - -O Processo Hidra -================ - -<div class="centered" markdown="1"> -![O Processo Hidra](hidra-oil.png) - -De relógios a nuvens, de nuvens a hidras. -</div> - -Parte 1: Introdução -=================== - -Objetivo da apresentação -======================== - -O objetivo desta fala é divulgar os estudos em andamento sobre o processo hidra dando espaço para possíveis andamentos: - - 1. Informar os grupos e pessoas que possuem conteúdo hospedado em infraestruturas tecno-sociais comuns sobre o trabalho desenvolvido. - - 2. Encorajar grupos técnicos existentes para adotarem procedimentos que favoreçam suas infraestruturas a terem comportamento hidra. - -Esta apresentação ainda está em processo de concepção e revisão e por isso não está sendo divulgada. - -O que é uma Hidra? -================== - -Ser mitológico de múltiplas cabeças regenerativas, destruído por Hércules -========================================================================= - -<div class="centered" markdown="1"> -![Hidra mitológica](images/Hydra_04.jpg) -</div> - -Na biologia moderna, animal aquático que possui capacidades regenerativas -========================================================================= - -<div class="centered" markdown="1"> -![Hida biológica](images/Hydra001.jpg) -</div> - -O que é o Processo Hidra? -========================= - -O Processo Hidra é uma descrição de infraestruturas tecno-sociais que apresentam: - - 1. Replicabilidade e escalabilidade. - - 2. Capacidade de combinação rizomática. - - 3. Regeneração e reagrupamento após eventos catastróficos. - -A Hidra moderna pode resistir a Hércules. - -Parte 2: Grupos Técnicos Sociais -================================ - -Mas antes façamos uma retrospectiva... - -Sistemas informacionais sociais -=============================== - -Modelo "clássico" de hospedagem: arquitetura "cliente-servidor": - -<div class="centered" markdown="1"> -![Arquitetura cliente-servidor](http://code.google.com/edu/parallel/img/client-server.gif) -</div> - -Trabalho técnico informacional em grupos sociais -================================================ - -Características: - - - Considerado tecnicamente de alta dificuldade e dedicação. - - - Esforço para provisionamento, configuração e manutenção de sistemas. - - - Trabalho demorado: escala de meses para alcançar estabilidade. - - - Suscetível a muitas falhas: escala de horas para que um sistema seja inutilizado. - - - Pouco tempo disponível para o trabalho. - - - Dificuldade para a realização de backups e manutenção de procedimentos administrativos. - - - Baixa mobilização e força de trabalho "tarefeira". - - - Custa um bom dinheiro... - -Interlúdio: a destruição das redes -================================== - -![Redes centralizadas e descentralizadas](http://www.ibiblio.org/pioneers/images/centralized.gif) -![Rede distribuída](http://www.ibiblio.org/pioneers/images/distributed.gif) - -A cada evento catastrófico, vários grupos são prejudicados com danos à comunicação de difícil cicatrização. - -Parte 3: Contra-ataque infraestrutural -====================================== - -Como impedir que uma rede seja destruída mesmo que a remoção de nodos continue? - -A divisão em camadas -==================== - -Observação crucial: - - "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. - -Conclusão imediata: - - É 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. - -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. - -Mas como um sítio pode estar simultaneamente em várias máquinas? - -DNS: colando domínios em máquinas -================================= - -![DNS](images/An_example_of_theoretical_DNS_recursion.png) -![Round Robin DNS](http://www.linux.org/docs/ldp/howto/Jabber-Server-Farming-HOWTO/c2s-round-robin.jpeg) - -O colamento/descolamento entre camadas é possível mediante mudanças de DNS. - -Proxies: distribuindo um sítio entre máquinas -============================================= - -<div class="centered" markdown="1"> -![App proxy](http://perl.apache.org/docs/tutorials/apps/scale_etoys/machine_layout.png) -</div> - -Aplicação descentralizada ou distribuída -======================================== - -<div class="centered" markdown="1"> -![ICE](http://upload.wikimedia.org/wikipedia/en/thumb/5/5a/ICEgrid.png/800px-ICEgrid.png) -</div> - -Tipos de camadas -================ - -Informação de um sistema é dividida conforme sua aplicabilidade: - - - Hardware: manifestações cristalizadas de informação: computadores. - - - Programas (software): pacotes. - - - Configuração (módulos). - - - Chaves e senhas. - - - Dados (o conteúdo propriamente dito). - -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. - -Problemas -========= - -O discurso é bonito, porém... - - 1. Hardware é muito heterogêneo para padronizações serem efetivas. - - 2. Os programas são muito diversos para serem estudados, integrados e desenvolvidos. - - 3. Configurações são muito complexas e numerosas para serem facilmente separadas e replicadas de forma genérica. - - 4. São necessárias muitas senhas de boa complexidade, o que torna sua manutenção complicada. - - 5. Backups são difíceis de serem realizados e recuperados. - -Ou seja: o discurso da divisão em camadas é interessante, porém na realidade sua implementação enfrenta diversos problemas. Serão eles impeditivos? - -O Plano R* -========== - -![Rede](http://www.autistici.org/orangebook/slides/rete.png) -![Anéis](http://www.autistici.org/orangebook/slides/rings.png) - -O Plano R*: email -================= - -<div class="centered" markdown="1"> -![Sistema de email escalável](http://www.autistici.org/orangebook/slides/flussomail.png) -</div> - -Como é possível? -================ - -O segredo está na articulação da força de trabalho com a divisão de camadas. A regra geral é: - - 1. Utilização de ferramentas sólidas e amplamente utilizadas por comunidades de software livre e aberto. - 2. Trabalho de desenvolvimento focado na integração de soluções existentes, enviando alterações em código corrente acima sempre que possível. - 3. Desenvolvendo código próprio, porém livre, apenas quando não existente ou insuficiente nas comunidades. - -Cada um desdes tipos informacionais é distribuído em unidades que por sua vez são agregados em árvores: - - - Hardware em servidores (canalizadores de fluxos, nodos ou instâncias em nuvens). - - Programas em pacotes e distribuições. - - Configurações em módulos e repositórios. - - Chaves (que são unidades de segredo) em repositórios. - - Dados em árvore de backups. - -Divisão artefática -================== - -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: - - /'\ | - | \./ - upstream downstream - - - Hardware: desenvolvimento caro e complexo; hardware livre e aberto engatinhando; dependência do mercado. Exemplo: disco rígido. - - Programas e distribuições: grandes comunidades de desenvolvimento e uso. Exemplo: GNU/Linux, Debian. - - Configuração: comunidades mais restritas de desenvolvimento e uso. Exemplo: manuais, howtos, módulos. - - Chaves e senhas: restrita ao grupo responsável por manter uma dada infraestrutura. Exemplo: senha de superusuário/a. - - Dados: desenvolvidos pelas pessoas e grupos hospedados. Exemplo: texto num wiki. - -Divisão artefática - 2 -====================== - -É 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. - -Economia de trabalho -==================== - -Assim, é possível economizar muita força de trabalho. - - 1. 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. - - 2. Quanto mais específica for a informação, mais abaixo da corrente (downstream) ela deve ser mantida. - - 3. Naquilo que não houver desenvolvimento corrente acima, atuar como fonte (ou seja, agir como upstream) e fornecer para a comunidade. - -Tipos de salvaguarda -==================== - -Para todas as camadas divididas anteriormente é possível criar algum tipo de salvaguarda contra perdas: - - - Dinheiro: armazenamento e replicação de força de trabalho (potencial de trabalho armazenado). - - - Estoque: hardware hoje é commodity, podendo ser minimamente estocado ou mantido online em diversos locais. - - - Repositórios: programas, pacotes, distribuições e configurações. - - - Backups: manutenção de dados ou coisas sobressalentes. - -Parte 3: contexto brasileiro -============================ - -Orçamento e infraestrutura -========================== - -Custos: - - - Plano R*: EUR 10.000 anuais. - - No Brasil, é praticamente a despesa anual de um centro social alugado e muito mais do que a receita da maioria dos grupos. - -Conexão: - - - Nos EUA e na Europa, a conexão é rápida e barata. Datacenters corporativos são acessíveis. - - No Brasil, a conexão é lenta, cara e o preço dos datacenters é exorbitante. - -Repressão: - - - Criminalização dos movimentos sociais (entulho jurídico). - - Polícia violenta. - -Estaremos impossibilitados/as de mantermos servidores no país? - -Por outro lado -============== - - - 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). - - - Honorários advocatícios não são tão altos quanto no exterior (?). - - - O câmbio é favorável a doações internacionais. - -O caso Satangoss -================ - -"O que demorou quatro anos para juntarmos nos foi arrebatado num único dia." - - - Agosto de 2008: polícia civil apreende o servidor do Saravá sem mandado judicial. - - - Mais de cem sítios fora do ar. - - - Não havia backup remoto e nem medidas de contingência estabelecidas. - - - Todos os ovos estavam na mesma cesta. - - - Grande desmobilização. - - - Análise do caso: http://www.sarava.org/node/44 - -Como reverter a crise num novo ciclo de mudança e amadurecimento? - -Parte 4: O Processo Hidra -========================= - -<div class="centered" markdown="1"> -![Regeneração](http://f.i.uol.com.br/folha/ciencia/images/0825246.jpg) -</div> - -Regeneração -=========== - -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. - -<div class="centered" markdown="1"> -![Regeneração da hidra](http://image.wistatutor.com/content/growth-regeneration-ageing/regeneration-hydra.jpeg) -</div> - -Hidra em processo -================= - -<div class="centered" markdown="1"> -![Regeneração da Hidra](http://www.uni-kiel.de/zoologie/bosch/jpg/bosch_fig2.jpg) -</div> - -Hidra em processo - 2 -===================== - -<div class="centered" markdown="1"> -![Regeneração da Hidra](http://www.uni-kiel.de/zoologie/bosch/jpg/bosch_fig3.jpg) -</div> - -%% Hidra em processo - 3 -%% ===================== -%% -%%![Regeneração da Hidra](http://odelberglab.genetics.utah.edu/images/HydraRgn-web.jpg) -%% -%%Fonte: http://odelberglab.genetics.utah.edu/regen_mech.htm - -%% Arredondamento de aglomerados celulares: -%% ======================================== -%% -%% http://hal.archives-ouvertes.fr/docs/00/02/92/51/PDF/rounding_revised.pdf - -Topologias -========== - - "[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. - -Fonte: [http://www.bbc.co.uk/news/world-11047811](http://www.bbc.co.uk/news/world-11047811) - -Possíveis montagens: anel, estrela, rizomática, etc. Frontends e backends. - -Parte 5: O Processo Hidra Saravento -=================================== - - 1. Apresenta Padrão Saravá (Sarava Pattern, [http://padrao.sarava.org](http://padrao.sarava.org)). - - 2. Utiliza Resource Sharing Protocol (RSP, [http://rsp.sarava.org](http://rsp.sarava.org)). - - 3. Considerando a adoção de padrões definidos de política de segurança e privacidade. - - 4. Organiza-se de acordo com protocolos ([http://protocolos.sarava.org](http://protocolos.sarava.org)). - -Na Hidra Saraventa, cada célula é chamada de "nodo": - - - Nodos físicos com servidores virtuais com fins específicos. - - - Nodos virtuais em diversos locais (inclusive hospedados por terceiros). - -Baseada no seguinte pricípio: quais problemas solucionaremos, quais não. - -O Padrão Saravá -=============== - -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: - - - Ter controle dos pacotes utilizados, arquivos de configuração e serviços em uso. - - - Uniformidade de administração. - - - Sistema de gerenciamento de backups comum para que as máquinas de um projeto possam trocar dados. - - - Que um servidor seja configurado apenas uma vez e que suas configurações possam ser aproveitados para outras máquinas. - - - Que sites e serviços sejam armazenados de maneira regular para facilitar atualizações e migrações. - - - Manter projetos e serviços isolados uns dos outros através de servidores virtuais. - - - Tornar a instalação dos servidores facilmente replicável. - -Dinâmica de desenvolvimento: - - Documentação wiki -> Configurações pré-gravadas -> Software - -Puppet -====== - -![Puppet: topologia](http://docs.reductivelabs.com/images/Puppet_Star.png) -![Puppet: diagrama de sistema](http://www.puppetlabs.com/images/system_diagram.png) - -Puppet: compartilhando configuração -=================================== - -Código puppet: - - file { '/etc/passwd': - owner => root, - group => root, - mode => 644, - } - -Módulos compartilhados: - - - [http://git.sarava.org](http://git.sarava.org) - - - [https://labs.riseup.net/code/projects/sharedpuppetmodules](https://labs.riseup.net/code/projects/sharedpuppetmodules) - -Git e gitosis -============= - -![VCS](http://hoth.entp.com/output/scm.png) -![VCS distribuído](http://hoth.entp.com/output/dscm.png) - -O Protocolo de Compartilhamento de Recursos -=========================================== - - "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 - -Orquestração -============ - -Para complementar a Configuração de sistemas padronizada e centralizada, procedimentos como - - 1. Atualização de pacotes. - 2. Atualização de código de gerenciadores de conteúdo. - 3. Carga de bancos de dados. - -podem ser codificados de forma a serem facilmente aplicados a múltiplas camadas de forma simultânea. - -Exemplos: - - - [https://git.sarava.org/?p=hydra.git;a=summary](https://git.sarava.org/?p=hydra.git;a=summary) - - [http://www.capify.org](http://www.capify.org) - - [http://marionette-collective.org](http://marionette-collective.org) - - [https://fedorahosted.org/func](https://fedorahosted.org/func) - - [http://fabfile.org](http://fabfile.org) - - [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) - -Ikiwiki -======= - -O Ikiwiki ([http://ikiwiki.info](http://ikiwiki.info)) é um software de wiki que usa um sistema de controle de versão e arquivos de texto, possibilitando: - - 1. A existência de múltiplas cópias integrais do wiki (online e offline). - 2. Desenvolvimento distribuído de documentação. - -O ikiwiki é muito útil para reunir documentação de sistemas, já que não necessita de nenhum sistema web funcional para abrigá-la. - -Virtualização -============= - -Virtualização através de Linux-VServer (existem outras implementações possíveis): - - - [http://www.linux-vserver.org](http://www.linux-vserver.org) - - [http://slack.sarava.org/vservers](http://slack.sarava.org/vservers) - -Principais vantagens: - - - Permite diversos grupos compartilharem uma mesma máquina presevando sua autonomia. - - - 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. - -Keyringer e monkeysphere -======================== - -O Keyringer ([http://git.sarava.org/?p=keyringer.git;a=summary](http://git.sarava.org/?p=keyringer.git;a=summary)) é um repositório distribuído de senhas/chaves baseado em GPG e git. - -O monkeysphere ([http://web.monkeysphere.info](http://web.monkeysphere.info)) é 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. - -Tecnologia bootless -=================== - -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. - -Com acesso físico à máquina, é possível infectar tais dados de inicialização e comprometer a criptografia de todo o sistema. - -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. - -Assim, é possível manter a parte de inicialização fora da máquina, por exemplo em chaveiros USB. - -Projeto similar: [http://lfde.org](http://lfde.org) - -Monitoramento: nagios -===================== - -<div class="centered" markdown="1"> -![Nagios](http://nagios.sourceforge.net/images/screens/new/statusmap-circular.png) -</div> - -Monitoramento: munin -==================== - -<div class="centered" markdown="1"> -![Munin](http://upload.wikimedia.org/wikipedia/commons/c/ce/Munin-memory-week.png) -</div> - -%%![Munin: icecast](http://static.k5-storitve.net/site_media/images/plugins/262-1215526146-icecast2.png) -%%Fonte: [http://exchange.munin-monitoring.org/plugins/icecast2/details](http://exchange.munin-monitoring.org/plugins/icecast2/details) - -Backups -======= - -Estratégia: - - 1. Backups locais criptografados com duplicity: - - Incluindo apenas `/etc`, `/var`, `/home`. - - Excluindo logs, cache e backups remotos. - 2. Backups remotos apenas do backup local em duplicity, via rdiff ou rsync. - 3. Nodos designados para armazenamento de backups. - 4. Incrementos locais e remotos para aumentar consistência dos dados. - 5. Procedimento integrado de restore e ativação de nodo. - -Hardware e custos -================= - - - Servidor mini-ITX Atom dual core + 2GB RAM + 1TB: R$680.00. - - Nobreaks APC: +/- R$500,00. - - Banda larga ADSL/cabo: R$80,00 a R$200,00. - - Energia: 180W (mini-ITX) máx. - - Sistema pode ser instalado inclusive em memórias de estado sólido (microSD por exemplo). - -<div class="centered" markdown="1"> -![Mini ITX](http://upload.wikimedia.org/wikipedia/commons/thumb/2/23/Mini-itx-motherboard.jpg/800px-Mini-itx-motherboard.jpg) -</div> - -Utilidades: adaptador para discos -================================= - -<div class="centered" markdown="1"> -![Adaptador SATA](http://www.sataadapter.com/sata-to-usb-adapter-cable-for-windows-and-mac.jpg) -</div> - -Utilidades: chave de entropia -============================= - -![Entropy key](http://www.entropykey.co.uk/res/device.jpeg) -![Entropy graph](http://www.entropykey.co.uk/res/entropy-trite-small-nq8.png) - -Segurança -========= - -Acesso remoto: - - - Contas SSH administrativas em todos os nodos. - - - Contas SSH de backup para nodos de backup. - - - Contas SSH de tunelamento para nodos diversos. - -Análise: - - 1. É importante isolar o máximo a capacidade de acesso para contas de nodos de backup ou que tunelem conexões. - - 2. Administradores/as precisam ter boas medidas de segurança: - - Pasta criptografada. - - Senhas e chaves seguras. - -Protocolos sociais -================== - - - Protocolo de Ação Coletiva: [http://protocolos.sarava.org](http://protocolos.sarava.org). - - Outros protocolos e metodologias (contabilidade, acesso à informação, relação com grupos, etc). - - Uso de um sistema de gestão de processos (trac ou similar). - - .------------------->-----------------. - / .----------<--------------<-------. \ - | ' \ \ - | | .------>-----. \ \ - | | | \ \ \ - Proposta -----> Discussão ->--. \ \ \ - | ^ | \ \ \ \ - | | | \ \ \ \ - | `----<-----' | \ \ \ - | | | \ \ - `------>------ Decisão --<--' | \ \ - | | | \ \ - | | | | | - Atribuição de --<---' '---> Arquivamento --->---' ; - Responsabilidades ----->-------' ^ \ / - ^ | ___________/ `---<-----' - | \ .' - | `--> Realização -->--. - | | | \ - | | | / - `----<-----' `-----<---' - -Resumo: Estratégia de gestão -============================ - - - Facilitar instalação, manutenção e gestão de dados. - - - Manter backups em máquinas prontas para serem inicializadas. - - - Manter nodos master prontos para assumirem o posto de "cabeça ativa". - -Parte 6: A Confederação das Hidras Unidas -========================================= - -<div class="centered" markdown="1"> -![Hidra Cluster](http://apod.nasa.gov/apod/image/0104/hydra_aat116.jpg) -</div> - -A Confederação das Hidras Unidas -================================ - - - Hidra é um processo, não uma tecnologia, implementação, sistema ou serviço. - - - Assim, é possível ter hidras menos sistematizadas e com diferentes formas de organização. O processo já ocorre em vários locais. - - - Havendo várias hidras, se elas se integram passa a existir a Confederação das Hidras Unidas. - - - Importante questão do licenciamento: AGPL 3.0 para garantir o máximo possível da disponibilização de código e documentação. - - - Não é estritamente necessária a criação de uma "confederação", já que a cultura de hidras pode ser não-coordenada. - -Parte 7: Nuvens e Hidras -======================== - -Hidras são nuvens (cloud computing)? - - - 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. - - - Cloud computing é uma iniciativa do mercado e uma tendência à terceirização total das atividades. - - - A Hidra leva em consideração a organização social que suporta a infraestrutura computacional. - - - A Hidra é uma nuvem na qual certos nodos desempenham papéis determinados, porém contendo o germe de toda a organização. - - - Outra classe de nuvens: botnets. - -Nuvens: diagramas -================= - -![Camadas](http://upload.wikimedia.org/wikipedia/commons/thumb/3/3a/Cloud_Computing_Stack.svg/340px-Cloud_Computing_Stack.svg.png) -![Arquitetura](http://upload.wikimedia.org/wikipedia/commons/thumb/7/79/CloudComputingSampleArchitecture.svg/550px-CloudComputingSampleArchitecture.svg.png) - -Tipos de nuvens -=============== - -<div class="centered" markdown="1"> -![Tipos de nuvens](http://upload.wikimedia.org/wikipedia/commons/thumb/8/87/Cloud_computing_types.svg/800px-Cloud_computing_types.svg.png) -</div> - -Parte 8: Futuro -=============== - - - Hidra Saraventa: ainda em intenso desenvolvimento, porém já em estágio maduro. Falta (em agosto/2010): - - Melhoria no procedimento de bootstrap. - - Integração com DNS. - - Sistema de proxy para balanceamento de carga. - - Melhoria de procedimentos de sunsetting de sítios, plataformas e contas. - - Longuíssimo prazo, caso realizável: possibilidade de um nodo ser convertido de uma classe para outra. - - Procedimentos para suporte jurídico. - - Nodos em conexões DSL e cabo: IP dinâmico, DNS reverso, etc. - - VPN entre os nodos, Puppet Dashboard?, External node tool? - - Migrar para Linux Containers (lxc). - - Melhoria da documentação e representações gráficas do processo. - - Storage de dados distribuído. - - Hidras via Rádio. - - Hidras em outros tipos de organizações sociais. - -Parte 9: Conclusões -=================== - - - Resolver a replicação e escalabilidade primeiro na infraestrutura (máquinas, configurações e backups), depois nas camadas superiores (CMSs, por exemplo) - - - 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. - - - 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. - - - 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). - -Parte 10: Referências -===================== - -Referências: imagens usadas -=========================== - - - [http://en.wikipedia.org/wiki/File:Hydra\_04.jpg](http://en.wikipedia.org/wiki/File:Hydra_04.jpg) - - [http://en.wikipedia.org/wiki/File:Hydra001.jpg](http://en.wikipedia.org/wiki/File:Hydra001.jpg) - - [http://code.google.com/edu/parallel/dsd-tutorial.html](http://code.google.com/edu/parallel/dsd-tutorial.html) - - [http://en.wikipedia.org/wiki/File:DNS_in_the_real_world.svg](http://en.wikipedia.org/wiki/File:DNS_in_the_real_world.svg) - - [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) - - [http://www.autistici.org/orangebook/slides/orangebook.en.html](http://www.autistici.org/orangebook/slides/orangebook.en.html). - - [http://www.autistici.org/orangebook/slides/orangebook.en.html](http://www.autistici.org/orangebook/slides/orangebook.en.html) - - [http://perl.apache.org/docs/tutorials/apps/scale_etoys/machine_layout.png](http://perl.apache.org/docs/tutorials/apps/scale_etoys/machine_layout.png) - - [http://en.wikipedia.org/wiki/File:ICEgrid.png](http://en.wikipedia.org/wiki/File:ICEgrid.png) - - [http://www.ibiblio.org/pioneers/baran.html](http://www.ibiblio.org/pioneers/baran.html) - - [http://www1.folha.uol.com.br/folha/ciencia/ult306u442499.shtml](http://www1.folha.uol.com.br/folha/ciencia/ult306u442499.shtml) - - [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) - - [http://www.uni-kiel.de/zoologie/bosch/developmentalbiology.html](http://www.uni-kiel.de/zoologie/bosch/developmentalbiology.html) - - [http://www.uni-kiel.de/zoologie/bosch/developmentalbiology.html](http://www.uni-kiel.de/zoologie/bosch/developmentalbiology.html) - - [http://www.puppetlabs.com/puppet/introduction](http://www.puppetlabs.com/puppet/introduction) - - [http://docs.reductivelabs.com/guides/introduction.html](http://docs.reductivelabs.com/guides/introduction.html) - - [http://www.nagios.org/about/screenshots](http://www.nagios.org/about/screenshots) - - [http://en.wikipedia.org/wiki/File:Munin-memory-week.png](http://en.wikipedia.org/wiki/File:Munin-memory-week.png) - - [http://hoth.entp.com/output/git_for_designers.html](http://hoth.entp.com/output/git_for_designers.html) - - [http://en.wikipedia.org/wiki/Mini-itx](http://en.wikipedia.org/wiki/Mini-itx) - - [http://www.sataadapter.com](http://www.sataadapter.com) - - [http://www.entropykey.co.uk](http://www.entropykey.co.uk) - - [http://apod.nasa.gov/apod/ap010416.html](http://apod.nasa.gov/apod/ap010416.html) - - [http://en.wikipedia.org/wiki/File:Cloud_Computing_Stack.svg](http://en.wikipedia.org/wiki/File:Cloud_Computing_Stack.svg) - - [http://en.wikipedia.org/wiki/File:CloudComputingSampleArchitecture.svg](http://en.wikipedia.org/wiki/File:CloudComputingSampleArchitecture.svg) - - [http://en.wikipedia.org/wiki/File:Cloud_computing_types.svg](http://en.wikipedia.org/wiki/File:Cloud_computing_types.svg) |