60
Практика DevOps в крупных организациях Ребров Андрей Инженерный тренер, Scrumtrek

Практика DevOps в крупных организациях

Embed Size (px)

DESCRIPTION

Четвертый доклад Конференции Докладчик Ребров Андрей, инженерный тренер ScrumTrek.

Citation preview

Page 1: Практика DevOps в крупных организациях

Практика DevOps в крупных организациях

Ребров АндрейИнженерный тренер, Scrumtrek

Page 2: Практика DevOps в крупных организациях
Page 3: Практика DevOps в крупных организациях

Зарисовки из жизни

Page 4: Практика DevOps в крупных организациях

Боязнь изменений в продукте

Page 5: Практика DevOps в крупных организациях

Боязнь поставок

Page 6: Практика DevOps в крупных организациях
Page 7: Практика DevOps в крупных организациях

Админы vs Разработчики

Page 8: Практика DevOps в крупных организациях

Конечно, можно найти виноватых…

Page 9: Практика DevOps в крупных организациях

…но где то там есть пользователи

Page 10: Практика DevOps в крупных организациях

Люди и их взаимодействие

Работающий продукт

Тесные отношения с заказчиком

Готовность к изменениям

Page 11: Практика DevOps в крупных организациях

Люди и их взаимодействие

Как разработчики видят администраторов

Page 12: Практика DevOps в крупных организациях

Люди и их взаимодействие

Как администраторы видят разработчиков

Page 13: Практика DevOps в крупных организациях

Люди и их взаимодействие

ОтрицаниеОбвинениеИзвинение

СтыдПринятие

Ответственность

Page 14: Практика DevOps в крупных организациях

Работающий продукт

Постоянный поток задач

Page 15: Практика DevOps в крупных организациях

Тесные отношения с заказчикомНепрозрачный процесс

Page 16: Практика DevOps в крупных организациях

Тесные отношения с заказчиком

Обратная связь

Page 17: Практика DevOps в крупных организациях

Готовность к изменениям

Page 18: Практика DevOps в крупных организациях

Еще не все потеряно

Page 19: Практика DevOps в крупных организациях
Page 20: Практика DevOps в крупных организациях
Page 21: Практика DevOps в крупных организациях
Page 22: Практика DevOps в крупных организациях
Page 23: Практика DevOps в крупных организациях

Agile Infrastructure

• Operating at Cloud Scale• Ephemeral Infrastructure• Frictionless Infrastructure• Self Service Operations

Page 24: Практика DevOps в крупных организациях

Agile Operations

• Products not Projects• Walk on Walk off Projects• Velocity of Innovation• Continuos Delivery• Enterprise Lean Startup

Page 25: Практика DevOps в крупных организациях
Page 26: Практика DevOps в крупных организациях

Что такое DevOps?

• постоянный поток поставки ценности

• быстрый цикл обратной связи• постоянное улучшение процесса

Page 27: Практика DevOps в крупных организациях

Culture Automation

Measurement Sharing

Page 28: Практика DevOps в крупных организациях

DevOps Manifesto

• Набор ценностей• Реакция на недостаток

коммуникаций• Создание отношений между dev и

ops• Работа над продуктом, а не

проектом• …

http://bit.ly/devopsmanifesto

Page 29: Практика DevOps в крупных организациях

DevOps - это не…

• Сертификация• Роль• Инструменты• Прописанный процесс

Page 30: Практика DevOps в крупных организациях

Каковы принципы DevOps?

Три пути

Page 31: Практика DevOps в крупных организациях

Понять систему

Выстроить поток

Организовать обратную связь

Искать пути постоянного улучшения

Page 32: Практика DevOps в крупных организациях

Антипаттерны Devops

• Длинные релизные циклы• Разногласия между Ops, Dev,Dba, Test, ...• Работает на Stage но не на production.• Долгая подготовка сред для поставки• Ручное обновление конфигов• Разнообразые OS, Middleware, …• Отсутствия понимания где и что

работает• Ручное документирование

Page 33: Практика DevOps в крупных организациях

4 модели внедрения DevOps

• Углубление процессов разработки в поставку

• Создание обратной связи от боевых серверов до разработки

• Объединение разработки и администрирования

• Включение ИТ команды в разработку

Page 34: Практика DevOps в крупных организациях

Визуализируйте поток задач

Page 35: Практика DevOps в крупных организациях

Привлекайте админов к работе над продуктом как можно раньше

Page 36: Практика DevOps в крупных организациях

Automation over Documentation

Page 37: Практика DevOps в крупных организациях

То, что не может быть измерено, не может быть улучшено

Page 38: Практика DevOps в крупных организациях

Визуализируйте метрики

Page 39: Практика DevOps в крупных организациях

Улучшайте процесс

Page 40: Практика DevOps в крупных организациях

Учитесь новому

Page 41: Практика DevOps в крупных организациях

Delivery Pipeline как основной подход в автоматизации

Page 42: Практика DevOps в крупных организациях

Automation

• CI Server• Code Analysis• Auto Tests• Configuration Management

Page 43: Практика DevOps в крупных организациях

CI Server• Рассмотрим на примере Jenkins

Page 44: Практика DevOps в крупных организациях

Что нужно

1. Ставим pipeline plugin2. Делаем dependency между

задачами3. Создаем новый pipeline view4. ….5. Profit!

Page 45: Практика DevOps в крупных организациях

Альтернативы

Page 46: Практика DevOps в крупных организациях

Configuration Management

• VM control• OS control• Installation control• …

Page 47: Практика DevOps в крупных организациях

Как неправильно

Page 48: Практика DevOps в крупных организациях

Например

Page 49: Практика DevOps в крупных организациях

Vagrant

Vagrant::Config.run do |config|    config.vm.box = "precise32"    config.vm.box_url = http://files.vagrantup.com/precise32.box    config.vm.network :hostonly, "192.168.33.10”    config.vm.share_folder("v-web", "/vagrant/www", "./www", :nfs => true)    config.vm.share_folder("v-db", "/vagrant/db", "./db", :nfs => true)    config.vm.forward_port 80, 8080    config.vm.provision :shell, :inline => "apt-get update --fix-missing” end

Page 50: Практика DevOps в крупных организациях

Docker

from ubuntu:12.10 run apt-get update run DEBIAN_FRONTEND=noninteractive apt-get install -q -y python run DEBIAN_FRONTEND=noninteractive apt-get install -q -y python-pip run pip install django run DEBIAN_FRONTEND=noninteractive apt-get install -q -y curlrun curl -L https://github.com/shykes/helloflask/archive/master.tar.gz | tar -xzv run cd helloflask-master && pip install -r requirements.txt

Page 51: Практика DevOps в крупных организациях

Нужно больше инструментов!

Page 52: Практика DevOps в крупных организациях

Еще больше!

Page 53: Практика DevOps в крупных организациях
Page 54: Практика DevOps в крупных организациях

Что важно

• Useful reports• Useful logging• Vizualisation– Dashboards– Graphs–…

Page 55: Практика DevOps в крупных организациях

Работаем с логами

Page 56: Практика DevOps в крупных организациях

Node

Node

Logstash ElasticSearch

Kibana

Как можно все это собрать

Page 57: Практика DevOps в крупных организациях

Визуализация

Page 58: Практика DevOps в крупных организациях

Что есть на рынке

Page 59: Практика DevOps в крупных организациях

Что почитать

Page 60: Практика DevOps в крупных организациях

Twitter: @andrebrov

E-mail: [email protected]

Skype: rebrov.andrey