Upload
it-portfolio
View
299
Download
4
Embed Size (px)
DESCRIPTION
20 апреля DEV {highload} - конференция о Highload веб-разработке, "Инженерный дзен. DevOps на практике", Александр Титов (DevOps-эксперт "Экспресс 42") Аннотация Разработать программное обеспечение в веб-индустрии - это еще не все, надо его еще выкатить в производственное окружение и при этом не разочаровать пользователей. Обычно этот процесс происходит раз в месяц или две недели и сопровождается стрессом для всех участников, а часто заканчивается очень неприятной процедурой отката изменений, далеко не всегда безболезненной. Проведем параллель с эволюцией в природе, разве там происходит так? Что-то меняется слишком резко и происходит откат? Нет, природа плавно меняет себя, делая небольшие изменения и пропуская их через проверку временем. Инженерам, работающим в сфере программного обеспечения, дан уникальный шанс, они могут вносить изменения в работающий продукт каждый день, но для этого надо выполнить несколько условий: - наладить в команде доверительные отношения; - постоянно интегрировать продукт в тестовой среде; - поддерживать непрерывный контекст при интеграции; - использовать подходящие инструменты для управления конфигурацией и деплоя. Доклад будет про то, как подобрать подходящие инструменты и процессы для работы и начать регулярно выкатывать ваш продукт. В мире принято такие практики называть DevOps. Биография Совладелец компании по внедрению DevOps-инструментов и процессов "Экспресс 42". Александр был техническим директором первого облака в России "Оверсан-Скалакси", потом руководил отделом системного администрирования в компании Скайп, подготовил инфраструктуру для запуска проекта видеосообщений.
Citation preview
Инженерный дзен.DevOps на практике
Титов Александр
dev.it-portfolio.net2013
О себе
• Оверсан-Скалакси• Qik/Skype/Microsoft
Экспресс 42
?!
• для кого этот доклад• когда продукт это продукт?• почему только что написаный код не приносит пользы?
Цикл релиза - месяцСтавка разработчиков.
• 6 фич
• 1 месяц
• 10 подсистем меняется
Цикл релиза - месяцСтавка сисадминов
• инциденты• ...
• инциденты• релиз• инциденты
Под микроскопомИнтеграция на машине
разработчика
Интеграция на QA/preQA
Интеграция на производственном окружении
Разрежь
слона!
Идеальный процесс
• постоянная интеграция• каждая фича - релиз• выкатка должна быть идеально отточена• не забывать про обратную связь
Инструменты
• Vagrant
• Xen/KVM/Virtualbox/Cloud IaaS
• Chef
• CI - jenkins
• Deploy (что удобно разработчикам)
Chef
• управление конфигами• база данных о инфраструктуре• повторяемость• самодокументирование• версионность• интеграционный фреймворк
Chef :: recipe
Chef :: search
Chef :: роли, машины
Chef, knife• knife search node 'role:mysql' -r
• knife ssh "role:ruby" "sudo /etc/init.d/nginx-passenger status"
• knife ssh "role:ruby" interactive
• knife ssh "role:ruby" tmux
• knife ec2 server create -r "role[ruby]"
• knife exec -E 'nodes.all {|n| puts "#{n.name} has #{n.memory.total} free memory"}'
Vagrant
• gem install vagrant
• vagrant box add debian.box
• vagrant init
• vagrant up
• vagrant provision
• http://vagrantup.com
Vagrant plugins
• chef
• chef-solo
• puppet
• shell
• Virtualbox
• VmWare
• Amazon
http://blog.evtuhovich.ru/blog/2012/01/10/vagrant/
CI
• vagrant
• chef на всех окружениях
• тесты, тесты, тесты
Deploy система
• на выбор разработчиков• система должна давать обратную связь
• не забываем, что надо откатится!
CD
• культура разработки• обмен информацией• самосовершенствование• кроссфункциональность
Состояние дзен
• системные администраторы как эксперты
• разработчики несут всю ответственность за продукт
• высокая скорость вывода изменений на продакшн
• chef как интеграционный фреймворк
• инфраструктура как код
Спрашивайте!
Контакты
• email: [email protected]
• skype: atitov_sd
• http://groups.google.com/group/devopsru
• twitter: @osminog, @express42_ru
• http://express42.com