SlideShare a Scribd company logo
©	
  MIRANTIS	
  2013	
   PAGE	
  1	
  ©	
  MIRANTIS	
  2013	
  
OpenStack
Scalability & Performance
Boris Pavlović
Tech Lead at Mirantis
©	
  MIRANTIS	
  2013	
   PAGE	
  2	
  
Содержание
•  Что такое OpenStack и зачем он нужен?
•  Что такое «производительность» и
«масштабируемость» OpenStack-а?
•  Как “гонять” OpenStack ручками?
•  Цель: полностью автоматизировать тестирование.
(описание проекта Rally)
•  Проблемы с которыми мы столкнулись при
разработке Rally
•  Результаты: Houston we have a problem
©	
  MIRANTIS	
  2013	
   PAGE	
  3	
  
Что такое OpenStack и зачем он нужен?
OpenStack
сделаете из ваших серверов
©	
  MIRANTIS	
  2013	
   PAGE	
  4	
  
Что такое OpenStack облако?
• Позволяет работать с ресурсами, а не железом
• Управляет:
•  Виртуальными Машинами
•  Блочными устройствами
•  Образами
•  Сетями
•  Физическими серверами
©	
  MIRANTIS	
  2013	
   PAGE	
  5	
  
Компоненты OpenStack
• Nova –Виртуальные машины
• Glance – Образы
• Cinder – Блочные устройства
• Neutron – Сети
• Keystone – Аутентификация/Авторизация
• Ironic – Физические серверы
• Ceilometer - Мониторинг
©	
  MIRANTIS	
  2013	
   PAGE	
  6	
  
Сферический компонент в вакууме
©	
  MIRANTIS	
  2013	
   PAGE	
  7	
  
Архитектура OpenStack
• Куча взаимодействующий компонентов,
которые в основном состоят из трех сервисов:
•  API – как точка входа компонента (Nova, Cinder, …)
•  Работает на управляющем сервере
•  Выполнить все, что можно без участия ресурсных
серверов
•  Вызвать нужный метод Manager-a на нужном сервере
•  Manager – делает всю работу вокруг ресурсов
•  DB – полное хранение состояния системы
©	
  MIRANTIS	
  2013	
   PAGE	
  8	
  
OpenStack Deployment
• Как правильно OpenStack деплоить?
•  Нет никаких правил!
•  Нет никаких советов!
•  Нет никаких ограничении!
©	
  MIRANTIS	
  2013	
   PAGE	
  9	
  
OpenStack Deployment: Simple no HA
©	
  MIRANTIS	
  2013	
   PAGE	
  10	
  
OpenStack Deployment: Full HA
©	
  MIRANTIS	
  2013	
   PAGE	
  11	
  
OpenStack Deployment: HA Compact
©	
  MIRANTIS	
  2013	
   PAGE	
  12	
  
OpenStack Deployment: HA в деталях
©	
  MIRANTIS	
  2013	
   PAGE	
  13	
  
OpenStack Deployment: Еще Гибкости!
• DB: MySQL or PostgresSQL?
• AMQP: RabbitMQ or Qpid?
• Network: Nova Network or Neutron?
• Virtualization
• +1 billion configurable parameters
©	
  MIRANTIS	
  2013	
   PAGE	
  14	
  
OpenStack Performance & Scalability
Начнем!
©	
  MIRANTIS	
  2013	
   PAGE	
  15	
  
OpenStack Performance & Scalability
Нас интересует несколько проблемных зон:
1)  Как влияет deployment на производ.?
2)  Влияние конфигурации на производ.?
3)  Влияние количества вычислительных узлов
на производительность?
4)  Влияние активных объектов (виртуальных
машин, дисков, проектов, пользователей,
образов и т.п.) на производительность
©	
  MIRANTIS	
  2013	
   PAGE	
  16	
  
OpenStack Performance & Scalability
А есть ли собственно проблема?
©	
  MIRANTIS	
  2013	
   PAGE	
  17	
  
OpenStack Performance & Scalability
А есть ли собственно проблема?
Короткий ответ: Да есть.
©	
  MIRANTIS	
  2013	
   PAGE	
  18	
  
OpenStack Performance:
Длинный ответ (очевидные узкие места):
• Централизованное хранение состояния
системы в реляционной БД
• Постоянное выкачивание целой ДБ
• Постоянный update целой ДБ
• Использование JOIN везде
• Случайным образом выставленные Index-ы
©	
  MIRANTIS	
  2013	
   PAGE	
  19	
  
OpenStack Performance: Цифры
• Алгоритм работы Nova Scheduler:
1.  Выкачать из БД все данные о вычислительных узлах
(services X compute_node X compute_node_stats)
( 1 X 1 X 25 )
2.  Применить фильтры к этим данным
3.  Взвесит все хосты
4.  Найти лучший хост и запустить ВМ
©	
  MIRANTIS	
  2013	
   PAGE	
  20	
  
OpenStack Performance: Цифры
Проблемы Scheduler-a (для 10к серверов):
• На каждый запрос к Scheduler-у создать ВМ:
•  ДБ возвращает 250к строк! (25мб в несжатом виде)
•  Scheduler использует >500 мб оперативной памяти,
чтобы обработать этот результат..
•  Запрос к ДБ и обработка результата занимают 15сек!
• Каждые 60 секунд обновляется полностью вся
информацию о всех вычислительных узлах:
•  Минимум 4к update в секунду!
©	
  MIRANTIS	
  2013	
   PAGE	
  21	
  
OpenStack Performance: Цифры
Создание ВМ-a и синхронизация с ДБ (для 10к
серверов, 100к ВМ):
• Создание ВМ 20-30 DB updates
• Информация об ВМ хранится в двух табличках
100к и 1.2kk записей.
• Каждые 6 секунд выкачиваются полностью эти
две таблички делая 10к запросов к БД (в случае
10к серверов)
©	
  MIRANTIS	
  2013	
   PAGE	
  22	
  
Ха узкое место!
•  Хорошо, что делать если нам попадается узкое
место?
•  Вариант 1:
•  Написать фикс и сделать патч
•  Сделать синтетические тесты и собрать результаты
•  Отправить на ревю
•  …
•  И вы получите в ответ несколько вопросов:
•  Почему ваши синтетические тесты релевантные?
•  Почему вы считаете, что это будет первым узким местом?
•  Почему вы считаете, что оно не ухудшит производительность в
других use cases?
©	
  MIRANTIS	
  2013	
   PAGE	
  23	
  
Как доказать,что стало лучше?
•  Вариант 2:
•  Раздеплоить OpenStack на большом кластере
•  Сделать соответствующую нагрузку
•  Собрать результаты
•  Показать комюниты!
•  …
•  И вы получите в ответ несколько вопросов:
•  Такие результаты наверное связаны с вашим специфичным
деплойментом!
•  Вы неправильно настроили БД!
•  Ваша синтетическая нагрузка не релевантная!
•  …
©	
  MIRANTIS	
  2013	
   PAGE	
  24	
  
Как доказать,что стало лучше?
Вариант 3:
• Сделать простую в использовании benchmark
систему которая:
•  Умеет автоматический продеплоить OpenStack в разных
окружения (на железе или виртуальных серверах)
•  Имеет удобный фреймворк для написания тестовых
сценариев
•  Профилирует OpenStack
•  Предоставляет результаты пользователю в удобном виде
•  Имеет простой интерфейс =)
©	
  MIRANTIS	
  2013	
   PAGE	
  25	
  
Убить двух зайцев одним выстрелом
• Уменьшаем время затрачиваемо на объяснение
почему данное изменение исправляет
проблему
• Возможность эффективно заниматься
бенчмаркингом:
•  Поиск узких мест
•  Легкий способ проверки, что изменение помогает
•  Оптимизация
©	
  MIRANTIS	
  2013	
   PAGE	
  26	
  
Описание Rally
©	
  MIRANTIS	
  2013	
   PAGE	
  27	
  
Rally
На самом деле задача сводится к компоновке
уже существующих элементов в одну систему:
1.  Deploy OpenStack with Fuel or DevStack
2.  Verify deployment with Temptest
3.  Profile with Tomograph & Zipkin
4.  Test framework based on pytest
©	
  MIRANTIS	
  2013	
   PAGE	
  28	
  
Rally deployment
• Just returns information about existing cloud
• Deploy non HA deployment using DevStack.
• Deploy complex HA deployments using FUEL.
©	
  MIRANTIS	
  2013	
   PAGE	
  29	
  
Rally deployment 3 scenarios
• Простой:
•  Получить N серверов (возможно виртуальных)
•  Используя один из deploy engines раздеплоить
OpenStack на них
• Сложный
•  Получить серверы для control node
•  Создать ВМ в котором запустим много внутренних
контейнеров в которых продеплоим OpenStack
•  Создать Snapshot
•  Стартовать серверы с данного Snapshot
©	
  MIRANTIS	
  2013	
   PAGE	
  30	
  
Спасибо за внимание!
Вопросы?
©	
  MIRANTIS	
  2013	
   PAGE	
  31	
  
Boris Pavlovic
bpavlovic@mirantis.com

More Related Content

PDF
Александр Семёнов (ActiveCloud)
PPTX
CloudStack 2.2.9 by ActiveCloud
PPTX
от авгиевых конюшен к звездам
PDF
гибридные решения Microsoft sql server
PPTX
Опыт внедрения OpenStack
PPTX
Проектирование высоконагруженного масштабируемого веб-сервиса в облаке на при...
PDF
Cоздаем облачную среду на базе open-sourсe решения OpenStack
PPTX
Разработка приложений для облаков / Андрей Кожокару (EPAM)
Александр Семёнов (ActiveCloud)
CloudStack 2.2.9 by ActiveCloud
от авгиевых конюшен к звездам
гибридные решения Microsoft sql server
Опыт внедрения OpenStack
Проектирование высоконагруженного масштабируемого веб-сервиса в облаке на при...
Cоздаем облачную среду на базе open-sourсe решения OpenStack
Разработка приложений для облаков / Андрей Кожокару (EPAM)

What's hot (20)

PDF
Dmitry Kostyuk.Cloud hosting for drupal.DrupalCamp Kyiv 2011
PPTX
MySQL® и MongoDB® - когда что лучше использовать? / Петр Зайцев (Percona)
PPTX
Microsoft и Linux на одном проекте: как получить лучшее из обоих миров и не р...
PDF
Четырехлетие OpenStack - Сложный возраст OpenStack
PDF
ITkey: примеры использования OpenStack
PDF
Мощнее или умнее? Возможности оптимизации ИТ-инфраструктуры для сейсмики
PPTX
Максим Исаев, IBS. Практика использования комплекса Veritas NetBackup для мод...
 
PPTX
Drupal в облаке - Владимир Юнев
PPTX
Виртуальный ЦОД для корпоративных клиентов на базе Virtuozzo: стабильность, п...
PPTX
Демо установки OpenStack с помощью devstack
PPTX
Sql Server: Database Mirroring -> Availability group migration
PDF
Построение облачных процессов с помощью Mistral
PDF
OpenStack: от enterprise к сервис-провайдеру / Сергей Пимков (Селектел)
PPTX
Изоморфные React-приложения производительность и масштабирование / Денис Изма...
PPTX
Велосипед уже изобретен. Что умеют промышленные СХД? / Антон Жбанков (Nutanix)
PDF
Платформа для поставки счастья в команду QA
PPTX
Мастер-класс "Микросервисы: удобно, надежно, серебрянопульно" / Евгений Павло...
PDF
AWS и GCP: трудная жизнь в облаках / Максим Пугачев (IPONWEB)
PDF
OpenStack - открытая облачная платформа (Руслан Киянчук, Mirantis)
PDF
Программно-технические комплексы для работы с геолого-геофизическими данными
Dmitry Kostyuk.Cloud hosting for drupal.DrupalCamp Kyiv 2011
MySQL® и MongoDB® - когда что лучше использовать? / Петр Зайцев (Percona)
Microsoft и Linux на одном проекте: как получить лучшее из обоих миров и не р...
Четырехлетие OpenStack - Сложный возраст OpenStack
ITkey: примеры использования OpenStack
Мощнее или умнее? Возможности оптимизации ИТ-инфраструктуры для сейсмики
Максим Исаев, IBS. Практика использования комплекса Veritas NetBackup для мод...
 
Drupal в облаке - Владимир Юнев
Виртуальный ЦОД для корпоративных клиентов на базе Virtuozzo: стабильность, п...
Демо установки OpenStack с помощью devstack
Sql Server: Database Mirroring -> Availability group migration
Построение облачных процессов с помощью Mistral
OpenStack: от enterprise к сервис-провайдеру / Сергей Пимков (Селектел)
Изоморфные React-приложения производительность и масштабирование / Денис Изма...
Велосипед уже изобретен. Что умеют промышленные СХД? / Антон Жбанков (Nutanix)
Платформа для поставки счастья в команду QA
Мастер-класс "Микросервисы: удобно, надежно, серебрянопульно" / Евгений Павло...
AWS и GCP: трудная жизнь в облаках / Максим Пугачев (IPONWEB)
OpenStack - открытая облачная платформа (Руслан Киянчук, Mirantis)
Программно-технические комплексы для работы с геолого-геофизическими данными
Ad

Similar to Борис Павлович - Производительность и масштабируемость OpenStack (20)

PDF
Приватный клауд на базе OpenStack
PDF
Облачные приложения и построение платформ для них на базе Openstack Дмитрий Х...
PDF
Микросервисная архитектура на базе CoreOS и Kubernetes
PDF
Тестовая инфраструктура в облаке
PDF
Как запустить виртуализированный ЦОД за час?
PDF
ВИРТУАЛЬНЫЙ ДАТА-ЦЕНТР КРОК
PDF
IT-инфраструктура. FAQ для разработчика
PDF
ASD Technologies: внедрение enterprise-grade облака для Softbank
PDF
ERP-системы в облаке: разбор кейсов DataLine
PDF
Готовые решения Cisco для построения «частного облака»
PDF
Database as a Service
PPTX
Dmytro Nemesh "Building the perfect infrastructure with Kubernetes"
PDF
MySQL Enterprise Monitor
PDF
AT Consulting: внедрение OpenStack в корпоративной среде
PPT
Производительность и надежность Docsvision 5
PPTX
CloudsNN 2014. Константин Анисимов.
PDF
ФРИИ интернет предпринимательство - Приложения и сервисы для бизнеса
PPTX
Как жить в облаке почти без админов: мониторинг и эксплуатация сотен виртуаль...
PPTX
Как жить в облаке почти без админов: мониторинг и эксплуатация сотен виртуаль...
PPTX
NoSQL - World IT Planet, Saint Petersburg 2015
Приватный клауд на базе OpenStack
Облачные приложения и построение платформ для них на базе Openstack Дмитрий Х...
Микросервисная архитектура на базе CoreOS и Kubernetes
Тестовая инфраструктура в облаке
Как запустить виртуализированный ЦОД за час?
ВИРТУАЛЬНЫЙ ДАТА-ЦЕНТР КРОК
IT-инфраструктура. FAQ для разработчика
ASD Technologies: внедрение enterprise-grade облака для Softbank
ERP-системы в облаке: разбор кейсов DataLine
Готовые решения Cisco для построения «частного облака»
Database as a Service
Dmytro Nemesh "Building the perfect infrastructure with Kubernetes"
MySQL Enterprise Monitor
AT Consulting: внедрение OpenStack в корпоративной среде
Производительность и надежность Docsvision 5
CloudsNN 2014. Константин Анисимов.
ФРИИ интернет предпринимательство - Приложения и сервисы для бизнеса
Как жить в облаке почти без админов: мониторинг и эксплуатация сотен виртуаль...
Как жить в облаке почти без админов: мониторинг и эксплуатация сотен виртуаль...
NoSQL - World IT Planet, Saint Petersburg 2015
Ad

More from Yandex (20)

PDF
Предсказание оттока игроков из World of Tanks
PDF
Как принять/организовать работу по поисковой оптимизации сайта, Сергей Царик,...
PDF
Структурированные данные, Юлия Тихоход, лекция в Школе вебмастеров Яндекса
PDF
Представление сайта в поиске, Сергей Лысенко, лекция в Школе вебмастеров Яндекса
PDF
Плохие методы продвижения сайта, Екатерины Гладких, лекция в Школе вебмастеро...
PDF
Основные принципы ранжирования, Сергей Царик и Антон Роменский, лекция в Школ...
PDF
Основные принципы индексирования сайта, Александр Смирнов, лекция в Школе веб...
PDF
Мобильное приложение: как и зачем, Александр Лукин, лекция в Школе вебмастеро...
PDF
Сайты на мобильных устройствах, Олег Ножичкин, лекция в Школе вебмастеров Янд...
PDF
Качественная аналитика сайта, Юрий Батиевский, лекция в Школе вебмастеров Янд...
PDF
Что можно и что нужно измерять на сайте, Петр Аброськин, лекция в Школе вебма...
PDF
Как правильно поставить ТЗ на создание сайта, Алексей Бородкин, лекция в Школ...
PDF
Как защитить свой сайт, Пётр Волков, лекция в Школе вебмастеров
PDF
Как правильно составить структуру сайта, Дмитрий Сатин, лекция в Школе вебмас...
PDF
Технические особенности создания сайта, Дмитрий Васильева, лекция в Школе веб...
PDF
Конструкторы для отдельных элементов сайта, Елена Першина, лекция в Школе веб...
PDF
Контент для интернет-магазинов, Катерина Ерошина, лекция в Школе вебмастеров ...
PDF
Как написать хороший текст для сайта, Катерина Ерошина, лекция в Школе вебмас...
PDF
Usability и дизайн - как не помешать пользователю, Алексей Иванов, лекция в Ш...
PDF
Cайт. Зачем он и каким должен быть, Алексей Иванов, лекция в Школе вебмастеро...
Предсказание оттока игроков из World of Tanks
Как принять/организовать работу по поисковой оптимизации сайта, Сергей Царик,...
Структурированные данные, Юлия Тихоход, лекция в Школе вебмастеров Яндекса
Представление сайта в поиске, Сергей Лысенко, лекция в Школе вебмастеров Яндекса
Плохие методы продвижения сайта, Екатерины Гладких, лекция в Школе вебмастеро...
Основные принципы ранжирования, Сергей Царик и Антон Роменский, лекция в Школ...
Основные принципы индексирования сайта, Александр Смирнов, лекция в Школе веб...
Мобильное приложение: как и зачем, Александр Лукин, лекция в Школе вебмастеро...
Сайты на мобильных устройствах, Олег Ножичкин, лекция в Школе вебмастеров Янд...
Качественная аналитика сайта, Юрий Батиевский, лекция в Школе вебмастеров Янд...
Что можно и что нужно измерять на сайте, Петр Аброськин, лекция в Школе вебма...
Как правильно поставить ТЗ на создание сайта, Алексей Бородкин, лекция в Школ...
Как защитить свой сайт, Пётр Волков, лекция в Школе вебмастеров
Как правильно составить структуру сайта, Дмитрий Сатин, лекция в Школе вебмас...
Технические особенности создания сайта, Дмитрий Васильева, лекция в Школе веб...
Конструкторы для отдельных элементов сайта, Елена Першина, лекция в Школе веб...
Контент для интернет-магазинов, Катерина Ерошина, лекция в Школе вебмастеров ...
Как написать хороший текст для сайта, Катерина Ерошина, лекция в Школе вебмас...
Usability и дизайн - как не помешать пользователю, Алексей Иванов, лекция в Ш...
Cайт. Зачем он и каким должен быть, Алексей Иванов, лекция в Школе вебмастеро...

Борис Павлович - Производительность и масштабируемость OpenStack

  • 1. ©  MIRANTIS  2013   PAGE  1  ©  MIRANTIS  2013   OpenStack Scalability & Performance Boris Pavlović Tech Lead at Mirantis
  • 2. ©  MIRANTIS  2013   PAGE  2   Содержание •  Что такое OpenStack и зачем он нужен? •  Что такое «производительность» и «масштабируемость» OpenStack-а? •  Как “гонять” OpenStack ручками? •  Цель: полностью автоматизировать тестирование. (описание проекта Rally) •  Проблемы с которыми мы столкнулись при разработке Rally •  Результаты: Houston we have a problem
  • 3. ©  MIRANTIS  2013   PAGE  3   Что такое OpenStack и зачем он нужен? OpenStack сделаете из ваших серверов
  • 4. ©  MIRANTIS  2013   PAGE  4   Что такое OpenStack облако? • Позволяет работать с ресурсами, а не железом • Управляет: •  Виртуальными Машинами •  Блочными устройствами •  Образами •  Сетями •  Физическими серверами
  • 5. ©  MIRANTIS  2013   PAGE  5   Компоненты OpenStack • Nova –Виртуальные машины • Glance – Образы • Cinder – Блочные устройства • Neutron – Сети • Keystone – Аутентификация/Авторизация • Ironic – Физические серверы • Ceilometer - Мониторинг
  • 6. ©  MIRANTIS  2013   PAGE  6   Сферический компонент в вакууме
  • 7. ©  MIRANTIS  2013   PAGE  7   Архитектура OpenStack • Куча взаимодействующий компонентов, которые в основном состоят из трех сервисов: •  API – как точка входа компонента (Nova, Cinder, …) •  Работает на управляющем сервере •  Выполнить все, что можно без участия ресурсных серверов •  Вызвать нужный метод Manager-a на нужном сервере •  Manager – делает всю работу вокруг ресурсов •  DB – полное хранение состояния системы
  • 8. ©  MIRANTIS  2013   PAGE  8   OpenStack Deployment • Как правильно OpenStack деплоить? •  Нет никаких правил! •  Нет никаких советов! •  Нет никаких ограничении!
  • 9. ©  MIRANTIS  2013   PAGE  9   OpenStack Deployment: Simple no HA
  • 10. ©  MIRANTIS  2013   PAGE  10   OpenStack Deployment: Full HA
  • 11. ©  MIRANTIS  2013   PAGE  11   OpenStack Deployment: HA Compact
  • 12. ©  MIRANTIS  2013   PAGE  12   OpenStack Deployment: HA в деталях
  • 13. ©  MIRANTIS  2013   PAGE  13   OpenStack Deployment: Еще Гибкости! • DB: MySQL or PostgresSQL? • AMQP: RabbitMQ or Qpid? • Network: Nova Network or Neutron? • Virtualization • +1 billion configurable parameters
  • 14. ©  MIRANTIS  2013   PAGE  14   OpenStack Performance & Scalability Начнем!
  • 15. ©  MIRANTIS  2013   PAGE  15   OpenStack Performance & Scalability Нас интересует несколько проблемных зон: 1)  Как влияет deployment на производ.? 2)  Влияние конфигурации на производ.? 3)  Влияние количества вычислительных узлов на производительность? 4)  Влияние активных объектов (виртуальных машин, дисков, проектов, пользователей, образов и т.п.) на производительность
  • 16. ©  MIRANTIS  2013   PAGE  16   OpenStack Performance & Scalability А есть ли собственно проблема?
  • 17. ©  MIRANTIS  2013   PAGE  17   OpenStack Performance & Scalability А есть ли собственно проблема? Короткий ответ: Да есть.
  • 18. ©  MIRANTIS  2013   PAGE  18   OpenStack Performance: Длинный ответ (очевидные узкие места): • Централизованное хранение состояния системы в реляционной БД • Постоянное выкачивание целой ДБ • Постоянный update целой ДБ • Использование JOIN везде • Случайным образом выставленные Index-ы
  • 19. ©  MIRANTIS  2013   PAGE  19   OpenStack Performance: Цифры • Алгоритм работы Nova Scheduler: 1.  Выкачать из БД все данные о вычислительных узлах (services X compute_node X compute_node_stats) ( 1 X 1 X 25 ) 2.  Применить фильтры к этим данным 3.  Взвесит все хосты 4.  Найти лучший хост и запустить ВМ
  • 20. ©  MIRANTIS  2013   PAGE  20   OpenStack Performance: Цифры Проблемы Scheduler-a (для 10к серверов): • На каждый запрос к Scheduler-у создать ВМ: •  ДБ возвращает 250к строк! (25мб в несжатом виде) •  Scheduler использует >500 мб оперативной памяти, чтобы обработать этот результат.. •  Запрос к ДБ и обработка результата занимают 15сек! • Каждые 60 секунд обновляется полностью вся информацию о всех вычислительных узлах: •  Минимум 4к update в секунду!
  • 21. ©  MIRANTIS  2013   PAGE  21   OpenStack Performance: Цифры Создание ВМ-a и синхронизация с ДБ (для 10к серверов, 100к ВМ): • Создание ВМ 20-30 DB updates • Информация об ВМ хранится в двух табличках 100к и 1.2kk записей. • Каждые 6 секунд выкачиваются полностью эти две таблички делая 10к запросов к БД (в случае 10к серверов)
  • 22. ©  MIRANTIS  2013   PAGE  22   Ха узкое место! •  Хорошо, что делать если нам попадается узкое место? •  Вариант 1: •  Написать фикс и сделать патч •  Сделать синтетические тесты и собрать результаты •  Отправить на ревю •  … •  И вы получите в ответ несколько вопросов: •  Почему ваши синтетические тесты релевантные? •  Почему вы считаете, что это будет первым узким местом? •  Почему вы считаете, что оно не ухудшит производительность в других use cases?
  • 23. ©  MIRANTIS  2013   PAGE  23   Как доказать,что стало лучше? •  Вариант 2: •  Раздеплоить OpenStack на большом кластере •  Сделать соответствующую нагрузку •  Собрать результаты •  Показать комюниты! •  … •  И вы получите в ответ несколько вопросов: •  Такие результаты наверное связаны с вашим специфичным деплойментом! •  Вы неправильно настроили БД! •  Ваша синтетическая нагрузка не релевантная! •  …
  • 24. ©  MIRANTIS  2013   PAGE  24   Как доказать,что стало лучше? Вариант 3: • Сделать простую в использовании benchmark систему которая: •  Умеет автоматический продеплоить OpenStack в разных окружения (на железе или виртуальных серверах) •  Имеет удобный фреймворк для написания тестовых сценариев •  Профилирует OpenStack •  Предоставляет результаты пользователю в удобном виде •  Имеет простой интерфейс =)
  • 25. ©  MIRANTIS  2013   PAGE  25   Убить двух зайцев одним выстрелом • Уменьшаем время затрачиваемо на объяснение почему данное изменение исправляет проблему • Возможность эффективно заниматься бенчмаркингом: •  Поиск узких мест •  Легкий способ проверки, что изменение помогает •  Оптимизация
  • 26. ©  MIRANTIS  2013   PAGE  26   Описание Rally
  • 27. ©  MIRANTIS  2013   PAGE  27   Rally На самом деле задача сводится к компоновке уже существующих элементов в одну систему: 1.  Deploy OpenStack with Fuel or DevStack 2.  Verify deployment with Temptest 3.  Profile with Tomograph & Zipkin 4.  Test framework based on pytest
  • 28. ©  MIRANTIS  2013   PAGE  28   Rally deployment • Just returns information about existing cloud • Deploy non HA deployment using DevStack. • Deploy complex HA deployments using FUEL.
  • 29. ©  MIRANTIS  2013   PAGE  29   Rally deployment 3 scenarios • Простой: •  Получить N серверов (возможно виртуальных) •  Используя один из deploy engines раздеплоить OpenStack на них • Сложный •  Получить серверы для control node •  Создать ВМ в котором запустим много внутренних контейнеров в которых продеплоим OpenStack •  Создать Snapshot •  Стартовать серверы с данного Snapshot
  • 30. ©  MIRANTIS  2013   PAGE  30   Спасибо за внимание! Вопросы?
  • 31. ©  MIRANTIS  2013   PAGE  31   Boris Pavlovic bpavlovic@mirantis.com