Slide 1

Slide 1 text

Подход к глубоким изменениям миграция SDN в боевом облаке на Python Антон Важнецов ведущий инженер- разработчик K2 Сloud

Slide 2

Slide 2 text

2 Публичное облако B2B, с 2009 года IaaS, PaaS Собственная разработка не VMware, не OpenStack 🤬 >1000 серверов и коммутаторов Стек технологий Linux, QEMU-KVM, OVN, Ceph, EMC ScaleIO, K8s, etc. SDN >40k logical switch ports >15k logical router ports [ Про ]

Slide 3

Slide 3 text

3

Slide 4

Slide 4 text

4 [Доклады по теме ] Hab r YouTube

Slide 5

Slide 5 text

5 [Что на мешало: ] Внесение изменений затрагивает почти всё облако Риск ухудшения сервиса

Slide 6

Slide 6 text

6 [Шаг 0: ]

Slide 7

Slide 7 text

7 [ Connectivity-тесты ]

Slide 8

Slide 8 text

8 [ Проблема 1 ] Масштаб изменений. Взаимодействие сервисов CL Внешний endpoint-сервис, принимает запросы пользователей Внутренний сервис, понимает какие ресурсы нужно настроить до запуска виртуальной машины Сервис производит конфигурацию виртуальных сетей Сервис производит конфигурацию виртуальных машин AC RC NC

Slide 9

Slide 9 text

9 [ Проблема 1 ] Масштаб изменений. Взаимодействие сервисов

Slide 10

Slide 10 text

10

Slide 11

Slide 11 text

11 // Решение [ Шаг 1 ] Зоны ответственности

Slide 12

Slide 12 text

12 [ Проблема 1.5 ] Отсутствие абстракций Код сетевых ресурсов невозможно переиспользовать Взаимодействие с SDN реализовано по-своему

Slide 13

Slide 13 text

13 // Решение Архитектура и Абстракции Каждый сетевой ресурс — класс-модель Взаимодействие с SDN — класс-драйвер Бизнес-логика + управление моделью и драйвером — контроллер

Slide 14

Slide 14 text

14 // Решение Архитектура и Абстракции

Slide 15

Slide 15 text

15 Новая архитектура сервиса настройки сетей

Slide 16

Slide 16 text

16 [ Проблема 2 ] Риск для пользователей Научиться работать с двумя SDN одновременно Ошибки миграции никак не должны влиять на инфраструктуру заказчика и работу облака

Slide 17

Slide 17 text

17 Новая архитектура сервиса настройки сетей

Slide 18

Slide 18 text

18 // Решение MigrationController и RC-syncer

Slide 19

Slide 19 text

19 // Решение MigrationController и RC-syncer

Slide 20

Slide 20 text

20 // Решение MigrationController и RC-syncer

Slide 21

Slide 21 text

21 Процесс миграции виртуальной сети

Slide 22

Slide 22 text

22 Админский тулинг

Slide 23

Slide 23 text

23 Админский тулинг

Slide 24

Slide 24 text

24 [ Выводы ] Архитектурная дисциплина — основа масштабных изменений Абстракции и интерфейсы — ваш страховой полис Изоляция изменений в сервисе настройки сетей Параллельная поддержка старого и нового SDN Возможность тестировать компоненты изолировано Асинхронность для «невидимости» изменен ий Минимизировать downtime для пользователей Возможность «докручивать» миграцию в фоне Откат без последствий при ошибках Тесты > интуиция Возможность рефакторить весь legacy-код без страха

Slide 25

Slide 25 text

Будьте в курсе новостей K2 CLOUD k2.cloud [email protected] +7 (495) 019-36-66 Антон Важнецов ведущий инженер- разработчик K2 Сloud