DevOps в реальном времени

976 views

Published on

Презентация с http://xpdays.com.ua/ 2013

Published in: Technology
0 Comments
4 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
976
On SlideShare
0
From Embeds
0
Number of Embeds
105
Actions
Shares
0
Downloads
9
Comments
0
Likes
4
Embeds 0
No embeds

No notes for slide
  • 24 часа в день и 7 дней в неделю мы помогаем поддерживать онлайн бизнесы рабочими и приносящими деньги их владельцам
  • 95% автоматизации серверов
    Сейчас мы можем сконфигурировать сервер в нескольких строках кода
  • Плагин для быстрого подключения к серверам по имени
  • Jenkins также позволил нам управлять доступами к деплойменту для разных команд/проектов
  • В результате такого процесса мы стали получать все больше и больше задач “пожалуйста, выложите изменения по SA-332”, а потом “ой, ошибка, пожалуйста, откатите изменения”
  • Инженер поддержки не может проверить все, соответственно ошибка если и будет допущена то неважно, кто ее выложит – поддержка или разработка
  • Selenium-based Jenkins-job that is periodically making test purchase from sites, measuring time and sending results to Splunk
  • Splunk “умеет” отслеживать транзакции: полные и неполные, время транзакции
  • DevOps в реальном времени

    1. 1. DevOps в реальном времени Андрей Самиляк OpsWay CEO
    2. 2. 15 онлайн-проектов С общим оборотом >$150.000/день 7 команд разработчиков Одна команда 24х7 поддержки
    3. 3. Познакомимся – версия “кратко” 7 лет в IT ● с 2008 – технический директор Smile Ukraine ● с 2013 – руководитель OpsWay ● тренер в SmartMe.com.ua ● В прошлом - врач (все равно ведь прочтете в LinkedIn, чего скрывать) ●
    4. 4. Сложность №1 – жизнь 24x7 % новых запросов Часы
    5. 5. Сложность №2 - География
    6. 6. Сложность №3 - Разработчики “When I see ... developers – all I see is risk” Chuck Rossi, Facebook
    7. 7. О чем будем говорить ● Процессы – – ● Цикл поставки Работа с многими командами Инструменты – Автоконфигурация сервера – Continuous integration – Мониторинг и уведомления – Резервное копирование – Командное взаимодействие
    8. 8. Opscode Chef ● Управление конфигурацией ● Continuous delivery ● Управление доступом ● Упрощение тестирования ● Управление мониторингом ● Программа как документация
    9. 9. Почему Chef? ● Facebook, Amazon ● Ruby vs XML ● Простая установка ● Недорогой и надежный hosted server ● “Исторически сложилось” (no holy wars!) vs
    10. 10. Opscode Chef - начало
    11. 11. Автомасштабируемые проекты
    12. 12. Единые правила именования ansam@vostok:~$ knife sshx projectx-live-node проект среда роль Multiple instances found! 1. i-cca165f0 since 2013-08-06 10:11:16 UTC ip 54.253.26.66 2. i-6ca71550 since 2013-08-07 19:06:05 UTC ip 54.253.66.83 3. i-6ea71552 since 2013-08-07 19:06:05 UTC ip 54.253.44.185 4. i-6fa71553 since 2013-08-07 19:06:05 UTC ip 54.252.44.245 Choose <1-4>: [1] 2 Instance i-6ca71550 ip 54.253.66.83 Connecting to 54.253.66.83 as user ubuntu on port 22
    13. 13. Управление доступом по SSH
    14. 14. Шаблоны для конфигурации Код из шаблона Apache virtual host configuration
    15. 15. Continuous integration Можно было выбрать: – TeamCity – Bamboo – Travis CI – инструмент Х Почему Jenkins?
    16. 16. Deployment
    17. 17. Управление доступом
    18. 18. Простой цикл поставки Development Test server Live Vagrant box Основная проблема: множество мелких заданий в разработке
    19. 19. Branch switch
    20. 20. Сложность работы с другими командами master develop fork for DevTeamX - develop
    21. 21. Bakery Около 4 часов Live Amazon AMI Jenkins jobs 5 минут Sandbox
    22. 22. Создаем Sandbox
    23. 23. Sandbox ● DNS via Route53 ● Можно демонстрировать клиенту ● Подключается к github repo/branch ● Новое задание Jenkins для деплоймент ● EC2 instance ● Почти полная копия live за исключением персональных данных пользователей
    24. 24. Workflow 1.1 Live По расписанию, 1 раз/день Test Sandbox1 Sandbox2
    25. 25. Код ушел “в live” - всё работает?
    26. 26. Мониторинг Настройка мониторинга в зависимости от роли сервера ● ● ● ● База данных метрик Индексы и поиск Уведомления Анализ и графики ● ● ● ● ● Роутинг сообщений Запуск plugins по расписанию Циклическая БД Обработка данных Построение графиков
    27. 27. Chef-управляемый мониторинг
    28. 28. ● Проанализировать все access.log со всех серверов ProjectX ● Убрать записи с User-Agent = “Apache*” и специфической версией Firefox ● Включить все запросы к страницам вида /aaaa/bbb-123.html (страницы продукта) ● Посчитать среднее время, среднеквадратическое отклонение времени выполнения таких запросов за последние 7 дней
    29. 29. Любимые dashboards
    30. 30. Знакомьтесь – сурикат!
    31. 31. Splunk alerts email Redmine SMS
    32. 32. Chef + Amazon EBS = Backup profit Конфигурация сервера (Chef) /var/www EBS
    33. 33. Backups
    34. 34. Backups: snapshots
    35. 35. Наши планы ● TDD Chef ● Больше уведомлений: - отправленые письма - количество регистраций ● Prelerter – поиск статистически маловероятных событий
    36. 36. Андрей Самиляк samilyak@gmail.com skype: samilyaka http://opsway.com

    ×