Что такое DevOps, зачем он нужен, что включается в это понятие. Что такое Continuous Delivery, системы управления конфигурацией, сравнение Chef и Ansible.
1 of 33
Downloaded 16 times
More Related Content
DevOps и системы управления конфигурацией. SECON 2015
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. Надежные решения для сложной инфраструктуры
Культура
• честность
• открытость
• искренность
12. Надежные решения для сложной инфраструктуры
DevOps сисадмин
• Звучит как Agile Java-разработчик
• Релиз-инженер
• Админ, который знает Chef/Puppet
• DevOps отделы
13. Надежные решения для сложной инфраструктуры
Практики DevOps
• Post Mortem
• Админ на стендапах
• Дежурный программист
• Общедоступный мониторинг и логи
• Все знают цели бизнеса
14. Надежные решения для сложной инфраструктуры
Continuous Delivery
• Непрерывная поставка ПО — это процесс
разработки и эксплуатации ПО, при котором
каждое изменение может быть выкачено в
боевую среду
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
• Встроенная оркестрация
31. Надежные решения для сложной инфраструктуры
Книги
• Непрерывное развертывание ПО. Автоматизация
процессов сборки, тестирования и внедрения
новых версий программ. Джез Хамбл, Давид
Фарли
• Проект “Феникс”. Роман о том, как DevOps
меняет бизнес к лучшему. Джин Ким и др.
32. Надежные решения для сложной инфраструктуры
Ржака
http://devopsreactions.tumblr.com
33. Надежные решения для сложной инфраструктуры
http://express42.com
+7 499 918 67 34
@evtuhovich
evtuhovich@gmail.com