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.
Puppet под нагрузкой,            !     Антон Турецкий!            !
О чем этот доклад?!•    Puppet, общая информация!•    Кластеризация, масштабирование!•    Асинхронный Storeconfigs!•    Сбо...
  Puppet у нас действительно под        большой нагрузкой
Badoo это:!     !•    Более 160 000 000 пользователей!•    6 адм...
Как работает Puppet!                 PuppetNode             Master
Как работает Puppet!                     PuppetNode      Facts      Master       (http POST)
Как работает Puppet!                 PuppetNode    Send     Master       Catalog
Как работает Puppet!                    Report                  (http POST)                 PuppetNode             Master
Как работает Puppet!                     Collect Reports                 PuppetNode             Master                Repo...
Что и зачем нам улучшать?!            From Scratch    Node   Node   Node     Node   Node   Node                  Puppet   ...
Добавим еще клиентов…!Node     Node    Node    Node      Node    Node     Node       Node     Node    Node     Node     No...
… ещё немного…!Node    Node    Node    Node      Node    Node     NodeNode     Node    Node    Node      Node    Node     ...
Проблема №1!         408 Request TimeoutNode    Node    Node    Node      Node    Node     NodeNode     Node    Node    No...
Знакомьтесь: Unicorn!      Node       Node           Node        Node            Node   Node                              ...
In God we Trust!ü  Следит за    состоянием
    процессов
       START/ST OP       GOD        START/ST OP    !ü  Обслужив...
http-балансировка? Слышали!!                        Nginx                ~ /production/   ~ /certificate/         ~ /testi...
Вспомним теорию?!                             Store                              DB                  PuppetNode           ...
Что такое Storeconfigs?!         Store          DB                 Store DB = MySQL!                 	  PuppetMaster
Пишем асинхронно!ST OMP Server   puppet queue   Store                                DB                     Puppet        ...
Следим за процессом!   ü  http   ü  tagmail   ü  log   ü  rrdgraph   ü  store
Следим за процессом!   ü  http   ü  tagmail   ü  log   ü  rrdgraph   ü  store
The Foreman – наш выбор!
А что у нас там внутри?!  by type   by Events
Timeline!Puppet 2.6.17   Puppet 3.0.0                      code fix
Puppet + HighLoad!ü Используй несколько процессов!ü Балансируй нагрузку!ü Будь уверен в том, что сможешь   масштабирова...
Спасибо!
Ваши вопросы?,                                !                                !     a.turetsky@corp.badoo.com!           ...
Upcoming SlideShare
Loading in …5
×

Puppet под нагрузкой.(Антон Турецкий)

1,149 views

Published on

  • Be the first to comment

Puppet под нагрузкой.(Антон Турецкий)

  1. 1. Puppet под нагрузкой, ! Антон Турецкий! !
  2. 2. О чем этот доклад?!•  Puppet, общая информация!•  Кластеризация, масштабирование!•  Асинхронный Storeconfigs!•  Сборка Report’ов (оно нам надо)!•  Анализ полученных данных!!
  3. 3.   Puppet у нас действительно под большой нагрузкой
Badoo это:! !•  Более 160 000 000 пользователей!•  6 админов!•  7 000 000 MAU на админа!•  Более 2000 серверов!•  2000/6 ~ 330 серверов на админа!
  4. 4. Как работает Puppet! PuppetNode Master
  5. 5. Как работает Puppet! PuppetNode Facts Master (http POST)
  6. 6. Как работает Puppet! PuppetNode Send Master Catalog
  7. 7. Как работает Puppet! Report (http POST) PuppetNode Master
  8. 8. Как работает Puppet! Collect Reports PuppetNode Master Report Collector
  9. 9. Что и зачем нам улучшать?! From Scratch Node Node Node Node Node Node Puppet Master
  10. 10. Добавим еще клиентов…!Node Node Node Node Node Node Node Node Node Node Node Node Node Puppet Master
  11. 11. … ещё немного…!Node Node Node Node Node Node NodeNode Node Node Node Node Node Node Node Node Node Node Node Node Puppet Master
  12. 12. Проблема №1! 408 Request TimeoutNode Node Node Node Node Node NodeNode Node Node Node Node Node Node Node Node Node Node Node Node Puppet Master
  13. 13. Знакомьтесь: Unicorn! Node Node Node Node Node Node Unicorn Puppet Puppet Puppet Master Master Master Puppet Puppet Puppet Master Master Masterü Балансируем на уровне ядра Linux!ü Все процессы запускаются в своем окружении!ü Обновляем, не теряя коннекты “nginx-style”!ü Может слушать на нескольких интерфейсах!
  14. 14. In God we Trust!ü  Следит за состоянием
 процессов
 START/ST OP GOD START/ST OP !ü  Обслуживает несколько окружений
 Unicorn START/ST OP Unicorn ! CA Prodü  Прост в настройке! Unicorn Testing
  15. 15. http-балансировка? Слышали!! Nginx ~ /production/ ~ /certificate/ ~ /testing/ upstream upstream Puppet Puppet Prod upstream CA Puppet Testing
  16. 16. Вспомним теорию?! Store DB PuppetNode Master Report Collector
  17. 17. Что такое Storeconfigs?! Store DB Store DB = MySQL!  PuppetMaster
  18. 18. Пишем асинхронно!ST OMP Server puppet queue Store DB Puppet Master
  19. 19. Следим за процессом! ü  http ü  tagmail ü  log ü  rrdgraph ü  store
  20. 20. Следим за процессом! ü  http ü  tagmail ü  log ü  rrdgraph ü  store
  21. 21. The Foreman – наш выбор!
  22. 22. А что у нас там внутри?! by type by Events
  23. 23. Timeline!Puppet 2.6.17 Puppet 3.0.0 code fix
  24. 24. Puppet + HighLoad!ü Используй несколько процессов!ü Балансируй нагрузку!ü Будь уверен в том, что сможешь масштабировать!ü Собирай (и читай) отчеты!ü Собирай их асинхронно!
  25. 25. Спасибо!
  26. 26. Ваши вопросы?, ! ! a.turetsky@corp.badoo.com! Twitter: @tyrchenok!

×