SlideShare ist ein Scribd-Unternehmen logo
1 von 42
onix
Uma plataforma de desenvolvimento
para controle distribuído
introdução


o Cloud computing – a evolução

o Paradigma geral de controle

o Provisão de serviços

o Foco em lógica ao invés de infraestrutura
introdução

o Modelo tradicional

o Dificuldade na criação de funções de controle

o Exige criação de protocolo próprio

o Envolvimento no aspecto baixo nível
introdução
o Plataforma genérica

o Controle em nível de rede

o Abstração de distribuição de estado

o Interface para desenvolvimento

o “Abaixo a tiqão de baixo nítel !”
introdução
o Plano de controle | Plano de encaminhamento

o 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 desenvolvimento

o Rede definida por software - SDN
introdução

o Modelo RDS

o Nova função implementada sobre a API

o Dificuldades por conta da plataforma

 o Primitivas de distribuição de estado
 o Uso de técnicas consolidadas
introdução

o Mas...
    ...e os...
            Desafios!

 o   Generalidade
 o   Escalabilidade
 o   Confiabilidade
 o   Simplicidade
 o   Desempenho
arquitetura


o Componentes - Infraestrutura Física

 o Switches

 o Roteadores

 o Outros elementos de rede manipuláveis
arquitetura

o Componentes - Conectividade




o Canal de controle
o In band x Out of band
o Comunicação bidirecional
o Protocolos padrão
arquitetura

o Componentes - Onix
 o Sistema distribuído
 o Cluster de um ou mais servidores
 o Cada um  Uma ou mais instâncias da Onix

o Responsabilidades
 o Habilitar lógica das aplicações
 o Operar sobre estados dos elementos
 o Disseminar estados
arquitetura


o Componentes - Lógica de Controle

 o Codificada sobre a API

 o Determina comportamento da rede

 o Determina características da aplicação
arquitetura
o API
 o “... úril e genépica ...”
 o Visibilidade da rede
 o Ler escrever estados

o Modelo de dados
  o Elemento de rede  Objeto
  o Ler, escrever
  o NIB – Cópia da rede
arquitetura

                     1   n                2   1
              Node                 Port           Link




 Forwarding
              Host       Network
   Engine

    1

    n

 Forwarding
   Table
arquitetura

o NIB (Network Information Base)

o Mecanismo de replicação e distribuição
o   Mantém entidades de rede
o   Elementos de rede ou suas subpartes
o   Identificador global 128-bits
o   Atributos (chave-valor)
o   Métodos
arquitetura
Categoria            Finalidade
Consulta             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.
arquitetura
o 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
arquitetura
o 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
mecanismo de distribuição
o Observações sobre aplicações
 o Escalabilidade
 o Frequência de atualização
 o Durabilidade
 o Consistência

o Opções quanto a taxa de atualização
 ( ) Alta  Disponibilidade
 ( ) Baixa  Consistência e durabilidade
mecanismo de distribuição
o 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
mecanismo de distribuição
o 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
mecanismo de distribuição
o 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
mecanismo de distribuição
o 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
mecanismo de distribuição
o 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
mecanismo de distribuição
o 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}
escalabilidade e confiabilidade

o 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
escalabilidade e confiabilidade

o Escalabilidade

 o Particionamento

 o Agregação

 o Consistência e durabilidade
escalabilidade e confiabilidade
o 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
escalabilidade e confiabilidade
o 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
escalabilidade e confiabilidade
o Confiabilidade
 o Gerência de falha:

    o Elementos de rede

    o Link

    o Instância Onix

    o Conectividade
escalabilidade e confiabilidade
o 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?
escalabilidade e confiabilidade
o 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}
implementação
o 150000 linhas de código C++
o Bibliotecas de terceiros

o Contém lógica para
 o Comunicação com elementos de rede
 o Gestão de informação na NIB
 o Framework para desenvolvedores

o Comunicação por RPC sobre conexões IPC
o Suporte a linguagens: C++, Python e Java
implementação
o Módulos escritos com baixo acoplamento

o Substituição sem recompilação
 o Interface deve permanecer a mesma

o {Carga, descarga} dinâmica de componentes

o Desenvolvedor deve expressar as dependências
 o Assegurar ordem apropriada de {carga, descarga}
aplicações
o Distributed Virtual Switch

o Ambientes corporativos virtualizados
o Switches  Baseados em software
o Milhares ou dez. de milhares de VMs
o Ambientes altamente dinâmicos
 o Criação, exclusão, migração on-the-fly
o Distributed Virtual Switch (DVS)
aplicações
o Distributed Virtual Switch
o DVS provê abstração lógico de switch
 o Nas portas declaram-se políticas
 o Ligadas nas VMs pelo hypervisor
o DVS assegura que
 o Políticas (imagem) VMs

o Nada de reconfiguração manual
o Ok. Mas E A ONIX ?
aplicações
o Distributed Virtual Switch
o Onix não se envolve no encaminhamento
o Invocada quando as VMs são:
 o Criadas, excluídas ou migradas
o Pools
o VMs tipicamente não migram entre pools
 o A lógica de controle particiona-se em pools
o Uma instância Onix (1)  (1) Pool
aplicações
o Distributed Virtual Switch
o Configuração dos switches armazenadas no BD
o Localização das VMs
 o Desconhecida entre instâncias Onix


o Em caso de falha
 o Rede ainda pode operar
 o VMs dinâmicas no way !
aplicações
o Data centers virtualizados multi locatários
o Responsabilidades da rede
 o Gerenciar a dinâmica de host
 o Isolar endereçamento e recursos
 o Ex.: Sobreposição de IP ou MAC

o Aplicação baseada na Onix
 o Permite criar redes locatárias
 o Cada uma com configuração independente
aplicações
o Data centers virtualizados multi locatários
o Funções da lógica de controle
 o Estabelecer túneis entre hypervisor da mesmo rede
 o Particionar a rede entre instâncias Onix

o 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
conclusão

o {Ambientes, Soluções, Protocolos} específicos
 o Exigem abordagem baixo nível
o Onix
 o Abstração de nível físico
 o Foco em lógica

o Facilidade de inclusão de novas técnicas
o Facilidade de inclusão de novos algoritmos
o Customização baixo nível em serviço sob demanda
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.
perguntas




            ?

Weitere ähnliche Inhalte

Andere mochten auch

Aptare | Mútuo aprendizado, por Louise Plouffe
Aptare | Mútuo aprendizado, por Louise PlouffeAptare | Mútuo aprendizado, por Louise Plouffe
Aptare | Mútuo aprendizado, por Louise PlouffeMárcia Tavares
 
Torres angelica aa2_evidencias
Torres angelica aa2_evidenciasTorres angelica aa2_evidencias
Torres angelica aa2_evidenciasAngelica Torres
 
11 dificultades-especc3adficas-de-aprendizaje -dislexia
11 dificultades-especc3adficas-de-aprendizaje -dislexia11 dificultades-especc3adficas-de-aprendizaje -dislexia
11 dificultades-especc3adficas-de-aprendizaje -dislexiaAmparo Psiquemúsica
 
Portafolio digital 2
Portafolio digital 2Portafolio digital 2
Portafolio digital 2Elloy Joseph
 
Primeiro Encontro Presencial - Formação para Escola
Primeiro Encontro Presencial - Formação para EscolaPrimeiro Encontro Presencial - Formação para Escola
Primeiro Encontro Presencial - Formação para EscolaFredcslima
 
Dados Fanpage Juscelino Acústico Bar NOV/2011-FEV/2012
Dados Fanpage Juscelino Acústico Bar NOV/2011-FEV/2012Dados Fanpage Juscelino Acústico Bar NOV/2011-FEV/2012
Dados Fanpage Juscelino Acústico Bar NOV/2011-FEV/2012Soluções Marketing Digital
 
Lista mec cin 02 ordem de grandeza
Lista mec cin 02   ordem de grandezaLista mec cin 02   ordem de grandeza
Lista mec cin 02 ordem de grandezaIvys Urquiza
 
Sistema genesis portales institucionales
Sistema genesis   portales institucionalesSistema genesis   portales institucionales
Sistema genesis portales institucionalesTaTa Jmz
 
Os tipos de internet 2
Os tipos de internet 2Os tipos de internet 2
Os tipos de internet 2grupointernet
 
Curso Desenvolvimento de Dashboards com o Excel 2007 e 2010
Curso Desenvolvimento de Dashboards com o Excel 2007 e 2010Curso Desenvolvimento de Dashboards com o Excel 2007 e 2010
Curso Desenvolvimento de Dashboards com o Excel 2007 e 2010Grupo Treinar
 
Apresentação do Ramo Estudantil IEEE
Apresentação do Ramo Estudantil IEEEApresentação do Ramo Estudantil IEEE
Apresentação do Ramo Estudantil IEEESamaronne Do Carmo
 
2010 10-13 apresentação
2010 10-13 apresentação2010 10-13 apresentação
2010 10-13 apresentaçãograbecker
 
Bermudismo umafilosofiade trabalho
Bermudismo umafilosofiade trabalhoBermudismo umafilosofiade trabalho
Bermudismo umafilosofiade trabalhoossobuco
 
Curso COBIT 4.1 Foundation em Sao Paulo - Synercorp
Curso COBIT 4.1 Foundation em Sao Paulo - SynercorpCurso COBIT 4.1 Foundation em Sao Paulo - Synercorp
Curso COBIT 4.1 Foundation em Sao Paulo - SynercorpGrupo Treinar
 

Andere mochten auch (20)

Aptare | Mútuo aprendizado, por Louise Plouffe
Aptare | Mútuo aprendizado, por Louise PlouffeAptare | Mútuo aprendizado, por Louise Plouffe
Aptare | Mútuo aprendizado, por Louise Plouffe
 
1 gabarito 7ªa e 8
1 gabarito 7ªa e 81 gabarito 7ªa e 8
1 gabarito 7ªa e 8
 
Digital Age20 Agosto2010
Digital Age20 Agosto2010Digital Age20 Agosto2010
Digital Age20 Agosto2010
 
Presion Relativa
Presion RelativaPresion Relativa
Presion Relativa
 
Torres angelica aa2_evidencias
Torres angelica aa2_evidenciasTorres angelica aa2_evidencias
Torres angelica aa2_evidencias
 
11 dificultades-especc3adficas-de-aprendizaje -dislexia
11 dificultades-especc3adficas-de-aprendizaje -dislexia11 dificultades-especc3adficas-de-aprendizaje -dislexia
11 dificultades-especc3adficas-de-aprendizaje -dislexia
 
Portafolio digital 2
Portafolio digital 2Portafolio digital 2
Portafolio digital 2
 
Primeiro Encontro Presencial - Formação para Escola
Primeiro Encontro Presencial - Formação para EscolaPrimeiro Encontro Presencial - Formação para Escola
Primeiro Encontro Presencial - Formação para Escola
 
1 gabarito 7ªa e 8
1 gabarito 7ªa e 81 gabarito 7ªa e 8
1 gabarito 7ªa e 8
 
Dados Fanpage Juscelino Acústico Bar NOV/2011-FEV/2012
Dados Fanpage Juscelino Acústico Bar NOV/2011-FEV/2012Dados Fanpage Juscelino Acústico Bar NOV/2011-FEV/2012
Dados Fanpage Juscelino Acústico Bar NOV/2011-FEV/2012
 
Lista mec cin 02 ordem de grandeza
Lista mec cin 02   ordem de grandezaLista mec cin 02   ordem de grandeza
Lista mec cin 02 ordem de grandeza
 
Sistema genesis portales institucionales
Sistema genesis   portales institucionalesSistema genesis   portales institucionales
Sistema genesis portales institucionales
 
Os tipos de internet 2
Os tipos de internet 2Os tipos de internet 2
Os tipos de internet 2
 
Curso Desenvolvimento de Dashboards com o Excel 2007 e 2010
Curso Desenvolvimento de Dashboards com o Excel 2007 e 2010Curso Desenvolvimento de Dashboards com o Excel 2007 e 2010
Curso Desenvolvimento de Dashboards com o Excel 2007 e 2010
 
Apresentação do Ramo Estudantil IEEE
Apresentação do Ramo Estudantil IEEEApresentação do Ramo Estudantil IEEE
Apresentação do Ramo Estudantil IEEE
 
Marcas e logotipos
Marcas e logotiposMarcas e logotipos
Marcas e logotipos
 
2010 10-13 apresentação
2010 10-13 apresentação2010 10-13 apresentação
2010 10-13 apresentação
 
Bermudismo umafilosofiade trabalho
Bermudismo umafilosofiade trabalhoBermudismo umafilosofiade trabalho
Bermudismo umafilosofiade trabalho
 
7septimo ano 2010
7septimo ano 20107septimo ano 2010
7septimo ano 2010
 
Curso COBIT 4.1 Foundation em Sao Paulo - Synercorp
Curso COBIT 4.1 Foundation em Sao Paulo - SynercorpCurso COBIT 4.1 Foundation em Sao Paulo - Synercorp
Curso COBIT 4.1 Foundation em Sao Paulo - Synercorp
 

Ähnlich wie Onix, uma plataforma de desenvolvimento para controle distribuído

Arquiteturas de Gerência de Redes
Arquiteturas de Gerência de RedesArquiteturas de Gerência de Redes
Arquiteturas de Gerência de RedesFrederico Madeira
 
apresentação RINA FI INATEL
apresentação RINA FI INATELapresentação RINA FI INATEL
apresentação RINA FI INATELMarco Casaroli
 
Onix: Uma plataforma de desenvolvimento para controle distribuído
Onix: Uma plataforma de desenvolvimento  para controle distribuídoOnix: Uma plataforma de desenvolvimento  para controle distribuído
Onix: Uma plataforma de desenvolvimento para controle distribuídowelingtonms
 
Introdução aos sistemas distribuídos on-line para processamento de fluxos de ...
Introdução aos sistemas distribuídos on-line para processamento de fluxos de ...Introdução aos sistemas distribuídos on-line para processamento de fluxos de ...
Introdução aos sistemas distribuídos on-line para processamento de fluxos de ...André Leon S. Gradvohl
 
Introdução a Gerência de Redes
Introdução a Gerência de RedesIntrodução a Gerência de Redes
Introdução a Gerência de RedesFrederico Madeira
 
Modelos TCP/IP e OSI para CCNA
Modelos TCP/IP e OSI para CCNAModelos TCP/IP e OSI para CCNA
Modelos TCP/IP e OSI para CCNAwolkartt_18
 
Situação da migração para PostgreSQL
Situação da migração para PostgreSQLSituação da migração para PostgreSQL
Situação da migração para PostgreSQLLeonardo Cezar
 
Zabbix FLISOL Campinas 28-04-2012
Zabbix FLISOL Campinas 28-04-2012Zabbix FLISOL Campinas 28-04-2012
Zabbix FLISOL Campinas 28-04-2012André Déo
 
Gerência - Aula 01
Gerência - Aula 01Gerência - Aula 01
Gerência - Aula 01Marcus Lucas
 
Microservices Architecture Workshop
Microservices Architecture WorkshopMicroservices Architecture Workshop
Microservices Architecture WorkshopClaudio Acquaviva
 
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...tdc-globalcode
 
TDC Floripa 2017 - Criando Microservices Reativos com Java
TDC Floripa 2017 - Criando Microservices Reativos com JavaTDC Floripa 2017 - Criando Microservices Reativos com Java
TDC Floripa 2017 - Criando Microservices Reativos com JavaRodrigo Cândido da Silva
 

Ähnlich wie Onix, uma plataforma de desenvolvimento para controle distribuído (20)

Arquiteturas de Gerência de Redes
Arquiteturas de Gerência de RedesArquiteturas de Gerência de Redes
Arquiteturas de Gerência de Redes
 
Nagios
NagiosNagios
Nagios
 
apresentação RINA FI INATEL
apresentação RINA FI INATELapresentação RINA FI INATEL
apresentação RINA FI INATEL
 
Docker para devs .NET
Docker para devs .NETDocker para devs .NET
Docker para devs .NET
 
Onix: Uma plataforma de desenvolvimento para controle distribuído
Onix: Uma plataforma de desenvolvimento  para controle distribuídoOnix: Uma plataforma de desenvolvimento  para controle distribuído
Onix: Uma plataforma de desenvolvimento para controle distribuído
 
Gerana
GeranaGerana
Gerana
 
Introdução aos sistemas distribuídos on-line para processamento de fluxos de ...
Introdução aos sistemas distribuídos on-line para processamento de fluxos de ...Introdução aos sistemas distribuídos on-line para processamento de fluxos de ...
Introdução aos sistemas distribuídos on-line para processamento de fluxos de ...
 
Introdução a Gerência de Redes
Introdução a Gerência de RedesIntrodução a Gerência de Redes
Introdução a Gerência de Redes
 
SO2 - Windows 7
SO2 - Windows 7SO2 - Windows 7
SO2 - Windows 7
 
Modelos TCP/IP e OSI para CCNA
Modelos TCP/IP e OSI para CCNAModelos TCP/IP e OSI para CCNA
Modelos TCP/IP e OSI para CCNA
 
Situação da migração para PostgreSQL
Situação da migração para PostgreSQLSituação da migração para PostgreSQL
Situação da migração para PostgreSQL
 
Zabbix FLISOL Campinas 28-04-2012
Zabbix FLISOL Campinas 28-04-2012Zabbix FLISOL Campinas 28-04-2012
Zabbix FLISOL Campinas 28-04-2012
 
Monolith - An epic journey
Monolith - An epic journeyMonolith - An epic journey
Monolith - An epic journey
 
IoT Frameworks
IoT FrameworksIoT Frameworks
IoT Frameworks
 
Agr aula3
Agr aula3Agr aula3
Agr aula3
 
Gerência - Aula 01
Gerência - Aula 01Gerência - Aula 01
Gerência - Aula 01
 
Microservices Architecture Workshop
Microservices Architecture WorkshopMicroservices Architecture Workshop
Microservices Architecture Workshop
 
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
 
TDC Floripa 2017 - Criando Microservices Reativos com Java
TDC Floripa 2017 - Criando Microservices Reativos com JavaTDC Floripa 2017 - Criando Microservices Reativos com Java
TDC Floripa 2017 - Criando Microservices Reativos com Java
 
Roteamento
RoteamentoRoteamento
Roteamento
 

Mehr von welingtonms

Status Report - A COGNITIVE PRIVACY FRAMEWORK TO A SMART CITY ARCHITECTURE BA...
Status Report - A COGNITIVE PRIVACY FRAMEWORK TO A SMART CITY ARCHITECTURE BA...Status Report - A COGNITIVE PRIVACY FRAMEWORK TO A SMART CITY ARCHITECTURE BA...
Status Report - A COGNITIVE PRIVACY FRAMEWORK TO A SMART CITY ARCHITECTURE BA...welingtonms
 
Componentização e padrões de projeto e interface em Android
Componentização e padrões de projeto e interface em AndroidComponentização e padrões de projeto e interface em Android
Componentização e padrões de projeto e interface em Androidwelingtonms
 
Criptografia, da pré-história às guerras
Criptografia, da pré-história às guerrasCriptografia, da pré-história às guerras
Criptografia, da pré-história às guerraswelingtonms
 
Mobl, A toolkit to web mobile app development
Mobl, A toolkit to web mobile app developmentMobl, A toolkit to web mobile app development
Mobl, A toolkit to web mobile app developmentwelingtonms
 

Mehr von welingtonms (7)

Status Report - A COGNITIVE PRIVACY FRAMEWORK TO A SMART CITY ARCHITECTURE BA...
Status Report - A COGNITIVE PRIVACY FRAMEWORK TO A SMART CITY ARCHITECTURE BA...Status Report - A COGNITIVE PRIVACY FRAMEWORK TO A SMART CITY ARCHITECTURE BA...
Status Report - A COGNITIVE PRIVACY FRAMEWORK TO A SMART CITY ARCHITECTURE BA...
 
Sprint3
Sprint3Sprint3
Sprint3
 
Sprint2
Sprint2Sprint2
Sprint2
 
Sprint1
Sprint1Sprint1
Sprint1
 
Componentização e padrões de projeto e interface em Android
Componentização e padrões de projeto e interface em AndroidComponentização e padrões de projeto e interface em Android
Componentização e padrões de projeto e interface em Android
 
Criptografia, da pré-história às guerras
Criptografia, da pré-história às guerrasCriptografia, da pré-história às guerras
Criptografia, da pré-história às guerras
 
Mobl, A toolkit to web mobile app development
Mobl, A toolkit to web mobile app developmentMobl, A toolkit to web mobile app development
Mobl, A toolkit to web mobile app development
 

Onix, uma plataforma de desenvolvimento para controle distribuído

  • 1. onix Uma plataforma de desenvolvimento para controle distribuído
  • 2. introdução o Cloud computing – a evolução o Paradigma geral de controle o Provisão de serviços o Foco em lógica ao invés de infraestrutura
  • 3. introdução o Modelo tradicional o Dificuldade na criação de funções de controle o Exige criação de protocolo próprio o Envolvimento no aspecto baixo nível
  • 4. introdução o Plataforma genérica o Controle em nível de rede o Abstração de distribuição de estado o Interface para desenvolvimento o “Abaixo a tiqão de baixo nítel !”
  • 5. introdução o Plano de controle | Plano de encaminhamento o 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 desenvolvimento o Rede definida por software - SDN
  • 6. introdução o Modelo RDS o Nova função implementada sobre a API o Dificuldades por conta da plataforma o Primitivas de distribuição de estado o Uso de técnicas consolidadas
  • 7. introdução o Mas... ...e os... Desafios! o Generalidade o Escalabilidade o Confiabilidade o Simplicidade o Desempenho
  • 8. arquitetura o Componentes - Infraestrutura Física o Switches o Roteadores o Outros elementos de rede manipuláveis
  • 9. arquitetura o Componentes - Conectividade o Canal de controle o In band x Out of band o Comunicação bidirecional o Protocolos padrão
  • 10. arquitetura o Componentes - Onix o Sistema distribuído o Cluster de um ou mais servidores o Cada um  Uma ou mais instâncias da Onix o Responsabilidades o Habilitar lógica das aplicações o Operar sobre estados dos elementos o Disseminar estados
  • 11. arquitetura o Componentes - Lógica de Controle o Codificada sobre a API o Determina comportamento da rede o Determina características da aplicação
  • 12. arquitetura o API o “... úril e genépica ...” o Visibilidade da rede o Ler escrever estados o Modelo de dados o Elemento de rede  Objeto o Ler, escrever o NIB – Cópia da rede
  • 13. arquitetura 1 n 2 1 Node Port Link Forwarding Host Network Engine 1 n Forwarding Table
  • 14. arquitetura o NIB (Network Information Base) o Mecanismo de replicação e distribuição o Mantém entidades de rede o Elementos de rede ou suas subpartes o Identificador global 128-bits o Atributos (chave-valor) o Métodos
  • 15. arquitetura Categoria Finalidade Consulta 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. arquitetura o 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. arquitetura o 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. mecanismo de distribuição o Observações sobre aplicações o Escalabilidade o Frequência de atualização o Durabilidade o Consistência o Opções quanto a taxa de atualização ( ) Alta  Disponibilidade ( ) Baixa  Consistência e durabilidade
  • 19. mecanismo de distribuição o 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. mecanismo de distribuição o 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. mecanismo de distribuição o 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. mecanismo de distribuição o 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. mecanismo de distribuição o 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. mecanismo de distribuição o 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. escalabilidade e confiabilidade o 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. escalabilidade e confiabilidade o Escalabilidade o Particionamento o Agregação o Consistência e durabilidade
  • 27. escalabilidade e confiabilidade o 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. escalabilidade e confiabilidade o 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. escalabilidade e confiabilidade o Confiabilidade o Gerência de falha: o Elementos de rede o Link o Instância Onix o Conectividade
  • 30. escalabilidade e confiabilidade o 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. escalabilidade e confiabilidade o 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. implementação o 150000 linhas de código C++ o Bibliotecas de terceiros o Contém lógica para o Comunicação com elementos de rede o Gestão de informação na NIB o Framework para desenvolvedores o Comunicação por RPC sobre conexões IPC o Suporte a linguagens: C++, Python e Java
  • 33. implementação o Módulos escritos com baixo acoplamento o Substituição sem recompilação o Interface deve permanecer a mesma o {Carga, descarga} dinâmica de componentes o Desenvolvedor deve expressar as dependências o Assegurar ordem apropriada de {carga, descarga}
  • 34. aplicações o Distributed Virtual Switch o Ambientes corporativos virtualizados o Switches  Baseados em software o Milhares ou dez. de milhares de VMs o Ambientes altamente dinâmicos o Criação, exclusão, migração on-the-fly o Distributed Virtual Switch (DVS)
  • 35. aplicações o Distributed Virtual Switch o DVS provê abstração lógico de switch o Nas portas declaram-se políticas o Ligadas nas VMs pelo hypervisor o DVS assegura que o Políticas (imagem) VMs o Nada de reconfiguração manual o Ok. Mas E A ONIX ?
  • 36. aplicações o Distributed Virtual Switch o Onix não se envolve no encaminhamento o Invocada quando as VMs são: o Criadas, excluídas ou migradas o Pools o VMs tipicamente não migram entre pools o A lógica de controle particiona-se em pools o Uma instância Onix (1)  (1) Pool
  • 37. aplicações o Distributed Virtual Switch o Configuração dos switches armazenadas no BD o Localização das VMs o Desconhecida entre instâncias Onix o Em caso de falha o Rede ainda pode operar o VMs dinâmicas no way !
  • 38. aplicações o Data centers virtualizados multi locatários o Responsabilidades da rede o Gerenciar a dinâmica de host o Isolar endereçamento e recursos o Ex.: Sobreposição de IP ou MAC o Aplicação baseada na Onix o Permite criar redes locatárias o Cada uma com configuração independente
  • 39. aplicações o Data centers virtualizados multi locatários o Funções da lógica de controle o Estabelecer túneis entre hypervisor da mesmo rede o Particionar a rede entre instâncias Onix o 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. conclusão o {Ambientes, Soluções, Protocolos} específicos o Exigem abordagem baixo nível o Onix o Abstração de nível físico o Foco em lógica o Facilidade de inclusão de novas técnicas o Facilidade de inclusão de novos algoritmos o Customização baixo nível em serviço sob demanda
  • 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.