Платформа для поставки счастья в команду qa / Вячеслав...
TRANSCRIPT
![Page 1: Платформа для поставки счастья в команду QA / Вячеслав Кузнецов (Ecwid)](https://reader034.vdocuments.pub/reader034/viewer/2022042600/58f2d22c1a28abbb0d8b45e9/html5/thumbnails/1.jpg)
Платформа для поставки счастья в команду QAВячеслав Кузнецов@smith3v
![Page 2: Платформа для поставки счастья в команду QA / Вячеслав Кузнецов (Ecwid)](https://reader034.vdocuments.pub/reader034/viewer/2022042600/58f2d22c1a28abbb0d8b45e9/html5/thumbnails/2.jpg)
Ecwid• SaaS-платформа для интернет-
магазинов.
• ~ 750 000 клиентов по всему миру.
• ~ 100 000 000 посетителей в месяц.
• 80 человек в команде.
• Ульяновск, Самара, Казань, SanDiego.
![Page 3: Платформа для поставки счастья в команду QA / Вячеслав Кузнецов (Ecwid)](https://reader034.vdocuments.pub/reader034/viewer/2022042600/58f2d22c1a28abbb0d8b45e9/html5/thumbnails/3.jpg)
Operations
• Доступность.• Надежность.• Безопасность.• Максимальная скорость от идеи до релиза.
![Page 4: Платформа для поставки счастья в команду QA / Вячеслав Кузнецов (Ecwid)](https://reader034.vdocuments.pub/reader034/viewer/2022042600/58f2d22c1a28abbb0d8b45e9/html5/thumbnails/4.jpg)
QA
• Подготовка и поддержка ботов.
• Сопровождение релизов.• Проверка изменений на соответствие задаче.
![Page 5: Платформа для поставки счастья в команду QA / Вячеслав Кузнецов (Ecwid)](https://reader034.vdocuments.pub/reader034/viewer/2022042600/58f2d22c1a28abbb0d8b45e9/html5/thumbnails/5.jpg)
На заре проекта
• Десяток разработчиков.• SVN репозиторий.• All-in-one staging-сервер.• Обновление руками.
![Page 6: Платформа для поставки счастья в команду QA / Вячеслав Кузнецов (Ecwid)](https://reader034.vdocuments.pub/reader034/viewer/2022042600/58f2d22c1a28abbb0d8b45e9/html5/thumbnails/6.jpg)
Команда растет
• Больше изменений.• Тестирование до слияния с основным кодом.
• Завели pre-staging сервер J
![Page 7: Платформа для поставки счастья в команду QA / Вячеслав Кузнецов (Ecwid)](https://reader034.vdocuments.pub/reader034/viewer/2022042600/58f2d22c1a28abbb0d8b45e9/html5/thumbnails/7.jpg)
Переехали на Git
• Изменение делается в
отдельной ветке.
• Тестовые серверы стали
бутылочным горлышком.
![Page 8: Платформа для поставки счастья в команду QA / Вячеслав Кузнецов (Ecwid)](https://reader034.vdocuments.pub/reader034/viewer/2022042600/58f2d22c1a28abbb0d8b45e9/html5/thumbnails/8.jpg)
Первый подходУ нас уже есть configuration management, который готовит production-кластер!• Git• Chef• Bash• Jenkins
![Page 9: Платформа для поставки счастья в команду QA / Вячеслав Кузнецов (Ecwid)](https://reader034.vdocuments.pub/reader034/viewer/2022042600/58f2d22c1a28abbb0d8b45e9/html5/thumbnails/9.jpg)
Запуск площадки• Передаем имя и версию;
• Собираем все пакеты;• Создаем базы из шаблонов;
• Регистрируем DNS;• Добавляем в Nginx;
• Запускаем сервер EC2;
• Дожидаемся результата.
![Page 10: Платформа для поставки счастья в команду QA / Вячеслав Кузнецов (Ecwid)](https://reader034.vdocuments.pub/reader034/viewer/2022042600/58f2d22c1a28abbb0d8b45e9/html5/thumbnails/10.jpg)
Инфраструктура
PackageStorage
Nginx
EC2 instance Postgres
Route53
Jenkinsapp.<name>.ecwid.commy.<name>.ecwid.com
![Page 11: Платформа для поставки счастья в команду QA / Вячеслав Кузнецов (Ecwid)](https://reader034.vdocuments.pub/reader034/viewer/2022042600/58f2d22c1a28abbb0d8b45e9/html5/thumbnails/11.jpg)
Статистика
• время запуска ~45 мин;• 15-30 сборок в день;• до 30 поломок в месяц.
![Page 12: Платформа для поставки счастья в команду QA / Вячеслав Кузнецов (Ecwid)](https://reader034.vdocuments.pub/reader034/viewer/2022042600/58f2d22c1a28abbb0d8b45e9/html5/thumbnails/12.jpg)
Сложности
• Поддержка bash-кода.• Хрупкая реализация.
![Page 13: Платформа для поставки счастья в команду QA / Вячеслав Кузнецов (Ecwid)](https://reader034.vdocuments.pub/reader034/viewer/2022042600/58f2d22c1a28abbb0d8b45e9/html5/thumbnails/13.jpg)
Сложности
• Общее пространство имен в *.ecwid.com.
• Ручное бессмертие.
![Page 14: Платформа для поставки счастья в команду QA / Вячеслав Кузнецов (Ecwid)](https://reader034.vdocuments.pub/reader034/viewer/2022042600/58f2d22c1a28abbb0d8b45e9/html5/thumbnails/14.jpg)
Сложности
• История версий баз в файлах.
• Сложное добавление сервисов.
![Page 15: Платформа для поставки счастья в команду QA / Вячеслав Кузнецов (Ecwid)](https://reader034.vdocuments.pub/reader034/viewer/2022042600/58f2d22c1a28abbb0d8b45e9/html5/thumbnails/15.jpg)
Песочницы
S3
Nginx
EC2 instance RDS
Teamcity
*<name>.sandbox.ecwid.com
![Page 16: Платформа для поставки счастья в команду QA / Вячеслав Кузнецов (Ecwid)](https://reader034.vdocuments.pub/reader034/viewer/2022042600/58f2d22c1a28abbb0d8b45e9/html5/thumbnails/16.jpg)
Песочницы
![Page 17: Платформа для поставки счастья в команду QA / Вячеслав Кузнецов (Ecwid)](https://reader034.vdocuments.pub/reader034/viewer/2022042600/58f2d22c1a28abbb0d8b45e9/html5/thumbnails/17.jpg)
Песочницы
![Page 18: Платформа для поставки счастья в команду QA / Вячеслав Кузнецов (Ecwid)](https://reader034.vdocuments.pub/reader034/viewer/2022042600/58f2d22c1a28abbb0d8b45e9/html5/thumbnails/18.jpg)
Песочницы• <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
![Page 19: Платформа для поставки счастья в команду QA / Вячеслав Кузнецов (Ecwid)](https://reader034.vdocuments.pub/reader034/viewer/2022042600/58f2d22c1a28abbb0d8b45e9/html5/thumbnails/19.jpg)
Статистика
• ~15 мин время запуска;• ~50 сборок в день;• единичные поломки;• ~$1500 в месяц.
![Page 20: Платформа для поставки счастья в команду QA / Вячеслав Кузнецов (Ecwid)](https://reader034.vdocuments.pub/reader034/viewer/2022042600/58f2d22c1a28abbb0d8b45e9/html5/thumbnails/20.jpg)
Песочницы. Плюшки
• Бессмертные площадки и остановка ненужных.
• Простое добавление новых сервисов.
![Page 21: Платформа для поставки счастья в команду QA / Вячеслав Кузнецов (Ecwid)](https://reader034.vdocuments.pub/reader034/viewer/2022042600/58f2d22c1a28abbb0d8b45e9/html5/thumbnails/21.jpg)
Песочницы. Плюшки
• Нормальное управление базами.
• Нормальная работа с доменами.
![Page 22: Платформа для поставки счастья в команду QA / Вячеслав Кузнецов (Ecwid)](https://reader034.vdocuments.pub/reader034/viewer/2022042600/58f2d22c1a28abbb0d8b45e9/html5/thumbnails/22.jpg)
Sandy
![Page 23: Платформа для поставки счастья в команду QA / Вячеслав Кузнецов (Ecwid)](https://reader034.vdocuments.pub/reader034/viewer/2022042600/58f2d22c1a28abbb0d8b45e9/html5/thumbnails/23.jpg)
Sandy
• Что запущено?• Есть бессмертные?• История.
![Page 24: Платформа для поставки счастья в команду QA / Вячеслав Кузнецов (Ecwid)](https://reader034.vdocuments.pub/reader034/viewer/2022042600/58f2d22c1a28abbb0d8b45e9/html5/thumbnails/24.jpg)
Интеграция с чатом
![Page 25: Платформа для поставки счастья в команду QA / Вячеслав Кузнецов (Ecwid)](https://reader034.vdocuments.pub/reader034/viewer/2022042600/58f2d22c1a28abbb0d8b45e9/html5/thumbnails/25.jpg)
Интеграция с чатом
![Page 26: Платформа для поставки счастья в команду QA / Вячеслав Кузнецов (Ecwid)](https://reader034.vdocuments.pub/reader034/viewer/2022042600/58f2d22c1a28abbb0d8b45e9/html5/thumbnails/26.jpg)
Интеграция с чатом
![Page 27: Платформа для поставки счастья в команду QA / Вячеслав Кузнецов (Ecwid)](https://reader034.vdocuments.pub/reader034/viewer/2022042600/58f2d22c1a28abbb0d8b45e9/html5/thumbnails/27.jpg)
Оптимизации
• Базовый образ.• Ночное тестирование.• Предварительная сборка
пакетов.• ssh-dev, psql-sand, ectail.
![Page 28: Платформа для поставки счастья в команду QA / Вячеслав Кузнецов (Ecwid)](https://reader034.vdocuments.pub/reader034/viewer/2022042600/58f2d22c1a28abbb0d8b45e9/html5/thumbnails/28.jpg)
Платформа
Дали возможность добавлять новые компоненты без участия Ops:• Шаблон конфига в пакете;• Добавление одной командой.
![Page 29: Платформа для поставки счастья в команду QA / Вячеслав Кузнецов (Ecwid)](https://reader034.vdocuments.pub/reader034/viewer/2022042600/58f2d22c1a28abbb0d8b45e9/html5/thumbnails/29.jpg)
Итог
• Системные решения эффективнее.
• Больше свободы, меньше блокировок.
• Тестовая среда ≈ реальной.
![Page 30: Платформа для поставки счастья в команду QA / Вячеслав Кузнецов (Ecwid)](https://reader034.vdocuments.pub/reader034/viewer/2022042600/58f2d22c1a28abbb0d8b45e9/html5/thumbnails/30.jpg)
Спасибо
![Page 31: Платформа для поставки счастья в команду QA / Вячеслав Кузнецов (Ecwid)](https://reader034.vdocuments.pub/reader034/viewer/2022042600/58f2d22c1a28abbb0d8b45e9/html5/thumbnails/31.jpg)
Get better
• hangops.ru• devopsru.com