onixUma plataforma de desenvolvimentopara controle distribuído
introduçãoo Cloud computing – a evoluçãoo Paradigma geral de controleo Provisão de serviçoso Foco em lógica ao invés de in...
introduçãoo Modelo tradicionalo Dificuldade na criação de funções de controleo Exige criação de protocolo próprioo Envolvi...
introduçãoo Plataforma genéricao Controle em nível de redeo Abstração de distribuição de estadoo Interface para desenvolvi...
introduçãoo Plano de controle | Plano de encaminhamentoo Funções da plataforma o   Coletar informações dos switches e... o...
introduçãoo Modelo RDSo Nova função implementada sobre a APIo Dificuldades por conta da plataforma o Primitivas de distrib...
introduçãoo Mas...    ...e os...            Desafios! o   Generalidade o   Escalabilidade o   Confiabilidade o   Simplicid...
arquiteturao Componentes - Infraestrutura Física o Switches o Roteadores o Outros elementos de rede manipuláveis
arquiteturao Componentes - Conectividadeo Canal de controleo In band x Out of bando Comunicação bidirecionalo Protocolos p...
arquiteturao Componentes - Onix o Sistema distribuído o Cluster de um ou mais servidores o Cada um  Uma ou mais instância...
arquiteturao Componentes - Lógica de Controle o Codificada sobre a API o Determina comportamento da rede o Determina carac...
arquiteturao API o “... úril e genépica ...” o Visibilidade da rede o Ler escrever estadoso Modelo de dados  o Elemento de...
arquitetura                     1   n                2   1              Node                 Port           Link Forwardin...
arquiteturao NIB (Network Information Base)o Mecanismo de replicação e distribuiçãoo   Mantém entidades de redeo   Element...
arquiteturaCategoria            FinalidadeConsulta             Buscar por entidades.Criar, excluir       Criar e excluir e...
arquiteturao NIB (Network Information Base) o Consulta direta o Notificações: adição, alteração ou remoção o Manipulação {...
arquiteturao NIB (Network Information Base) o NIB  Escalabilidade o Consistência ajustável o Detecção e resolução de conf...
mecanismo de distribuiçãoo Observações sobre aplicações o Escalabilidade o Frequência de atualização o Durabilidade o Cons...
mecanismo de distribuiçãoo Distribuição de estado entre instâncias Onix o Banco de dados replicado  o Durabilidade  o Cons...
mecanismo de distribuiçãoo Distribuição de estado entre instâncias Onix o Distributed Hash Table  o Disponibilidade  o Con...
mecanismo de distribuiçãoo Gerenciamento de estado de elemento de rede o Não usa protocolo particular o Qualquer protocolo...
mecanismo de distribuiçãoo Consistência e Coordenação o NIB é o point dos dados o “Não mexe aqsi!” o Aplicação declara que...
mecanismo de distribuiçãoo Consistência e Coordenação o Dois modos são disponibilizados:  o Modo 1    o Entidades são clas...
mecanismo de distribuiçãoo Consistência e Coordenação o Dois modos são disponibilizados:  o Modo 2   o Resolução de confli...
escalabilidade e confiabilidadeo Utilização da NIB determina o Propriedades de {escalabilidade, confiabilidade} o  número...
escalabilidade e confiabilidadeo Escalabilidade o Particionamento o Agregação o Consistência e durabilidade
escalabilidade e confiabilidadeo Escalabilidade o Suporte a três estratégias o Particionamento   o Instância mantem parte ...
escalabilidade e confiabilidadeo Escalabilidade o Consistência e durabilidade    o Através de mecanismos de bloqueio e    ...
escalabilidade e confiabilidadeo Confiabilidade o Gerência de falha:    o Elementos de rede    o Link    o Instância Onix ...
escalabilidade e confiabilidadeo Confiabilidade o Gerência de falha  o Elementos de rede e link     o Desviar tráfego de e...
escalabilidade e confiabilidadeo Confiabilidade o Gerência de falha  o Falha de conectividade     o Distribuição de estado...
implementaçãoo 150000 linhas de código C++o Bibliotecas de terceiroso Contém lógica para o Comunicação com elementos de re...
implementaçãoo Módulos escritos com baixo acoplamentoo Substituição sem recompilação o Interface deve permanecer a mesmao ...
aplicaçõeso Distributed Virtual Switcho Ambientes corporativos virtualizadoso Switches  Baseados em softwareo Milhares ou...
aplicaçõeso Distributed Virtual Switcho DVS provê abstração lógico de switch o Nas portas declaram-se políticas o Ligadas ...
aplicaçõeso Distributed Virtual Switcho Onix não se envolve no encaminhamentoo Invocada quando as VMs são: o Criadas, excl...
aplicaçõeso Distributed Virtual Switcho Configuração dos switches armazenadas no BDo Localização das VMs o Desconhecida en...
aplicaçõeso Data centers virtualizados multi locatárioso Responsabilidades da rede o Gerenciar a dinâmica de host o Isolar...
aplicaçõeso Data centers virtualizados multi locatárioso Funções da lógica de controle o Estabelecer túneis entre hypervis...
conclusãoo {Ambientes, Soluções, Protocolos} específicos o Exigem abordagem baixo nívelo Onix o Abstração de nível físico ...
referências 1. Hurwitz, Judith, Bloor, Robin e Kaufman, Marcia. Cloud computing for dummies -  HP Special Edition. Hoboke...
perguntas            ?
Próximos SlideShares
Carregando em…5
×

Onix, uma plataforma de desenvolvimento para controle distribuído

321 visualizações

Publicada em

  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Onix, uma plataforma de desenvolvimento para controle distribuído

  1. 1. onixUma plataforma de desenvolvimentopara controle distribuído
  2. 2. introduçãoo Cloud computing – a evoluçãoo Paradigma geral de controleo Provisão de serviçoso Foco em lógica ao invés de infraestrutura
  3. 3. introduçãoo Modelo tradicionalo Dificuldade na criação de funções de controleo Exige criação de protocolo próprioo Envolvimento no aspecto baixo nível
  4. 4. introduçãoo Plataforma genéricao Controle em nível de redeo Abstração de distribuição de estadoo Interface para desenvolvimentoo “Abaixo a tiqão de baixo nítel !”
  5. 5. introduçãoo Plano de controle | Plano de encaminhamentoo Funções da plataforma o Coletar informações dos switches e... o ... Distribuir o estado apropriado entre eles o Coordenar o estado entre servidores da plataforma o Prover uma API para desenvolvimentoo Rede definida por software - SDN
  6. 6. introduçãoo Modelo RDSo Nova função implementada sobre a APIo Dificuldades por conta da plataforma o Primitivas de distribuição de estado o Uso de técnicas consolidadas
  7. 7. introduçãoo Mas... ...e os... Desafios! o Generalidade o Escalabilidade o Confiabilidade o Simplicidade o Desempenho
  8. 8. arquiteturao Componentes - Infraestrutura Física o Switches o Roteadores o Outros elementos de rede manipuláveis
  9. 9. arquiteturao Componentes - Conectividadeo Canal de controleo In band x Out of bando Comunicação bidirecionalo Protocolos padrão
  10. 10. arquiteturao Componentes - Onix o Sistema distribuído o Cluster de um ou mais servidores o Cada um  Uma ou mais instâncias da Onixo Responsabilidades o Habilitar lógica das aplicações o Operar sobre estados dos elementos o Disseminar estados
  11. 11. arquiteturao Componentes - Lógica de Controle o Codificada sobre a API o Determina comportamento da rede o Determina características da aplicação
  12. 12. arquiteturao API o “... úril e genépica ...” o Visibilidade da rede o Ler escrever estadoso Modelo de dados o Elemento de rede  Objeto o Ler, escrever o NIB – Cópia da rede
  13. 13. arquitetura 1 n 2 1 Node Port Link Forwarding Host Network Engine 1 n Forwarding Table
  14. 14. arquiteturao NIB (Network Information Base)o Mecanismo de replicação e distribuiçãoo Mantém entidades de redeo Elementos de rede ou suas subparteso Identificador global 128-bitso Atributos (chave-valor)o Métodos
  15. 15. arquiteturaCategoria FinalidadeConsulta Buscar por entidades.Criar, excluir Criar e excluir entidades.Acesso a atributos Inspecionar e modificar entidades.Notificações Receber atualizações sobre mudanças.Sincronização Esperar que atualizações sejam aplicadas no conteúdo dos elementos da rede e dos controladores.Configuração Configurar como os estados são importados e exportados da NIB.Pull Solicitar que entidades sejam importadas sob demanda.
  16. 16. arquiteturao NIB (Network Information Base) o Consulta direta o Notificações: adição, alteração ou remoção o Manipulação {entidades  estado da rede} o Operações assíncronas o Eventualmente! o Sem garantia de ordenação ou latência o Eficiência x Necessidade o Primitiva de sincronização - callback
  17. 17. arquiteturao NIB (Network Information Base) o NIB  Escalabilidade o Consistência ajustável o Detecção e resolução de conflitos o Sem mecanismo de bloqueio distribuído o {requisição, liberação} de acesso exclusivo o Dependência dos mecanismos de distribuição
  18. 18. mecanismo de distribuiçãoo Observações sobre aplicações o Escalabilidade o Frequência de atualização o Durabilidade o Consistênciao Opções quanto a taxa de atualização ( ) Alta  Disponibilidade ( ) Baixa  Consistência e durabilidade
  19. 19. mecanismo de distribuiçãoo Distribuição de estado entre instâncias Onix o Banco de dados replicado o Durabilidade o Consistência o Problema de desempenho o Dados com baixas taxas de mudança o API SQL o Suporte a Importação e Exportação o Transações o Mudanças Banco de Dados  NIB
  20. 20. mecanismo de distribuiçãoo Distribuição de estado entre instâncias Onix o Distributed Hash Table o Disponibilidade o Consistência eventual o Armazenada em memória o Dados com altas taxas de mudança o Atualizações simultâneas o Estados inconsistentes o Aplicações resolvem o Evitam o conflitos ou atuação simultânea
  21. 21. mecanismo de distribuiçãoo Gerenciamento de estado de elemento de rede o Não usa protocolo particular o Qualquer protocolo é aceito o Condição o Sincronização o {Estado atual da rede, NIB}o OpenFlow o {Evento, Operações}  Estados o Manipulados como entidades da NIB
  22. 22. mecanismo de distribuiçãoo Consistência e Coordenação o NIB é o point dos dados o “Não mexe aqsi!” o Aplicação declara que dados import./export. o Integração sem exigências o Estados inconsistentes são armazenados o Fonte específica o Inconsistência entre diferentes fontes o Aplicações dizem como vão resolver
  23. 23. mecanismo de distribuiçãoo Consistência e Coordenação o Dois modos são disponibilizados: o Modo 1 o Entidades são classes C++ o Herança  lógica de detecção de inconsistência o Sem exposição a inconsistência o Mas.... E se acontece? o Mudanças inconsistentes ficam pendentes o ( ) Aplicadas na NIB ( ) Inválidas
  24. 24. mecanismo de distribuiçãoo Consistência e Coordenação o Dois modos são disponibilizados: o Modo 2 o Resolução de conflito na importação o {Fonte do dado, NIB}
  25. 25. escalabilidade e confiabilidadeo Utilização da NIB determina o Propriedades de {escalabilidade, confiabilidade} o  número de elementos  exaurir memória o  número de eventos  saturar CPU
  26. 26. escalabilidade e confiabilidadeo Escalabilidade o Particionamento o Agregação o Consistência e durabilidade
  27. 27. escalabilidade e confiabilidadeo Escalabilidade o Suporte a três estratégias o Particionamento o Instância mantem parte atualizada da NIB o Menor número de eventos para processar o Agregação o Expõe subconjunto da NIB como um agregado
  28. 28. escalabilidade e confiabilidadeo Escalabilidade o Consistência e durabilidade o Através de mecanismos de bloqueio e o Algoritmos de consistência ou o Detecção e resolução de conflitos o Alta durabilidade e consistência o Banco de dados o Volatilidade e tolerância a inconsistência o DHT
  29. 29. escalabilidade e confiabilidadeo Confiabilidade o Gerência de falha: o Elementos de rede o Link o Instância Onix o Conectividade
  30. 30. escalabilidade e confiabilidadeo Confiabilidade o Gerência de falha o Elementos de rede e link o Desviar tráfego de elementos problemáticos o Tempo mínimo: Disseminação + Recálculo o Instâncias Onix o Outra instância assume as responsabilidades o Gerenciamento redundante o Perda de atualização em atuação concorrente o Alterações {pode, não pode} ser sobrescrita?
  31. 31. escalabilidade e confiabilidadeo Confiabilidade o Gerência de falha o Falha de conectividade o Distribuição de estado separada da topologia o Conectividade requerida o {Elementos de rede, Instância Onix} o {Instância Onix, Instância Onix} o Rede {gerenciamento , tráfego} separadas o Topologia física é conhecida pela Onix o {Encaminhamento estático, Multipathing}
  32. 32. implementaçãoo 150000 linhas de código C++o Bibliotecas de terceiroso Contém lógica para o Comunicação com elementos de rede o Gestão de informação na NIB o Framework para desenvolvedoreso Comunicação por RPC sobre conexões IPCo Suporte a linguagens: C++, Python e Java
  33. 33. implementaçãoo Módulos escritos com baixo acoplamentoo Substituição sem recompilação o Interface deve permanecer a mesmao {Carga, descarga} dinâmica de componenteso Desenvolvedor deve expressar as dependências o Assegurar ordem apropriada de {carga, descarga}
  34. 34. aplicaçõeso Distributed Virtual Switcho Ambientes corporativos virtualizadoso Switches  Baseados em softwareo Milhares ou dez. de milhares de VMso Ambientes altamente dinâmicos o Criação, exclusão, migração on-the-flyo Distributed Virtual Switch (DVS)
  35. 35. aplicaçõeso Distributed Virtual Switcho DVS provê abstração lógico de switch o Nas portas declaram-se políticas o Ligadas nas VMs pelo hypervisoro DVS assegura que o Políticas (imagem) VMso Nada de reconfiguração manualo Ok. Mas E A ONIX ?
  36. 36. aplicaçõeso Distributed Virtual Switcho Onix não se envolve no encaminhamentoo Invocada quando as VMs são: o Criadas, excluídas ou migradaso Poolso VMs tipicamente não migram entre pools o A lógica de controle particiona-se em poolso Uma instância Onix (1)  (1) Pool
  37. 37. aplicaçõeso Distributed Virtual Switcho Configuração dos switches armazenadas no BDo Localização das VMs o Desconhecida entre instâncias Onixo Em caso de falha o Rede ainda pode operar o VMs dinâmicas no way !
  38. 38. aplicaçõeso Data centers virtualizados multi locatárioso Responsabilidades da rede o Gerenciar a dinâmica de host o Isolar endereçamento e recursos o Ex.: Sobreposição de IP ou MACo Aplicação baseada na Onix o Permite criar redes locatárias o Cada uma com configuração independente
  39. 39. aplicaçõeso Data centers virtualizados multi locatárioso Funções da lógica de controle o Estabelecer túneis entre hypervisor da mesmo rede o Particionar a rede entre instâncias Onixo Instância Onix o Gerencia subconjunto de hypervisors o Divulga seus pontos terminais na DHT o Outras instâncias o Configuram módulo importação DHT  NIB
  40. 40. conclusãoo {Ambientes, Soluções, Protocolos} específicos o Exigem abordagem baixo nívelo Onix o Abstração de nível físico o Foco em lógicao Facilidade de inclusão de novas técnicaso Facilidade de inclusão de novos algoritmoso Customização baixo nível em serviço sob demanda
  41. 41. referências 1. Hurwitz, Judith, Bloor, Robin e Kaufman, Marcia. Cloud computing for dummies - HP Special Edition. Hoboken, NJ : Wiley Publishing, Inc, 2010. 978-0-470-63881-1. 2. Koponen, Teemu, et al., et al. Onix: A Distribuited Control Platform for Large-Scale Production Networks. 3. Tanenbaum, Andrew. Distribuited Systems, Principles and Paradigms. New Jersey : Prentice Hall, 2007. 0-13-239227-5. 4. Kurose, James F. e Ross, Keith W. Computer networking, a top-down approach featuring the Internet. 3ª. s.l. : Pearson, 2006. 85-88639-18-1. 5. Akella, Aditya. Multi-Path Routing: A Different Perspective. s.l. : Carnagie Mellon University. 6. Elmasri, Ramez e Navathe, Shamkant B. Fundamentals of database systems. s.l. : Pearson, 2004. 0-321-12226-7. 7. Mckeown, N., et al., et al. OpenFlow: Enabling Innovation in Campus Networks. SIGCOMM CCR 38. 2, 2008. 8. Hunt, P., et al., et al. ZooKeeper: Wait-free Coordination for Internet-Scale Systems. Usenix Annual Technical Conference. Junho de 2010.
  42. 42. perguntas ?

×