![Page 1: HSE{Consult}: DevOps – новая методология разработки](https://reader036.vdocuments.net/reader036/viewer/2022062308/55957d661a28ab11038b4644/html5/thumbnails/1.jpg)
DevOps или искусство ухода за
-Интернет проектами , Express 42Титов Александр
![Page 2: HSE{Consult}: DevOps – новая методология разработки](https://reader036.vdocuments.net/reader036/viewer/2022062308/55957d661a28ab11038b4644/html5/thumbnails/2.jpg)
О себе
• -Оверсан Скалакси
• Qik/Skype/Microsoft
![Page 3: HSE{Consult}: DevOps – новая методология разработки](https://reader036.vdocuments.net/reader036/viewer/2022062308/55957d661a28ab11038b4644/html5/thumbnails/3.jpg)
42Экспресс
![Page 4: HSE{Consult}: DevOps – новая методология разработки](https://reader036.vdocuments.net/reader036/viewer/2022062308/55957d661a28ab11038b4644/html5/thumbnails/4.jpg)
О чем доклад
• DevOpsЧто такое
• DevOpsМой опыт в
![Page 5: HSE{Consult}: DevOps – новая методология разработки](https://reader036.vdocuments.net/reader036/viewer/2022062308/55957d661a28ab11038b4644/html5/thumbnails/5.jpg)
DevOps?
![Page 6: HSE{Consult}: DevOps – новая методология разработки](https://reader036.vdocuments.net/reader036/viewer/2022062308/55957d661a28ab11038b4644/html5/thumbnails/6.jpg)
DevOps как решениепроблемы
• баги• отказы• простои при выкатке
• редкие и болезненные релизы
![Page 7: HSE{Consult}: DevOps – новая методология разработки](https://reader036.vdocuments.net/reader036/viewer/2022062308/55957d661a28ab11038b4644/html5/thumbnails/7.jpg)
- Корень проблемы потеря информации
![Page 8: HSE{Consult}: DevOps – новая методология разработки](https://reader036.vdocuments.net/reader036/viewer/2022062308/55957d661a28ab11038b4644/html5/thumbnails/8.jpg)
Примеры из жизни
• , не выкатились потому что не знали
• , - система отказала потому что кто топромолчал
• не смогли договорится
![Page 9: HSE{Consult}: DevOps – новая методология разработки](https://reader036.vdocuments.net/reader036/viewer/2022062308/55957d661a28ab11038b4644/html5/thumbnails/9.jpg)
DevOps это• автоматизация и инструментыавтоматизации
• управление изменениями черезизмерения
• новая инженерная культура
• распространение знаний между всеми участниками команды
![Page 10: HSE{Consult}: DevOps – новая методология разработки](https://reader036.vdocuments.net/reader036/viewer/2022062308/55957d661a28ab11038b4644/html5/thumbnails/10.jpg)
?Автоматизация• инструменты для сохраненияинформации
• критерий эффективного - использования больше порядка в
системе
• - сохранение информации о системеbash , gitскрипты хранение конфигов в
• сохранение информации об - Opscode Chefизменении в системе
![Page 11: HSE{Consult}: DevOps – новая методология разработки](https://reader036.vdocuments.net/reader036/viewer/2022062308/55957d661a28ab11038b4644/html5/thumbnails/11.jpg)
2D vs 3D
![Page 12: HSE{Consult}: DevOps – новая методология разработки](https://reader036.vdocuments.net/reader036/viewer/2022062308/55957d661a28ab11038b4644/html5/thumbnails/12.jpg)
Как инструментыпомогают
DevDev TestTest ProdProd
КонтекстКонтекст ’Контекст’Контекст ’’Контекст’’Контекст (cobbler)Одинаковые образы ОС
ChefКонтекст изменения в
ИзменениеИзменение
![Page 13: HSE{Consult}: DevOps – новая методология разработки](https://reader036.vdocuments.net/reader036/viewer/2022062308/55957d661a28ab11038b4644/html5/thumbnails/13.jpg)
Пример
![Page 14: HSE{Consult}: DevOps – новая методология разработки](https://reader036.vdocuments.net/reader036/viewer/2022062308/55957d661a28ab11038b4644/html5/thumbnails/14.jpg)
“ Модель Экспресс42”
applicationapplication
service (nginx, pgsql,etc)service (nginx, pgsql,etc)
basebase ( , , )ОС бэкапы базовый мониторинг( , , )ОС бэкапы базовый мониторинг OpsOps
OpsOps
DevDevOpsOps
![Page 15: HSE{Consult}: DevOps – новая методология разработки](https://reader036.vdocuments.net/reader036/viewer/2022062308/55957d661a28ab11038b4644/html5/thumbnails/15.jpg)
Примерpostgresql "main" do databag node["zabbix-server"]["database"]["databag"] cluster_create_options "locale" => "ru_RU.UTF-8" configuration( :version => "9.1", :connection => { :listen_addresses => listen_address, :max_connections => 300 }, :resources => { :shared_buffers => "8MB", :maintenance_work_mem => "128MB", :work_mem => "8MB" }, :queries => { :effective_cache_size => "3GB" }, :wal => { :checkpoint_completion_target => "0.9" }, :logging => { :log_min_duration_statement => "1000" }, :archiving => { :archive_mode => "on", :archive_command => "'exit 0'" }, :standby => { :hot_standby => "on" } ) hba_configuration( [ { :type => "host", :database => "all", :user => "all", :address => node["zabbix-server"]["database"]["network"], :method => "md5" } ] )end
![Page 16: HSE{Consult}: DevOps – новая методология разработки](https://reader036.vdocuments.net/reader036/viewer/2022062308/55957d661a28ab11038b4644/html5/thumbnails/16.jpg)
Пример
php_pool "zabbix-runtime" do address "127.0.0.1" port "9200" 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/zabbix-php-error.log', 'memory_limit' => '128M', 'post_max_size' => '32M', 'max_input_time' => '300' action :addend
![Page 17: HSE{Consult}: DevOps – новая методология разработки](https://reader036.vdocuments.net/reader036/viewer/2022062308/55957d661a28ab11038b4644/html5/thumbnails/17.jpg)
Изменения черезизмерения
DevDev TestTest ProdProd
КонтекстКонтекст ’Контекст’Контекст ’’Контекст’’Контекст
ИзменениеИзменение
МониторингМониторинг
![Page 18: HSE{Consult}: DevOps – новая методология разработки](https://reader036.vdocuments.net/reader036/viewer/2022062308/55957d661a28ab11038b4644/html5/thumbnails/18.jpg)
Изменения черезизмерения
zabbix_application "#{mpoint} filesystem" do item "vfs.fs.size[#{mpoint},free]" do type :active name "Free disk space on #{mpoint}" frequency 600 end
item "vfs.fs.size[#{mpoint},total]" do type :active name "Total disk space on #{mpoint}" frequency 6000 end
# Free space triggers {20 => :warning, 10 => :average, 5 => :high}.each do |percent, sev| trigger "Free space on #{mpoint}, #{percent}%" do expression "{#{node.fqdn}:vfs.fs.size[#{mpoint},pfree].last(0)}<#{percent}" severity sev end end
trigger "Free space on #{mpoint}, 0%" do expression "{#{node.fqdn}:vfs.fs.size[#{mpoint},pfree].last(0)}=0" severity :disaster end end
![Page 19: HSE{Consult}: DevOps – новая методология разработки](https://reader036.vdocuments.net/reader036/viewer/2022062308/55957d661a28ab11038b4644/html5/thumbnails/19.jpg)
Изменения черезизмерения
• логированиесбор эксепшенов
• визуализация статистики
![Page 20: HSE{Consult}: DevOps – новая методология разработки](https://reader036.vdocuments.net/reader036/viewer/2022062308/55957d661a28ab11038b4644/html5/thumbnails/20.jpg)
Культура
• Честность
• Открытость
• Искренность
!Меньше потерь информации
![Page 21: HSE{Consult}: DevOps – новая методология разработки](https://reader036.vdocuments.net/reader036/viewer/2022062308/55957d661a28ab11038b4644/html5/thumbnails/21.jpg)
?Как применять
• победить дискомфорт
• на своем примере
![Page 22: HSE{Consult}: DevOps – новая методология разработки](https://reader036.vdocuments.net/reader036/viewer/2022062308/55957d661a28ab11038b4644/html5/thumbnails/22.jpg)
Коммуникации
• Скайп
• Разговоры
• Работа в группе
• , , Пицца пиво Джармуш
![Page 23: HSE{Consult}: DevOps – новая методология разработки](https://reader036.vdocuments.net/reader036/viewer/2022062308/55957d661a28ab11038b4644/html5/thumbnails/23.jpg)
!Спрашивайте
![Page 24: HSE{Consult}: DevOps – новая методология разработки](https://reader036.vdocuments.net/reader036/viewer/2022062308/55957d661a28ab11038b4644/html5/thumbnails/24.jpg)
twitter: @osminog
: рассылкаhttp://groups.google.com/group/devopsru
meetup: http://www.meetup.com/DevO
ps-Moscow-in-Russian