SlideShare a Scribd company logo
Cisco
Connect
Москва, 2017
Цифровизация:
здесь и сейчас
Программируемость
фабрики ACI
Объектная модель, REST
API, ACI Python SDK
Александр Скороходов
Инженер-консультант
© 2017 Cisco and/or its affiliates. All rights reserved.
Модели эксплуатации сети
Управление отдельными
устройствами
• CLI
• Порты, VLAN,
протоколы...
• Привычно
• Хорошо
документировано
• Медленно – “несколько
недель на создание
VLAN???”
• Подвержено ошибкам
• Классические NMS
мало помогают
• Сеть воспринимается
как тормоз ИТ!
Чем будет заниматься сетевой инженер будущего ?
Автоматизация и
программирование
• Скрипты, API, Chef/Puppet…
• «Управлять коммутаторами
так же, как серверами»
• DevOps модель
• Высокая скорость
развертывания и внесения
изменений
• Единый инструментарий
управления разными
элементами среды
• Новый набор навыков
• Кто будет отвечать за сеть?
Оркестрация и управление
по политикам
• Системы оркестрации
• ACI: OpFlex, Group-based
Policy…
• Развёртывание и
эксплуатация сети в контексте
приложения/сервиса
• «Сеть как сервис»
• Единая точка
программируемости
• Новый набор навыков
• Миграция?
Цели сессии
Для двух типов аудитории
Для сетевых администраторов:
• Показать, как программируемость
сети может сделать их работу проще
и эффективнее
• Продемонстрировать возможности
расширения функциональности
• Перестать бояться программирования
• Помочь найти общий язык с
программистами ;)
Для программистов:
• Показать возможности использования
Nexus как открытой программируемой
платформы
• Описать ключевой инструментарий
программирования для работы с
сетевым оборудованием Cisco для ЦОД
• Помочь найти общий язык с сетевыми
администраторами ;)
Для сетевых администраторов и программистов:
Возможность объединения усилий в рамках DevOps модели разработки, внедрения и
эксплуатации
Cisco ACI
программируемая инфраструктура
App DBWeb
Внешняя сеть
передачи
данных
QoS
ACL
QoS
LB
QoS
МСЭ, LB
Cisco ACI
программируемая инфраструктура
App DBWeb
Внешняя сеть
передачи
данных
QoS
ACL
QoS
LB
QoS
МСЭ, LB
App
App/
Sec
Ops:
cеть,
cерверы,...
DevOps
API
API
API
Cisco ACI: объектная модель
и REST API
Cisco Connect 2017 © 2017 Cisco and/or its affiliates. All rights reserved. 7
OpFlex
Business
App
Business
App
Fabric
Fabric Management
SDKs&Tools
Business Processes
REST
REST API
GUI
Business
App
ACIToolkit
Cobra
SDK
Visore UCSD
Business
App
CloudCenter
Программируемость ACI: архитектура
Объектная модель ACI
Дерево управляющей информации
Всё в системе (настройки, оборудование, состояние)
моделируется как набор Managed Objects (MOs).
MOs иерарически организованы в Management
Information Tree (MIT).
Конфигурация системы
Обнаруженные компоненты
Текущий статус, включая статистику и отказы
Объекты в дереве обладают отношениями
«родитель-потомок»
Логически связанные объекты могут иметь
отношение от одного к другому (тоже объект)
ВСЯ программируемость ACI построена по
работе с этим деревом:
Создание новых объектов
Чтение/поиск объектов
Модификация существующих объектов
Удаление объектов
REST API: Distinguished Names
DN – глобально уникальный идентификатор объекта в MIT
Получается добавлением relative name (RN)
к родительскому DN пока не достигнем корня дерева
Правила именования RN зависят от объекта
Описывается в документации
Пример:
uni/tn-tenant/ap-app1/epg-epg1
topology/pod-1/paths-101/pathep-[eth1/1]
The REST API: доступ к объектной модели
DEVNET-2000 11
Поддерживаемые методы REST API
Create, read, update and delete
DEVNET-2000 12
REST API: аутентификация
DEVNET-2000 13
REST API: операции Create/Update
REST API: запросы и фильтры
self children subtree
REST API: подписки
В рамках REST запроса клиент может запросить push уведомление о любых
изменениях в ответе использованием websocket протокола (RFC 6455)
Пример:
GET http://192.0.20.123/api/class/fvTenant.json?subscription=yes
Для получения уведомлений клиент должен создать websocket. Пример на
JavaScript:
var Socket = new WebSocket(http://192.0.20.123/socket<current API session cookie>);
Ответ на подписку:
«Перехватите» XML/JSON запрос с
использованием API inspector в GUI
Воспроизведите в REST клиенте
Скопируйте необходимую информацию в REST client: POST/GET, URL и объект (для
POST запросов)
Хороший вариант: Postman
18
Вызов REST API из Python
С использованием модуля requests
Cobra SDK
Cisco Connect 2017 © 2017 Cisco and/or its affiliates. All rights reserved. 20
Cobra SDK
«Привзка» к Python для APIC REST API
Cobra is ACI’s SDK.
Поиск, создание, модификация и удаления объектов
Объекты в Cobra - 1:1 представление объектов в MIT
As a result, policy created via GUI/JSON/XML can be used
as
a programming template, for more rapid development
All data has client side consistency checks performed
Посталяется как .egg (загрузка: https://<apic
address>/cobra/_downloads), установка с easy_install
REST API
Business
App
Business
App
Cobra SDK
Документация по Cobra SDK
Документацию по Cobra SDK можно найти на https://<apic
address>/cobra/index.html, включая описание API, справочник по модели и
примеры использования
ACI Python SDK: аутентификация
import cobra.mit.access
import cobra.mit.session
ls = cobra.mit.session.LoginSession(
'http://apic', 'username', 'password')
md = cobra.mit.access.MoDirectory(ls)
md.login()
Link the
credentials to
the APIC
Define an APIC to
which we will login
LoginSession stores
URI and credentials
DEVNET-2000 23
Создание тенанта с Cobra (фрагмент)
from cobra.model.fv import Tenant
from cobra.model.pol import Uni
from cobra.mit.request import ConfigRequest
uniMo = Uni('') # Uni is a static Mo, so we don’t need to look it up
t = Tenant(uniMo, 'Tenant1') # We create a tenant as a child of the universe
c = ConfigRequest() # Create a ConfigRequest to contain our new object
c.addMo(t) # Add our tenant to the ConfigRequest
moDir.commit(c) # Commit our configuration request
DEVNET-2054 24
Создание 3-звенного приложения с Cobra
(фрагмент)
from cobra.model.fv import *
from cobra.model.pol import Uni
uniMo = Uni('')
t = Tenant(uniMo, 'Tenant1')
ap = Ap(t, 'Exchange')
epg1 = AEPg(ap, 'OWA')
epg2 = AEPg(ap, 'FrontEnd')
epg3 = AEPg(ap, 'MailBox')
ep = RsPathAtt(epg1, tDn=‘topology/pod-1/paths-17/paths-[eth1/1]’, mode=‘regular’,
encap=‘vlan-10’)
c = ConfigRequest()
c.addMo(t)
moDir.commit(c)
Адаптер XML/JSON -> Python: arya
Код, сгенерированный Arya
Cisco ACI Toolkit
Cisco Connect 2017 © 2017 Cisco and/or its affiliates. All rights reserved. 28
ACI Toolkit
NX-OS like
CLI
Custom
Python Scripts
ACI toolkit
Простой вход в программируемость ACI
Простой Python SDK, использующий APIC
API
Скрипты легче читать, сохраняет базовые
конструкции ACI
Не полная функциональность, но наиболее
часто используемые функции (~30 классов)
Поддерживает «подписку»
Open Source, участвует Cisco и сторонние
разработчики
http://github.com/datacenter/acitoolkit
29
topRoot
polUni fvTenant
fvAp fvAEPg
vzFilter vzEntry
vzBrCP vzSubj
fabricTopology fabricPod
fabricPathEpCont fabricPathEp
fabricNode
vmmProvP vmmDomP vmmCtrlrP
TECDCT-2941 30
TECDCT-2941 31
tenant = Tenant('sampleTenant')
app = AppProfile('sampleANP', tenant)
epgDB = EPG('DB', app)
epgWeb = EPG('WEB', app)
contract = Contract('http_contract', tenant)
entry1 = FilterEntry('HTTP',
applyToFrag='no',
arpOpc='unspecified',
dFromPort='http',
dToPort='https',
etherT='ip',
prot='tcp',
sFromPort='unspecified',
sToPort='unspecified',
tcpRules='unspecified',
parent=contract)
epgDB.provide(contract)
epgWeb.consume(contract)
ACIToolkit - Пример
TECDCT-2941 32
• Подписывается на уведомления от APIC и выполняет действия при
подключении/отключении Endpoints
• Сейчас уже часть базовой фунциональности ACI (since v1.2(1))
Пример: End Point Tracker
33
# Subscribe to End Point live updates
aci.Endpoint.subscribe(session)
while True:
if aci.Endpoint.has_events(session):
# Gather information on the endpoint
ep = aci.Endpoint.get_event(session)
epg = ep.get_parent()
app_profile = epg.get_parent()
tenant = app_profile.get_parent()
# Do something when an EP leaves the network
if ep.is_deleted():
...
# Do something when an EP joins the network
else:
...
# Sleep or else the endpointtracker will take 100%
cpu time.sleep(0.1)
End Point Tracker
main code:
https://github.com/datacenter/acitoolkit/blob/master/applications/endpointtracker/aci-endpoint-tracker.py
Примеры приложений в составе ACIToolkit
• Endpoint Tracker
• Lint
• Cableplan
• Configuration Snapshot and Rollback
• Visualization Examples
• Intersite Configuration Federation
• Connection Search
TECDCT-2941 34
Cloud
Apps
Troubleshooting
Apps
Security Apps Networking
Apps
Monitoring Apps Optimization
Apps
ACI 2.2: Introducing Cisco App Center
Категории приложений
Cisco ACI App Center
https://aciappcenter.cisco.com/
Ссылки по теме
Источник Ссылка
DevNet: cайт Cisco для
разработчиков для ACI (включая
sandbox среду)
https://developer.cisco.com/site/aci/
Репозиторий Cisco по
программмируемости для ЦОД
(Nexus/ACI)
http://github.com/datacenter/
ACI Toolkit и документация по
нему
http://github.com/datacenter/acitoolkit
https://acitoolkit.readthedocs.io
#CiscoConnectRu#CiscoConnectRu
Спасибо за внимание!
Оцените данную сессию в мобильном приложении конференции
© 2017 Cisco and/or its affiliates. All rights reserved.
Контакты:
Тел.: +7 495 9611410
www.cisco.com
www.facebook.com/CiscoRu
www.vk.com/cisco
www.instagram.com/ciscoru
www.youtube.com/user/CiscoRussiaMedia

More Related Content

What's hot

Архитектура построения защищённых корпоративных сетей Cisco SAFE
Архитектура построения защищённых корпоративных сетей Cisco SAFEАрхитектура построения защищённых корпоративных сетей Cisco SAFE
Архитектура построения защищённых корпоративных сетей Cisco SAFE
Cisco Russia
 
Как не ошибиться при выборе облачного провайдера?
Как не ошибиться при выборе облачного провайдера?Как не ошибиться при выборе облачного провайдера?
Как не ошибиться при выборе облачного провайдера?
Cisco Russia
 
Принципы и подходы Cisco для автоматизации в сетях операторов связи
Принципы и подходы Cisco для автоматизации в сетях операторов связиПринципы и подходы Cisco для автоматизации в сетях операторов связи
Принципы и подходы Cisco для автоматизации в сетях операторов связи
Cisco Russia
 
Инновации Cisco для коммутации в корпоративных сетях
Инновации Cisco для коммутации в корпоративных сетяхИнновации Cisco для коммутации в корпоративных сетях
Инновации Cisco для коммутации в корпоративных сетях
Cisco Russia
 
ЦОД нового поколения: автоматизация, упрощение, аналитика и безопасность
ЦОД нового поколения: автоматизация, упрощение, аналитика и безопасностьЦОД нового поколения: автоматизация, упрощение, аналитика и безопасность
ЦОД нового поколения: автоматизация, упрощение, аналитика и безопасность
Cisco Russia
 
Семейство продуктов Enterprise Cloud Suite
Семейство продуктов Enterprise Cloud SuiteСемейство продуктов Enterprise Cloud Suite
Семейство продуктов Enterprise Cloud Suite
Cisco Russia
 
Аналитика в ЦОД
Аналитика в ЦОДАналитика в ЦОД
Аналитика в ЦОД
Cisco Russia
 
Инновации Cisco для маршрутизации в корпоративных сетях
Инновации Cisco для маршрутизации в корпоративных сетяхИнновации Cisco для маршрутизации в корпоративных сетях
Инновации Cisco для маршрутизации в корпоративных сетях
Cisco Russia
 
Автоматизация задач с помощью EEM
Автоматизация задач с помощью EEMАвтоматизация задач с помощью EEM
Автоматизация задач с помощью EEM
Cisco Russia
 
Презентация Cisco Tetration Analytics в России
Презентация Cisco Tetration Analytics в России Презентация Cisco Tetration Analytics в России
Презентация Cisco Tetration Analytics в России
Cisco Russia
 
Cisco Cloud Center - управление приложениями в облаках при помощи политик
Cisco Cloud Center - управление приложениями в облаках при помощи политик Cisco Cloud Center - управление приложениями в облаках при помощи политик
Cisco Cloud Center - управление приложениями в облаках при помощи политик
Cisco Russia
 
Демонстрация возможностей по автоматизации ЦОД
Демонстрация возможностей по автоматизации ЦОДДемонстрация возможностей по автоматизации ЦОД
Демонстрация возможностей по автоматизации ЦОД
Cisco Russia
 
Synergy
SynergySynergy
Подходы к мониторингу информационных систем
Подходы к мониторингу информационных системПодходы к мониторингу информационных систем
Подходы к мониторингу информационных систем
Cisco Russia
 
Cisco Cloud Center - управление приложениями в облаках при помощи политик
Cisco Cloud Center - управление приложениями в облаках при помощи политик Cisco Cloud Center - управление приложениями в облаках при помощи политик
Cisco Cloud Center - управление приложениями в облаках при помощи политик
Cisco Russia
 
Развитие сетевой архитектуры для ЦОД Cisco ACI
Развитие сетевой архитектуры для ЦОД Cisco ACI Развитие сетевой архитектуры для ЦОД Cisco ACI
Развитие сетевой архитектуры для ЦОД Cisco ACI
Cisco Russia
 
Защита и контроль приложений
Защита и контроль приложенийЗащита и контроль приложений
Защита и контроль приложений
Cisco Russia
 
Обзор стека продуктов Cisco для частных и гибридных облаков
Обзор стека продуктов Cisco для частных и гибридных облаков Обзор стека продуктов Cisco для частных и гибридных облаков
Обзор стека продуктов Cisco для частных и гибридных облаков
Cisco Russia
 
Облачная стратегия Cisco
Облачная стратегия CiscoОблачная стратегия Cisco
Облачная стратегия Cisco
Cisco Russia
 
Инновационное SDN решение для ЦОД Cisco ACI Anywhere
Инновационное SDN решение для ЦОД Cisco ACI AnywhereИнновационное SDN решение для ЦОД Cisco ACI Anywhere
Инновационное SDN решение для ЦОД Cisco ACI Anywhere
Cisco Russia
 

What's hot (20)

Архитектура построения защищённых корпоративных сетей Cisco SAFE
Архитектура построения защищённых корпоративных сетей Cisco SAFEАрхитектура построения защищённых корпоративных сетей Cisco SAFE
Архитектура построения защищённых корпоративных сетей Cisco SAFE
 
Как не ошибиться при выборе облачного провайдера?
Как не ошибиться при выборе облачного провайдера?Как не ошибиться при выборе облачного провайдера?
Как не ошибиться при выборе облачного провайдера?
 
Принципы и подходы Cisco для автоматизации в сетях операторов связи
Принципы и подходы Cisco для автоматизации в сетях операторов связиПринципы и подходы Cisco для автоматизации в сетях операторов связи
Принципы и подходы Cisco для автоматизации в сетях операторов связи
 
Инновации Cisco для коммутации в корпоративных сетях
Инновации Cisco для коммутации в корпоративных сетяхИнновации Cisco для коммутации в корпоративных сетях
Инновации Cisco для коммутации в корпоративных сетях
 
ЦОД нового поколения: автоматизация, упрощение, аналитика и безопасность
ЦОД нового поколения: автоматизация, упрощение, аналитика и безопасностьЦОД нового поколения: автоматизация, упрощение, аналитика и безопасность
ЦОД нового поколения: автоматизация, упрощение, аналитика и безопасность
 
Семейство продуктов Enterprise Cloud Suite
Семейство продуктов Enterprise Cloud SuiteСемейство продуктов Enterprise Cloud Suite
Семейство продуктов Enterprise Cloud Suite
 
Аналитика в ЦОД
Аналитика в ЦОДАналитика в ЦОД
Аналитика в ЦОД
 
Инновации Cisco для маршрутизации в корпоративных сетях
Инновации Cisco для маршрутизации в корпоративных сетяхИнновации Cisco для маршрутизации в корпоративных сетях
Инновации Cisco для маршрутизации в корпоративных сетях
 
Автоматизация задач с помощью EEM
Автоматизация задач с помощью EEMАвтоматизация задач с помощью EEM
Автоматизация задач с помощью EEM
 
Презентация Cisco Tetration Analytics в России
Презентация Cisco Tetration Analytics в России Презентация Cisco Tetration Analytics в России
Презентация Cisco Tetration Analytics в России
 
Cisco Cloud Center - управление приложениями в облаках при помощи политик
Cisco Cloud Center - управление приложениями в облаках при помощи политик Cisco Cloud Center - управление приложениями в облаках при помощи политик
Cisco Cloud Center - управление приложениями в облаках при помощи политик
 
Демонстрация возможностей по автоматизации ЦОД
Демонстрация возможностей по автоматизации ЦОДДемонстрация возможностей по автоматизации ЦОД
Демонстрация возможностей по автоматизации ЦОД
 
Synergy
SynergySynergy
Synergy
 
Подходы к мониторингу информационных систем
Подходы к мониторингу информационных системПодходы к мониторингу информационных систем
Подходы к мониторингу информационных систем
 
Cisco Cloud Center - управление приложениями в облаках при помощи политик
Cisco Cloud Center - управление приложениями в облаках при помощи политик Cisco Cloud Center - управление приложениями в облаках при помощи политик
Cisco Cloud Center - управление приложениями в облаках при помощи политик
 
Развитие сетевой архитектуры для ЦОД Cisco ACI
Развитие сетевой архитектуры для ЦОД Cisco ACI Развитие сетевой архитектуры для ЦОД Cisco ACI
Развитие сетевой архитектуры для ЦОД Cisco ACI
 
Защита и контроль приложений
Защита и контроль приложенийЗащита и контроль приложений
Защита и контроль приложений
 
Обзор стека продуктов Cisco для частных и гибридных облаков
Обзор стека продуктов Cisco для частных и гибридных облаков Обзор стека продуктов Cisco для частных и гибридных облаков
Обзор стека продуктов Cisco для частных и гибридных облаков
 
Облачная стратегия Cisco
Облачная стратегия CiscoОблачная стратегия Cisco
Облачная стратегия Cisco
 
Инновационное SDN решение для ЦОД Cisco ACI Anywhere
Инновационное SDN решение для ЦОД Cisco ACI AnywhereИнновационное SDN решение для ЦОД Cisco ACI Anywhere
Инновационное SDN решение для ЦОД Cisco ACI Anywhere
 

Similar to Программируемость фабрики ACI. Объектная модель, REST API, ACI Python SDK

Программируемость корпоративной сети с Cisco APIC-EM
Программируемость корпоративной сети с Cisco APIC-EMПрограммируемость корпоративной сети с Cisco APIC-EM
Программируемость корпоративной сети с Cisco APIC-EM
Cisco Russia
 
Программируемость коммутаторов для ЦОД Cisco Nexus
Программируемость коммутаторов для ЦОД Cisco NexusПрограммируемость коммутаторов для ЦОД Cisco Nexus
Программируемость коммутаторов для ЦОД Cisco Nexus
Cisco Russia
 
Андрей Завадский "Бессерверная архитектура"
 Андрей Завадский "Бессерверная архитектура" Андрей Завадский "Бессерверная архитектура"
Андрей Завадский "Бессерверная архитектура"
Fwdays
 
Как пройти собеседование и получить первую работу на Swift
Как пройти собеседование и получить первую работу на SwiftКак пройти собеседование и получить первую работу на Swift
Как пройти собеседование и получить первую работу на Swift
Anton Loginov
 
SDN в корпоративных сетях
SDN в корпоративных сетяхSDN в корпоративных сетях
SDN в корпоративных сетях
Cisco Russia
 
Микросервисы в .NET Core
Микросервисы в .NET CoreМикросервисы в .NET Core
Микросервисы в .NET Core
Andrew Gubskiy
 
Cisco ACI: концепция инфраструктуры, ориентированной на приложения
Cisco ACI: концепция инфраструктуры, ориентированной на приложенияCisco ACI: концепция инфраструктуры, ориентированной на приложения
Cisco ACI: концепция инфраструктуры, ориентированной на приложения
Cisco Russia
 
Middleware
MiddlewareMiddleware
Middleware
megakott
 
Практические примеры использования API в инфраструктурных продуктах Cisco для...
Практические примеры использования API в инфраструктурных продуктах Cisco для...Практические примеры использования API в инфраструктурных продуктах Cisco для...
Практические примеры использования API в инфраструктурных продуктах Cisco для...
Cisco Russia
 
СISCO: групповые политики в OpenStack
СISCO: групповые политики в OpenStackСISCO: групповые политики в OpenStack
СISCO: групповые политики в OpenStack
Mirantis IT Russia
 
AiCare - self-organizing device management service
AiCare - self-organizing device management serviceAiCare - self-organizing device management service
AiCare - self-organizing device management service
Кварта Технологии
 
AiCare - самоорганизующийся сервис управления
AiCare - самоорганизующийся сервис управленияAiCare - самоорганизующийся сервис управления
AiCare - самоорганизующийся сервис управленияКварта Технологии
 
Облачные приложения и построение платформ для них на базе Openstack Дмитрий Х...
Облачные приложения и построение платформ для них на базе Openstack Дмитрий Х...Облачные приложения и построение платформ для них на базе Openstack Дмитрий Х...
Облачные приложения и построение платформ для них на базе Openstack Дмитрий Х...
Cisco Russia
 
Symfony 3
Symfony 3Symfony 3
Программируемые и программно-определяемые инфраструктуры ЦОД. Развитие подходов
Программируемые и программно-определяемые инфраструктуры ЦОД. Развитие подходовПрограммируемые и программно-определяемые инфраструктуры ЦОД. Развитие подходов
Программируемые и программно-определяемые инфраструктуры ЦОД. Развитие подходов
Cisco Russia
 
Защита центров обработки данных. Механизмы безопасности для классической фабр...
Защита центров обработки данных. Механизмы безопасности для классической фабр...Защита центров обработки данных. Механизмы безопасности для классической фабр...
Защита центров обработки данных. Механизмы безопасности для классической фабр...
Cisco Russia
 
Терминология PI System
Терминология PI SystemТерминология PI System
Терминология PI System
Elizaveta Fateeva
 
Cisco ACI - инфраструктура, ориентированная на приложения: решаемые задачи, п...
Cisco ACI - инфраструктура, ориентированная на приложения: решаемые задачи, п...Cisco ACI - инфраструктура, ориентированная на приложения: решаемые задачи, п...
Cisco ACI - инфраструктура, ориентированная на приложения: решаемые задачи, п...Cisco Russia
 
Сетевая инфраструктура ЦОД, ориентированная на приложения и коммутаторы Nexus...
Сетевая инфраструктура ЦОД, ориентированная на приложения и коммутаторы Nexus...Сетевая инфраструктура ЦОД, ориентированная на приложения и коммутаторы Nexus...
Сетевая инфраструктура ЦОД, ориентированная на приложения и коммутаторы Nexus...Cisco Russia
 
битрикс Framework сергей рыжиков
битрикс Framework   сергей рыжиковбитрикс Framework   сергей рыжиков
битрикс Framework сергей рыжиковMedia Gorod
 

Similar to Программируемость фабрики ACI. Объектная модель, REST API, ACI Python SDK (20)

Программируемость корпоративной сети с Cisco APIC-EM
Программируемость корпоративной сети с Cisco APIC-EMПрограммируемость корпоративной сети с Cisco APIC-EM
Программируемость корпоративной сети с Cisco APIC-EM
 
Программируемость коммутаторов для ЦОД Cisco Nexus
Программируемость коммутаторов для ЦОД Cisco NexusПрограммируемость коммутаторов для ЦОД Cisco Nexus
Программируемость коммутаторов для ЦОД Cisco Nexus
 
Андрей Завадский "Бессерверная архитектура"
 Андрей Завадский "Бессерверная архитектура" Андрей Завадский "Бессерверная архитектура"
Андрей Завадский "Бессерверная архитектура"
 
Как пройти собеседование и получить первую работу на Swift
Как пройти собеседование и получить первую работу на SwiftКак пройти собеседование и получить первую работу на Swift
Как пройти собеседование и получить первую работу на Swift
 
SDN в корпоративных сетях
SDN в корпоративных сетяхSDN в корпоративных сетях
SDN в корпоративных сетях
 
Микросервисы в .NET Core
Микросервисы в .NET CoreМикросервисы в .NET Core
Микросервисы в .NET Core
 
Cisco ACI: концепция инфраструктуры, ориентированной на приложения
Cisco ACI: концепция инфраструктуры, ориентированной на приложенияCisco ACI: концепция инфраструктуры, ориентированной на приложения
Cisco ACI: концепция инфраструктуры, ориентированной на приложения
 
Middleware
MiddlewareMiddleware
Middleware
 
Практические примеры использования API в инфраструктурных продуктах Cisco для...
Практические примеры использования API в инфраструктурных продуктах Cisco для...Практические примеры использования API в инфраструктурных продуктах Cisco для...
Практические примеры использования API в инфраструктурных продуктах Cisco для...
 
СISCO: групповые политики в OpenStack
СISCO: групповые политики в OpenStackСISCO: групповые политики в OpenStack
СISCO: групповые политики в OpenStack
 
AiCare - self-organizing device management service
AiCare - self-organizing device management serviceAiCare - self-organizing device management service
AiCare - self-organizing device management service
 
AiCare - самоорганизующийся сервис управления
AiCare - самоорганизующийся сервис управленияAiCare - самоорганизующийся сервис управления
AiCare - самоорганизующийся сервис управления
 
Облачные приложения и построение платформ для них на базе Openstack Дмитрий Х...
Облачные приложения и построение платформ для них на базе Openstack Дмитрий Х...Облачные приложения и построение платформ для них на базе Openstack Дмитрий Х...
Облачные приложения и построение платформ для них на базе Openstack Дмитрий Х...
 
Symfony 3
Symfony 3Symfony 3
Symfony 3
 
Программируемые и программно-определяемые инфраструктуры ЦОД. Развитие подходов
Программируемые и программно-определяемые инфраструктуры ЦОД. Развитие подходовПрограммируемые и программно-определяемые инфраструктуры ЦОД. Развитие подходов
Программируемые и программно-определяемые инфраструктуры ЦОД. Развитие подходов
 
Защита центров обработки данных. Механизмы безопасности для классической фабр...
Защита центров обработки данных. Механизмы безопасности для классической фабр...Защита центров обработки данных. Механизмы безопасности для классической фабр...
Защита центров обработки данных. Механизмы безопасности для классической фабр...
 
Терминология PI System
Терминология PI SystemТерминология PI System
Терминология PI System
 
Cisco ACI - инфраструктура, ориентированная на приложения: решаемые задачи, п...
Cisco ACI - инфраструктура, ориентированная на приложения: решаемые задачи, п...Cisco ACI - инфраструктура, ориентированная на приложения: решаемые задачи, п...
Cisco ACI - инфраструктура, ориентированная на приложения: решаемые задачи, п...
 
Сетевая инфраструктура ЦОД, ориентированная на приложения и коммутаторы Nexus...
Сетевая инфраструктура ЦОД, ориентированная на приложения и коммутаторы Nexus...Сетевая инфраструктура ЦОД, ориентированная на приложения и коммутаторы Nexus...
Сетевая инфраструктура ЦОД, ориентированная на приложения и коммутаторы Nexus...
 
битрикс Framework сергей рыжиков
битрикс Framework   сергей рыжиковбитрикс Framework   сергей рыжиков
битрикс Framework сергей рыжиков
 

More from Cisco Russia

Service portfolio 18
Service portfolio 18Service portfolio 18
Service portfolio 18
Cisco Russia
 
История одного взлома. Как решения Cisco могли бы предотвратить его?
История одного взлома. Как решения Cisco могли бы предотвратить его?История одного взлома. Как решения Cisco могли бы предотвратить его?
История одного взлома. Как решения Cisco могли бы предотвратить его?
Cisco Russia
 
Об оценке соответствия средств защиты информации
Об оценке соответствия средств защиты информацииОб оценке соответствия средств защиты информации
Об оценке соответствия средств защиты информации
Cisco Russia
 
Обзор Сервисных Услуг Cisco в России и странах СНГ.
Обзор Сервисных Услуг Cisco в России и странах СНГ.Обзор Сервисных Услуг Cisco в России и странах СНГ.
Обзор Сервисных Услуг Cisco в России и странах СНГ.
Cisco Russia
 
Клиентские контракты на техническую поддержку Cisco Smart Net Total Care
Клиентские контракты на техническую поддержку Cisco Smart Net Total CareКлиентские контракты на техническую поддержку Cisco Smart Net Total Care
Клиентские контракты на техническую поддержку Cisco Smart Net Total Care
Cisco Russia
 
Cisco Catalyst 9000 series
Cisco Catalyst 9000 series Cisco Catalyst 9000 series
Cisco Catalyst 9000 series
Cisco Russia
 
Cisco Catalyst 9500
Cisco Catalyst 9500Cisco Catalyst 9500
Cisco Catalyst 9500
Cisco Russia
 
Cisco Catalyst 9400
Cisco Catalyst 9400Cisco Catalyst 9400
Cisco Catalyst 9400
Cisco Russia
 
Cisco Umbrella
Cisco UmbrellaCisco Umbrella
Cisco Umbrella
Cisco Russia
 
Cisco Endpoint Security for MSSPs
Cisco Endpoint Security for MSSPsCisco Endpoint Security for MSSPs
Cisco Endpoint Security for MSSPs
Cisco Russia
 
Cisco FirePower
Cisco FirePowerCisco FirePower
Cisco FirePower
Cisco Russia
 
Профессиональные услуги Cisco для Software-Defined Access
Профессиональные услуги Cisco для Software-Defined AccessПрофессиональные услуги Cisco для Software-Defined Access
Профессиональные услуги Cisco для Software-Defined Access
Cisco Russia
 
Обнаружение известного вредоносного кода в зашифрованном с помощью TLS трафик...
Обнаружение известного вредоносного кода в зашифрованном с помощью TLS трафик...Обнаружение известного вредоносного кода в зашифрованном с помощью TLS трафик...
Обнаружение известного вредоносного кода в зашифрованном с помощью TLS трафик...
Cisco Russia
 
Промышленный Интернет вещей: опыт и результаты применения в нефтегазовой отрасли
Промышленный Интернет вещей: опыт и результаты применения в нефтегазовой отраслиПромышленный Интернет вещей: опыт и результаты применения в нефтегазовой отрасли
Промышленный Интернет вещей: опыт и результаты применения в нефтегазовой отрасли
Cisco Russia
 
Полугодовой отчет Cisco по информационной безопасности за 2017 год
Полугодовой отчет Cisco по информационной безопасности за 2017 год Полугодовой отчет Cisco по информационной безопасности за 2017 год
Полугодовой отчет Cisco по информационной безопасности за 2017 год
Cisco Russia
 
Годовой отчет Cisco по кибербезопасности за 2017 год
Годовой отчет Cisco по кибербезопасности за 2017 годГодовой отчет Cisco по кибербезопасности за 2017 год
Годовой отчет Cisco по кибербезопасности за 2017 год
Cisco Russia
 
Безопасность для цифровой экономики. Развитие продуктов и решений Cisco
Безопасность для цифровой экономики. Развитие продуктов и решений CiscoБезопасность для цифровой экономики. Развитие продуктов и решений Cisco
Безопасность для цифровой экономики. Развитие продуктов и решений Cisco
Cisco Russia
 
Cisco StealthWatch. Использование телеметрии для решения проблемы зашифрованн...
Cisco StealthWatch. Использование телеметрии для решения проблемы зашифрованн...Cisco StealthWatch. Использование телеметрии для решения проблемы зашифрованн...
Cisco StealthWatch. Использование телеметрии для решения проблемы зашифрованн...
Cisco Russia
 
Обеспечение бесперебойной работы корпоративных приложений в больших гетероген...
Обеспечение бесперебойной работы корпоративных приложений в больших гетероген...Обеспечение бесперебойной работы корпоративных приложений в больших гетероген...
Обеспечение бесперебойной работы корпоративных приложений в больших гетероген...
Cisco Russia
 
Новое поколение серверов Сisco UCS. Гиперконвергентное решении Cisco HyperFle...
Новое поколение серверов Сisco UCS. Гиперконвергентное решении Cisco HyperFle...Новое поколение серверов Сisco UCS. Гиперконвергентное решении Cisco HyperFle...
Новое поколение серверов Сisco UCS. Гиперконвергентное решении Cisco HyperFle...
Cisco Russia
 

More from Cisco Russia (20)

Service portfolio 18
Service portfolio 18Service portfolio 18
Service portfolio 18
 
История одного взлома. Как решения Cisco могли бы предотвратить его?
История одного взлома. Как решения Cisco могли бы предотвратить его?История одного взлома. Как решения Cisco могли бы предотвратить его?
История одного взлома. Как решения Cisco могли бы предотвратить его?
 
Об оценке соответствия средств защиты информации
Об оценке соответствия средств защиты информацииОб оценке соответствия средств защиты информации
Об оценке соответствия средств защиты информации
 
Обзор Сервисных Услуг Cisco в России и странах СНГ.
Обзор Сервисных Услуг Cisco в России и странах СНГ.Обзор Сервисных Услуг Cisco в России и странах СНГ.
Обзор Сервисных Услуг Cisco в России и странах СНГ.
 
Клиентские контракты на техническую поддержку Cisco Smart Net Total Care
Клиентские контракты на техническую поддержку Cisco Smart Net Total CareКлиентские контракты на техническую поддержку Cisco Smart Net Total Care
Клиентские контракты на техническую поддержку Cisco Smart Net Total Care
 
Cisco Catalyst 9000 series
Cisco Catalyst 9000 series Cisco Catalyst 9000 series
Cisco Catalyst 9000 series
 
Cisco Catalyst 9500
Cisco Catalyst 9500Cisco Catalyst 9500
Cisco Catalyst 9500
 
Cisco Catalyst 9400
Cisco Catalyst 9400Cisco Catalyst 9400
Cisco Catalyst 9400
 
Cisco Umbrella
Cisco UmbrellaCisco Umbrella
Cisco Umbrella
 
Cisco Endpoint Security for MSSPs
Cisco Endpoint Security for MSSPsCisco Endpoint Security for MSSPs
Cisco Endpoint Security for MSSPs
 
Cisco FirePower
Cisco FirePowerCisco FirePower
Cisco FirePower
 
Профессиональные услуги Cisco для Software-Defined Access
Профессиональные услуги Cisco для Software-Defined AccessПрофессиональные услуги Cisco для Software-Defined Access
Профессиональные услуги Cisco для Software-Defined Access
 
Обнаружение известного вредоносного кода в зашифрованном с помощью TLS трафик...
Обнаружение известного вредоносного кода в зашифрованном с помощью TLS трафик...Обнаружение известного вредоносного кода в зашифрованном с помощью TLS трафик...
Обнаружение известного вредоносного кода в зашифрованном с помощью TLS трафик...
 
Промышленный Интернет вещей: опыт и результаты применения в нефтегазовой отрасли
Промышленный Интернет вещей: опыт и результаты применения в нефтегазовой отраслиПромышленный Интернет вещей: опыт и результаты применения в нефтегазовой отрасли
Промышленный Интернет вещей: опыт и результаты применения в нефтегазовой отрасли
 
Полугодовой отчет Cisco по информационной безопасности за 2017 год
Полугодовой отчет Cisco по информационной безопасности за 2017 год Полугодовой отчет Cisco по информационной безопасности за 2017 год
Полугодовой отчет Cisco по информационной безопасности за 2017 год
 
Годовой отчет Cisco по кибербезопасности за 2017 год
Годовой отчет Cisco по кибербезопасности за 2017 годГодовой отчет Cisco по кибербезопасности за 2017 год
Годовой отчет Cisco по кибербезопасности за 2017 год
 
Безопасность для цифровой экономики. Развитие продуктов и решений Cisco
Безопасность для цифровой экономики. Развитие продуктов и решений CiscoБезопасность для цифровой экономики. Развитие продуктов и решений Cisco
Безопасность для цифровой экономики. Развитие продуктов и решений Cisco
 
Cisco StealthWatch. Использование телеметрии для решения проблемы зашифрованн...
Cisco StealthWatch. Использование телеметрии для решения проблемы зашифрованн...Cisco StealthWatch. Использование телеметрии для решения проблемы зашифрованн...
Cisco StealthWatch. Использование телеметрии для решения проблемы зашифрованн...
 
Обеспечение бесперебойной работы корпоративных приложений в больших гетероген...
Обеспечение бесперебойной работы корпоративных приложений в больших гетероген...Обеспечение бесперебойной работы корпоративных приложений в больших гетероген...
Обеспечение бесперебойной работы корпоративных приложений в больших гетероген...
 
Новое поколение серверов Сisco UCS. Гиперконвергентное решении Cisco HyperFle...
Новое поколение серверов Сisco UCS. Гиперконвергентное решении Cisco HyperFle...Новое поколение серверов Сisco UCS. Гиперконвергентное решении Cisco HyperFle...
Новое поколение серверов Сisco UCS. Гиперконвергентное решении Cisco HyperFle...
 

Программируемость фабрики ACI. Объектная модель, REST API, ACI Python SDK

  • 2. Программируемость фабрики ACI Объектная модель, REST API, ACI Python SDK Александр Скороходов Инженер-консультант © 2017 Cisco and/or its affiliates. All rights reserved.
  • 3. Модели эксплуатации сети Управление отдельными устройствами • CLI • Порты, VLAN, протоколы... • Привычно • Хорошо документировано • Медленно – “несколько недель на создание VLAN???” • Подвержено ошибкам • Классические NMS мало помогают • Сеть воспринимается как тормоз ИТ! Чем будет заниматься сетевой инженер будущего ? Автоматизация и программирование • Скрипты, API, Chef/Puppet… • «Управлять коммутаторами так же, как серверами» • DevOps модель • Высокая скорость развертывания и внесения изменений • Единый инструментарий управления разными элементами среды • Новый набор навыков • Кто будет отвечать за сеть? Оркестрация и управление по политикам • Системы оркестрации • ACI: OpFlex, Group-based Policy… • Развёртывание и эксплуатация сети в контексте приложения/сервиса • «Сеть как сервис» • Единая точка программируемости • Новый набор навыков • Миграция?
  • 4. Цели сессии Для двух типов аудитории Для сетевых администраторов: • Показать, как программируемость сети может сделать их работу проще и эффективнее • Продемонстрировать возможности расширения функциональности • Перестать бояться программирования • Помочь найти общий язык с программистами ;) Для программистов: • Показать возможности использования Nexus как открытой программируемой платформы • Описать ключевой инструментарий программирования для работы с сетевым оборудованием Cisco для ЦОД • Помочь найти общий язык с сетевыми администраторами ;) Для сетевых администраторов и программистов: Возможность объединения усилий в рамках DevOps модели разработки, внедрения и эксплуатации
  • 5. Cisco ACI программируемая инфраструктура App DBWeb Внешняя сеть передачи данных QoS ACL QoS LB QoS МСЭ, LB
  • 6. Cisco ACI программируемая инфраструктура App DBWeb Внешняя сеть передачи данных QoS ACL QoS LB QoS МСЭ, LB App App/ Sec Ops: cеть, cерверы,... DevOps API API API
  • 7. Cisco ACI: объектная модель и REST API Cisco Connect 2017 © 2017 Cisco and/or its affiliates. All rights reserved. 7
  • 8. OpFlex Business App Business App Fabric Fabric Management SDKs&Tools Business Processes REST REST API GUI Business App ACIToolkit Cobra SDK Visore UCSD Business App CloudCenter Программируемость ACI: архитектура
  • 9. Объектная модель ACI Дерево управляющей информации Всё в системе (настройки, оборудование, состояние) моделируется как набор Managed Objects (MOs). MOs иерарически организованы в Management Information Tree (MIT). Конфигурация системы Обнаруженные компоненты Текущий статус, включая статистику и отказы Объекты в дереве обладают отношениями «родитель-потомок» Логически связанные объекты могут иметь отношение от одного к другому (тоже объект) ВСЯ программируемость ACI построена по работе с этим деревом: Создание новых объектов Чтение/поиск объектов Модификация существующих объектов Удаление объектов
  • 10. REST API: Distinguished Names DN – глобально уникальный идентификатор объекта в MIT Получается добавлением relative name (RN) к родительскому DN пока не достигнем корня дерева Правила именования RN зависят от объекта Описывается в документации Пример: uni/tn-tenant/ap-app1/epg-epg1 topology/pod-1/paths-101/pathep-[eth1/1]
  • 11. The REST API: доступ к объектной модели DEVNET-2000 11
  • 12. Поддерживаемые методы REST API Create, read, update and delete DEVNET-2000 12
  • 14. REST API: операции Create/Update
  • 15. REST API: запросы и фильтры self children subtree
  • 16. REST API: подписки В рамках REST запроса клиент может запросить push уведомление о любых изменениях в ответе использованием websocket протокола (RFC 6455) Пример: GET http://192.0.20.123/api/class/fvTenant.json?subscription=yes Для получения уведомлений клиент должен создать websocket. Пример на JavaScript: var Socket = new WebSocket(http://192.0.20.123/socket<current API session cookie>); Ответ на подписку:
  • 17. «Перехватите» XML/JSON запрос с использованием API inspector в GUI
  • 18. Воспроизведите в REST клиенте Скопируйте необходимую информацию в REST client: POST/GET, URL и объект (для POST запросов) Хороший вариант: Postman 18
  • 19. Вызов REST API из Python С использованием модуля requests
  • 20. Cobra SDK Cisco Connect 2017 © 2017 Cisco and/or its affiliates. All rights reserved. 20
  • 21. Cobra SDK «Привзка» к Python для APIC REST API Cobra is ACI’s SDK. Поиск, создание, модификация и удаления объектов Объекты в Cobra - 1:1 представление объектов в MIT As a result, policy created via GUI/JSON/XML can be used as a programming template, for more rapid development All data has client side consistency checks performed Посталяется как .egg (загрузка: https://<apic address>/cobra/_downloads), установка с easy_install REST API Business App Business App Cobra SDK
  • 22. Документация по Cobra SDK Документацию по Cobra SDK можно найти на https://<apic address>/cobra/index.html, включая описание API, справочник по модели и примеры использования
  • 23. ACI Python SDK: аутентификация import cobra.mit.access import cobra.mit.session ls = cobra.mit.session.LoginSession( 'http://apic', 'username', 'password') md = cobra.mit.access.MoDirectory(ls) md.login() Link the credentials to the APIC Define an APIC to which we will login LoginSession stores URI and credentials DEVNET-2000 23
  • 24. Создание тенанта с Cobra (фрагмент) from cobra.model.fv import Tenant from cobra.model.pol import Uni from cobra.mit.request import ConfigRequest uniMo = Uni('') # Uni is a static Mo, so we don’t need to look it up t = Tenant(uniMo, 'Tenant1') # We create a tenant as a child of the universe c = ConfigRequest() # Create a ConfigRequest to contain our new object c.addMo(t) # Add our tenant to the ConfigRequest moDir.commit(c) # Commit our configuration request DEVNET-2054 24
  • 25. Создание 3-звенного приложения с Cobra (фрагмент) from cobra.model.fv import * from cobra.model.pol import Uni uniMo = Uni('') t = Tenant(uniMo, 'Tenant1') ap = Ap(t, 'Exchange') epg1 = AEPg(ap, 'OWA') epg2 = AEPg(ap, 'FrontEnd') epg3 = AEPg(ap, 'MailBox') ep = RsPathAtt(epg1, tDn=‘topology/pod-1/paths-17/paths-[eth1/1]’, mode=‘regular’, encap=‘vlan-10’) c = ConfigRequest() c.addMo(t) moDir.commit(c)
  • 28. Cisco ACI Toolkit Cisco Connect 2017 © 2017 Cisco and/or its affiliates. All rights reserved. 28
  • 29. ACI Toolkit NX-OS like CLI Custom Python Scripts ACI toolkit Простой вход в программируемость ACI Простой Python SDK, использующий APIC API Скрипты легче читать, сохраняет базовые конструкции ACI Не полная функциональность, но наиболее часто используемые функции (~30 классов) Поддерживает «подписку» Open Source, участвует Cisco и сторонние разработчики http://github.com/datacenter/acitoolkit 29
  • 30. topRoot polUni fvTenant fvAp fvAEPg vzFilter vzEntry vzBrCP vzSubj fabricTopology fabricPod fabricPathEpCont fabricPathEp fabricNode vmmProvP vmmDomP vmmCtrlrP TECDCT-2941 30
  • 32. tenant = Tenant('sampleTenant') app = AppProfile('sampleANP', tenant) epgDB = EPG('DB', app) epgWeb = EPG('WEB', app) contract = Contract('http_contract', tenant) entry1 = FilterEntry('HTTP', applyToFrag='no', arpOpc='unspecified', dFromPort='http', dToPort='https', etherT='ip', prot='tcp', sFromPort='unspecified', sToPort='unspecified', tcpRules='unspecified', parent=contract) epgDB.provide(contract) epgWeb.consume(contract) ACIToolkit - Пример TECDCT-2941 32
  • 33. • Подписывается на уведомления от APIC и выполняет действия при подключении/отключении Endpoints • Сейчас уже часть базовой фунциональности ACI (since v1.2(1)) Пример: End Point Tracker 33 # Subscribe to End Point live updates aci.Endpoint.subscribe(session) while True: if aci.Endpoint.has_events(session): # Gather information on the endpoint ep = aci.Endpoint.get_event(session) epg = ep.get_parent() app_profile = epg.get_parent() tenant = app_profile.get_parent() # Do something when an EP leaves the network if ep.is_deleted(): ... # Do something when an EP joins the network else: ... # Sleep or else the endpointtracker will take 100% cpu time.sleep(0.1) End Point Tracker main code: https://github.com/datacenter/acitoolkit/blob/master/applications/endpointtracker/aci-endpoint-tracker.py
  • 34. Примеры приложений в составе ACIToolkit • Endpoint Tracker • Lint • Cableplan • Configuration Snapshot and Rollback • Visualization Examples • Intersite Configuration Federation • Connection Search TECDCT-2941 34
  • 35. Cloud Apps Troubleshooting Apps Security Apps Networking Apps Monitoring Apps Optimization Apps ACI 2.2: Introducing Cisco App Center Категории приложений Cisco ACI App Center https://aciappcenter.cisco.com/
  • 36. Ссылки по теме Источник Ссылка DevNet: cайт Cisco для разработчиков для ACI (включая sandbox среду) https://developer.cisco.com/site/aci/ Репозиторий Cisco по программмируемости для ЦОД (Nexus/ACI) http://github.com/datacenter/ ACI Toolkit и документация по нему http://github.com/datacenter/acitoolkit https://acitoolkit.readthedocs.io
  • 37. #CiscoConnectRu#CiscoConnectRu Спасибо за внимание! Оцените данную сессию в мобильном приложении конференции © 2017 Cisco and/or its affiliates. All rights reserved. Контакты: Тел.: +7 495 9611410 www.cisco.com www.facebook.com/CiscoRu www.vk.com/cisco www.instagram.com/ciscoru www.youtube.com/user/CiscoRussiaMedia