3. Познакомимся – версия “кратко”
7 лет в IT
● с 2008 – технический директор
Smile Ukraine
● с 2013 – руководитель OpsWay
● тренер в SmartMe.com.ua
● В прошлом - врач
(все равно ведь прочтете в
LinkedIn, чего скрывать)
●
6. Сложность №3 - Разработчики
“When I see ... developers – all I see is risk”
Chuck Rossi, Facebook
7. О чем будем говорить
●
Процессы
–
–
●
Цикл поставки
Работа с многими командами
Инструменты
–
Автоконфигурация сервера
–
Continuous integration
–
Мониторинг и уведомления
–
Резервное копирование
–
Командное взаимодействие
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
23. Sandbox
●
DNS via Route53
●
Можно демонстрировать клиенту
●
Подключается к github repo/branch
●
Новое задание Jenkins для деплоймент
●
EC2 instance
●
Почти полная копия live за исключением
персональных данных пользователей
26. Мониторинг
Настройка
мониторинга
в зависимости
от роли сервера
●
●
●
●
База данных метрик
Индексы и поиск
Уведомления
Анализ и графики
●
●
●
●
●
Роутинг сообщений
Запуск plugins по
расписанию
Циклическая БД
Обработка данных
Построение графиков
31. ●
Проанализировать все access.log со всех серверов ProjectX
●
Убрать записи с User-Agent = “Apache*” и специфической версией Firefox
●
Включить все запросы к страницам вида /aaaa/bbb-123.html (страницы продукта)
●
Посчитать среднее время, среднеквадратическое отклонение времени
выполнения таких запросов за последние 7 дней
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 “умеет” отслеживать транзакции: полные и неполные, время транзакции