20 апреля, dev {highload} - конференция о highload веб-разработке,...

23
Инженерный дзен. DevOps на практике Титов Александр dev.it-portfolio.net 2013

Upload: it-portfolio

Post on 25-Dec-2014

280 views

Category:

Technology


4 download

DESCRIPTION

20 апреля DEV {highload} - конференция о Highload веб-разработке, "Инженерный дзен. DevOps на практике", Александр Титов (DevOps-эксперт "Экспресс 42") Аннотация Разработать программное обеспечение в веб-индустрии - это еще не все, надо его еще выкатить в производственное окружение и при этом не разочаровать пользователей. Обычно этот процесс происходит раз в месяц или две недели и сопровождается стрессом для всех участников, а часто заканчивается очень неприятной процедурой отката изменений, далеко не всегда безболезненной. Проведем параллель с эволюцией в природе, разве там происходит так? Что-то меняется слишком резко и происходит откат? Нет, природа плавно меняет себя, делая небольшие изменения и пропуская их через проверку временем. Инженерам, работающим в сфере программного обеспечения, дан уникальный шанс, они могут вносить изменения в работающий продукт каждый день, но для этого надо выполнить несколько условий: - наладить в команде доверительные отношения; - постоянно интегрировать продукт в тестовой среде; - поддерживать непрерывный контекст при интеграции; - использовать подходящие инструменты для управления конфигурацией и деплоя. Доклад будет про то, как подобрать подходящие инструменты и процессы для работы и начать регулярно выкатывать ваш продукт. В мире принято такие практики называть DevOps. Биография Совладелец компании по внедрению DevOps-инструментов и процессов "Экспресс 42". Александр был техническим директором первого облака в России "Оверсан-Скалакси", потом руководил отделом системного администрирования в компании Скайп, подготовил инфраструктуру для запуска проекта видеосообщений.

TRANSCRIPT

Page 1: 20 апреля, DEV {highload} - конференция о Highload веб-разработке, "Инженерный дзен. DevOps на практике", Александр

Инженерный дзен.DevOps на практике

Титов Александр

dev.it-portfolio.net2013

Page 2: 20 апреля, DEV {highload} - конференция о Highload веб-разработке, "Инженерный дзен. DevOps на практике", Александр

О себе

• Оверсан-Скалакси• Qik/Skype/Microsoft

Page 3: 20 апреля, DEV {highload} - конференция о Highload веб-разработке, "Инженерный дзен. DevOps на практике", Александр

Экспресс 42

Page 4: 20 апреля, DEV {highload} - конференция о Highload веб-разработке, "Инженерный дзен. DevOps на практике", Александр

?!

• для кого этот доклад• когда продукт это продукт?• почему только что написаный код не приносит пользы?

Page 5: 20 апреля, DEV {highload} - конференция о Highload веб-разработке, "Инженерный дзен. DevOps на практике", Александр

Цикл релиза - месяцСтавка разработчиков.

• 6 фич

• 1 месяц

• 10 подсистем меняется

Page 6: 20 апреля, DEV {highload} - конференция о Highload веб-разработке, "Инженерный дзен. DevOps на практике", Александр

Цикл релиза - месяцСтавка сисадминов

• инциденты• ...

• инциденты• релиз• инциденты

Page 7: 20 апреля, DEV {highload} - конференция о Highload веб-разработке, "Инженерный дзен. DevOps на практике", Александр

Под микроскопомИнтеграция на машине

разработчика

Интеграция на QA/preQA

Интеграция на производственном окружении

Page 8: 20 апреля, DEV {highload} - конференция о Highload веб-разработке, "Инженерный дзен. DevOps на практике", Александр

Разрежь

слона!

Page 9: 20 апреля, DEV {highload} - конференция о Highload веб-разработке, "Инженерный дзен. DevOps на практике", Александр

Идеальный процесс

• постоянная интеграция• каждая фича - релиз• выкатка должна быть идеально отточена• не забывать про обратную связь

Page 10: 20 апреля, DEV {highload} - конференция о Highload веб-разработке, "Инженерный дзен. DevOps на практике", Александр

Инструменты

• Vagrant

• Xen/KVM/Virtualbox/Cloud IaaS

• Chef

• CI - jenkins

• Deploy (что удобно разработчикам)

Page 11: 20 апреля, DEV {highload} - конференция о Highload веб-разработке, "Инженерный дзен. DevOps на практике", Александр

Chef

• управление конфигами• база данных о инфраструктуре• повторяемость• самодокументирование• версионность• интеграционный фреймворк

Page 12: 20 апреля, DEV {highload} - конференция о Highload веб-разработке, "Инженерный дзен. DevOps на практике", Александр

Chef :: recipe

Page 13: 20 апреля, DEV {highload} - конференция о Highload веб-разработке, "Инженерный дзен. DevOps на практике", Александр

Chef :: search

Page 14: 20 апреля, DEV {highload} - конференция о Highload веб-разработке, "Инженерный дзен. DevOps на практике", Александр

Chef :: роли, машины

Page 15: 20 апреля, DEV {highload} - конференция о Highload веб-разработке, "Инженерный дзен. DevOps на практике", Александр

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"}'

Page 16: 20 апреля, DEV {highload} - конференция о Highload веб-разработке, "Инженерный дзен. DevOps на практике", Александр

Vagrant

• gem install vagrant

• vagrant box add debian.box

• vagrant init

• vagrant up

• vagrant provision

• http://vagrantup.com

Page 17: 20 апреля, DEV {highload} - конференция о Highload веб-разработке, "Инженерный дзен. DevOps на практике", Александр

Vagrant plugins

• chef

• chef-solo

• puppet

• shell

• Virtualbox

• VmWare

• Amazon

http://blog.evtuhovich.ru/blog/2012/01/10/vagrant/

Page 18: 20 апреля, DEV {highload} - конференция о Highload веб-разработке, "Инженерный дзен. DevOps на практике", Александр

CI

• vagrant

• chef на всех окружениях

• тесты, тесты, тесты

Page 19: 20 апреля, DEV {highload} - конференция о Highload веб-разработке, "Инженерный дзен. DevOps на практике", Александр

Deploy система

• на выбор разработчиков• система должна давать обратную связь

• не забываем, что надо откатится!

Page 20: 20 апреля, DEV {highload} - конференция о Highload веб-разработке, "Инженерный дзен. DevOps на практике", Александр

CD

• культура разработки• обмен информацией• самосовершенствование• кроссфункциональность

Page 21: 20 апреля, DEV {highload} - конференция о Highload веб-разработке, "Инженерный дзен. DevOps на практике", Александр

Состояние дзен

• системные администраторы как эксперты

• разработчики несут всю ответственность за продукт

• высокая скорость вывода изменений на продакшн

• chef как интеграционный фреймворк

• инфраструктура как код

Page 22: 20 апреля, DEV {highload} - конференция о Highload веб-разработке, "Инженерный дзен. DevOps на практике", Александр

Спрашивайте!

Page 23: 20 апреля, DEV {highload} - конференция о Highload веб-разработке, "Инженерный дзен. DevOps на практике", Александр

Контакты

• email: [email protected]

• skype: atitov_sd

• http://groups.google.com/group/devopsru

• twitter: @osminog, @express42_ru

• http://express42.com