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


Top Related