SlideShare a Scribd company logo
1 of 33
Download to read offline
DevOps и системы
управления
конфигурацией
Иван Евтухович
Надежные решения для сложной инфраструктуры
Надежные решения для сложной инфраструктуры
План
• Что такое DevOps?
• Практики DevOps
• Что такое системы управления конфигурацией
• Chef/Ansible — сходства и различия
Надежные решения для сложной инфраструктуры
DevOps — это…
• DevOps — это методология в разработке ПО,
нацеленная на общение, взаимодействие и
интеграцию специалистов по разработке ПО и
специалистов в информационных технологиях.
• https://ru.wikipedia.org/wiki/DevOps
Надежные решения для сложной инфраструктуры
Зачем?
• Перебрасывание релиза через стену
• Конфликт между отделами
• Медленный и нестабильный релизный цикл
Надежные решения для сложной инфраструктуры
CAMS
• Культура (Culture)
• Автоматизация (Automation)
• Измерения (Measurement)
• Распространение знаний (Knowledge Sharing)
Надежные решения для сложной инфраструктуры
Автоматизация
• инструменты для передачи ценности и смысла,
помощь в командной работе
• критерий эффективного использования —
больше порядка в системе
• Bash скрипты vs Chef/Ansible
Надежные решения для сложной инфраструктуры
Измерения
• графики
• логированное и сбор эксепшенов
• визуализация статистики
• визуализация и аналитика воркфлоу (канбан)
Надежные решения для сложной инфраструктуры
Распространение
знаний
• Всевозможные обратные связи
• Смешивание команд
Надежные решения для сложной инфраструктуры
Культура
• честность
• открытость
• искренность
Надежные решения для сложной инфраструктуры
Пример про гребцов
Надежные решения для сложной инфраструктуры
DevOps сисадмин
• Звучит как Agile Java-разработчик
• Релиз-инженер
• Админ, который знает Chef/Puppet
• DevOps отделы
Надежные решения для сложной инфраструктуры
Практики DevOps
• Post Mortem
• Админ на стендапах
• Дежурный программист
• Общедоступный мониторинг и логи
• Все знают цели бизнеса
Надежные решения для сложной инфраструктуры
Continuous Delivery
• Непрерывная поставка ПО — это процесс
разработки и эксплуатации ПО, при котором
каждое изменение может быть выкачено в
боевую среду
Надежные решения для сложной инфраструктуры
Надежные решения для сложной инфраструктуры
Надежные решения для сложной инфраструктуры
CM
• Configuration Management System
• Системы управления конфигурацией
• Цель — поддержание всех окружений в
максимально идентичном состоянии
• “Инфраструктура как код”
Надежные решения для сложной инфраструктуры
Инфраструктура как код
• Подход, при котором инфраструктура описана в
виде кода и хранится в СКВ
• Применимы практики разработчиков:
• ревью
• тестирование
• Контроль: предсказуемость и повторяемость
Надежные решения для сложной инфраструктуры
Популярные CMS
• CFEngine
• Puppet
• Chef
• SaltStack
• Ansible
Надежные решения для сложной инфраструктуры
Картинка
DevOps
Continuous Delivery
Configuration Management
Надежные решения для сложной инфраструктуры
Chef
• Mar 6, 2008 – первый комит
• Клиент/серверная модель
• Ruby DSL
• Огромное комьюнити
• Поддержка коммерческой компании
Надежные решения для сложной инфраструктуры
• Более 2000 открытых кукбуков
(supermarket.chef.io)
• Развитый воркфлоу по командной разработке
• Куча инструментов для работы и тестирования
• Поддержка ведущих вендоров (IBM, HP и т.д.)
• Поддержка Windows
Надежные решения для сложной инфраструктуры
Chef-server
development
dev01
dev02
dev03
test
test01
test02
test03
staging
web01.stage
db01.stage
cache01.stage
production
web01.prod
….
web25.prod
db01.prod
db02.prod
cache01.prod
…
cache05.prod
Надежные решения для сложной инфраструктуры
ruby_install ruby_version do
action :install
end
ruby_set ruby_version do
action :set
username user
end
directory "#{application_directory}/" do
owner user
group user
end
key = Chef::EncryptedDataBagItem.load('deploy-key', 'key')
file "/home/#{user}/.ssh/id_rsa" do
content key['private_key']
owner user
group user
mode '0600'
end
%w(libmagickwand-dev libmagickcore-dev libpq-dev imagemagick).each do |pack|
package pack
end
Надежные решения для сложной инфраструктуры
Ansible
• Feb 23, 2012 - первый коммит (Michael DeHaan)
• Модель без агента/клиентская модель
• Декларативный язык (Yaml)
• Огромное комьюнити
• Поддержка коммерческой компании
Надежные решения для сложной инфраструктуры
• Более 2000 открытых ролей (galaxy.ansible.com)
• Проблемы с командной разработкой
• Тестирование не развито
• Нет поддержки ведущих вендоров
• Слабая поддержка Windows
• Встроенная оркестрация
Надежные решения для сложной инфраструктуры
- name: Load encrypted key
include_vars: group_vars/deploy-key.yml
- name: Create content deploy keys
template: src=id_rsa_content.j2 dest=/home/{{app_user}}/.ssh/
id_rsa_content mode=0600 owner={{app_user}} group={{app_user}}
- name: Create worker deploy keys
template: src=id_rsa_worker.j2 dest=/home/{{app_user}}/.ssh/
id_rsa_worker mode=0600 owner={{app_user}} group={{app_user}}
- stat: path={{app_dir}}
register: worker_dir
- name: Create git.sh
template: src=git.sh.j2 dest=/home/{{app_user}}/git.sh
owner={{app_user}} mode=0700 group={{app_user}}
- name: Clone worker repo
shell: GIT_SSH=/home/{{app_user}}/git.sh git clone
git@github.com:uchiru/workers.git {{app_dir}}
sudo: no
when: worker_dir.stat.exists == False
Надежные решения для сложной инфраструктуры
DevOps сообщество
• devopsru.com
• http://www.meetup.com/DevOps-Moscow-in-
Russian
• https://groups.google.com/forum/#!forum/devopsru
• http://hangops.ru
• http://devopsdeflope.ru
Надежные решения для сложной инфраструктуры
Надежные решения для сложной инфраструктуры
Надежные решения для сложной инфраструктуры
Книги
• Непрерывное развертывание ПО. Автоматизация
процессов сборки, тестирования и внедрения
новых версий программ. Джез Хамбл, Давид
Фарли
• Проект “Феникс”. Роман о том, как DevOps
меняет бизнес к лучшему. Джин Ким и др.
Надежные решения для сложной инфраструктуры
Ржака
http://devopsreactions.tumblr.com
Надежные решения для сложной инфраструктуры
http://express42.com
+7 499 918 67 34
@evtuhovich
evtuhovich@gmail.com

More Related Content

What's hot

DevOps от и до - что, зачем и почему
DevOps от и до - что, зачем и почемуDevOps от и до - что, зачем и почему
DevOps от и до - что, зачем и почемуAndrey Rebrov
 
Реальный DevOps в энтерпрайзе / Александр Тараторин (Райффайзенбанк)
Реальный DevOps в энтерпрайзе / Александр Тараторин (Райффайзенбанк)Реальный DevOps в энтерпрайзе / Александр Тараторин (Райффайзенбанк)
Реальный DevOps в энтерпрайзе / Александр Тараторин (Райффайзенбанк)Ontico
 
Мифы о DevOps / Александр Титов, Иван Евтухович (Экспресс 42)
Мифы о DevOps / Александр Титов, Иван Евтухович (Экспресс 42)Мифы о DevOps / Александр Титов, Иван Евтухович (Экспресс 42)
Мифы о DevOps / Александр Титов, Иван Евтухович (Экспресс 42)Ontico
 
Как проекты приходят к DevOps?
Как проекты приходят к DevOps?Как проекты приходят к DevOps?
Как проекты приходят к DevOps?SQALab
 
Микросервисы: откуда столько шума?
Микросервисы: откуда столько шума?Микросервисы: откуда столько шума?
Микросервисы: откуда столько шума?Ivan Evtukhovich
 
Микросервисы: откуда столько шума?
Микросервисы: откуда столько шума?Микросервисы: откуда столько шума?
Микросервисы: откуда столько шума?Ivan Evtukhovich
 
Практика DevOps в крупных организациях
Практика DevOps в крупных организацияхПрактика DevOps в крупных организациях
Практика DevOps в крупных организацияхSoftmart
 
Всеволод Поляков: “Организованный DevOps”
Всеволод Поляков: “Организованный DevOps”Всеволод Поляков: “Организованный DevOps”
Всеволод Поляков: “Организованный DevOps”Provectus
 
О фреймворках / Роман Ивлиев (Банки.ру)
О фреймворках / Роман Ивлиев (Банки.ру)О фреймворках / Роман Ивлиев (Банки.ру)
О фреймворках / Роман Ивлиев (Банки.ру)Ontico
 
Highload в ВУЗе: идеализм, расчетливый менеджмент или пустые надежды
Highload в ВУЗе: идеализм, расчетливый менеджмент или пустые надеждыHighload в ВУЗе: идеализм, расчетливый менеджмент или пустые надежды
Highload в ВУЗе: идеализм, расчетливый менеджмент или пустые надеждыArtyom Kalichkin
 
TechLeads meetup: Макс Лапшин, Erlyvideo
TechLeads meetup: Макс Лапшин, ErlyvideoTechLeads meetup: Макс Лапшин, Erlyvideo
TechLeads meetup: Макс Лапшин, ErlyvideoBadoo Development
 
Agile мёртв (!|?) / Александр Сидоров (Яндекс)
Agile мёртв (!|?) / Александр Сидоров (Яндекс)Agile мёртв (!|?) / Александр Сидоров (Яндекс)
Agile мёртв (!|?) / Александр Сидоров (Яндекс)Ontico
 
20 апреля, DEV {highload} - конференция о Highload веб-разработке, "Инженерны...
20 апреля, DEV {highload} - конференция о Highload веб-разработке, "Инженерны...20 апреля, DEV {highload} - конференция о Highload веб-разработке, "Инженерны...
20 апреля, DEV {highload} - конференция о Highload веб-разработке, "Инженерны...IT-Portfolio
 
Александр Корольков. LeSS Huge
Александр Корольков. LeSS HugeАлександр Корольков. LeSS Huge
Александр Корольков. LeSS HugeScrumTrek
 
Модель системы Continuous Integration в компании Positive Technologies | Тиму...
Модель системы Continuous Integration в компании Positive Technologies | Тиму...Модель системы Continuous Integration в компании Positive Technologies | Тиму...
Модель системы Continuous Integration в компании Positive Technologies | Тиму...Positive Hack Days
 
Игорь Леонтьев, Lead Architect on all Blockchain projects of Viseo group
Игорь Леонтьев, Lead Architect on all Blockchain projects of Viseo groupИгорь Леонтьев, Lead Architect on all Blockchain projects of Viseo group
Игорь Леонтьев, Lead Architect on all Blockchain projects of Viseo groupAlina Vilk
 
Константин Назаров – Распараллеливание сборки Parallels Desktop для Mac
Константин Назаров – Распараллеливание сборки Parallels Desktop для MacКонстантин Назаров – Распараллеливание сборки Parallels Desktop для Mac
Константин Назаров – Распараллеливание сборки Parallels Desktop для Mac404fest
 

What's hot (17)

DevOps от и до - что, зачем и почему
DevOps от и до - что, зачем и почемуDevOps от и до - что, зачем и почему
DevOps от и до - что, зачем и почему
 
Реальный DevOps в энтерпрайзе / Александр Тараторин (Райффайзенбанк)
Реальный DevOps в энтерпрайзе / Александр Тараторин (Райффайзенбанк)Реальный DevOps в энтерпрайзе / Александр Тараторин (Райффайзенбанк)
Реальный DevOps в энтерпрайзе / Александр Тараторин (Райффайзенбанк)
 
Мифы о DevOps / Александр Титов, Иван Евтухович (Экспресс 42)
Мифы о DevOps / Александр Титов, Иван Евтухович (Экспресс 42)Мифы о DevOps / Александр Титов, Иван Евтухович (Экспресс 42)
Мифы о DevOps / Александр Титов, Иван Евтухович (Экспресс 42)
 
Как проекты приходят к DevOps?
Как проекты приходят к DevOps?Как проекты приходят к DevOps?
Как проекты приходят к DevOps?
 
Микросервисы: откуда столько шума?
Микросервисы: откуда столько шума?Микросервисы: откуда столько шума?
Микросервисы: откуда столько шума?
 
Микросервисы: откуда столько шума?
Микросервисы: откуда столько шума?Микросервисы: откуда столько шума?
Микросервисы: откуда столько шума?
 
Практика DevOps в крупных организациях
Практика DevOps в крупных организацияхПрактика DevOps в крупных организациях
Практика DevOps в крупных организациях
 
Всеволод Поляков: “Организованный DevOps”
Всеволод Поляков: “Организованный DevOps”Всеволод Поляков: “Организованный DevOps”
Всеволод Поляков: “Организованный DevOps”
 
О фреймворках / Роман Ивлиев (Банки.ру)
О фреймворках / Роман Ивлиев (Банки.ру)О фреймворках / Роман Ивлиев (Банки.ру)
О фреймворках / Роман Ивлиев (Банки.ру)
 
Highload в ВУЗе: идеализм, расчетливый менеджмент или пустые надежды
Highload в ВУЗе: идеализм, расчетливый менеджмент или пустые надеждыHighload в ВУЗе: идеализм, расчетливый менеджмент или пустые надежды
Highload в ВУЗе: идеализм, расчетливый менеджмент или пустые надежды
 
TechLeads meetup: Макс Лапшин, Erlyvideo
TechLeads meetup: Макс Лапшин, ErlyvideoTechLeads meetup: Макс Лапшин, Erlyvideo
TechLeads meetup: Макс Лапшин, Erlyvideo
 
Agile мёртв (!|?) / Александр Сидоров (Яндекс)
Agile мёртв (!|?) / Александр Сидоров (Яндекс)Agile мёртв (!|?) / Александр Сидоров (Яндекс)
Agile мёртв (!|?) / Александр Сидоров (Яндекс)
 
20 апреля, DEV {highload} - конференция о Highload веб-разработке, "Инженерны...
20 апреля, DEV {highload} - конференция о Highload веб-разработке, "Инженерны...20 апреля, DEV {highload} - конференция о Highload веб-разработке, "Инженерны...
20 апреля, DEV {highload} - конференция о Highload веб-разработке, "Инженерны...
 
Александр Корольков. LeSS Huge
Александр Корольков. LeSS HugeАлександр Корольков. LeSS Huge
Александр Корольков. LeSS Huge
 
Модель системы Continuous Integration в компании Positive Technologies | Тиму...
Модель системы Continuous Integration в компании Positive Technologies | Тиму...Модель системы Continuous Integration в компании Positive Technologies | Тиму...
Модель системы Continuous Integration в компании Positive Technologies | Тиму...
 
Игорь Леонтьев, Lead Architect on all Blockchain projects of Viseo group
Игорь Леонтьев, Lead Architect on all Blockchain projects of Viseo groupИгорь Леонтьев, Lead Architect on all Blockchain projects of Viseo group
Игорь Леонтьев, Lead Architect on all Blockchain projects of Viseo group
 
Константин Назаров – Распараллеливание сборки Parallels Desktop для Mac
Константин Назаров – Распараллеливание сборки Parallels Desktop для MacКонстантин Назаров – Распараллеливание сборки Parallels Desktop для Mac
Константин Назаров – Распараллеливание сборки Parallels Desktop для Mac
 

Similar to DevOps и системы управления конфигурацией. SECON 2015

Развитие DevOps/NoOps инструментов. Что было, что есть, что будет.
Развитие DevOps/NoOps инструментов.  Что было, что есть, что будет.Развитие DevOps/NoOps инструментов.  Что было, что есть, что будет.
Развитие DevOps/NoOps инструментов. Что было, что есть, что будет.Ivan Evtukhovich
 
OTUS Infrastructure as Code
OTUS Infrastructure as CodeOTUS Infrastructure as Code
OTUS Infrastructure as CodeIgor Kurochkin
 
Jelastic для разработчиков ПО
Jelastic для разработчиков ПОJelastic для разработчиков ПО
Jelastic для разработчиков ПОDmitry Lazarenko
 
SECON'2017, Кулагин Егор, Непрерывное развертывание. Конвейер здорового челов...
SECON'2017, Кулагин Егор, Непрерывное развертывание. Конвейер здорового челов...SECON'2017, Кулагин Егор, Непрерывное развертывание. Конвейер здорового челов...
SECON'2017, Кулагин Егор, Непрерывное развертывание. Конвейер здорового челов...SECON
 
Развитие решений Cisco для ЦОД глазами специалиста по серверам и приложениям...
Развитие решений Cisco для ЦОД глазами специалиста по серверам и приложениям...Развитие решений Cisco для ЦОД глазами специалиста по серверам и приложениям...
Развитие решений Cisco для ЦОД глазами специалиста по серверам и приложениям...Cisco Russia
 
Объединенная вычислительная система Cisco UCS. Часть 2
Объединенная вычислительная система Cisco UCS. Часть 2Объединенная вычислительная система Cisco UCS. Часть 2
Объединенная вычислительная система Cisco UCS. Часть 2Cisco Russia
 
Типовая сборка и деплой продуктов в Positive Technologies
Типовая сборка и деплой продуктов в Positive TechnologiesТиповая сборка и деплой продуктов в Positive Technologies
Типовая сборка и деплой продуктов в Positive TechnologiesPositive Hack Days
 
Open Enterprise Server 2 Service Pack 2
Open Enterprise Server 2 Service Pack 2Open Enterprise Server 2 Service Pack 2
Open Enterprise Server 2 Service Pack 2Nick Turunov
 
Workflows в Express 42
Workflows в Express 42Workflows в Express 42
Workflows в Express 42Igor Kurochkin
 
Agile days `16 summary
Agile days `16 summaryAgile days `16 summary
Agile days `16 summaryAnton Zhukov
 
Jenkins 2.0: Организуем тестирование в составе Continuous Delivery
Jenkins 2.0: Организуем тестирование в составе Continuous DeliveryJenkins 2.0: Организуем тестирование в составе Continuous Delivery
Jenkins 2.0: Организуем тестирование в составе Continuous DeliverySQALab
 
SPb Jenkins Meetup #5. Jenkins in da Cloud. Внутренности
SPb Jenkins Meetup #5. Jenkins in da Cloud. ВнутренностиSPb Jenkins Meetup #5. Jenkins in da Cloud. Внутренности
SPb Jenkins Meetup #5. Jenkins in da Cloud. ВнутренностиOleg Nenashev
 
PostgreSQL - Ups, DevOps..., Алексей Лесовский (PostgreSQL-Consulting)
PostgreSQL - Ups, DevOps..., Алексей Лесовский (PostgreSQL-Consulting)PostgreSQL - Ups, DevOps..., Алексей Лесовский (PostgreSQL-Consulting)
PostgreSQL - Ups, DevOps..., Алексей Лесовский (PostgreSQL-Consulting)Ontico
 
Moscow Jenkins Meetup #1. Pipeline для инженеров. Обзор экосистемы
Moscow Jenkins Meetup #1. Pipeline для инженеров. Обзор экосистемыMoscow Jenkins Meetup #1. Pipeline для инженеров. Обзор экосистемы
Moscow Jenkins Meetup #1. Pipeline для инженеров. Обзор экосистемыOleg Nenashev
 
Вадим Мадисон "Опыт разработки через микросервисы"
Вадим Мадисон "Опыт разработки через микросервисы"Вадим Мадисон "Опыт разработки через микросервисы"
Вадим Мадисон "Опыт разработки через микросервисы"Tanya Denisyuk
 
13 октября, DEV {web} - конференция о Highload веб-разработке. "Управление ок...
13 октября, DEV {web} - конференция о Highload веб-разработке. "Управление ок...13 октября, DEV {web} - конференция о Highload веб-разработке. "Управление ок...
13 октября, DEV {web} - конференция о Highload веб-разработке. "Управление ок...IT-Portfolio
 
Docker и оркетсрация контейнеров в облаке Azure
Docker и оркетсрация контейнеров в облаке AzureDocker и оркетсрация контейнеров в облаке Azure
Docker и оркетсрация контейнеров в облаке AzureStas Pavlov
 
Комплекс продуктов Cisco Enterprise Cloud Suite для управления частным облаком
Комплекс продуктов Cisco Enterprise Cloud Suite для управления частным облакомКомплекс продуктов Cisco Enterprise Cloud Suite для управления частным облаком
Комплекс продуктов Cisco Enterprise Cloud Suite для управления частным облакомCisco Russia
 
Puppet development kit and best practices
Puppet development kit and best practicesPuppet development kit and best practices
Puppet development kit and best practicesIgor Kurochkin
 
Иван Евтухович — Как перестать релизиться и начать жить
Иван Евтухович — Как перестать релизиться и начать житьИван Евтухович — Как перестать релизиться и начать жить
Иван Евтухович — Как перестать релизиться и начать житьDaria Oreshkina
 

Similar to DevOps и системы управления конфигурацией. SECON 2015 (20)

Развитие DevOps/NoOps инструментов. Что было, что есть, что будет.
Развитие DevOps/NoOps инструментов.  Что было, что есть, что будет.Развитие DevOps/NoOps инструментов.  Что было, что есть, что будет.
Развитие DevOps/NoOps инструментов. Что было, что есть, что будет.
 
OTUS Infrastructure as Code
OTUS Infrastructure as CodeOTUS Infrastructure as Code
OTUS Infrastructure as Code
 
Jelastic для разработчиков ПО
Jelastic для разработчиков ПОJelastic для разработчиков ПО
Jelastic для разработчиков ПО
 
SECON'2017, Кулагин Егор, Непрерывное развертывание. Конвейер здорового челов...
SECON'2017, Кулагин Егор, Непрерывное развертывание. Конвейер здорового челов...SECON'2017, Кулагин Егор, Непрерывное развертывание. Конвейер здорового челов...
SECON'2017, Кулагин Егор, Непрерывное развертывание. Конвейер здорового челов...
 
Развитие решений Cisco для ЦОД глазами специалиста по серверам и приложениям...
Развитие решений Cisco для ЦОД глазами специалиста по серверам и приложениям...Развитие решений Cisco для ЦОД глазами специалиста по серверам и приложениям...
Развитие решений Cisco для ЦОД глазами специалиста по серверам и приложениям...
 
Объединенная вычислительная система Cisco UCS. Часть 2
Объединенная вычислительная система Cisco UCS. Часть 2Объединенная вычислительная система Cisco UCS. Часть 2
Объединенная вычислительная система Cisco UCS. Часть 2
 
Типовая сборка и деплой продуктов в Positive Technologies
Типовая сборка и деплой продуктов в Positive TechnologiesТиповая сборка и деплой продуктов в Positive Technologies
Типовая сборка и деплой продуктов в Positive Technologies
 
Open Enterprise Server 2 Service Pack 2
Open Enterprise Server 2 Service Pack 2Open Enterprise Server 2 Service Pack 2
Open Enterprise Server 2 Service Pack 2
 
Workflows в Express 42
Workflows в Express 42Workflows в Express 42
Workflows в Express 42
 
Agile days `16 summary
Agile days `16 summaryAgile days `16 summary
Agile days `16 summary
 
Jenkins 2.0: Организуем тестирование в составе Continuous Delivery
Jenkins 2.0: Организуем тестирование в составе Continuous DeliveryJenkins 2.0: Организуем тестирование в составе Continuous Delivery
Jenkins 2.0: Организуем тестирование в составе Continuous Delivery
 
SPb Jenkins Meetup #5. Jenkins in da Cloud. Внутренности
SPb Jenkins Meetup #5. Jenkins in da Cloud. ВнутренностиSPb Jenkins Meetup #5. Jenkins in da Cloud. Внутренности
SPb Jenkins Meetup #5. Jenkins in da Cloud. Внутренности
 
PostgreSQL - Ups, DevOps..., Алексей Лесовский (PostgreSQL-Consulting)
PostgreSQL - Ups, DevOps..., Алексей Лесовский (PostgreSQL-Consulting)PostgreSQL - Ups, DevOps..., Алексей Лесовский (PostgreSQL-Consulting)
PostgreSQL - Ups, DevOps..., Алексей Лесовский (PostgreSQL-Consulting)
 
Moscow Jenkins Meetup #1. Pipeline для инженеров. Обзор экосистемы
Moscow Jenkins Meetup #1. Pipeline для инженеров. Обзор экосистемыMoscow Jenkins Meetup #1. Pipeline для инженеров. Обзор экосистемы
Moscow Jenkins Meetup #1. Pipeline для инженеров. Обзор экосистемы
 
Вадим Мадисон "Опыт разработки через микросервисы"
Вадим Мадисон "Опыт разработки через микросервисы"Вадим Мадисон "Опыт разработки через микросервисы"
Вадим Мадисон "Опыт разработки через микросервисы"
 
13 октября, DEV {web} - конференция о Highload веб-разработке. "Управление ок...
13 октября, DEV {web} - конференция о Highload веб-разработке. "Управление ок...13 октября, DEV {web} - конференция о Highload веб-разработке. "Управление ок...
13 октября, DEV {web} - конференция о Highload веб-разработке. "Управление ок...
 
Docker и оркетсрация контейнеров в облаке Azure
Docker и оркетсрация контейнеров в облаке AzureDocker и оркетсрация контейнеров в облаке Azure
Docker и оркетсрация контейнеров в облаке Azure
 
Комплекс продуктов Cisco Enterprise Cloud Suite для управления частным облаком
Комплекс продуктов Cisco Enterprise Cloud Suite для управления частным облакомКомплекс продуктов Cisco Enterprise Cloud Suite для управления частным облаком
Комплекс продуктов Cisco Enterprise Cloud Suite для управления частным облаком
 
Puppet development kit and best practices
Puppet development kit and best practicesPuppet development kit and best practices
Puppet development kit and best practices
 
Иван Евтухович — Как перестать релизиться и начать жить
Иван Евтухович — Как перестать релизиться и начать житьИван Евтухович — Как перестать релизиться и начать жить
Иван Евтухович — Как перестать релизиться и начать жить
 

More from Ivan Evtukhovich

Повторяемость для котиков: библиотекарь и книжная полка
Повторяемость для котиков: библиотекарь и книжная полкаПовторяемость для котиков: библиотекарь и книжная полка
Повторяемость для котиков: библиотекарь и книжная полкаIvan Evtukhovich
 
Нетрадиционное использование Ruby и PostgreSQL
Нетрадиционное использование Ruby и PostgreSQLНетрадиционное использование Ruby и PostgreSQL
Нетрадиционное использование Ruby и PostgreSQLIvan Evtukhovich
 
Git для продолжающих
Git для продолжающихGit для продолжающих
Git для продолжающихIvan Evtukhovich
 
Краткое описание Scrum
Краткое описание ScrumКраткое описание Scrum
Краткое описание ScrumIvan Evtukhovich
 
Распределенные системы контоля версия на примере git
Распределенные системы контоля версия на примере gitРаспределенные системы контоля версия на примере git
Распределенные системы контоля версия на примере gitIvan Evtukhovich
 

More from Ivan Evtukhovich (7)

Повторяемость для котиков: библиотекарь и книжная полка
Повторяемость для котиков: библиотекарь и книжная полкаПовторяемость для котиков: библиотекарь и книжная полка
Повторяемость для котиков: библиотекарь и книжная полка
 
Continuousdelivery
ContinuousdeliveryContinuousdelivery
Continuousdelivery
 
Нетрадиционное использование Ruby и PostgreSQL
Нетрадиционное использование Ruby и PostgreSQLНетрадиционное использование Ruby и PostgreSQL
Нетрадиционное использование Ruby и PostgreSQL
 
Vim or die
Vim or dieVim or die
Vim or die
 
Git для продолжающих
Git для продолжающихGit для продолжающих
Git для продолжающих
 
Краткое описание Scrum
Краткое описание ScrumКраткое описание Scrum
Краткое описание Scrum
 
Распределенные системы контоля версия на примере git
Распределенные системы контоля версия на примере gitРаспределенные системы контоля версия на примере git
Распределенные системы контоля версия на примере git
 

DevOps и системы управления конфигурацией. SECON 2015

  • 2. Надежные решения для сложной инфраструктуры
  • 3. Надежные решения для сложной инфраструктуры План • Что такое DevOps? • Практики DevOps • Что такое системы управления конфигурацией • Chef/Ansible — сходства и различия
  • 4. Надежные решения для сложной инфраструктуры DevOps — это… • DevOps — это методология в разработке ПО, нацеленная на общение, взаимодействие и интеграцию специалистов по разработке ПО и специалистов в информационных технологиях. • https://ru.wikipedia.org/wiki/DevOps
  • 5. Надежные решения для сложной инфраструктуры Зачем? • Перебрасывание релиза через стену • Конфликт между отделами • Медленный и нестабильный релизный цикл
  • 6. Надежные решения для сложной инфраструктуры CAMS • Культура (Culture) • Автоматизация (Automation) • Измерения (Measurement) • Распространение знаний (Knowledge Sharing)
  • 7. Надежные решения для сложной инфраструктуры Автоматизация • инструменты для передачи ценности и смысла, помощь в командной работе • критерий эффективного использования — больше порядка в системе • Bash скрипты vs Chef/Ansible
  • 8. Надежные решения для сложной инфраструктуры Измерения • графики • логированное и сбор эксепшенов • визуализация статистики • визуализация и аналитика воркфлоу (канбан)
  • 9. Надежные решения для сложной инфраструктуры Распространение знаний • Всевозможные обратные связи • Смешивание команд
  • 10. Надежные решения для сложной инфраструктуры Культура • честность • открытость • искренность
  • 11. Надежные решения для сложной инфраструктуры Пример про гребцов
  • 12. Надежные решения для сложной инфраструктуры DevOps сисадмин • Звучит как Agile Java-разработчик • Релиз-инженер • Админ, который знает Chef/Puppet • DevOps отделы
  • 13. Надежные решения для сложной инфраструктуры Практики DevOps • Post Mortem • Админ на стендапах • Дежурный программист • Общедоступный мониторинг и логи • Все знают цели бизнеса
  • 14. Надежные решения для сложной инфраструктуры Continuous Delivery • Непрерывная поставка ПО — это процесс разработки и эксплуатации ПО, при котором каждое изменение может быть выкачено в боевую среду
  • 15. Надежные решения для сложной инфраструктуры
  • 16. Надежные решения для сложной инфраструктуры
  • 17. Надежные решения для сложной инфраструктуры CM • Configuration Management System • Системы управления конфигурацией • Цель — поддержание всех окружений в максимально идентичном состоянии • “Инфраструктура как код”
  • 18. Надежные решения для сложной инфраструктуры Инфраструктура как код • Подход, при котором инфраструктура описана в виде кода и хранится в СКВ • Применимы практики разработчиков: • ревью • тестирование • Контроль: предсказуемость и повторяемость
  • 19. Надежные решения для сложной инфраструктуры Популярные CMS • CFEngine • Puppet • Chef • SaltStack • Ansible
  • 20. Надежные решения для сложной инфраструктуры Картинка DevOps Continuous Delivery Configuration Management
  • 21. Надежные решения для сложной инфраструктуры Chef • Mar 6, 2008 – первый комит • Клиент/серверная модель • Ruby DSL • Огромное комьюнити • Поддержка коммерческой компании
  • 22. Надежные решения для сложной инфраструктуры • Более 2000 открытых кукбуков (supermarket.chef.io) • Развитый воркфлоу по командной разработке • Куча инструментов для работы и тестирования • Поддержка ведущих вендоров (IBM, HP и т.д.) • Поддержка Windows
  • 23. Надежные решения для сложной инфраструктуры Chef-server development dev01 dev02 dev03 test test01 test02 test03 staging web01.stage db01.stage cache01.stage production web01.prod …. web25.prod db01.prod db02.prod cache01.prod … cache05.prod
  • 24. Надежные решения для сложной инфраструктуры ruby_install ruby_version do action :install end ruby_set ruby_version do action :set username user end directory "#{application_directory}/" do owner user group user end key = Chef::EncryptedDataBagItem.load('deploy-key', 'key') file "/home/#{user}/.ssh/id_rsa" do content key['private_key'] owner user group user mode '0600' end %w(libmagickwand-dev libmagickcore-dev libpq-dev imagemagick).each do |pack| package pack end
  • 25. Надежные решения для сложной инфраструктуры Ansible • Feb 23, 2012 - первый коммит (Michael DeHaan) • Модель без агента/клиентская модель • Декларативный язык (Yaml) • Огромное комьюнити • Поддержка коммерческой компании
  • 26. Надежные решения для сложной инфраструктуры • Более 2000 открытых ролей (galaxy.ansible.com) • Проблемы с командной разработкой • Тестирование не развито • Нет поддержки ведущих вендоров • Слабая поддержка Windows • Встроенная оркестрация
  • 27. Надежные решения для сложной инфраструктуры - name: Load encrypted key include_vars: group_vars/deploy-key.yml - name: Create content deploy keys template: src=id_rsa_content.j2 dest=/home/{{app_user}}/.ssh/ id_rsa_content mode=0600 owner={{app_user}} group={{app_user}} - name: Create worker deploy keys template: src=id_rsa_worker.j2 dest=/home/{{app_user}}/.ssh/ id_rsa_worker mode=0600 owner={{app_user}} group={{app_user}} - stat: path={{app_dir}} register: worker_dir - name: Create git.sh template: src=git.sh.j2 dest=/home/{{app_user}}/git.sh owner={{app_user}} mode=0700 group={{app_user}} - name: Clone worker repo shell: GIT_SSH=/home/{{app_user}}/git.sh git clone git@github.com:uchiru/workers.git {{app_dir}} sudo: no when: worker_dir.stat.exists == False
  • 28. Надежные решения для сложной инфраструктуры DevOps сообщество • devopsru.com • http://www.meetup.com/DevOps-Moscow-in- Russian • https://groups.google.com/forum/#!forum/devopsru • http://hangops.ru • http://devopsdeflope.ru
  • 29. Надежные решения для сложной инфраструктуры
  • 30. Надежные решения для сложной инфраструктуры
  • 31. Надежные решения для сложной инфраструктуры Книги • Непрерывное развертывание ПО. Автоматизация процессов сборки, тестирования и внедрения новых версий программ. Джез Хамбл, Давид Фарли • Проект “Феникс”. Роман о том, как DevOps меняет бизнес к лучшему. Джин Ким и др.
  • 32. Надежные решения для сложной инфраструктуры Ржака http://devopsreactions.tumblr.com
  • 33. Надежные решения для сложной инфраструктуры http://express42.com +7 499 918 67 34 @evtuhovich evtuhovich@gmail.com