SlideShare a Scribd company logo
DevOps в Agile
среде. Как, почему и
когда инструменты
помогают.
Титов Александр, Экспресс 42
О себе
Экспресс 42
DevOps?
Проблемы?
• собирать информационные системы вручную
стало дорого
• разработчики, тестировщики и администраторы
работают как “лебедь, рак и щука”
vs
До и после DevOps
Что делать?
• инструменты для создания конвейра непрерывной
поставки программного обеспечения
• новые отношения между системными
администраторами, тестировщиками и
разработчиками
DevOps CAMS
• автоматизация
• изменения через измерения
• культура
• распространение знаний
Автоматизация и
сохранение информации
• Lean
• инструменты для сохранения информации
• критерий эффективного использования - больше
порядка в системе
Как инструменты
помогают
Dev Test Prod
Контекст Контекст’ Контекст’’
Одинаковые образы ОС (cobbler)
Контекст изменения в Chef
Изменение
Инструменты управления
конфигурацией
• chef
• puppet
• ansible
• saltstack
• сохранение информации о системе - bash
скрипты, хранение конфигов в git
• сохранение информации об изменении в системе
- инструменты управления конфигурацией
Инструменты управления
конфигурацией
Скрипт на bash# packages!
echo "deb http://apt.postgresql.org/pub/repos/apt/ precise-pgdg main" > /etc/apt/sources.list.d/pgdg.list!
wget -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | apt-key add -!
apt-get update!
# apt-get upgrade -y!
apt-get install -y postgresql-9.3 postgresql-9.3-postgis-2.1 libpq-dev cowsay build-essential!
!
# PostgreSQL!
sed -i -r -e 's/locals+alls+postgress+peer//' /etc/postgresql/9.3/main/pg_hba.conf!
sed -i -r -e 's/locals+alls+alls+peer/local all all trust/' /etc/
postgresql/9.3/main/pg_hba.conf!
service postgresql restart!
createuser -U postgres -s clan-web!
createdb -U clan-web -E utf8 -l en_US.utf8 -T template0 clan-web!
!
# remove Vagrant's Ruby!
rm -fr /opt/vagrant_ruby!
rm -fr /etc/profile.d/vagrant_ruby.sh!
!
# install Ruby with ruby-install!
wget https://github.com/postmodern/ruby-install/archive/v0.4.1.tar.gz!
tar -xzvf v0.4.1.tar.gz!
make -C ruby-install-0.4.1 install!
rm -fr ruby-install-0.4.1!
ruby-install --no-reinstall --md5 53edc33b2f590ecdd9f6a344b9d92d0d ruby 2.1.1!
echo "PATH=$PATH:/opt/rubies/ruby-2.1.1/bin" > /etc/profile.d/ruby.2.1.1.sh!
export PATH=$PATH:/opt/rubies/ruby-2.1.1/bin!
gem install bundler!
!
cd /vagrant!
bundle!
bin/rake db:setup!
!
bin/rails server -p 3000 -d!
!
cowsay "Done! Go to http://localhost:8080/"!
Инфраструктура как код
directory "#{application_directory}/shared" do!
owner user!
group user!
end!
%w( packages ).each do |pkg|!
package pkg!
end!
rvm_ruby "ruby-1.9.3-p286" do!
user user!
end!
!
rvm_default_ruby "1.9.3-p286" do!
user user!
end!
!
sudo "beta-#{user}" do!
user user!
commands ["/usr/bin/sv * beta-express42-site_*"]!
host "ALL"!
nopasswd true!
end!
!
template "#{node[:nginx][:directories][:conf_dir]}/sites-available/nginx-beta-express42-site.conf" do!
source "nginx-beta-express42-site.conf.erb"!
owner user!
group user!
variables :application_directory => application_directory!
notifies :reload, resources(:service => "nginx")!
end!
!
nginx_site "nginx-beta-express42-site"!
!
iptables_rule "http"!
iptables_rule "ssh"!
Повторяемость
• управление кодом - svn, git
• управление пакетами - bundler, pip, berkshelf,
librarian, aptly
• управление ОС - cobbler, vagrant, packer, docker
Модель описания
инфраструктуры
application
service (nginx, pgsql,etc)
base
(ОС, бэкапы, базовый мониторинг)
Ops
Ops
Dev
Ops
Инст
руме
нты
Пример
runit_service 'settings-svc' do!
run_template_name "java_service"!
log_template_name "java_service"!
default_logger true!
options( "app_version" => app_version,!
"procname" => procname,!
"java_class" => java_class,!
"home" => application_directory,!
"user" => user,!
"reverse_classpath" => true!
)!
only_if "test -f #{application_directory}/current/settings-svc-#{app_version}.jar"!
end!
Еще пример
php_pool "admin" do!
address "127.0.0.1"!
port "8003"!
allow "127.0.0.1"!
backlog -1!
limits :core => 0, :files => 1024, :requests => 500, :children => 5, :spare_children =>
{ :min => 1, :max => 3 }!
php_var 'register_globals' => true,!
'short_open_tag' => true,!
'display_errors' => false,!
'max_execution_time' => '600',!
'error_reporting' => 'E_ALL & ~E_DEPRECATED',!
'date.timezone' => 'UTC',!
'error_log' => '/var/log/svc/php-admin-error.log',!
'memory_limit' => '128M',!
'post_max_size' => '32M',!
'max_input_time' => '60'!
action :add!
end!
Постоянная поставка ПО
• малыми частями и каждый день
• автоматическое тестирование
• обратная связь
• графики на все
• логирование
• сбор эксепшенов
• визуализация статистики
Изменения через
измерения
Требования к мониторингу
• автоматизированное добавление проверок через
API
• отображение любой собираемой статистики
• автоматическое добавление/удаление машин в
мониторинге
• масштабируемость
• удобство
Мониторинг отстой
• zabbix
• circonus
• nagios
• graphite
• sensu
• statsd
• new relic
• прочее
Логирование
• логирование по id всего потока данных
• отдельные потоки для ошибок
• надо различать логи приложения и логи системы
system A system B system C
system X
system D
id1 ip:8.8.7.1 id1 login successful
id1 write to sys X failed
id1 write to sda1 failed, write timeout
DevOps, Lean, Agile
• для DevOps нужна специальная организация
• Agile и Lean уже решали теже проблемы для
разработки, можно применить и в эксплуатации
• Agile помогает разрабатывать быстрее, но какой
толк если Эксплуатация тормозит?
• Фокус на переносе неискаженного смысла между
системами и людьми
Что если не изменить
культуру?
Два подхода
• армия (декларативные инструкции)
• айкидо (развитие и мастерство)
Пример про гребцов
Культура
• применение Agile техник - Scrum, Kanban
• идеи Lean для донесения ценности без потерь
• мотивация команды на решение проблем людей и
всего мира, а не на соревнование и
доминирование
Культура
!
• Честность
• Открытость
• Искренность
• Самосовершенствование
Меньше потерь информации!
Как применять?
• на своем примере
• победить дискомфорт
• управлять своим эго
Что почитать?
• continuousdelivery.com
The Phoenix Project
• http://www.amazon.com/The-
Phoenix-Project-Helping-
Business/dp/0988262592/
Митап и рассылка
http://www.meetup.com/DevOps-Moscow-in-Russian/
https://groups.google.com/d/forum/devopsru
Вкуснейший дефлопе*
http://devopsdeflope.ru
*пожалуй лучший в Москве
Экспресс 42
Надёжные решения для сложной инфраструктуры
http://express42.com
http://brainwashing.pro/devops
Промой мозги!
Контакты
twitter: @osminog
email: input@express42.com
Вопросы?

More Related Content

PDF
Devops: от заката до рассвета
PDF
Agile days 2016 about digital, microservices and containers
PDF
DevOps и системы управления конфигурацией. SECON 2015
PDF
Жизнь консалтинга в мире DevOps
PDF
DevOps модное слово или следующая ступень эволюции
PDF
DevOps от и до - что, зачем и почему
PDF
Мифы о DevOps / Александр Титов, Иван Евтухович (Экспресс 42)
PDF
«DevOps — это о передаче смысла» — Александр Титов, Express 42
Devops: от заката до рассвета
Agile days 2016 about digital, microservices and containers
DevOps и системы управления конфигурацией. SECON 2015
Жизнь консалтинга в мире DevOps
DevOps модное слово или следующая ступень эволюции
DevOps от и до - что, зачем и почему
Мифы о DevOps / Александр Титов, Иван Евтухович (Экспресс 42)
«DevOps — это о передаче смысла» — Александр Титов, Express 42

What's hot (18)

PDF
SECON'2016 Евтухович Иван, Эксплуатация завтрашнего дня: от DevOps к NoOps
PPTX
Реальный DevOps в энтерпрайзе / Александр Тараторин (Райффайзенбанк)
PDF
Куда движется управление инфраструктурой
PPTX
Как проекты приходят к DevOps?
PDF
Всеволод Поляков: “Организованный DevOps”
PPT
Алексей Рыбак (Badoo)
PPTX
Александр Корольков. LeSS Huge
PDF
Александр Курдюков. Внедрение continuous delivery для гетерогенных поставок.
PPTX
Практика DevOps в крупных организациях
PDF
Евгений Кривошеев. Beyond DevOps
PDF
DevOps Fest 2020. Барух Садогурский и Леонид Игольник. Устраиваем DevOps без ...
PDF
Алексей Пименов. Kanban — это не то, что вы привыкли о нем думать
PDF
Микросервисы: откуда столько шума?
PDF
Микросервисы: откуда столько шума?
PDF
Константин Назаров – Распараллеливание сборки Parallels Desktop для Mac
PDF
TechLeads meetup: Макс Лапшин, Erlyvideo
PPTX
Software craftsmanship фиксит проблемы Agile
PPTX
Highload в ВУЗе: идеализм, расчетливый менеджмент или пустые надежды
SECON'2016 Евтухович Иван, Эксплуатация завтрашнего дня: от DevOps к NoOps
Реальный DevOps в энтерпрайзе / Александр Тараторин (Райффайзенбанк)
Куда движется управление инфраструктурой
Как проекты приходят к DevOps?
Всеволод Поляков: “Организованный DevOps”
Алексей Рыбак (Badoo)
Александр Корольков. LeSS Huge
Александр Курдюков. Внедрение continuous delivery для гетерогенных поставок.
Практика DevOps в крупных организациях
Евгений Кривошеев. Beyond DevOps
DevOps Fest 2020. Барух Садогурский и Леонид Игольник. Устраиваем DevOps без ...
Алексей Пименов. Kanban — это не то, что вы привыкли о нем думать
Микросервисы: откуда столько шума?
Микросервисы: откуда столько шума?
Константин Назаров – Распараллеливание сборки Parallels Desktop для Mac
TechLeads meetup: Макс Лапшин, Erlyvideo
Software craftsmanship фиксит проблемы Agile
Highload в ВУЗе: идеализм, расчетливый менеджмент или пустые надежды
Ad

Viewers also liked (20)

PDF
2804096508 tim standard
PDF
Jack selby02
ODP
Althabari
PDF
Tvo corporate brochure def liggend lr
ODP
Althabari
PDF
Wie is Grooh Communicatie?
PPT
Miranda - through the years
PDF
Roswell
PPT
Peluang
PDF
Ayurveda tekst
PDF
Mik 094
PPTX
Wellness overview idol
PPTX
Coaching e treinamento
PDF
Wrap spencer oatey_0673125-cal-060510-m06_vanmeurshso
PPTX
Tapping the Global Markets
PDF
Dimensions casebookalie
PDF
Behold a pale_horse_split_1
PDF
Mysteries
PDF
Eric crop circle_patterns
PDF
Alambaré 2011
2804096508 tim standard
Jack selby02
Althabari
Tvo corporate brochure def liggend lr
Althabari
Wie is Grooh Communicatie?
Miranda - through the years
Roswell
Peluang
Ayurveda tekst
Mik 094
Wellness overview idol
Coaching e treinamento
Wrap spencer oatey_0673125-cal-060510-m06_vanmeurshso
Tapping the Global Markets
Dimensions casebookalie
Behold a pale_horse_split_1
Mysteries
Eric crop circle_patterns
Alambaré 2011
Ad

Similar to DevOps в Agile среде. Как, почему и когда инструменты помогают. (20)

PDF
"Девопс - это не только для программистов. Практические примеры из жизни одно...
PDF
Building deployment pipeline - DevOps way
PDF
PDF
Большая книга рецептов или часто задаваемые вопросы по управлению сложными си...
PDF
Большая книга рецептов или часто задаваемые вопросы по управлению сложными пр...
PDF
Приемы Сontinuous Integration при разработке приложений на Caché
PDF
Caché github continuous intergration
PDF
PostgreSQL - Ups, DevOps..., Алексей Лесовский (PostgreSQL-Consulting)
PDF
SPA инструменты
PDF
Инженерный дзен. Непрерывные изменения (Александр Титов)
PDF
CodeFest 2012. Титов А. — Инженерный дзен. Непрерывные изменения
PPTX
Построение собственного JS SDK — зачем и как?
PDF
PDF
Иван Карев — Клиентская оптимизация
PDF
DevOps или исскуство ухода за Интернет-проектом
PDF
Истинный DevOps. Секрет 42.
PDF
Agile days `16 summary
PPTX
Node.js введение в технологию, КПИ #ITmeetingKPI
PDF
PG Day'14 Russia, PostgreSQL в avito.ru, Михаил Тюрин
"Девопс - это не только для программистов. Практические примеры из жизни одно...
Building deployment pipeline - DevOps way
Большая книга рецептов или часто задаваемые вопросы по управлению сложными си...
Большая книга рецептов или часто задаваемые вопросы по управлению сложными пр...
Приемы Сontinuous Integration при разработке приложений на Caché
Caché github continuous intergration
PostgreSQL - Ups, DevOps..., Алексей Лесовский (PostgreSQL-Consulting)
SPA инструменты
Инженерный дзен. Непрерывные изменения (Александр Титов)
CodeFest 2012. Титов А. — Инженерный дзен. Непрерывные изменения
Построение собственного JS SDK — зачем и как?
Иван Карев — Клиентская оптимизация
DevOps или исскуство ухода за Интернет-проектом
Истинный DevOps. Секрет 42.
Agile days `16 summary
Node.js введение в технологию, КПИ #ITmeetingKPI
PG Day'14 Russia, PostgreSQL в avito.ru, Михаил Тюрин

DevOps в Agile среде. Как, почему и когда инструменты помогают.