77
Кластер или конгломерат Как поддерживать и развивать пачку "похожих" проектов.

Как поддерживать и развивать пачку "похожих" проектов. Кластер или конгломерат / Стас Михальский (Mail.ru)

  • Upload
    ontico

  • View
    89

  • Download
    6

Embed Size (px)

Citation preview

Page 1: Как поддерживать и развивать пачку "похожих" проектов. Кластер или конгломерат / Стас Михальский (Mail.ru)

Кластер или конгломерат

Как поддерживать и развивать пачку "похожих" проектов.

Page 2: Как поддерживать и развивать пачку "похожих" проектов. Кластер или конгломерат / Стас Михальский (Mail.ru)

Стас МихальскийMail.Ru (технический директор медиапроектов)

Новости Mail.Ru, Леди Mail.Ru, Авто Mail.Ru, Здоровье Mail.Ru, Дети Mail.Ru, Hi-Tech Mail.Ru

Rambler (руководитель группы разработки)news.rambler.ru, sport.rambler.ru

РБК (perl-программист)news.rbc.ru, utro.ru

Page 3: Как поддерживать и развивать пачку "похожих" проектов. Кластер или конгломерат / Стас Михальский (Mail.ru)

Контентные/информационные сайты

Page 4: Как поддерживать и развивать пачку "похожих" проектов. Кластер или конгломерат / Стас Михальский (Mail.ru)
Page 5: Как поддерживать и развивать пачку "похожих" проектов. Кластер или конгломерат / Стас Михальский (Mail.ru)
Page 6: Как поддерживать и развивать пачку "похожих" проектов. Кластер или конгломерат / Стас Михальский (Mail.ru)
Page 7: Как поддерживать и развивать пачку "похожих" проектов. Кластер или конгломерат / Стас Михальский (Mail.ru)
Page 8: Как поддерживать и развивать пачку "похожих" проектов. Кластер или конгломерат / Стас Михальский (Mail.ru)
Page 9: Как поддерживать и развивать пачку "похожих" проектов. Кластер или конгломерат / Стас Михальский (Mail.ru)

Почти одно и то же• Страница списка новостей• Страница новости• Блок «читайте также» • Блок «топ-новости»• Комментарии• Дополнительные информационные разделы• Сервис консультаций• Интерфейс управления содержанием сайта (админка)

Page 10: Как поддерживать и развивать пачку "похожих" проектов. Кластер или конгломерат / Стас Михальский (Mail.ru)

Почти одно и то же

блоки, блоки…

материалы

листингиблоки, блоки…

материалы

листинги

блоки, блоки…

материалы

листинги

Page 11: Как поддерживать и развивать пачку "похожих" проектов. Кластер или конгломерат / Стас Михальский (Mail.ru)

Почему не так?

блоки, блоки…

материалы

листинги

Page 12: Как поддерживать и развивать пачку "похожих" проектов. Кластер или конгломерат / Стас Михальский (Mail.ru)

Цель доклада• Обсудить перспективы тотальной унификации• Рассмотреть альтернативный сценарий

Page 13: Как поддерживать и развивать пачку "похожих" проектов. Кластер или конгломерат / Стас Михальский (Mail.ru)
Page 14: Как поддерживать и развивать пачку "похожих" проектов. Кластер или конгломерат / Стас Михальский (Mail.ru)

Правильное решение очевидно• Унифицировать• Перевести на одну платформу• Развивать и поддерживать единое техническое решение

Page 15: Как поддерживать и развивать пачку "похожих" проектов. Кластер или конгломерат / Стас Михальский (Mail.ru)

Перспективы завораживают• «семерых одним ударом»• best practices: сразу на всех• «служба единого окна» • быстрая сборка • «свободная консоль!»

Page 16: Как поддерживать и развивать пачку "похожих" проектов. Кластер или конгломерат / Стас Михальский (Mail.ru)

Кл стера́ (англ. cluster — скопление, кисть, рой) — объединение нескольких однородных элементов, которое может рассматриваться как самостоятельная единица, обладающая определёнными свойствами

Page 17: Как поддерживать и развивать пачку "похожих" проектов. Кластер или конгломерат / Стас Михальский (Mail.ru)

Сейчас быстро перепишем методы!

Page 18: Как поддерживать и развивать пачку "похожих" проектов. Кластер или конгломерат / Стас Михальский (Mail.ru)

Попытка #раз: было не совсем просто• Один результат – разные процессы • Одинаковая функциональность – разная реализация• Одно отображение – разная логика • Унификации логики – решение менеджмента• Сколько менеджеров – столько мнений

Page 19: Как поддерживать и развивать пачку "похожих" проектов. Кластер или конгломерат / Стас Михальский (Mail.ru)

Первые выводы• Наскоком не вышло – работы много!• Нужны руки – надо вовлекать разработчиков• Нужны согласования – надо вовлекать менеджмент• Надо делать отдельное решение

Page 20: Как поддерживать и развивать пачку "похожих" проектов. Кластер или конгломерат / Стас Михальский (Mail.ru)

Соберем требования и подумаем…

Page 21: Как поддерживать и развивать пачку "похожих" проектов. Кластер или конгломерат / Стас Михальский (Mail.ru)

Попытка #2: стало сложнее• Везде всё «немного по-разному» • Приходится отвлекаться на основную работу (блин)• Когда возвращаешься к «нетленке», она уже почти истлела

Page 22: Как поддерживать и развивать пачку "похожих" проектов. Кластер или конгломерат / Стас Михальский (Mail.ru)

Новые выводы• Писать в стол бессмысленно• Работа без результата демотивирует• Нужно физическое свидетельство правильности пути• Стоит умерить амбиции и начать с чего-то попроще

Page 23: Как поддерживать и развивать пачку "похожих" проектов. Кластер или конгломерат / Стас Михальский (Mail.ru)

Тренируемся на кошках

Page 24: Как поддерживать и развивать пачку "похожих" проектов. Кластер или конгломерат / Стас Михальский (Mail.ru)

Концепт «муравейник»• Одна инкарнация framework’а на всех• Диспетчер для определения шаблонов• Диспетчер для доступа к БД• Уровень абстракции plug-in

Page 25: Как поддерживать и развивать пачку "похожих" проектов. Кластер или конгломерат / Стас Михальский (Mail.ru)

Попытка #3: «победа сферического коня»• На упрощенной аналогии идея реализуема!• Основные предположения подтвердились • По крайней мере, в начале…

Page 26: Как поддерживать и развивать пачку "похожих" проектов. Кластер или конгломерат / Стас Михальский (Mail.ru)

Больше мудрости для бога мудрости• В отрыве от продуктовых задач работать не получается• Ждем повода начать делать «Как надо!»

Page 27: Как поддерживать и развивать пачку "похожих" проектов. Кластер или конгломерат / Стас Михальский (Mail.ru)

Вместе с редизайном строим framework

Page 28: Как поддерживать и развивать пачку "похожих" проектов. Кластер или конгломерат / Стас Михальский (Mail.ru)

Попытка #X• Сроки сжимаются и внутрь попадает «мусор»• система разрастается из-за альтернативных решений• Не хватает времени «делать правильно»

Page 29: Как поддерживать и развивать пачку "похожих" проектов. Кластер или конгломерат / Стас Михальский (Mail.ru)

Иллюзия унификации

Page 30: Как поддерживать и развивать пачку "похожих" проектов. Кластер или конгломерат / Стас Михальский (Mail.ru)

Промежуточные итоги

Page 31: Как поддерживать и развивать пачку "похожих" проектов. Кластер или конгломерат / Стас Михальский (Mail.ru)
Page 32: Как поддерживать и развивать пачку "похожих" проектов. Кластер или конгломерат / Стас Михальский (Mail.ru)

Промежуточные итоги• Общее решение требует постоянной доработки и актуализации • Главный вызов - не проектирование, а организация• Больше изменений – больше работы по актуализации• Зависимость нелинейна!

Page 33: Как поддерживать и развивать пачку "похожих" проектов. Кластер или конгломерат / Стас Михальский (Mail.ru)

мы просто недостаточно быстро бежим

Page 34: Как поддерживать и развивать пачку "похожих" проектов. Кластер или конгломерат / Стас Михальский (Mail.ru)

То, что нас не убивает, делает нас сильнее. Бежим дальше!

Page 35: Как поддерживать и развивать пачку "похожих" проектов. Кластер или конгломерат / Стас Михальский (Mail.ru)

Ошибка в определении причины неуспеха

Page 36: Как поддерживать и развивать пачку "похожих" проектов. Кластер или конгломерат / Стас Михальский (Mail.ru)

Ошибочные предположения• Высокое сходство – залог архитектурной унификации

Page 37: Как поддерживать и развивать пачку "похожих" проектов. Кластер или конгломерат / Стас Михальский (Mail.ru)

Ошибка похожести• Один результат – разные процессы • Одинаковая функциональность – разная реализация• Одно отображение – разная логика

Page 38: Как поддерживать и развивать пачку "похожих" проектов. Кластер или конгломерат / Стас Михальский (Mail.ru)

Ошибочные предположения• Высокое сходство – залог архитектурной унификации• Продукт не меняется

Page 39: Как поддерживать и развивать пачку "похожих" проектов. Кластер или конгломерат / Стас Михальский (Mail.ru)

Это не форсмажор!

Page 40: Как поддерживать и развивать пачку "похожих" проектов. Кластер или конгломерат / Стас Михальский (Mail.ru)

Это реальность!

Page 41: Как поддерживать и развивать пачку "похожих" проектов. Кластер или конгломерат / Стас Михальский (Mail.ru)

Механика: Продукт и изменения

Page 42: Как поддерживать и развивать пачку "похожих" проектов. Кластер или конгломерат / Стас Михальский (Mail.ru)

Механика: Продукт как слоеный пирог• Дизайн• Данные (результаты выборок, сортировки, группировки и т.п.)• Методы (код)• Framework• Базовое ПО (БД, web-сервер и т.д.)• OS, FS …

Page 43: Как поддерживать и развивать пачку "похожих" проектов. Кластер или конгломерат / Стас Михальский (Mail.ru)

Механика: реактивные изменения• Масштаб• Вероятность возникновения

Page 44: Как поддерживать и развивать пачку "похожих" проектов. Кластер или конгломерат / Стас Михальский (Mail.ru)

Механика: проактивные изменения• Масштаб• Вероятность реализации

Page 45: Как поддерживать и развивать пачку "похожих" проектов. Кластер или конгломерат / Стас Михальский (Mail.ru)

Проактивные vs Реактивные

Page 46: Как поддерживать и развивать пачку "похожих" проектов. Кластер или конгломерат / Стас Михальский (Mail.ru)

Проактивные vs Реактивные• Масштаб реактивного изменения – степень угрозы• Масштаб проактивного изменения – размер потерь

Page 47: Как поддерживать и развивать пачку "похожих" проектов. Кластер или конгломерат / Стас Михальский (Mail.ru)

Поможем «нашим»?• Диктатура технарей• Синдром горничной С. Лукьяненко• Продукт или идеальная система?

Page 48: Как поддерживать и развивать пачку "похожих" проектов. Кластер или конгломерат / Стас Михальский (Mail.ru)
Page 49: Как поддерживать и развивать пачку "похожих" проектов. Кластер или конгломерат / Стас Михальский (Mail.ru)

Принять и смириться

Page 50: Как поддерживать и развивать пачку "похожих" проектов. Кластер или конгломерат / Стас Михальский (Mail.ru)

Чем опасен недостроенный кластер?

Page 51: Как поддерживать и развивать пачку "похожих" проектов. Кластер или конгломерат / Стас Михальский (Mail.ru)

Теория разбитых окон

Page 52: Как поддерживать и развивать пачку "похожих" проектов. Кластер или конгломерат / Стас Михальский (Mail.ru)

Поэтому принять и смириться!

Page 53: Как поддерживать и развивать пачку "похожих" проектов. Кластер или конгломерат / Стас Михальский (Mail.ru)

Конгломерат (лат. conglomeratus — скученный, уплотнённый) — соединение чего-либо разнородного, беспорядочная смесь, ассорти

Page 54: Как поддерживать и развивать пачку "похожих" проектов. Кластер или конгломерат / Стас Михальский (Mail.ru)

«Я не строю кластер, значит у меня уже конгломерат?»

Page 55: Как поддерживать и развивать пачку "похожих" проектов. Кластер или конгломерат / Стас Михальский (Mail.ru)

Осознать и действовать

Page 56: Как поддерживать и развивать пачку "похожих" проектов. Кластер или конгломерат / Стас Михальский (Mail.ru)
Page 57: Как поддерживать и развивать пачку "похожих" проектов. Кластер или конгломерат / Стас Михальский (Mail.ru)

Все не так плохо ;)• Появилось время• Появилась возможность проверять• Появилась возможность сравнивать• Появилась возможность выбирать• Появилась возможность наблюдать

Page 58: Как поддерживать и развивать пачку "похожих" проектов. Кластер или конгломерат / Стас Михальский (Mail.ru)

Эволюционное развитие

Page 59: Как поддерживать и развивать пачку "похожих" проектов. Кластер или конгломерат / Стас Михальский (Mail.ru)

А что же с изменениями?

Page 60: Как поддерживать и развивать пачку "похожих" проектов. Кластер или конгломерат / Стас Михальский (Mail.ru)

Играем там, где можно выиграть

УровеньВероятность появления реактивного изменения

Вероятность реализации проактивного изменения

Page 61: Как поддерживать и развивать пачку "похожих" проектов. Кластер или конгломерат / Стас Михальский (Mail.ru)

Играем там, где можно выиграть

УровеньВероятность появления реактивного изменения

Вероятность реализации проактивного изменения

Данные Очень высокая Очень низкая

Page 62: Как поддерживать и развивать пачку "похожих" проектов. Кластер или конгломерат / Стас Михальский (Mail.ru)

Играем там, где можно выиграть

УровеньВероятность появления реактивного изменения

Вероятность реализации проактивного изменения

Данные Очень высокая Очень низкаяMетоды Высокая Низкая

Page 63: Как поддерживать и развивать пачку "похожих" проектов. Кластер или конгломерат / Стас Михальский (Mail.ru)

Играем там, где можно выиграть

УровеньВероятность появления реактивного изменения

Вероятность реализации проактивного изменения

Данные Очень высокая Очень низкаяMетоды Высокая НизкаяFramework Средняя Средняя

Page 64: Как поддерживать и развивать пачку "похожих" проектов. Кластер или конгломерат / Стас Михальский (Mail.ru)

Играем там, где можно выиграть

УровеньВероятность появления реактивного изменения

Вероятность реализации проактивного изменения

Данные Очень высокая Очень низкаяMетоды Высокая НизкаяFramework Средняя СредняяБазовое ПО Низкая Высокая

Page 65: Как поддерживать и развивать пачку "похожих" проектов. Кластер или конгломерат / Стас Михальский (Mail.ru)

Играем там, где можно выиграть

УровеньВероятность появления реактивного изменения

Вероятность реализации проактивного изменения

Данные Очень высокая Очень низкаяMетоды Высокая НизкаяFramework Средняя СредняяБазовое ПО Низкая ВысокаяOS, FS Очень низкая Очень высокая

Page 66: Как поддерживать и развивать пачку "похожих" проектов. Кластер или конгломерат / Стас Михальский (Mail.ru)

Проактивные глубинные изменения

Page 67: Как поддерживать и развивать пачку "похожих" проектов. Кластер или конгломерат / Стас Михальский (Mail.ru)

Оседлать волну реактивных изменений

Page 68: Как поддерживать и развивать пачку "похожих" проектов. Кластер или конгломерат / Стас Михальский (Mail.ru)

«Экспериментально-эпидемическое» внедрение изменений• Первый раз – это интересно• Охват <50% – это модно и актуально• Охват >50% – по-другому неприлично• А если не распространяется? Откажитесь или мужайтесь)

Page 69: Как поддерживать и развивать пачку "похожих" проектов. Кластер или конгломерат / Стас Михальский (Mail.ru)

Унификация возможна• На уровне стека технологий• На уровне функциональности продукта

Page 70: Как поддерживать и развивать пачку "похожих" проектов. Кластер или конгломерат / Стас Михальский (Mail.ru)

Итоги и выводы

Page 71: Как поддерживать и развивать пачку "похожих" проектов. Кластер или конгломерат / Стас Михальский (Mail.ru)
Page 72: Как поддерживать и развивать пачку "похожих" проектов. Кластер или конгломерат / Стас Михальский (Mail.ru)

Реальность кластера• Высокая чувствительность к изменениям• Шаткость достигаемой унификации• Обветшание активов• Демотивация из-за отсутствия видимых успехов

Page 73: Как поддерживать и развивать пачку "похожих" проектов. Кластер или конгломерат / Стас Михальский (Mail.ru)

Перспективы конгломерата• Эволюционный выбор• Унификация функциональности через лучшие практики• Высокий уровень качества как ключевая цель

Page 74: Как поддерживать и развивать пачку "похожих" проектов. Кластер или конгломерат / Стас Михальский (Mail.ru)

Что делать?• Развивать стек технологий• Унифицировать стек технологий• Поддерживать уровень качества

Page 75: Как поддерживать и развивать пачку "похожих" проектов. Кластер или конгломерат / Стас Михальский (Mail.ru)

Как делать?• Выбирать и оставлять лучшее• Глобальные свершения на нижних уровнях• Точечные изменения на верхних уровнях• Глобальные свершения на верхних уровнях («под шумок»)

Page 76: Как поддерживать и развивать пачку "похожих" проектов. Кластер или конгломерат / Стас Михальский (Mail.ru)

Спасибо за внимание!Стаc Михальский

[email protected]

Page 77: Как поддерживать и развивать пачку "похожих" проектов. Кластер или конгломерат / Стас Михальский (Mail.ru)