SlideShare una empresa de Scribd logo
1 de 50
Descargar para leer sin conexión
Software quality assurance days
20 Международная конференция
по вопросам качества ПО
sqadays.com
Минск. 24–26 ноября 2016
Иван Евтухович
Экспресс 42. Москва, Россия
Развитие DevOps/NoOps инструментов. Что было,
что есть, что будет
DevOps консультанты
DevOps консультанты
Музей валунов
DevOps консультанты
Дворец водного спорта
DevOps консультанты
Парк Челюскинцев
DevOps консультанты
DevOps консультанты
План
• Предпосылки для изменений
• Что такое DevOps?
• DevOps — текущее состояние дел
• DevOps завтра и переход к NoOps
DevOps консультанты
Оцифровка бизнеса
• Количество систем растет
• Количество серверов растет
• Требования к скорости внедрения
растет
• Старый подход к разделению на Dev и
Ops не удовлетворяет требованиям
времени
• Что делать?
DevOps консультанты
Схема корпорации*
* Генри Минцберг
Структура Автоматизация ИТ-архитектура
Рынок
Компания
Бизнес-процессы
Application
Middleware
Database
DevOps консультанты
Схема технологической
компании
РынокКомпания
Программное
обеспечение
DevOps консультанты
Пример
DevOps консультанты
Наш опытTime-to-market
Рынок
Программное
обеспечение
Инженеры
Стратегический апекс
DevOps консультанты
DevOps
• Конфликт Dev и Ops
• Совместная работа над созданием ценности
• Соответствующие практики и инструменты
DevOps консультанты
История
• 2008 - Патрик Дебоиз (Patrick Debois)
• Agile Infrastructure
• 2009 - DevOpsDays в Бельгии
• Более 30 DevOpsDays в 2016 году
DevOps консультанты
CAMS
• Культура
• Автоматизация
• Измерения
• Обучение
DevOps консультанты
Конвейер непрерывной
поставки ПО
• Delivery Pipeline
• Представление процесса изготовления ПО, как
конвейера
• Каждый комит — отдельное “изделие”
• Четко выделенные стадии
• Полная автоматизация
DevOps консультанты
CI/CD
• Continuous Integration
• Continuous Delivery
• Процесс, при котором в бой может попасть
любой комит по “нажатию кнопки”
DevOps консультанты
DevOps консультанты
Управление
конфигурацией
• Управлению конфигурацией много лет
• Оно существует у вас, даже если вы об этом не
знаете
• Переход от документов к коду
• Infrastructure as a Code
• Повторяемость окружение (сред, ландшафтов)
DevOps консультанты
Управление тестовыми
средами
• Создание удаление тестовых сред “по кнопке”:
• функциональных
• интеграционных
• нагрузочных и т.д.
DevOps консультанты
DevOps сегодня
• Активное использование систем управления
конфигурацией
• Активное использование CI/CD инструментов
• Появления новых систем мониторинга
• Появление NoSQL, NewSQL, OpenSource в
корпорациях
DevOps консультанты
Популярные
инструменты
• Chef/Ansible/Puppet/SaltStack
• Jenkins/Bamboo/TeamCity/Rundeck
• Grafana/Prometheus/Graphite
• ELK/Graylog
• AWS/OpenStack/GCE/VMWare
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
tasks:
- name: create ec2 instances
ec2:
key_name: brun
instance_type: t2.micro
image: ami-9a380b87
wait: yes
region: eu-central-1
group: webservers
count: 1
DevOps консультанты
DevOps консультанты
Недостатки систем
управления конфигурацией
• Configuration Drift
• Гетерогенная инфраструктура
• Тяжело поддерживать на больших проектах
• Сложны для изучения
DevOps консультанты
Недостатки DevOps
• Сложно “нарезать” Ops на несколько команд
• Есть специализация у Ops, есть чистые Ops
задачи
• Общаться с Ops все равно долго
DevOps консультанты
Закон Конвея
• Мелвин Конвей, 1968
• http://evtuhovich.ru/blog/2016/10/05/conways-law/
• http://www.melconway.com/Home/
Committees_Paper.html
Формулировка
Организация, которая
создает систему,
ограничена дизайном,
который копирует
структуру коммуникации
в этой организации
DevOps консультанты
NoOps
• Service Discovery
• Микросервисная архитектура
• DC/OS
• Платформенный подход
Избавляем бизнес от ИТ-зависимости
Service Discovery
• Обнаружение сервисов — уровень интеграции,
конфигурация межсервисного взаимодействия
• Consul/Etcd/Zookeeper/SkyDNS
• Raft/Paxos/Gossip
DevOps консультанты
Архитектура
three-tier microservices
DevOps консультанты
Микросервисы
• Один сервис — одна команда (2 пиццы)
• Продуктовое мышление
• Умные эндпоинты и глупый транспорт
• Децентрализованное управление
DevOps консультанты
Достоинства
• Любые языки/фреймворки
• Небольшие компоненты
• Слабая связность
• Легкость обновления
DevOps консультанты
Недостатки
• Сложно выкатывать
• Сложно тестировать
• Распределенная система
• Сложно эксплуатировать
• Несогласованная БД
DevOps консультанты
Docker и контейнеризация
Application
Libraries
Frameworks
Services
OS Env
DevOps консультанты
Достоинства
• Неизменяемые
• Стандартная поставка
• Долго хранятся
• Хороший выбор абстракции
DevOps консультанты
Недостатки
• Еще один уровень абстракции
• Переделка приложений
• Активное использование Service Discovery
• Плохо подходят для stateful сервисов
DevOps консультанты
Наш опытDatacenter Operating System
DCOS
DevOps консультанты
Это не мистика
• Mesos/Marathon https://mesosphere.github.io/
marathon/
• DC/OS https://dcos.io/
• http://kubernetes.io/
• Amazon ECS
• Rancher
DevOps консультанты
Continuous Delivery
DevOps консультанты
Про тестирование
• Полная автоматизация тестирования:
• юнит-тестирование
• интеграционное
• нагрузочное
• безопасности
DevOps консультанты
Смерть ручного
тестирования
• Слишком долго в мире, где время решает все
• Релиз-инженер / DevOps-инженер
• Автоматизатор всего
DevOps консультанты
Про ML и светлое
будущее
• ML активно проникает в IT-продукты
• Распознавание образов поможет заменить
тестировщиков
DevOps консультанты
Выводы
• Научитесь доставлять изменения за минуты даже
в гигантских проектах
• Научитесь тестировать все автоматически
• Заглядывайте в будущее
DevOps консультанты
DevOps сообщество
• devopsru.com
• http://www.meetup.com/DevOps-Moscow-in-Russian
• https://groups.google.com/forum/#!forum/devopsru
• http://hangops.ru
• http://devopsdeflope.ru
• http://rootconf.ru/
DevOps консультанты
Дефлопе!
DevOps консультанты
Книги
• Проект “Феникс”. Роман о
том, как DevOps меняет
бизнес к лучшему. Джин Ким
и др.
DevOps консультанты
Контакты
http://express42.com
@evtuhovich
evtuhovich@gmail.com

Más contenido relacionado

Destacado

Процесс тестирования в условиях неявных требований
Процесс тестирования в условиях неявных требованийПроцесс тестирования в условиях неявных требований
Процесс тестирования в условиях неявных требованийSQALab
 
Работа с бизнес-требованиями на стадии выхода продукта
Работа с бизнес-требованиями на стадии выхода продуктаРабота с бизнес-требованиями на стадии выхода продукта
Работа с бизнес-требованиями на стадии выхода продуктаSQALab
 
Использование Fiddler для эмуляции различных сетевых условий в автотестах
Использование Fiddler для эмуляции различных сетевых условий в автотестахИспользование Fiddler для эмуляции различных сетевых условий в автотестах
Использование Fiddler для эмуляции различных сетевых условий в автотестахSQALab
 
Как протестировать тим-лидера
Как протестировать тим-лидераКак протестировать тим-лидера
Как протестировать тим-лидераSQALab
 
Разработчик: руководство по эксплуатации
Разработчик: руководство по эксплуатацииРазработчик: руководство по эксплуатации
Разработчик: руководство по эксплуатацииSQALab
 
Тестирование слоёного пирога
Тестирование слоёного пирогаТестирование слоёного пирога
Тестирование слоёного пирогаSQALab
 
SECON'2016 Евтухович Иван, Эксплуатация завтрашнего дня: от DevOps к NoOps
SECON'2016 Евтухович Иван, Эксплуатация завтрашнего дня: от DevOps к NoOpsSECON'2016 Евтухович Иван, Эксплуатация завтрашнего дня: от DevOps к NoOps
SECON'2016 Евтухович Иван, Эксплуатация завтрашнего дня: от DevOps к NoOpsSECON
 
Why we should care about leftovers
Why we should care about leftoversWhy we should care about leftovers
Why we should care about leftoversSQALab
 
Test Cases - are they dead?
Test Cases - are they dead?Test Cases - are they dead?
Test Cases - are they dead?SQALab
 
The emotional intellect in testing
The emotional intellect in testingThe emotional intellect in testing
The emotional intellect in testingSQALab
 
10 signs your testing is not enough
10 signs your testing is not enough10 signs your testing is not enough
10 signs your testing is not enoughSQALab
 
С чего начинается родина в автоматизации Qiwi Wallet
С чего начинается родина в автоматизации Qiwi WalletС чего начинается родина в автоматизации Qiwi Wallet
С чего начинается родина в автоматизации Qiwi WalletSQALab
 
Мобильные браузеры: очевидное-невероятное
Мобильные браузеры: очевидное-невероятноеМобильные браузеры: очевидное-невероятное
Мобильные браузеры: очевидное-невероятноеSQALab
 

Destacado (13)

Процесс тестирования в условиях неявных требований
Процесс тестирования в условиях неявных требованийПроцесс тестирования в условиях неявных требований
Процесс тестирования в условиях неявных требований
 
Работа с бизнес-требованиями на стадии выхода продукта
Работа с бизнес-требованиями на стадии выхода продуктаРабота с бизнес-требованиями на стадии выхода продукта
Работа с бизнес-требованиями на стадии выхода продукта
 
Использование Fiddler для эмуляции различных сетевых условий в автотестах
Использование Fiddler для эмуляции различных сетевых условий в автотестахИспользование Fiddler для эмуляции различных сетевых условий в автотестах
Использование Fiddler для эмуляции различных сетевых условий в автотестах
 
Как протестировать тим-лидера
Как протестировать тим-лидераКак протестировать тим-лидера
Как протестировать тим-лидера
 
Разработчик: руководство по эксплуатации
Разработчик: руководство по эксплуатацииРазработчик: руководство по эксплуатации
Разработчик: руководство по эксплуатации
 
Тестирование слоёного пирога
Тестирование слоёного пирогаТестирование слоёного пирога
Тестирование слоёного пирога
 
SECON'2016 Евтухович Иван, Эксплуатация завтрашнего дня: от DevOps к NoOps
SECON'2016 Евтухович Иван, Эксплуатация завтрашнего дня: от DevOps к NoOpsSECON'2016 Евтухович Иван, Эксплуатация завтрашнего дня: от DevOps к NoOps
SECON'2016 Евтухович Иван, Эксплуатация завтрашнего дня: от DevOps к NoOps
 
Why we should care about leftovers
Why we should care about leftoversWhy we should care about leftovers
Why we should care about leftovers
 
Test Cases - are they dead?
Test Cases - are they dead?Test Cases - are they dead?
Test Cases - are they dead?
 
The emotional intellect in testing
The emotional intellect in testingThe emotional intellect in testing
The emotional intellect in testing
 
10 signs your testing is not enough
10 signs your testing is not enough10 signs your testing is not enough
10 signs your testing is not enough
 
С чего начинается родина в автоматизации Qiwi Wallet
С чего начинается родина в автоматизации Qiwi WalletС чего начинается родина в автоматизации Qiwi Wallet
С чего начинается родина в автоматизации Qiwi Wallet
 
Мобильные браузеры: очевидное-невероятное
Мобильные браузеры: очевидное-невероятноеМобильные браузеры: очевидное-невероятное
Мобильные браузеры: очевидное-невероятное
 

Más de SQALab

Готовим стажировку
Готовим стажировкуГотовим стажировку
Готовим стажировкуSQALab
 
Куда приводят мечты? или Искусство развития тестировщика
Куда приводят мечты? или Искусство развития тестировщикаКуда приводят мечты? или Искусство развития тестировщика
Куда приводят мечты? или Искусство развития тестировщикаSQALab
 
Оптимизация Selenium тестов и ускорение их поддержки
Оптимизация Selenium тестов и ускорение их поддержкиОптимизация Selenium тестов и ускорение их поддержки
Оптимизация Selenium тестов и ускорение их поддержкиSQALab
 
Автоматизация 0.0: 0 - бюджет, 0 - опыт программирования
Автоматизация 0.0: 0 - бюджет, 0 - опыт программированияАвтоматизация 0.0: 0 - бюджет, 0 - опыт программирования
Автоматизация 0.0: 0 - бюджет, 0 - опыт программированияSQALab
 
Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...
Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...
Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...SQALab
 
Continuous performance testing
Continuous performance testingContinuous performance testing
Continuous performance testingSQALab
 
Конфиги вместо костылей. Pytestconfig и зачем он нужен
Конфиги вместо костылей. Pytestconfig и зачем он нуженКонфиги вместо костылей. Pytestconfig и зачем он нужен
Конфиги вместо костылей. Pytestconfig и зачем он нуженSQALab
 
Команда чемпионов в ИТ стихии
Команда чемпионов в ИТ стихииКоманда чемпионов в ИТ стихии
Команда чемпионов в ИТ стихииSQALab
 
API. Серебряная пуля в магазине советов
API. Серебряная пуля в магазине советовAPI. Серебряная пуля в магазине советов
API. Серебряная пуля в магазине советовSQALab
 
Добиваемся эффективности каждого из 9000+ UI-тестов
Добиваемся эффективности каждого из 9000+ UI-тестовДобиваемся эффективности каждого из 9000+ UI-тестов
Добиваемся эффективности каждого из 9000+ UI-тестовSQALab
 
Делаем автоматизацию проектных KPIs
Делаем автоматизацию проектных KPIsДелаем автоматизацию проектных KPIs
Делаем автоматизацию проектных KPIsSQALab
 
Вредные привычки в тест-менеджменте
Вредные привычки в тест-менеджментеВредные привычки в тест-менеджменте
Вредные привычки в тест-менеджментеSQALab
 
Мощь переполняет с JDI 2.0 - новая эра UI автоматизации
Мощь переполняет с JDI 2.0 - новая эра UI автоматизацииМощь переполняет с JDI 2.0 - новая эра UI автоматизации
Мощь переполняет с JDI 2.0 - новая эра UI автоматизацииSQALab
 
Как hh.ru дошли до 500 релизов в квартал без потери в качестве
Как hh.ru дошли до 500 релизов в квартал без потери в качествеКак hh.ru дошли до 500 релизов в квартал без потери в качестве
Как hh.ru дошли до 500 релизов в квартал без потери в качествеSQALab
 
Стили лидерства и тестирование
Стили лидерства и тестированиеСтили лидерства и тестирование
Стили лидерства и тестированиеSQALab
 
"Давайте не будем про качество"
"Давайте не будем про качество""Давайте не будем про качество"
"Давайте не будем про качество"SQALab
 
Apache.JMeter для .NET-проектов
Apache.JMeter для .NET-проектовApache.JMeter для .NET-проектов
Apache.JMeter для .NET-проектовSQALab
 
Тестирование геолокационных систем
Тестирование геолокационных системТестирование геолокационных систем
Тестирование геолокационных системSQALab
 
Лидер или босс? Вот в чем вопрос
Лидер или босс? Вот в чем вопросЛидер или босс? Вот в чем вопрос
Лидер или босс? Вот в чем вопросSQALab
 
От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...
От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...
От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...SQALab
 

Más de SQALab (20)

Готовим стажировку
Готовим стажировкуГотовим стажировку
Готовим стажировку
 
Куда приводят мечты? или Искусство развития тестировщика
Куда приводят мечты? или Искусство развития тестировщикаКуда приводят мечты? или Искусство развития тестировщика
Куда приводят мечты? или Искусство развития тестировщика
 
Оптимизация Selenium тестов и ускорение их поддержки
Оптимизация Selenium тестов и ускорение их поддержкиОптимизация Selenium тестов и ускорение их поддержки
Оптимизация Selenium тестов и ускорение их поддержки
 
Автоматизация 0.0: 0 - бюджет, 0 - опыт программирования
Автоматизация 0.0: 0 - бюджет, 0 - опыт программированияАвтоматизация 0.0: 0 - бюджет, 0 - опыт программирования
Автоматизация 0.0: 0 - бюджет, 0 - опыт программирования
 
Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...
Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...
Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...
 
Continuous performance testing
Continuous performance testingContinuous performance testing
Continuous performance testing
 
Конфиги вместо костылей. Pytestconfig и зачем он нужен
Конфиги вместо костылей. Pytestconfig и зачем он нуженКонфиги вместо костылей. Pytestconfig и зачем он нужен
Конфиги вместо костылей. Pytestconfig и зачем он нужен
 
Команда чемпионов в ИТ стихии
Команда чемпионов в ИТ стихииКоманда чемпионов в ИТ стихии
Команда чемпионов в ИТ стихии
 
API. Серебряная пуля в магазине советов
API. Серебряная пуля в магазине советовAPI. Серебряная пуля в магазине советов
API. Серебряная пуля в магазине советов
 
Добиваемся эффективности каждого из 9000+ UI-тестов
Добиваемся эффективности каждого из 9000+ UI-тестовДобиваемся эффективности каждого из 9000+ UI-тестов
Добиваемся эффективности каждого из 9000+ UI-тестов
 
Делаем автоматизацию проектных KPIs
Делаем автоматизацию проектных KPIsДелаем автоматизацию проектных KPIs
Делаем автоматизацию проектных KPIs
 
Вредные привычки в тест-менеджменте
Вредные привычки в тест-менеджментеВредные привычки в тест-менеджменте
Вредные привычки в тест-менеджменте
 
Мощь переполняет с JDI 2.0 - новая эра UI автоматизации
Мощь переполняет с JDI 2.0 - новая эра UI автоматизацииМощь переполняет с JDI 2.0 - новая эра UI автоматизации
Мощь переполняет с JDI 2.0 - новая эра UI автоматизации
 
Как hh.ru дошли до 500 релизов в квартал без потери в качестве
Как hh.ru дошли до 500 релизов в квартал без потери в качествеКак hh.ru дошли до 500 релизов в квартал без потери в качестве
Как hh.ru дошли до 500 релизов в квартал без потери в качестве
 
Стили лидерства и тестирование
Стили лидерства и тестированиеСтили лидерства и тестирование
Стили лидерства и тестирование
 
"Давайте не будем про качество"
"Давайте не будем про качество""Давайте не будем про качество"
"Давайте не будем про качество"
 
Apache.JMeter для .NET-проектов
Apache.JMeter для .NET-проектовApache.JMeter для .NET-проектов
Apache.JMeter для .NET-проектов
 
Тестирование геолокационных систем
Тестирование геолокационных системТестирование геолокационных систем
Тестирование геолокационных систем
 
Лидер или босс? Вот в чем вопрос
Лидер или босс? Вот в чем вопросЛидер или босс? Вот в чем вопрос
Лидер или босс? Вот в чем вопрос
 
От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...
От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...
От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...
 

Развитие DevOps/NoOps инструментов. Что было, что есть, что будет