Платформа для поставки счастья в команду qa
Post on 07-Aug-2015
254 Views
Preview:
TRANSCRIPT
Ecwid• SaaS-платформа для интернет-
магазинов.
• ~ 750 000 клиентов по всему миру.
• ~ 100 000 000 посетителей в месяц.
• 80 человек в команде.
• Ульяновск, Самара, Казань, SanDiego.
QA
• Подготовка и поддержка ботов.
• Сопровождение релизов.• Проверка изменений на соответствие задаче.
На заре проекта
• Десяток разработчиков.• SVN репозиторий.• All-in-one staging-сервер.• Обновление руками.
Команда растет
• Больше изменений.• Тестирование до слияния с основным кодом.
• Завели pre-staging сервер J
Переехали на Git
• Изменение делается в
отдельной ветке.
• Тестовые серверы стали
бутылочным горлышком.
Первый подходУ нас уже есть configuration management, который готовит production-кластер!• Git• Chef• Bash• Jenkins
Запуск площадки• Передаем имя и версию;
• Собираем все пакеты;• Создаем базы из шаблонов;
• Регистрируем DNS;• Добавляем в Nginx;
• Запускаем сервер EC2;
• Дожидаемся результата.
Инфраструктура
PackageStorage
Nginx
EC2 instance Postgres
Route53
Jenkinsapp.<name>.ecwid.commy.<name>.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
Оптимизации
• Базовый образ.• Ночное тестирование.• Предварительная сборка
пакетов.• ssh-dev, psql-sand, ectail.
Платформа
Дали возможность добавлять новые компоненты без участия Ops:• Шаблон конфига в пакете;• Добавление одной командой.
Итог
• Системные решения эффективнее.
• Больше свободы, меньше блокировок.
• Тестовая среда ≈ реальной.
top related