Нужно выбирать простые технологии
Нужно выбирать простые технологии вместо сложных. В простом стеке всё предсказуемо, для его первоначальной настройки и обслуживания не нужны люди с докторскими степенями.
Программистов привлекает сложность как мотылька пламя — это интересно и модно. Но зачем эти сложности? Конечно, не для всех продуктов подходит простой стек — сложно представить это для Google , Amazon , Apple или Netflix — при таком масштабе они пионеры. Но для 99.9% продуктов нет смысла что-то усложнять.
Вот, что пишет Давид Хейнемейер Ханссон :
Это песня сирены, чтобы смоделировать нашу инфраструктуру по их образу.
А вот, что пишет в своём блоге Manu :
[…] Для ведения блога для формирования сообществ вам просто нужна добрая воля. Все инструменты есть. HTTP - это совершенно прекрасный протокол, электронная почта все еще работает, RCS и Matrix достаточно хороши для чатов, и если это не ваш джем, вы можете выбрать одну из бесчисленных альтернатив.
Также, низкая цена и высокая распространённость (доступность) являются преимуществами простых технологий. Одно дело настроить LAMP на любом дешёвом VPS и совсем другое дело найти хостинг, подходящий под современный сложный стек и платить за него кучу денег.
Мода склоняет к выбору сложных технологических решений при создании продукта, но приверженность сопротивлению помогает сделать правильный выбор.
Пример
В 2023 году 37signals перенесли всё из «облака» на свои серверы и время безотказной работы некоторых сервисов составила 100%. Они выбрали максимально простой и скучный стек: F5, Linux, KVM, Docker, MySQL, Redis, ElasticCache и, конечно, Ruby on Rails.
Давид Хейнемейер Ханссон заканчивает свою заметку так:
Вам не нужно облако, чтобы получить хорошее время безотказной работы. Вам нужны зрелые технологии, работающие на избыточном оборудовании с хорошим резервным копированием. Так же, как и раньше.
В. Почему стоит выбирать простые технологии, а не сложные?
О. В простом стеке всё предсказуемо, для его первоначальной настройки и обслуживания не нужны люди с докторскими степенями, он дешевле.
В. Почему программист выбирает сложную технологию?
О. Скорее всего, просто интересно и модно.
В. Для нового продукта лучше выбрать самый крутой и модный стек (технологию). Верно? Почему?
О. Нет. Лучше выбирать простые технологии. В простом стеке всё предсказуемо, для его первоначальной настройки и обслуживания не нужны люди с докторскими степенями, он дешевле.
В. Почему Google, Amazon, Netfix, Airbnb выбирают сложные технологии, а мне стоит выбирать простые?
О. Google, Amazon, Netfix, Airbnb и др. при таком масштабе — пионеры. Но 99.9% нет смысла что-то усложнять.