Смена web-платформы «на лету» Евгения Фирсова. Постановка задачи.

Презентация:



Advertisements
Похожие презентации
Процесс выкладки вёрстки просто, быстро, безопасно Евгения Фирсова, Яндекс.Деньги.
Advertisements

Скорость разработки Евгения Фирсова. Скорость количество / время.
Планирование веб-релизов в условиях многопоточности задач со скачущими приоритетами Евгения Фирсова, Яндекс.Деньги.
Разработка программного обеспечения (Software Engineering) Часть 2. Создание ПО.
KPI разработчика vs KPI разработки Евгения Фирсова.
1С:Автоматическое тестирование конфигураций. Программный продукт представляет собой инструмент, предназначенный для максимально полной автоматической.
Организация многопоточной разработки в условиях конкуренции задач Евгения Фирсова.
Автоматизация лизинговой компании Общее описание проекта.
Управление рисками тестирования Никита Налютин, Антон Александров Deutsche Bank.
Практика разработки Web 2.0 портала с социальными сервисами Дмитрий Калинников Александр Макарчук.
Эффективность в каждом решении Управление разработкой Корпоративного портала: как грамотно выстроить работу с подрядчиком.
Выполнение проекта Планирование - приспособить процесс к проекту - создать план проекта - определить роли участников - обеспечить ресурсы.
Оценка уровня безопасности Тестировщики Подтверждение свойств и качества. Рекомендации по доработке Методика проверки Определение Условий эксплуатации.
Управление проектами по разработке на Drupal Обзор основных управленческих граблей VIKTOR LEVANDOVSKY, PMP Chief Executive Developer.
Методология проектирования RAD МДК Раздел 1.
КОРУС | Ревизор Решение «КОРУС Консалтинг» на платформе Alfresco.
Решение производственных задач с помощью интеграции GIS в информационный контур предприятия ТОО «Азия-Софт» Денис Дмитренко Ведущий консультант.
Демонстрируем результаты заказчику: how to и how to not Быть можно дельным человеком и думать о красе ногтей Евгения Фирсова.
Решения Open Source в телекоммуникациях на примере реализованного проекта.
SOFTWARE DEVELOPMENT PODGOTOVIL TVOU ZHOPY K SDACHE.
Транксрипт:

Смена web-платформы «на лету» Евгения Фирсова

Постановка задачи

Цель: смена среды исполнения. Проблемы: несовместимость новой среды исполнения со старым кодом; ограничение ресурсов. Постановка задачи

Ограничения, метрики «прозрачность» для пользователей: – отсутствие простоев; – отсутствие новых требований к оборудованию/окружению пользователя; длительность «переходного» периода: – затруднения при внедрении нового функционала; – планирование «на потом»; качество работы в «переходный» период: – новые требования к участникам процесса; – масштаб усилий по синхронизации двух технологий.

Проксирование запросов

Выбор web-сервера «на входе» старый web-сервер «на входе»новый web-сервер «на входе» использование преимуществ нового web-сервера только после окончания «переходного» периода внедрение при переводе каждой новой страницы риски в «переходный» периодничтожны; используем привычные технологии велики; экспериментируем, учимся, набираемся опыта риски по завершению «переходного» периода велики; непредсказуемость процесса переключения web-серверов отсутствуют; выключаем ставший ненужным web-сервер момент выявления проблемпосле финального переключения web- серверов сразу, как только они возникнут суммарный объём работновая версия каждой страницы + тестирование каждой страницы + повторное тестирование после переключения web-серверов новая версия каждой страницы + тестирование каждой страницы выбор сделан

Выбор «добровольцев» критериирискискорость 1-я страница возможность отката заинтересованность заказчика простота в реализации 2-5-я страницы возможность отката максимальная вариантивность функционала средняя нагруженность 6-10-я страницы крупный важный функционал остальные новый функционал или значительные изменения в существующем экономия на тестировании возможность рефакторинга

Риски внутренние: – ошибки при внедрении новых технологий; – неоптимальное использование новых технологий; – потеря функционала при переводе на новые технологии; – непредсказуемость тестирования; бизнес: – срыв сроков; – «публичность» ошибок; – несовпадение обещаний и результатов; организационные: – отложенные проблемы с производительностью; – ошибки в выборе новых технологий.

Что влияет на оценку сроков чем ближе мы к началу «переходного» периода, тем сильнее ошибаемся: – в оценке скорости разработки; – в оценках скорости и качества работы тестеров; вероятность поддаться соблазну фонового проведения рефакторинга; отказ от рефакторинга в пользу скорости внедрения функционала; сходимость процесса разворачивания и поддержки новой среды; непредсказуемый рост портала за «переходный» период.

«Пересечения» кода код, без изменений работающий в обеих средах исполнения: – подключаем из единого источника: физическая адресация к единой версии; средства системы контроля версий: амперсанд-модули cvs, svn:externals, … при сборке пакета/версии для релиза; – (вероятно) двойное тестирование; код, требующий изменений для работы в обеих средах исполнения: – планируем (не)синхронные изменения в старом коде; – двойное тестирование; несовместимый код, выполняющий одинаковые/близкие функции: – отслеживанием и синхронизируем изменения; – двойное тестирование.

Синхронизация изменений строго синхронно: – единый визуальный или функциональный элемент на страницах, работающих в двух средах исполнения; – поддержка процесса, требующего перехода по страницам, работающим в двух средах исполнения; первое внедрение изменений – в новый код: – решаем, понадобиться ли когда-нибудь изменение в старом коде; первое внедрение изменений – в старый код : – решаем, не стоит ли сразу перенести функционал в новый код: оцениваем стоимость перетестирования; оцениваем выгоды от использования новых технологий при реализации изменений; – планируем отличия в реализациях для старой и новой сред исполнения.

Специфика тестирования рост объёмов тестирования: – проксирование; – пересекающийся код; – рост числа компонент; необходимость отслеживать, на какой среде исполнения работает функционал; проверка конфигураций проксирования; контроль за правильностью переноса конфигураций проксирования.

Синхронные выкладки/релизы временное отключение части хостов от боевой среды: – необходим пул хостов; – половина пула должна выдерживать двойную нагрузку; последовательная выкладка закрытого «рубильниками» функционала с последующим синхронным включением: – тех. возможность реализации «рубильников»; – разработка и тестирование «рубильников».

Конец «переходного» периода финальное переконфигурирование проксирования запросов между web-серверами; отключение старого web-сервера; чистка кода от ненужных «рубильников»; долгожданный подсчёт цыплят: – качество выполнения поставленной цели; – длительность «переходного» периода; – что мы получили, помимо заказанного: качественный код после чистки и рефакторинга; опыт работы с новыми технологиями.

Вопросы? – задать любые вопросы – почитать подробнее об управлении версиями, задачами, проблемами и людьми