660 likes | 752 Vues
Arquitetura do perfSONAR. José Augusto Suruagy Monteiro Baseado em slides do Jeff Boote (Internet2). Motivação e Objetivos Arquitetura Orientada a Serviços (SOA) Visão geral da Arquitetura Componentes de serviço Exemplos de clientes Interações do Arcabouço Implantando um serviço
E N D
Arquitetura do perfSONAR José Augusto Suruagy Monteiro Baseado em slides do Jeff Boote (Internet2)
Motivação e Objetivos • Arquitetura Orientada a Serviços (SOA) • Visão geral da Arquitetura • Componentes de serviço • Exemplos de clientes • Interações do Arcabouço • Implantando um serviço • Interação simples Cliente/Serviço • Eco • Solicitação de Metadados • Solicitação de Dados • Interação do serviço de descoberta (LS)
Motivação e Objetivos • Até agora vimos que o arcabouço do perfSONAR pode ser usado para resolver problemas de desempenho fim-a-fim para caminhos multidomínios. • O arcabouço é composto por diversos componentes e considerações de projeto únicos, todos os quais operam de forma cooperativa apesar de independente • Cada funcionalidade está separada numa função específica • Clientes e servidores interagem através de protocolos baseados em XML • Dados das medições são codificados em formatos expressivos XML
Arquitetura Orientada a Serviços (SOA) • Middleware de medições de redes interoperável: • Modular • Baseado em serviços Web • Descentralizado • Controlado localmente • Integra • Ferramentas de medições de rede e arquivos de dados • Manipulação de dados • Serviços de informação • Descoberta • Topologia • Autenticação e autorização • Baseado em: • Esquemas do Grupo de Trabalho de Medições de Rede (NM) do Open GridForum (OGF) • Atualmente está sendo formalizada a especificação dos protocolos perfSONAR no grupo de trabalho de Controle de Medições de Rede (NMC) • A descrição da topologia da rede está sendo definida pelo Grupo e Trabalho de Linguagem de Marcação de Rede (NML)
Arquitetura Orientada a Serviços (SOA) • Serviço de Ponto de Medição (MP – MeasurementPoint) • Permite o “disparo” de testes de desempenho • Serviço de Arquivo de Medições (MA – MeasurementArchive) • Armazena e publica os resultados de monitoração de desempenho • Serviço de Transformação • Transforma os dados (agregação, concatenação, correlação, tradução, etc.) • Protetor de recursos • Arbitra o consumo de recursos limitados • Outros serviços delegam a ele uma parte limitada das decisões de autorização Estes serviços dizem respeito especificamente à tarefa de monitoração e análise do desempenho de redes
Arquitetura Orientada a Serviços (SOA) • Serviço de Descoberta (LS – LookupService) • Permite ao cliente descobrir os serviços existentes e outros serviços LS. • Dinâmico: os serviços se registram no LS e mencionam as suas capacidades, eles também podem sair ou serem removidos se ficarem indisponíveis • Serviço de Topologia • Torna a informação sobre a topologia da rede disponível para o ambiente • Encontra o MP mais próximo, provê informações de topologia para as ferramentas de visualização • Serviço de Autenticação • Funcionalidade de autenticação e autorização para o ambiente • Os usuários podem ter diversos papeis, a autorização é realizada baseada no papel do usuário • Relação de confiança entre as redes Estes serviços correspondem à infraestrutura relacionada com a descoberta e federação entre os serviços de redes disponíveis
Arquitetura Orientada a Serviços (SOA) Ondepossoobtermaisinformações sobre o domínioB/IP d,e,fe o domínioA/IP a,b,c? gLS Gráficoútil Cliente LS A, LS B a,b,c : Rede A, MA A Obtenhautilização dos enlaces d,e,f Ondeestá a utilização dos enlaces para- IPs d,e,f? Tome Obtenhautilização dos enlaces a,b,c d,e,f : Rede B, MA B Tome LS A LS B MA B MA A a b f e c d Rede A Rede B
Visão Geral da Arquitetura do perfSONAR Infraestrutura Serviços de Informação Análise/Visualização Serviços de Dados Descoberta Pontos de Medição Interfaces Gráficas do Usuário Topologia Arquivos de Medição Configuração Páginas Web Transformações AlarmesNOC ServiçosAuth(n/z)
Visão Geral da Arquitetura – MP • Os Pontos de Medição (MP) formam a camada mais baixa da infraestrutura de monitoração • Interage diretamente com a ferramenta de medição • Pode oferecer controle via WS para medições sob demanda • Pode oferecer uma interface para medições agendadas regularmente • Papeis do Ponto de Medição • Utiliza ferramentas bem conhecidas para realizar as medições • Oferece, no mínimo, um armazenamento cache para as medições realizadas recentemente • Interage com os arquivos de medições (MAs) para arquivar as medições realizadas • Exemplos: • perfSONAR-BUOY (Testes com OWAMP e BWCTL) • PingER (Testes com Ping) • CommandLine MP (CL-MP) • BWCTL MP
Visão Geral da Arquitetura – MA • Os arquivos de medições (MA) armazenam os resultados das medições de desempenho da rede • Interface WS para armazenar e consultar • Interage com banco de dados de retaguarda (Ex. SQL, RRD) • Papeis do Arquivo de Medições: • Expor medições históricas e atuais de diversos tipos • Retirar as consultas de dados dos pontos de medição (MPs) • Exemplos: • perfSONAR-BUOY (Dados do OWAMP e do BWCTL) • PingER (Dados de Ping) • SNMP MA/RRD MA • Status MA
Visão Geral da Arquitetura – TrS • O Serviço de Transformação (TrS – TransformationService) realiza operações sobre conjuntos de dados (ex., agregação, correlação). • Interface WS • Potencial para armazenar operações bem conhecidas, e reproduzi-las posteriormente • Papeis do Serviço de Transformação: • Remove consultas complexas estatisticamente dos MAs • Provê um canal para operações populares (ex., executar estatísticas sobre diversos conjuntos de dados dinâmicos). • Exemplos (Planejados): • Ferramentas de diagnóstico de caminhos • Combinar diversas métricas (caminho da rede, utilização, latência, largura de banda) • Apresentação dos dados • Resultados estatísticos a partir de dados brutos
Visão Geral da Arquitetura – RP • O Protetor de Recursos (RP – Resource Protector) monitora o desempenho relativo e a disponibilidade da infraestrutura de monitoração • Conhecimento dos serviços numa dada implantação • Política definida sobre o acesso e os recursos • Papeis do Protetor de Recursos: • Protege o tempo e os recursos dos serviços para que não sejam superutilizados • Demasiadas consultas a partir de uma mesma fonte • Demasiados dados para uma mesma consulta • Coopera com as entidades de Autenticação e Autorização (AA) • Exemplos (Planejados) • Proteção de Dados • Limita o tamanho, duração e frequência das consultas • Proteção do Serviço • Limita o acesso à funcionalidade do serviço
Visão Geral da Arquitetura – LS • O Serviço de Descoberta (LS – LookupService) é o nome geral para o serviço e para a infraestrutura de descoberta de dados • Facilita a descoberta de serviços e de dados através do conceito de registro • “Resume” e distribui o trabalho de localização através de camadas de descoberta • Home LookupServices (hLS) – cache local de dados para diversos serviços • Global LookupServices (gLS) – trabalha de forma similar ao DNS para localizar informações através de consultas genéricas • Papeis do Serviço de Descoberta: • Remove consultas específicas sobre dados e serviços dos pontos de medição e de arquivo (MPs e MAs) • Distribui informação globalmente baseado nas condições locais • Garante a ‘atualidade’ das informações numa infraestrutura dinâmica
Visão Geral da Arquitetura – LS • O Home LookupService (hLS) interage diretamente com outras partes do ambiente perfSONAR • É recomendada a implantação por domínio • Aceita informações de Registro a partir do ambiente • Ex.: um MA registrará o seu nome, localização e metadados disponíveis • Metadados = porção estática de uma medição (‘assunto’, e não os resultados) • Responde a Consultas sobre serviços e dados • Serviços procurando os demais (ex. MP procurando um MA) • Aplicações cliente procurando dados
Visão Geral da Arquitetura – gLS • O Global LookupService(gLS) serve como um oráculo do ambiente perfSONAR • Nuvem global de serviços cooperando para distribuir informações • Gerencia os hLSs na camada mais baixa • Aceita informações de Registro apenasde hLSs! • Ex.: um hLS registrará o seu nome, localização, e um resumo dos serviços e dos dados que contém • Resumo = lista condensada de domínios, endereços IP, tipos de dados • Responde a Consultas sobre serviços e dados • Similar a consultas hLS, mas mais focados em onde ao invés de o quê • A resposta é tipicamente um hLS a ser contatado e não um resultado direto
Visão Geral da Arquitetura – Comunidades • Comunidades = Marcação de conteúdo da Web 2.0 • Flicker (rotule as suas fotos com uma categoria) • iTunes (rotule sua música com um gênero) • Como isto ajuda a consulta e descoberta de medições? • Mais um eixo de pesquisa • Mais legível e compreensível para os humanos do que endereços IP e nomes de hospedeiros • Use tantos quanto forem necessários: • Redes(ex. Campus, Regional, Troncal) • Organização virtual ou Projeto (ex.: USATLAS, eVLBI, etc.) • Organização (DOE) • Outras?
Visão Geral da Arquitetura – Comunidades • Exemplo: Alguma Organização Virtual está configurando uma monitoração. • Todos os sítios querem realizar testes entre si • Nem todos estão se conectando de uma vez, e a participação na OV pode ser volátil. • Estratégia 1: • Coordenador central da OV mantém uma lista dos participantes (e deve atualizá-la frequentemente) • Toda a monitoração é manual: inserção e remoção de máquinas de teste com mudança da lista • Estratégia 2: • OV recomenda um rótulo para todas os novos hospedeiros • Todos os membros da OV procuram pelos hospedeiros de teste (periodicamente) que compartilham o mesmo rótulo
Visão Geral da Arquitetura – Comunidades • Tela do Toolkit (ao configurar um hospedeiro): • Topo: Comunidades com as quais o hospedeiro escolheu se associar • Em baixo: comunidades ‘populares’ • A palavra ‘nuvem’ está baseada no que encontramos no gLS – quanto maior a palavra, maior é o número de pessoas que estão usando esta classificação
Visão Geral da Arquitetura – Comunidades • Lista de hospedeiros da comunidade LHC:
Visão Geral da Arquitetura – TS • O Serviço de Topologia (TS) reúne e armazena informação da topologia da rede de forma semelhante ao serviço de descoberta (LS) • Interfaces com ferramentas de rede externas (circuitos dinâmicos, base de dados do NOC) • Provê uma interface de consulta • Papeis do Serviço de Topologia: • Reúne topologia da rede de diversas fontes • Correlaciona a informação encontrada em outras fontes de TS para prover uma visão completa da disponibilidade da rede • Interface com ferramentas de medição para associar medições com porções especificas da infraestrutura
Visão Geral da Arquitetura – AS • O serviço de Autenticação e Autorização (AS) serve como um portal para o gerenciamento de identidades • O gerenciamento de identidade depende da atribuição de papeis para um dado usuário através de atributos, ex., permissão para fazer algo • O AS irá se comunicar através de WS com um cliente e passará credenciais de modo a validar uma ação ou tarefa • O AS protegerá o acesso a serviços e a dados • Papeis do Serviço de Autenticação: • Validar as credenciais de serviços e de clientes • Agir em nome dos usuários para adquirir as permissões necessárias
Interação do Ambiente • Os seguintes exemplos ilustrarão o mecanismo dos serviços e dos protocolos: • Implantando um serviço • Interação simples entre Cliente/Sevidor • Eco • Solicitação de Metadados • Solicitação de Dados • Interação com o serviço de descoberta
Implantando um Serviço • Um serviço perfSONAR é implantado junto com a infraestrutura de medições • São descritas interações com o serviço de descoberta e com os clientes
Implantando um Serviço Rede Inicial: Roteador, 2 máquinas e uma única conexão externa
Implantando um Serviço Instale Cacti em uma das máquinas para realizar monitoração com o SNMP
Implantando um Serviço O Cacti armazena os resultados em uma base de dados RRD na máquina.
Implantando um Serviço Realiza operações Get do SNMP
Implantando um Serviço Armazena os resultados numa base de dados RRD
Implantando um Serviço Instala um serviço perfSONAR para expor os dados (SNMP MA).
Implantando um Serviço O MA SNMP trabalha junto com o Cacti e a base RRD para construir uma lista de informações.
Implantando um Serviço É criada uma ‘base’ XML com as medições disponíveis.
Implantando um Serviço Exporta os dados das medições em XML para o LS mais próximo
Implantando um Serviço Algo consulta o serviço
Implantando um Serviço O serviço verifica se a consulta corresponde a algo na base de dados.
Implantando um Serviço Se houver uma correspondência, os dados são recuperados da base RRD
Implantando um Serviço Os dados são repassados para o solicitante original na forma de uma mensagem XML
Interação Cliente/Serviço • Solicitação de Eco (EchoRequest) • Enviado para um serviço para testar conectividade • Pode ser feito arbitrariamente complexo pelo projetista do serviço • Testa armazenamento de retaguarda • Testa autoverificações internas • Mínimo é um ping ‘você está vivo’ (‘are youalive’)
Interação Cliente/Serviço O Cliente envia um pedido de eco (EchoRequest) para o serviço para checar se está ativo/vivo
Interação Cliente/Serviço O Serviço envia uma resposta de eco (EchoResponse) para completar a verificação
Interação Cliente/Serviço • MetadataKeyRequest • Para um dado metadados (parcial), consulta o serviço para verificar se ele existe ou não • Retorna uma ‘chave’ (‘key’), ex.: token reapresentável, para acessar os dados
Interação Cliente/Serviço O Cliente envia um pedido de MetadataKeyRequest para verificar o status de uma interface específica
Interação Cliente/Serviço O serviço verifica a informação contra o conteúdo de uma base XML
Interação Cliente/Serviço A base XML responde com os resultados da busca – se tiver sucesso uma chave será fornecida ao serviço para que seja repassada ao cliente.
Interação Cliente/Serviço O serviço retorna uma MedatadaKeyResponse para o cliente.
Interação Cliente/Serviço • SetupDataRequest • Dada uma chave ou metadados (parcial), retorna informação sobre as medições. • Pode ser ‘filtrada’ pelo tempo para prevenir obter mais resultados do que o necessário
Interação Cliente/Serviço O cliente envia um SetupDataRequest procurando os dados da interface. O cliente deve fornecer uma chave ou um metadados semelhante ao MetadataKeyRequest
Interação Cliente/Serviço O serviço consulta a base XML para verificar a informação da interface ou da chave, fornecida pelo cliente.
Interação Cliente/Serviço A base CML foi capaz de verificar a informação para o serviço.