Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Методика
определения неоптимально используемых ресурсов
Мирошниченко Дмитрий
Инженер по автоматизации
dmiroshnichenko@ptse...
Как появилась идея
История проблемы
2012 2015 2016 2017
История
Проблемы
Завис сервис
Не стартует VM
Сборочный сервер тормозит
Кончилось место на сторе
ПричинаПроблема
Disk, CPU, MEM
Dis...
Цель разработки Методики
1. Решить проблему постоянной нехватки ресурсов
инфраструктуры R&D не путем наращивания
машинных ...
DoD
1. Сформулированы критерии неоптимальности
использования ресурсов
2. Разработана методика определения неиспользуемых
р...
Инфраструктура
HW
HW
HW
Clouds
• Двадцать команд
• Десятки проектов
• Тысячи VM
Первичная оптимизация
• Рассылка сообщений в команде
• Ручная отпимизация
Реализация
Первичный анализ
•VMware operations manager
•OpenStack
Метрики
•Owner
•TTL
•TTL Action
•ESX_swap
•Snapshot_count
•CPU_usage_avg
•MEM_usage_avg
•Disk_type
TTL
TTL — дата, по достижению которой с VM производится
действие
Требуемые значения: ISO 8601 (Basic) или -1
Пример: 20171...
TTL Action
TTL Action — действие, которое производится с VM по
достижению даты в TTL
Требуемые значения: ключевые слова
Пр...
Owner
Owner — владелец или ответственный за VM
Требуемые значения: имя доменной учетки или
группа рассылки, допустимо неск...
ESX_swap
ESX_swap — объем памяти, которую Vmkernel перевел на диск
Требуемое значение: 0 MB
Триггер: превышение требуемого...
Snapshot_count
Snapshot_count — число снапшотов у VM
Требуемое значение: 0
Триггер: превышение требуемого значения
Несоотв...
CPU_usage_avg & MEM_usage_avg
*_usage_avg — cреднее значение по загрузке за 4 часа
Рекомендованные значения: загрузка > 60...
Disk_type
Disk_type — тип диска
Требуемые значения: Thick Provision Lazy/Eager Zeroed
Триггер: превышение допустимого знач...
Данные: создаем и наполняем
Zabbix
•Items
•Triggers
•Logic
Items & Triggers
Оповещения
Выводы
Положительные результаты
• DoD достигнут: критерии неоптимальности определены,
методика и скрипты разработаны
• Переходим ...
Единый вычислительный пул
HW
HW
HW
Clouds
Что не получилось
•Disk_type
•CPU_usage_avg
•MEM_usage_avg
CPU_usage_avg & MEM_usage_avg
Как представляли:
Что дальше
Планы
• Построение цикла жизни VM
• Дополнительные проверки перед созданием VM
• Агрегация VM по Load class
• UI
• Оповеще...
github.com/devopshq
Спасибо!
Вопросы?
Мирошниченко Дмитрий
Инженер по автоматизации
dmiroshnichenko@ptsecurity.com
Upcoming SlideShare
Loading in …5
×

Методика определения неиспользуемых ресурсов виртуальных машин и автоматизация действий с ними

273 views

Published on

1. Методика
2. Практика
3. Перспективы

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Методика определения неиспользуемых ресурсов виртуальных машин и автоматизация действий с ними

  1. 1. Методика определения неоптимально используемых ресурсов Мирошниченко Дмитрий Инженер по автоматизации dmiroshnichenko@ptsecurity.com
  2. 2. Как появилась идея
  3. 3. История проблемы 2012 2015 2016 2017 История
  4. 4. Проблемы Завис сервис Не стартует VM Сборочный сервер тормозит Кончилось место на сторе ПричинаПроблема Disk, CPU, MEM Disk CPU, MEM Disk
  5. 5. Цель разработки Методики 1. Решить проблему постоянной нехватки ресурсов инфраструктуры R&D не путем наращивания машинных ресурсов, а оптимизацией потребления этих ресурсов 2. Подтвердить гипотезу, что значительная часть данных ресурсов используется неоптимально
  6. 6. DoD 1. Сформулированы критерии неоптимальности использования ресурсов 2. Разработана методика определения неиспользуемых ресурсов инфраструктруры, без необходимости ручных действий 3. Разработан скрипт, реализующий эту методику, который можно передать вне отдела DevOps
  7. 7. Инфраструктура HW HW HW Clouds • Двадцать команд • Десятки проектов • Тысячи VM
  8. 8. Первичная оптимизация • Рассылка сообщений в команде • Ручная отпимизация
  9. 9. Реализация
  10. 10. Первичный анализ •VMware operations manager •OpenStack
  11. 11. Метрики •Owner •TTL •TTL Action •ESX_swap •Snapshot_count •CPU_usage_avg •MEM_usage_avg •Disk_type
  12. 12. TTL TTL — дата, по достижению которой с VM производится действие Требуемые значения: ISO 8601 (Basic) или -1 Пример: 20171030 Триггер: выполняем действие из TTL Action Несоответствие требуемым значениям: отправляем письмо owner'у TTL
  13. 13. TTL Action TTL Action — действие, которое производится с VM по достижению даты в TTL Требуемые значения: ключевые слова Пример — выключение: shutdown || halt Пример — удаление: remove || delete || destroy Пример — перемещение: archive || mv Триггер: вспомогательный атрибут Несоответствие требуемым значениям: отправляем письмо owner'у
  14. 14. Owner Owner — владелец или ответственный за VM Требуемые значения: имя доменной учетки или группа рассылки, допустимо несколько значений Пример — dmiroshnichenko || isimqa; knikolaev Триггер: вспомогательный атрибут Несоответствие требуемым значениям: контактируем с лидами и находим исполнителя который заполнит значения 
  15. 15. ESX_swap ESX_swap — объем памяти, которую Vmkernel перевел на диск Требуемое значение: 0 MB Триггер: превышение требуемого значения Несоответствие требуемому значению: отправляем письмо owner'у. Перезагружаем/выключаем ВМ
  16. 16. Snapshot_count Snapshot_count — число снапшотов у VM Требуемое значение: 0 Триггер: превышение требуемого значения Несоответствие требуемому значению: отправляем письмо owner'у с просьбой удалить снапшоты
  17. 17. CPU_usage_avg & MEM_usage_avg *_usage_avg — cреднее значение по загрузке за 4 часа Рекомендованные значения: загрузка > 60% Триггер: превышение рекомендованного значения Несоответствие рекомендованным значениям: оповещаем owner'а о чрезмерном потреблении ресурсов
  18. 18. Disk_type Disk_type — тип диска Требуемые значения: Thick Provision Lazy/Eager Zeroed Триггер: превышение допустимого значения Несоответствие требуемым значениям: отправляем письмо owner'у с просьбой конвертировать диск и количеством «неправильных» дисков
  19. 19. Данные: создаем и наполняем
  20. 20. Zabbix •Items •Triggers •Logic
  21. 21. Items & Triggers
  22. 22. Оповещения
  23. 23. Выводы
  24. 24. Положительные результаты • DoD достигнут: критерии неоптимальности определены, методика и скрипты разработаны • Переходим на парадигму Infrastructure as Code • Единые сборочные пулы • Навели порядок и сэкономили  • Приблизились к созданию единого ресурсного пула
  25. 25. Единый вычислительный пул HW HW HW Clouds
  26. 26. Что не получилось •Disk_type •CPU_usage_avg •MEM_usage_avg
  27. 27. CPU_usage_avg & MEM_usage_avg Как представляли:
  28. 28. Что дальше
  29. 29. Планы • Построение цикла жизни VM • Дополнительные проверки перед созданием VM • Агрегация VM по Load class • UI • Оповещения об «осиротевших» VM
  30. 30. github.com/devopshq
  31. 31. Спасибо! Вопросы? Мирошниченко Дмитрий Инженер по автоматизации dmiroshnichenko@ptsecurity.com

×