6. Эволюция систем автоматизации
6
Управление
(NMS)
NE NE NE NE
Разработанные заказчиком
инструменты, ручные изменения
через CLI
Контроллер
(Политики и контроль состояний)
Управление
(Внедрение и Оценка)
Автоматизация
(Сценарий / Оркестрация)
NE NE NE NE
Описание бизнес-задачи и/или
целевой услуги
Традиционные NMS Управление на основе SDN
Сетевая
автоматизаця
посредством
настройки
отдельных функций
Автоматизация
бизнес-задач
7. Общая модель политик Cisco DNA – от
филиала через WAN и кампус в ЦОД
Сетевой профиль потока приложений
SLA, безопасность, QoS, балансировка нагрузки
Облако ЦОД
ЦОД
Сетевой профиль пользователя или объекта
QoS, безопасность, SLA, устройство, местоположение,
роль
WAN Доступ
СЕТЬ WAN И СЕТЬ ДОСТУПА
СОГЛАСОВАННАЯ ПОЛИТИКА ДЛЯ ОБЛАКА, ЦОД, WAN И УРОВНЯ ДОСТУПА
ПРЕИМУЩЕСТВА Cisco
ПРОЕКТЫ НА ОСНОВЕ ИМЕЮЩЕЙСЯ
ИНФРАСТРУКТУРЫ
И РАЗРАБОТКИ С НУЛЯ
КОМПЛЕКСНОСТЬ
СТРУКТУРА ПОЛИТИК: ОРИЕНТАЦИЯ
НА ПОЛЬЗОВАТЕЛЕЙ И ПРИЛОЖЕНИЯ
8. DNA автоматизация на
основе политик
Транслирует конкретную бизнес-задачу
в понятный инфраструктуре язык
Понятные инфраструктуре команды
Задачи
Пользователей/Приложений/Бизнеса
“Только корпоративные
устройства в группе
Group:FinExec имеют доступ к
финансовым отчетам”
Динамическая сегментация
на основе контекста
пользователя/времени/расп
оложения/типа устройства
10. Северный REST API
Архитектура платформы APIC-EM
Приложения APIC-EM
Гибкая инфраструктура контроллера (Grapevine )
Сеть
PnP
IWAN Path Trace
Сетевая
Инвентаризация
Расширенная визуализация топологии
Сервисы APIC-EM
Диспетчер
запасов
RBAC
Анализ
политик
Программиро-
вание политик
Network PnP
Сервис доступа к
данным
Сервисы
топологии
IWAN
Сервисы
Приложения, выполняемые на платформе APIC-
EM
Приложения, входящие в APIC-EM
Комплект основных приложений
Приложение IWAN лицензируется отдельно
Открытый и задокументированный REST API
Основные сервисы
Сервисы для приложений
Обеспечивает масштабирование и высокую
доступность
11. APIC-EM: сервисы и приложения
NB REST API
Pxgrid Client +
LDAP client
Radius Proxy +
LDAP client
Inventory
Topology
Policy Analysis
PnP
Network
Discovery
Network
Programmer
Policy
Programmer
(QoS, ACL)
Network
Tapping
Easy QoS
Network Events
Policy Manager
Conflict Detection and
Resolution
(BI and NI)
Business Intent to
Network Intent
Conversion
NETWORK
MODEL
DEVICE
MODEL
DEVICE
INTERFACE
Application
Visibility
PfR
APIC-EMServicesAPIC-EMApps
IWAN Services
APIC-EM Services
IWAN Services
Basic Services for Controller Availability
Inventory
Visualizer
Topology
Visualizer
Application
Visualizer
Discovery
Easy QoS
Visualizer
Compliance
Check
ACL
Visualizer
Network PnP
Network
Tapping
Visualizer
Policy
Manager
13. Приложения APIC-EM
День-1 и День-2
PLUG-AND-PLAY
Автоматизированное
внедрение маршрутизаторов /
коммутаторов / точек доступа
Ускорение внедрения с
месяцев до минут,
уменьшение вовлеченности
экспертов
Cisco IWAN (SD-WAN)
Набор типовых сценариев
внедрения архитектуры IWAN
От 250 CLI команд к 5
«кликам» в GUI для каждого
офиса: 10-кратное ускорение
1000% внедрения IWAN
Path Trace
Определение пути обмена
трафиком между любыми
элементами сети на основе 5
параметров flow
Оперативное обнаружение
проблем связанных с QoS и
ACL. Снижение затрат на
обнаружение в 5 раз
Static QoS
Автоматизированная
настройка QoS на всей
инфраструктуре на основе
лучших политик в несколько
«кликов»
EasyQoS
13
Dynamic QoS
Динамические политики QoS для
голосовых/видео/VDI приложений
Динамическая QoS политика для
программных клиентов
15. REST – выглядит знакомо?
15
HTTP GET
HTML
Describes how data should be
displayed to please human
viewer
HTTP GET
JSON/XML
Describes data in a format
applications can understand
{"ids":[303776224, 19449911, 607032789,
86544242, 2506725913, 17631389],
"next_cursor":0, "next_cursor_str":"0",
"previous_cursor":0, "previous_cursor_str":"0"}
Web Browsing REST API
16. REST
Как это работает?
Запрос клиента
API Service
Выполнения запрошенной
функции
Ответ
Анализ ответа на
стороне клиента
18. REST в действии: как попробовать
самому?
18
Большинство HTTP клиентов поддерживают плагины для работы с
REST API
§Postman - http://www.getpostman.com/
§Firefox RestClient - https://addons.mozilla.org/en-US/firefox/addon/restclient/
§Командная строка, используя curl - http://curl.haxx.se/docs/httpscripting.html#GET
§SOAPUI
Для простоты рассмотрим Postman…
19. Postman в действии – основные шаги
Использование Postman для REST API вызовов
1. Запустить Postman (Плагин или Приложение)
2. Определить Uri и выбрать HTTP Action
3. Определить ”URL Params” для передачи дополнительных параметров в REST API запросе
4. Выбрать “Headers” для внесения данных аутентификации (токена)
23. Варианты REST API аутентификации
• Базовый HTTP: Пара логин-пароль передаются в HTTP запросе в
кодированном виде
• OAuth: Открытый стандарт для HTTP аутентификации и управления
HTTP сессиями. Создает временный токен для пользователя с
индивидуальными правами доступа при взаимодействии через REST
API.
• Токен: Токен создает в начале работы приложения и используется в
каждом последующем REST API вызове, но управление сессиями и
отслеживание пользователей не используется, что упрощает
взаимодействие
• à APIC-EM использует именно последний вариант аутентификации.
• Другие системы с поддержкой REST API могут (и чаще всего будут)
использовать другие способы для аутентификации пользователей и
REST API вызовов (например Cisco Spark)
23
24. APIC-EM – доступ через токены
1. Запросить создание токена безопасности
2. Токен возращается в теле REST ответа
3. Включить значение токена в заголовок последующих REST API
запросов в поле ‘X-Auth-Token’
4. При необходимости определить «срок жизни» токена (через REST API
запрос)
24
26. REST демо – использование Postman
26
method url
Response body
27. Общий процесс взаимодействия с APIC-EM
• Постановка задачи
• какие REST API запросы необходимо передать в APIC-EM?
• Подготовка приложения Python (или любого другого языка
с библиотеками REST API)
• Вызов соответствующих REST запросов
• Обработка (Parsing) REST ответов
27
30. ‘Python how to’ – как вывести результат
REST API запроса в «читаемом» виде
import requests
import pprint
req= requests.post(url,data=params, headers=header, verify=False)
my_parsed_response = req.json()
print('Parsed JSON Response: ')
pprint(my_parsed_response)
{
"response": {
"serviceTicket": "ST-2-e7PF7jy6GJ43JEhmCbKi-cas"
},
"version": "0.0"
}
31. ‘Python how to’ – как извлечь нужные данные
из иерархической структуры данных
…
apic_session_ticket = response ['response']['serviceTicket']
#OR
apic_session_ticket = req.json()['response']['serviceTicket']
33. APIC-EM – примеры REST
запросов
33
§Get Hosts
– Method: GET
– Headers: ‘X-Auth-Token’ (insert your ticket value)
– URL: http://<APIC-EMController>/api/v1/host
§Get Devices
– Method: GET
– Headers: ‘X-Auth-Token’ (insert your ticket value)
– URL: http://<APIC-EMController>/api/v1/network-device
§Get Users
– Method: GET
– Headers: ‘X-Auth-Token’ (insert your ticket value)
– URL: http://<APIC-EMController>/api/v1/user
http://bit.ly/1KOUafr
Download Postman Collection
34. APIC-EM пример: Get Host
34
3rd Party App
GET http://{APIC-EMController}/api/v1/host
Список клиентских устройств (JSON)
Application Policy Infrastructure Controller (APIC) Enterprise Module (EM)
Запрос
Ответ
41. Path Trace – запрос на построение пути
41
https://sandboxapic.cisco.com/api/v1/flow-analysis POST
{
"sourceIP" : "65.1.1.83",
"destIP" : "212.1.10.20"
}
{
"response": {
"taskId": "c7896f2e-ee65-40c7-8213-a32e314eceb2",
"url": "/api/v1/task/c7896f2e-ee65-40c7-8213-a32e314eceb2"
},
"version": "1.0"
}
42. Path Trace – контроль состояния задачи
42
https://sandboxapic.cisco.com/api/v1/task/c7896f2e-ee65-40c7-8213-a32e314eceb2 GET
{
"response": {
"progress": "9238c613-b5cc-4db5-b7df-bb1c1eca6306",
"version": 1454732293035,
"startTime": 1454732293035,
"endTime": 1454732294870,
"serviceType": "Policy Analysis Service",
"rootId": "c7896f2e-ee65-40c7-8213-a32e314eceb2",
"isError": false,
"id": "c7896f2e-ee65-40c7-8213-a32e314eceb2"
},
"version": "1.0"
}
43. ‘Python how to’ – как обнаружить момент,
когда задача выполнена
Flow=requests.get(…)
While True:
If Flow[‘response’].get(‘endTime’)!=None:
break
Else:
time.sleep(2)
Flow=requests.get(…)
50. Традиционная
ИТ-инфраструктура
Автоматизация через интеграцию систем
Пример: Расширенная инвентаризация инфраструктуры
Проблема: Как использовать возможности платформы APIC-EM по анализу и инвентаризации
инфраструктуры для обеспечения контроля сервисов?
Пример из реальной жизни
Решение: Интегрируйте API-интерфейсы REST платформы APIC-EM
с существующей системой Paessler / PRTG:
1. Определите соответствующие области сервисов
2. Запустите программу APIC-EM Discovery
3. Предоставьте программе инвентаризации запасов APIC-EM доступ
через API-интерфейсы REST и модульный адаптер/инструмент
PowerShell
4. Выполните корреляцию полученных данных с информацией
EoX на портале apiconsole.cisco.com
5. Предоставьте доступ сотрудникам ИТ-отдела
и пользователям DevOps через PRTG
См. www.damovo.com
виртуальная СЕТЬ-, ПРИЛОЖЕНИЯ-, УПРАВЛЕНИЕ- ФУНКЦИИ
КОММУТАЦИЯ | МАРШРУТИЗАЦИЯ | БЕСПРОВОДНЫЕ СЕТИ
51. Автоматизация через интеграцию систем
Пример: Динамическая политика для Citrix
Virtual / Overlay Networks
Сеть
APIC-EM QoS и ACL Apps
API приложений (REST)
отчет
1) 4) обнаружение,
внедрение
NOC Operators
управлятьопределить
3)
58
Пример из реальной жизни
ответзапрос
Проблема: How Как обеспечить динамически изменяемую политику QoS для пользователей
Citrix XenDesktop?
Решение: Интегрировать Citrix
NetScaler с APIC-EM:
1) APIC-EM обнаруживает
сетевые элементы и
клиентские устройства
2) NetScaler обнаруживает
начало сессии (video)
3) NetScaler запрашивает
изменение политики QoS
через APIC-EM REST API
4) APIC-EM проверяет,
внедряет и сообщает об
успешном применении
2)
52. 4)
Автоматизация через интеграцию систем
Пример: Dynamic Admission Control
Проблема: Как обеспечить гарантированный и предсказуемый механизм динамического
контроля доступа к ресурсам сети - dynamic call admission control (DAC) - на всей
инфраструктуре включая кампусную, распределенную и офисные сети и с поддержкой
множества различных UC технологий?
Пример из реальной жизни
Решение: Использовать возможности DNA и
APIC-EM для интеграции с UC системами
1) Определить политики контроля доступа к ресурсам
во внешнем приложении Netwrapper
2) Интегрировать с UC контроллерами
(Skype4Business, Cisco CUCM, …)
3) Интегрировать с APIC-EM NIB и Easy QoS
4) Сформировать и применить целевую политику
QoS и SLA
Источник: www.italtel.com/products/sdn-monitoring-automation
https://marketplace.cisco.com/catalog/companies/italtel-s-p-a/products/netwrapper--2
WAN
Офис Кампус
2)
3)
1)
Service Topology
Analyzer
Policy Engine
QoS
Adapter
CAC
AdapterNetwrapper
53. REST: не только для APIC-EM
53
CSR1kV in 3.10S, RSP2 in XE 3.16
ASR1001-X, ASR1002-X in XE 3.14S
ASA 5500-X/ASAv v1.0 Dec14, FP9300
ASA Module v1.2 March15
Support Features are evolving
54. APIC-EM – как попробовать самостоятельно?
54
• Зарегистрируйтесь на Cisco DevNet (http://developer.cisco.com )
• Используйте «песочницу» APIC-EM – всегда включено!
• APIC-EM Login: username: devnetuser password: Cisco123!
• Обучение на https://learninglabs.cisco.com
https://sandboxapic.cisco.com
55. Поздравляем! Сегодня Вы узнали:
55
• Что такое REST API и как его использовать для управления
корпоративной сетью с APIC-EM
• Как осуществлять вызовы REST API из внешних приложений
• Как взаимодействовать со встроенными приложениями APIC-EM
• Какие есть возможности для интеграции с внешними системами