White Paper
Programabilidade de rede com a infraestrutura
centrada em aplicativos da Cisco
Resumo
Este documento examina o suporte de programabilidade na ACI (Application Centric Infrastructure, infraestrutura
centrada em aplicativos) da Cisco®. O modelo de programabilidade da ACI da Cisco permite o acesso
programático completo à infraestrutura centrada em aplicativos. A ACI da Cisco oferece acesso de leitura e
gravação, por meio de APIs REST (Representational State Transfer, transferência de estado representacional)
para o modelo de objeto básico, que é uma representação de todos os atributos físicos e lógicos de todo o
sistema. Com esse acesso, os clientes podem integrar implantações de rede a ferramentas de gerenciamento e
monitoramento e implantar novas cargas de trabalho de forma programada.
Desafios com as abordagens atuais para a programabilidade de rede
A maioria das redes em uso atualmente foi construída sobre um hardware com software firmemente acoplado e
destinado a ser gerenciado e administrado por meio da Interface da linha de comando (CLI). Esses sistemas
funcionavam bem em um mundo de configurações de rede e cargas de trabalho estáticas, e com taxas de
alteração mais lentas previsíveis para o escalonamento de aplicativos. Esse modelo passou a não funcionar mais
conforme as redes de data center foram virtualizadas e começaram a se mover para a nuvem e para modelos de
TI mais ágeis.
Portanto, os fornecedores estão trabalhando para dividir a programabilidade em camadas nas ofertas e sistemas
operacionais de dispositivos atuais. Essa abordagem não é o método ideal para incorporar a programabilidade,
embora aumente os recursos. Esse modelo cria complexidade ao introduzir um ponto de gerenciamento
inteiramente novo, normalmente identificado como um controlador de rede, que tenta mapear artificialmente o
aplicativo e as políticas de usuário para construções de rede inflexíveis. Além disso, esses controladores de rede
e os modelos que eles expõem estão limitados a funções de rede e não podem se estender para comportar o
restante da infraestrutura. A verdadeira programabilidade precisa ser incorporada na base, e não aplicada como
um complemento. Os componentes de infraestrutura e as construções que eles expõem precisam ser projetados
com a programabilidade em sua base, usando um modelo que os desenvolvedores possam compreender e usar
rapidamente.
© 2013 Cisco e/ou suas afiliadas. Todos os direitos reservados. Este documento contém informações públicas da Cisco.
Página 1 de 8
Programabilidade da ACI da Cisco com o modelo de dados orientado por objetos e APIs
REST
A Cisco adotou uma abordagem fundamental para a construção de uma infraestrutura de rede programável com a
solução de ACI da Cisco. Essa infraestrutura opera como um sistema na estrutura, controlado pelo APIC
(Application Policy Infrastructure Controller, controlador de infraestrutura de política de aplicativos) centralizado da
Cisco. Com essa abordagem, a rede de data center, como um todo, é unida de forma coesa e tratada como um
sistema de transporte inteligente para os aplicativos que oferecem respaldo os negócios. Nos dispositivos de rede
que fazem parte dessa estrutura, o núcleo do sistema operacional foi escrito para comportar essa visão de
sistema e oferecer uma arquitetura para a programabilidade na base.
Em vez de abrir um subconjunto de funcionalidades de rede por meio de interfaces programáticas, como as
soluções de SDN (Software Defined Networking, redes definidas por software) da geração anterior, toda a
infraestrutura é aberta para o acesso programático. Isso é obtido ao oferecer acesso ao modelo de objetos da ACI
da Cisco, o modelo que representa a configuração completa e o estado do tempo de execução de cada
componente de software e hardware em toda a estrutura. Além disso, esse modelo de objeto é disponibilizado
através de interfaces REST padrão, tornando mais fácil acessar e manipular o modelo de objeto e, portanto, a
configuração e o estado do tempo de execução do sistema.
No nível superior, o modelo de objeto da ACI Cisco é baseado na "teoria da promessa", que oferece uma
arquitetura de controle escalável, com objetos autônomos responsáveis pela implementação das mudanças de
estado desejadas oferecidas pelo cluster do controlador. Essa abordagem é mais escalável do que os sistemas
tradicionais de gerenciamento de cima para baixo, que exigem conhecimento detalhado das configurações de
baixo nível e do estado atual. Com a "teoria da promessa", as mudanças de estado desejadas são acionadas,
e os objetos implementam as mudanças, retornando erros quando necessário.
Sob este conceito de alto nível está o núcleo da programabilidade da ACI da Cisco: o modelo de objeto. O modelo
pode ser dividido em duas partes principais: lógica e física. Estruturas baseadas em modelos oferecem uma
maneira distinta para representar dados. A ACI da Cisco oferece acesso completo ao modelo de informações
básico, oferecendo abstração de política, modelos físicos e os dados de depuração e implementação. A Figura 1
representa a estrutura do modelo da ACI da Cisco. O modelo pode ser acessado através de APIs REST, abrindo
assim o sistema para a programabilidade.
Figura 1.
Modelo de dados orientado por objetos da Cisco ACI e APIs REST
© 2013 Cisco e/ou suas afiliadas. Todos os direitos reservados. Este documento contém informações públicas da Cisco.
Página 2 de 8
Como mostrado na Figura 1, o modelo lógico é a interface com o sistema. Os administradores ou sistemas de
gerenciamento em nuvem de nível superior interagem com o modelo lógico através da API, CLI ou GUI (Graphical
User Interface, interface gráfica do usuário). As alterações no modelo lógico são, então, encaminhadas para o
modelo físico, que geralmente se torna a configuração de hardware.
O próprio modelo lógico consiste nos objetos (configuração, políticas e estado do tempo de execução) que podem
ser manipulados e nos atributos desses objetos. Na estrutura da ACI da Cisco, esse modelo é conhecido como a
MIT (Management Information Tree, árvore de informações de gerenciamento). Cada nó na MIT representa um
objeto gerenciado ou um grupo de objetos. Esses objetos são organizados hierarquicamente, criando contêineres
de objetos lógicos. A Figura 2 representa a hierarquia lógica do modelo de objeto da MIT.
Figura 2.
MIT (Management Information Tree, árvore de informações de gerenciamento)
Objetos na MIT
A ACI da Cisco utiliza uma arquitetura baseada em um modelo de informações que descreve todas as
informações que podem ser controladas por um processo de gerenciamento. As instâncias de objetos são
conhecidas como MOs (Managed Objects, objetos gerenciados). Todos os objetos gerenciados no sistema podem
ser identificados por um DN (Distinguished Name, nome distinto) único. Essa abordagem permite que o objeto
seja consultado globalmente.
Além de seu nome distinto, cada objeto pode ser consultado por seu RN (Relative Name, nome relativo). O nome
relativo identifica um objeto em relação ao seu objeto pai. Qualquer nome distinto do objeto é derivado de seu
próprio nome relativo anexado ao nome distinto de seu objeto pai. Os nomes distintos são mapeados diretamente
para URLs. O nome relativo ou o nome distinto pode ser usado para acessar um objeto, dependendo da
localização atual na MIT. A relação entre os objetos gerenciados, nomes relativos e nomes distintos é mostrada
na Figura 3.
© 2013 Cisco e/ou suas afiliadas. Todos os direitos reservados. Este documento contém informações públicas da Cisco.
Página 3 de 8
Figura 3.
Objetos gerenciados, nomes relativos e nomes distintos
A Figura 3 retrata o nome distinto, que representa uma determinada instância de objeto gerenciado de maneira
única, e o nome relativo, que o representa localmente sob seu objeto gerenciado pai. Todos os objetos na árvore
existem sob o objeto raiz.
Devido à natureza hierárquica da árvore e do sistema de atributos usado para identificar as classes de objetos,
a árvore pode ser consultada de várias formas para encontrar informações dos objetos gerenciados. As consultas
podem ser realizadas no próprio objeto por meio de seu nome distinto, em uma classe de objetos, como o chassi
do switch, ou em um nível da árvore, descobrindo todos os membros de um objeto. A Figura 4 mostra duas
consultas na árvore.
Figura 4.
Consultas na árvore
© 2013 Cisco e/ou suas afiliadas. Todos os direitos reservados. Este documento contém informações públicas da Cisco.
Página 4 de 8
A Figura 4 mostra dois chassis sendo consultados na árvore. Ambas as consultas retornam o objeto referenciado e
seus objetos filho. Essa abordagem é uma ferramenta útil para a descoberta dos componentes de um sistema maior.
O exemplo na Figura 4 descobre as placas e as portas de um determinado chassi de switch. A Figura 5 mostra
outro tipo de consulta: a consulta pela classe.
Figura 5.
Consulta pela classe
Como mostrado na Figura 5, as consultas pela classe retornam todos os objetos de uma determinada classe.
Essa abordagem é útil para descobrir todos os objetos de um determinado tipo disponíveis na MIT. Neste
exemplo, a classe utilizada é Placas, que retorna todos os objetos do tipo Placas.
O terceiro tipo de consulta é uma consulta pelo objeto. Em uma consulta pelo objeto, um nome distinto é usado
para retornar um objeto específico. A Figura 6 retrata duas consultas pelo objeto: uma para o Nó 1 no Chassi 2 e
uma para o Nó 1 no Chassi 1 na Placa 1 na Porta 2.
Figura 6.
Consulta pela classe
Para todas as consultas da MIT, você team a opção de retornar toda a subárvore ou uma subárvore parcial. Além
disso, o mecanismo de RBAC (Role-Based Access Control, controle de acesso baseado em funções) no sistema
determina quais objetos são retornados; apenas os objetos que o usuário tem o direito de visualizar sempre serão
retornados.
© 2013 Cisco e/ou suas afiliadas. Todos os direitos reservados. Este documento contém informações públicas da Cisco.
Página 5 de 8
Propriedades do objeto gerenciado
Os objetos gerenciados na ACI da Cisco contêm propriedades que definem o objeto gerenciado. As propriedades
em um objeto gerenciado são divididas em blocos gerenciados por determinados processos dentro do sistema
operacional. Qualquer objeto pode ter vários processos que o acessam. Todas essas propriedades juntas são
compiladas no tempo de execução e apresentadas ao usuário como um único objeto. A Figura 7 mostra um
exemplo dessa relação.
Figura 7.
Propriedades do objeto gerenciado
Na Figura 7, o objeto de exemplo tem três processos que gravam nos blocos de propriedade do objeto. O DME
(Data Management Engine, mecanismo de gerenciamento de dados), que é a interface entre o APIC da Cisco
(portanto, o usuário) e o objeto, o gerenciador da porta, que trata da configuração da porta, e o STP (Spanning
Tree Protocol) interagem com os blocos deste objeto. O objeto em si é apresentado ao usuário através da API
como uma entidade única compilada no tempo de execução.
Acesso aos dados do objeto através de interfaces REST
O REST é um estilo de arquitetura de software para sistemas distribuídos, como a World Wide Web. O REST
surgiu nos últimos anos como um modelo de design de serviços da Web predominante. Devido ao seu estilo mais
simples, o REST tem substituído cada vez mais os outros modelos de design, como o SOAP (Simple Object
Access Protocol, protocolo de acesso de objeto simples) e WSDL (Web Services Description Language). O APIC
da Cisco comporta interfaces REST para acesso programático a toda a solução de ACI da Cisco.
O modelo de informações baseadas em objetos da ACI da Cisco faz com que ela seja muito adequada para
interfaces REST: as URLs e URIs mapeiam diretamente para nomes distintos que identificam objetos na árvore,
e todos os dados na MIT podem ser descritos como um documento da árvore de texto estruturado independente
autocontido codificado em XML ou JSON (JavaScript Object Notation). Os objetos têm relações pai-filho que são
identificadas com nomes e propriedades distintas, que são lidos e modificados por um conjunto de operações
CRUD (Create, Read, Update, and Delete - criar, ler, atualizar e excluir).
© 2013 Cisco e/ou suas afiliadas. Todos os direitos reservados. Este documento contém informações públicas da Cisco.
Página 6 de 8
Os objetos podem ser acessados em seu endereço bem definido, suas URLs REST, usando os comandos HTTP
padrão para recuperação e manipulação de dados de objeto APIC da Cisco. O formato de URL utilizado pode ser
representado da seguinte forma:
<system>/api/[mo|class]/[dn|class][:method].[xml|json]?{options}
Os vários componentes da URL anterior são os seguintes:
●
System: identificador do sistema; um endereço IP ou nome de host resolvido por DNS
●
mo | class: indicação se este é um objeto gerenciado, árvore (MIT) ou consulta de classe
●
class: classe do objeto gerenciado (como especificado no modelo de informações) do objeto consultado;
o nome da classe é representado como <pkgName><ManagedObjectClassName>
●
dn: nome distinto (nome hierárquico exclusivo do objeto na árvore MIT) do objeto consultado
●
method: indicação opcional do método que está sendo executado no objeto; aplica-se somente a
solicitações HTTP POST
●
xml | json: formato de codificação
●
options: opções de consulta, filtros e argumentos
Com o recurso para endereçar e acessar um objeto individual ou uma classe de objetos com a URL REST, você
pode obter acesso programático completo para toda a árvore de objetos e, portanto, para todo o sistema.
Kits de desenvolvimento de software para ambientes de programação
As APIs REST para a ACI da Cisco permitem uma fácil integração em qualquer ambiente programático,
independentemente da linguagem e metodologia de desenvolvimento utilizadas. Para acelerar ainda mais o
desenvolvimento em ambientes de programação geralmente utilizados, serão disponibilizados SDKs (Software
Development Kits, kits de desenvolvimento de software) para a ACI da Cisco. A ACI-pysdk da Cisco, um SDK
baseado em Python é um SDK para um ambiente de programação Python. As bibliotecas e APIs Python que
fazem parte do SDK abstraem as chamadas de API REST básicas e oferecem uma integração fácil e rápida em
pacotes de software baseados em Python.
Conclusão
O modelo de dados orientado por objetos da ACI da Cisco foi concebido a partir da base para a programabilidade
da rede. No dispositivo, o sistema operacional foi reescrito como um sistema operacional de switch totalmente
baseado em objetos para a ACI da Cisco. Os componentes da ACI da Cisco são gerenciados pelo APIC da Cisco,
que oferece APIs REST com funções completas. No topo desta API estão uma CLI e uma GUI para administração
diária.
O modelo de objeto permite uma programabilidade fluida e acesso total aos componentes básicos da
infraestrutura usando APIs REST. Os objetos são organizados logicamente em um modelo hierárquico e
armazenados na MIT. Essa abordagem oferece uma estrutura para programabilidade e controle de rede com um
grau de abertura que não é encontrado em nenhum outro sistema.
Para mais informações
http://www.cisco.com/go/aci.
© 2013 Cisco e/ou suas afiliadas. Todos os direitos reservados. Este documento contém informações públicas da Cisco.
Página 7 de 8
Impresso nos EUA
© 2013 Cisco e/ou suas afiliadas. Todos os direitos reservados. Este documento contém informações públicas da Cisco.
C11-729999-00
11/13
Página 8 de 8
Download

Programabilidade de rede com a infraestrutura centrada em