SlideShare a Scribd company logo
1 of 16
Download to read offline
PowerShell, Графы + профит
или как находить зависимости между всем и всем
DevOps или Системный инженер, вот в чем
вопрос
• Менеджер: Заказчику нужен DevOps инженер ...
• DevOps: Мы!
• Менеджер: ... чтобы построить гибридное облако и перенести
приложения в публичную его часть из приватной части
• DevOps: а нет, не мы
Потому я ...
• Системный архитектор (по совместительству - инженер)
Мы занимаемся
• Переносом систем приложений оттуда сюда, ну или оттуда сюда, это
как кому захочется
• В последствии поддержкой этих систем в рамках ITSM моделей
заказчика
• Построением гибридных облаков, это сейчас модно
• Борьбой со сложными техническими проблемами в инфраструктурах
заказчика
• Планированием и построением всякого рода платформ на основе
стандартных решений в корпоративном секторе
• Ну и конечно автоматизация всего и вся в рамках поддержки этих
инфраструктур. Куда ж без нее
Миграция - как есть, без изменений.
• Кому мы шлем данные?
• Кто шлет нам данные?
• Кто пользуется системой?
• Вспомогательные системы, которые мы используем
• ...
Управление облаками и их содержимым
VNET VNET VNET
HUB
VNET
ER ER ER
VNET VNET VNET VNET VNET VNET
HUB
VNET HUB
VNET
Datacenter layer
Ну и всякое другое
• Нарисовать сетевую топологию заказчика, не зная о сети ничего
• Найти с кем разговаривает наша система
• Посмотреть зависимости в нашем коде
• И так далее ...
Проблема - решение
• Проблема – поиск зависимостей между компонентами системы
• Решение – собрать метаданные, обработать и представить в виде
графа
• Инструмент – PowerShell + PSQuickGraph
Миграция и поиск зависимостей
приложений
• Данные о зависимостях можно получить из:
• Текстовых логов firewall
• Sysmon
• Логи DNS
• Парсим логи
• Заталкиваем данные в граф
Получаем граф взаимодействий!
DEMO
• Simple graph
• Сетевые коммуникации
• Структура модуля
Структура объектов в облакеgovernance
• Выгружаем все объекты как есть (сети, vnet peering, express route
circuits …)
• Проходим раз - добавляем в граф вершины
• Проходим еще раз – добавляем дуги
• Чтобы найти все сети, поключенные к конкретному ER –
вызываем алгоритм Дейкстры для всех сетей
Получаем структуру сетей в облаке
DEMO
Выводы
• Видеть связи между компонентами системы очень полезно
• Можно находить эти связи автоматически или полуавтоматически
• Графы помогают исследовать зависимости
Спасибо!
• Вопросы
Andrey Vernigora
https://github.com/eosfor
https://twitter.com/pwsh_guy
https://eosfor.github.io

More Related Content

Similar to Powershell, Graphs and more. Or how to find dependencies in your systems

Развитие решений Cisco для ЦОД глазами специалиста по серверам и приложениям...
Развитие решений Cisco для ЦОД глазами специалиста по серверам и приложениям...Развитие решений Cisco для ЦОД глазами специалиста по серверам и приложениям...
Развитие решений Cisco для ЦОД глазами специалиста по серверам и приложениям...Cisco Russia
 
Javascript-фреймворки: должен остаться только один / Аверин Сергей (Acronis)
Javascript-фреймворки: должен остаться только один / Аверин Сергей (Acronis)Javascript-фреймворки: должен остаться только один / Аверин Сергей (Acronis)
Javascript-фреймворки: должен остаться только один / Аверин Сергей (Acronis)Ontico
 
Javascript-фреймворки:
 должен остаться только один
Javascript-фреймворки:
 должен остаться только одинJavascript-фреймворки:
 должен остаться только один
Javascript-фреймворки:
 должен остаться только одинSergey Xek
 
AiCare - самоорганизующийся сервис управления
AiCare - самоорганизующийся сервис управленияAiCare - самоорганизующийся сервис управления
AiCare - самоорганизующийся сервис управленияКварта Технологии
 
SDN в корпоративных сетях
SDN в корпоративных сетяхSDN в корпоративных сетях
SDN в корпоративных сетяхCisco Russia
 
VIPER architecture
VIPER architectureVIPER architecture
VIPER architectureAlex Rudyak
 
Как devops исчерпывает себя, и что будет дальше / Кирилл Вечера (Jetware)
Как devops исчерпывает себя, и что будет дальше / Кирилл Вечера (Jetware)Как devops исчерпывает себя, и что будет дальше / Кирилл Вечера (Jetware)
Как devops исчерпывает себя, и что будет дальше / Кирилл Вечера (Jetware)Ontico
 
Middleware
MiddlewareMiddleware
Middlewaremegakott
 
2015-12-05 Сергей Аверин - Javascript-фреймворки: должен остаться только один
2015-12-05 Сергей Аверин - Javascript-фреймворки: должен остаться только один2015-12-05 Сергей Аверин - Javascript-фреймворки: должен остаться только один
2015-12-05 Сергей Аверин - Javascript-фреймворки: должен остаться только одинHappyDev
 
CodeFest 2011. Ширшаков Д. — Как подружить ежа с ужом или другой взгляд на DWH
CodeFest 2011. Ширшаков Д. — Как подружить ежа с ужом или другой взгляд на DWHCodeFest 2011. Ширшаков Д. — Как подружить ежа с ужом или другой взгляд на DWH
CodeFest 2011. Ширшаков Д. — Как подружить ежа с ужом или другой взгляд на DWHCodeFest
 
Open source technologies in Microsoft cloud - MS SWIT 2014
Open source technologies in Microsoft cloud - MS SWIT 2014Open source technologies in Microsoft cloud - MS SWIT 2014
Open source technologies in Microsoft cloud - MS SWIT 2014Alexey Bokov
 
облачные вычисления и сервисы
облачные вычисления и сервисыоблачные вычисления и сервисы
облачные вычисления и сервисыValeriya Kulikova
 
Чему мы научились, разрабатывая микросервисы / Вадим Мадисон (RuTube)
Чему мы научились, разрабатывая микросервисы / Вадим Мадисон (RuTube)Чему мы научились, разрабатывая микросервисы / Вадим Мадисон (RuTube)
Чему мы научились, разрабатывая микросервисы / Вадим Мадисон (RuTube)Ontico
 
Чему мы научились разрабатывая микросервисы?
Чему мы научились разрабатывая микросервисы?Чему мы научились разрабатывая микросервисы?
Чему мы научились разрабатывая микросервисы?Vadim Madison
 
облачные вычисления и сервисы
облачные вычисления и сервисыоблачные вычисления и сервисы
облачные вычисления и сервисыValeriya Kulikova
 
Как пройти собеседование и получить первую работу на Swift
Как пройти собеседование и получить первую работу на SwiftКак пройти собеседование и получить первую работу на Swift
Как пройти собеседование и получить первую работу на SwiftAnton Loginov
 
разработка бизнес приложений (9)
разработка бизнес приложений (9)разработка бизнес приложений (9)
разработка бизнес приложений (9)Alexander Gornik
 

Similar to Powershell, Graphs and more. Or how to find dependencies in your systems (20)

Развитие решений Cisco для ЦОД глазами специалиста по серверам и приложениям...
Развитие решений Cisco для ЦОД глазами специалиста по серверам и приложениям...Развитие решений Cisco для ЦОД глазами специалиста по серверам и приложениям...
Развитие решений Cisco для ЦОД глазами специалиста по серверам и приложениям...
 
Javascript-фреймворки: должен остаться только один / Аверин Сергей (Acronis)
Javascript-фреймворки: должен остаться только один / Аверин Сергей (Acronis)Javascript-фреймворки: должен остаться только один / Аверин Сергей (Acronis)
Javascript-фреймворки: должен остаться только один / Аверин Сергей (Acronis)
 
Javascript-фреймворки:
 должен остаться только один
Javascript-фреймворки:
 должен остаться только одинJavascript-фреймворки:
 должен остаться только один
Javascript-фреймворки:
 должен остаться только один
 
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 - самоорганизующийся сервис управления
 
SDN в корпоративных сетях
SDN в корпоративных сетяхSDN в корпоративных сетях
SDN в корпоративных сетях
 
VIPER architecture
VIPER architectureVIPER architecture
VIPER architecture
 
Как devops исчерпывает себя, и что будет дальше / Кирилл Вечера (Jetware)
Как devops исчерпывает себя, и что будет дальше / Кирилл Вечера (Jetware)Как devops исчерпывает себя, и что будет дальше / Кирилл Вечера (Jetware)
Как devops исчерпывает себя, и что будет дальше / Кирилл Вечера (Jetware)
 
Middleware
MiddlewareMiddleware
Middleware
 
2015-12-05 Сергей Аверин - Javascript-фреймворки: должен остаться только один
2015-12-05 Сергей Аверин - Javascript-фреймворки: должен остаться только один2015-12-05 Сергей Аверин - Javascript-фреймворки: должен остаться только один
2015-12-05 Сергей Аверин - Javascript-фреймворки: должен остаться только один
 
CodeFest 2011. Ширшаков Д. — Как подружить ежа с ужом или другой взгляд на DWH
CodeFest 2011. Ширшаков Д. — Как подружить ежа с ужом или другой взгляд на DWHCodeFest 2011. Ширшаков Д. — Как подружить ежа с ужом или другой взгляд на DWH
CodeFest 2011. Ширшаков Д. — Как подружить ежа с ужом или другой взгляд на DWH
 
SDN технологии
SDN технологииSDN технологии
SDN технологии
 
Open source technologies in Microsoft cloud - MS SWIT 2014
Open source technologies in Microsoft cloud - MS SWIT 2014Open source technologies in Microsoft cloud - MS SWIT 2014
Open source technologies in Microsoft cloud - MS SWIT 2014
 
облачные вычисления и сервисы
облачные вычисления и сервисыоблачные вычисления и сервисы
облачные вычисления и сервисы
 
Чему мы научились, разрабатывая микросервисы / Вадим Мадисон (RuTube)
Чему мы научились, разрабатывая микросервисы / Вадим Мадисон (RuTube)Чему мы научились, разрабатывая микросервисы / Вадим Мадисон (RuTube)
Чему мы научились, разрабатывая микросервисы / Вадим Мадисон (RuTube)
 
Чему мы научились разрабатывая микросервисы?
Чему мы научились разрабатывая микросервисы?Чему мы научились разрабатывая микросервисы?
Чему мы научились разрабатывая микросервисы?
 
облачные вычисления и сервисы
облачные вычисления и сервисыоблачные вычисления и сервисы
облачные вычисления и сервисы
 
Sivko
SivkoSivko
Sivko
 
Как пройти собеседование и получить первую работу на Swift
Как пройти собеседование и получить первую работу на SwiftКак пройти собеседование и получить первую работу на Swift
Как пройти собеседование и получить первую работу на Swift
 
разработка бизнес приложений (9)
разработка бизнес приложений (9)разработка бизнес приложений (9)
разработка бизнес приложений (9)
 

Powershell, Graphs and more. Or how to find dependencies in your systems

  • 1. PowerShell, Графы + профит или как находить зависимости между всем и всем
  • 2. DevOps или Системный инженер, вот в чем вопрос • Менеджер: Заказчику нужен DevOps инженер ... • DevOps: Мы! • Менеджер: ... чтобы построить гибридное облако и перенести приложения в публичную его часть из приватной части • DevOps: а нет, не мы
  • 3. Потому я ... • Системный архитектор (по совместительству - инженер)
  • 4. Мы занимаемся • Переносом систем приложений оттуда сюда, ну или оттуда сюда, это как кому захочется • В последствии поддержкой этих систем в рамках ITSM моделей заказчика • Построением гибридных облаков, это сейчас модно • Борьбой со сложными техническими проблемами в инфраструктурах заказчика • Планированием и построением всякого рода платформ на основе стандартных решений в корпоративном секторе • Ну и конечно автоматизация всего и вся в рамках поддержки этих инфраструктур. Куда ж без нее
  • 5. Миграция - как есть, без изменений. • Кому мы шлем данные? • Кто шлет нам данные? • Кто пользуется системой? • Вспомогательные системы, которые мы используем • ...
  • 6. Управление облаками и их содержимым VNET VNET VNET HUB VNET ER ER ER VNET VNET VNET VNET VNET VNET HUB VNET HUB VNET Datacenter layer
  • 7. Ну и всякое другое • Нарисовать сетевую топологию заказчика, не зная о сети ничего • Найти с кем разговаривает наша система • Посмотреть зависимости в нашем коде • И так далее ...
  • 8. Проблема - решение • Проблема – поиск зависимостей между компонентами системы • Решение – собрать метаданные, обработать и представить в виде графа • Инструмент – PowerShell + PSQuickGraph
  • 9. Миграция и поиск зависимостей приложений • Данные о зависимостях можно получить из: • Текстовых логов firewall • Sysmon • Логи DNS • Парсим логи • Заталкиваем данные в граф
  • 11. DEMO • Simple graph • Сетевые коммуникации • Структура модуля
  • 12. Структура объектов в облакеgovernance • Выгружаем все объекты как есть (сети, vnet peering, express route circuits …) • Проходим раз - добавляем в граф вершины • Проходим еще раз – добавляем дуги • Чтобы найти все сети, поключенные к конкретному ER – вызываем алгоритм Дейкстры для всех сетей
  • 14. DEMO
  • 15. Выводы • Видеть связи между компонентами системы очень полезно • Можно находить эти связи автоматически или полуавтоматически • Графы помогают исследовать зависимости