К основному содержимому
#Management

Почему инфраструктура big tech обычно состоит из самописных решений

#Management #RnD #PlatformEngineering #Engineering #Software #SoftwareDevelopment #Leadership

Крутая статья от Дмитрия, CTO команды Yandex Platform Engineering, в которой он объясняет появление кастомных решений в больших компаниях. Он выделяет 6 причин:

  1. Инновации - крупные компании часто сталкиваются с новыми проблемами, для которых пока нет стандартных решений. А дальше им придумывать эти решения сами
  2. Масштабы - этот пункт частично вкладывается в предыдущий, так как часто новые проблемы обусловлены масштабом компании и ее задач. В итоге, дефолтные решения на таком объеме не особо работают
  3. Инерция - когда собственный инструмент уже сделан и заточен под решение внутренней проблемы, то при появлении общего инструмента он часто не так хорошо заточен на конкретные кейсы. В итоге, для переезда часто требуется допиливать сам общий инструмент
  4. Миграция - тут идет речь про стоимость переезда пользователей. Часто такие миграции со старых инструментов на новые стоят дорого и могут тянуться очень долго, что подрывает сам смысл переезда - дешевле дальше поддерживать собственный велосипед
  5. Business continuity - внутренние инструменты позволяют обеспечить независимость от решений вендоров и даже от изменений лицензий open source проектов. Что важно в текущей реальности
  6. Синдром not invented here (NIH) - этот синдром влияет на решение пилить собственные велосипеды и это объективная реальность:)

Автор демонстрирует эти причины на двух примерах

  • Собственное облако Яндекса, которое появилось до K8s и сейчас продолжает использоваться и развиваться
  • Монорепозиторий Аркадия, который позволил решить проблему svn, git, mercurial и все таки иметь возможность хранения всего кода (2 TiB) в одном репозитории

Интересно, что я примерно про это писал в статье "Как RnD появляется в крупных ИТ-компаниях" на примере Google, Amazon и почему это нужно Тинькофф:)

#Management #RnD #PlatformEngineering #Engineering #Software #SoftwareDevelopment #Leadership