SlideShare a Scribd company logo
Платформа для
поставки
счастья в
команду QA
Вячеслав Кузнецов
@smith3v
Ecwid
• SaaS-платформа для интернет-
магазинов.
• ~ 750 000 клиентов по всему миру.
• ~ 100 000 000 посетителей в месяц.
• 80 человек в команде.
• Ульяновск, Самара, Казань, San
Diego.
Operations
• Доступность.
• Надежность.
• Безопасность.
• Максимальная скорость от
идеи до релиза.
QA
• Подготовка и поддержка
ботов.
• Сопровождение релизов.
• Проверка изменений на
соответствие задаче.
На заре проекта
• Десяток разработчиков.
• SVN репозиторий.
• All-in-one staging-сервер.
• Обновление руками.
Команда растет
• Больше изменений.
• Тестирование до слияния с
основным кодом.
• Завели pre-staging сервер J
Переехали на Git
• Изменение делается в
отдельной ветке.
• Тестовые серверы стали
бутылочным горлышком.
Первый подход
У нас уже есть configuration
management, который готовит
production-кластер!
• Git
• Chef
• Bash
• Jenkins
Запуск площадки
• Передаем имя и версию;
• Собираем все пакеты;
• Создаем базы из шаблонов;
• Регистрируем DNS;
• Добавляем в Nginx;
• Запускаем сервер EC2;
• Дожидаемся результата.
Инфраструктура
Package
Storage
Nginx
EC2  
instance
Postgres
Route53
Jenkins
app.<name>.ecwid.com
my.<name>.ecwid.com
Статистика
• время запуска ~45 мин;
• 15-30 сборок в день;
• до 30 поломок в месяц.
Сложности
• Поддержка bash-кода.
• Хрупкая реализация.
Сложности
• Общее пространство
имен в *.ecwid.com.
• Ручное бессмертие.
Сложности
• История версий баз в
файлах.
• Сложное добавление
сервисов.
Песочницы
S3
Nginx
EC2  
instance
RDS
Teamcity
*<name>.sandbox.ecwid.com
Песочницы
Песочницы
Песочницы
• <Build tasks> (2m:10s)
• <Upload static to S3> (2m:56s)
• <Instance start> (10m:29s)
• Chef Client finished, 652/1037
resources updated in
521.716752572 seconds
Статистика
• ~15 мин время запуска;
• ~50 сборок в день;
• единичные поломки;
• ~$1500 в месяц.
Песочницы. Плюшки
• Бессмертные площадки и
остановка ненужных.
• Простое добавление
новых сервисов.
Песочницы. Плюшки
• Нормальное управление
базами.
• Нормальная работа с
доменами.
Sandy
Sandy
• Что запущено?
• Есть бессмертные?
• История.
Интеграция с чатом
Интеграция с чатом
Интеграция с чатом
Оптимизации
• Базовый образ.
• Ночное тестирование.
• Предварительная сборка
пакетов.
• ssh-dev, psql-sand, ectail.
Платформа
Дали возможность добавлять
новые компоненты без
участия Ops:
• Шаблон конфига в пакете;
• Добавление одной
командой.
Итог
• Системные решения
эффективнее.
• Больше свободы, меньше
блокировок.
• Тестовая среда ≈ реальной.
Спасибо
Get better
• hangops.ru
• devopsru.com

More Related Content

PDF
OpenStack: от enterprise к сервис-провайдеру / Сергей Пимков (Селектел)
PDF
RootConf 2015: Как Vagrant и Chef ускорили разработку в несколько раз
PPTX
Chef по обе стороны Bamboo / Артем Семенов (Align Technology)
PDF
Путь DevOps в «Parallels» / Константин Назаров (Parallels)
PPTX
обзор архитектуры и подсистем деплоя и мониторинга
PPTX
Мониторинг в высоконагруженных (и не только) проектах: сравнительный анализ с...
PDF
Как не положить тысячи серверов с помощью системы централизованного управлени...
PPTX
Дизайн REST API для высокопроизводительных систем / Александр Лебедев (Новые ...
OpenStack: от enterprise к сервис-провайдеру / Сергей Пимков (Селектел)
RootConf 2015: Как Vagrant и Chef ускорили разработку в несколько раз
Chef по обе стороны Bamboo / Артем Семенов (Align Technology)
Путь DevOps в «Parallels» / Константин Назаров (Parallels)
обзор архитектуры и подсистем деплоя и мониторинга
Мониторинг в высоконагруженных (и не только) проектах: сравнительный анализ с...
Как не положить тысячи серверов с помощью системы централизованного управлени...
Дизайн REST API для высокопроизводительных систем / Александр Лебедев (Новые ...

What's hot (20)

PDF
Инфраструктура распределенных приложений на nodejs / Станислав Гуменюк (Rambl...
PDF
Как devops исчерпывает себя, и что будет дальше / Кирилл Вечера (Jetware)
PPTX
Виртуальный ЦОД для корпоративных клиентов на базе Virtuozzo: стабильность, п...
PDF
Ansible in the enterprise
PPTX
переезд мониторинга
PPTX
MySQL® и MongoDB® - когда что лучше использовать? / Петр Зайцев (Percona)
PPTX
Преждевременная оптимизация архитектуры / Евгений Потапов, Антон Баранов (ITS...
PDF
Путь мониторинга: модульность, гибкость, devops / Всеволод Поляков (Grammarly)
PPTX
Переезжаем с Zabbix на Prometheus / Василий Озеров (fevlake)
PDF
Zabbix в сервисной компании  ОНЛАНТА - Zabbix Meetup Moscow
PPTX
Microsoft и Linux на одном проекте: как получить лучшее из обоих миров и не р...
PPTX
Опыт построения СХД на базе Windows Server для использования в публичном обла...
PPTX
SECON'2017, Кулагин Егор, Непрерывное развертывание. Конвейер здорового челов...
PDF
Zabbix: Прошлое, настоящее и будущее (Zabbix: Past, present and the future)
PDF
Эволюция процесса деплоя в проекте — Денис Яковлев, 2ГИС
PDF
Антон Галицын
PDF
Вадим Мадисон "Опыт разработки через микросервисы"
PDF
"Посмотрим на Акку-Джаву" Дмитрий Мантула
PPTX
Денис Иванов
Инфраструктура распределенных приложений на nodejs / Станислав Гуменюк (Rambl...
Как devops исчерпывает себя, и что будет дальше / Кирилл Вечера (Jetware)
Виртуальный ЦОД для корпоративных клиентов на базе Virtuozzo: стабильность, п...
Ansible in the enterprise
переезд мониторинга
MySQL® и MongoDB® - когда что лучше использовать? / Петр Зайцев (Percona)
Преждевременная оптимизация архитектуры / Евгений Потапов, Антон Баранов (ITS...
Путь мониторинга: модульность, гибкость, devops / Всеволод Поляков (Grammarly)
Переезжаем с Zabbix на Prometheus / Василий Озеров (fevlake)
Zabbix в сервисной компании  ОНЛАНТА - Zabbix Meetup Moscow
Microsoft и Linux на одном проекте: как получить лучшее из обоих миров и не р...
Опыт построения СХД на базе Windows Server для использования в публичном обла...
SECON'2017, Кулагин Егор, Непрерывное развертывание. Конвейер здорового челов...
Zabbix: Прошлое, настоящее и будущее (Zabbix: Past, present and the future)
Эволюция процесса деплоя в проекте — Денис Яковлев, 2ГИС
Антон Галицын
Вадим Мадисон "Опыт разработки через микросервисы"
"Посмотрим на Акку-Джаву" Дмитрий Мантула
Денис Иванов
Ad

Viewers also liked (12)

PDF
Тестируем инфраструктуру как код / Игорь Курочкин (Express 42)
PPTX
QA процесс, часть 1
PPTX
Requirements, введение в bug tracking systems.
PPTX
Методологии процесса разработки программного обеспечения
PPTX
обзор IT бизнеса
PPTX
Тестирование сложных программных решений и комплексных систем.
PPTX
Анализ существующих моделей и методов разработки. Роль и место QA в процессе ...
PPTX
Обзорная презентация Atlassian JIRA
PPSX
Тест-менеджмент в Jira. Анна Добрынина
PPTX
Тесты (типы тестов, организация тестов, создание тестов).
PPTX
JIRA. С добавками. Для тестировщиков
PPTX
The Dangers of Cucumber
Тестируем инфраструктуру как код / Игорь Курочкин (Express 42)
QA процесс, часть 1
Requirements, введение в bug tracking systems.
Методологии процесса разработки программного обеспечения
обзор IT бизнеса
Тестирование сложных программных решений и комплексных систем.
Анализ существующих моделей и методов разработки. Роль и место QA в процессе ...
Обзорная презентация Atlassian JIRA
Тест-менеджмент в Jira. Анна Добрынина
Тесты (типы тестов, организация тестов, создание тестов).
JIRA. С добавками. Для тестировщиков
The Dangers of Cucumber
Ad

More from Ontico (20)

PDF
One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...
PDF
Масштабируя DNS / Артем Гавриченков (Qrator Labs)
PPTX
Создание BigData-платформы для ФГУП Почта России / Андрей Бащенко (Luxoft)
PDF
Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...
PDF
Новые технологии репликации данных в PostgreSQL / Александр Алексеев (Postgre...
PDF
PostgreSQL Configuration for Humans / Alvaro Hernandez (OnGres)
PDF
Inexpensive Datamasking for MySQL with ProxySQL — Data Anonymization for Deve...
PDF
Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...
PPTX
ProxySQL Use Case Scenarios / Alkin Tezuysal (Percona)
PPTX
MySQL Replication — Advanced Features / Петр Зайцев (Percona)
PDF
Внутренний open-source. Как разрабатывать мобильное приложение большим количе...
PPTX
Подробно о том, как Causal Consistency реализовано в MongoDB / Михаил Тюленев...
PPTX
Балансировка на скорости проводов. Без ASIC, без ограничений. Решения NFWare ...
PDF
Перехват трафика — мифы и реальность / Евгений Усков (Qrator Labs)
PPT
И тогда наверняка вдруг запляшут облака! / Алексей Сушков (ПЕТЕР-СЕРВИС)
PPTX
Как мы заставили Druid работать в Одноклассниках / Юрий Невиницин (OK.RU)
PPTX
Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)
PPTX
100500 способов кэширования в Oracle Database или как достичь максимальной ск...
PPTX
Apache Ignite Persistence: зачем Persistence для In-Memory, и как он работает...
PDF
Механизмы мониторинга баз данных: взгляд изнутри / Дмитрий Еманов (Firebird P...
One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...
Масштабируя DNS / Артем Гавриченков (Qrator Labs)
Создание BigData-платформы для ФГУП Почта России / Андрей Бащенко (Luxoft)
Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...
Новые технологии репликации данных в PostgreSQL / Александр Алексеев (Postgre...
PostgreSQL Configuration for Humans / Alvaro Hernandez (OnGres)
Inexpensive Datamasking for MySQL with ProxySQL — Data Anonymization for Deve...
Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...
ProxySQL Use Case Scenarios / Alkin Tezuysal (Percona)
MySQL Replication — Advanced Features / Петр Зайцев (Percona)
Внутренний open-source. Как разрабатывать мобильное приложение большим количе...
Подробно о том, как Causal Consistency реализовано в MongoDB / Михаил Тюленев...
Балансировка на скорости проводов. Без ASIC, без ограничений. Решения NFWare ...
Перехват трафика — мифы и реальность / Евгений Усков (Qrator Labs)
И тогда наверняка вдруг запляшут облака! / Алексей Сушков (ПЕТЕР-СЕРВИС)
Как мы заставили Druid работать в Одноклассниках / Юрий Невиницин (OK.RU)
Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)
100500 способов кэширования в Oracle Database или как достичь максимальной ск...
Apache Ignite Persistence: зачем Persistence для In-Memory, и как он работает...
Механизмы мониторинга баз данных: взгляд изнутри / Дмитрий Еманов (Firebird P...

Платформа для поставки счастья в команду QA / Вячеслав Кузнецов (Ecwid)