Любую работу в Lamoda мы стараемся стандартизировать, создавать все решения на одном языке по определенным правилам. Впрочем, бывают задачи, которые нужно решать нестандартно для нашего подхода. Благодаря разумному выбору программных продуктов, специально созданных под определенные задачи, мы значительно экономим ресурсы и время. Яркий пример — Apache Camel. Это интеграционный фреймворк на Java, который используется в сервисе для взаимодействия с внешними курьерскими службами. Фреймворк позволяет быстрее адаптировать новые службы и новые API, тратить меньше времени на преобразование запроса из Json в XML. Написать все это на PHP можно, но будет нерационально, так как эта технология уже предназначена для решения этих задач.
Широкий стек и прочие штуки это прикольно, но часто получается типичная ситуация:
разработчик пилит какой-то сервис на модном Go, кроме него в команде этот язык никто не знает, он увольняется и этот сервис внутри команды некому поддерживать, особенно если есть по этому сервису срочные задачи, а руководство нового разраба искать не хочет, потому что оказывается Go разработчики слишком дорогие и вообще редкость.
И получается, что какой-нить разработчик обмазавшись всеми новыми технологиями и фреймворками пилит сервис, очень вероятно делает это хреново, сваливает, а потом кому-то копать в этом говне.
👍
☺️
Вот читаю подобные вещи и думаю - а что такое backend в понимании автора? Просто то, где нет интерфейса? Т.е. есть UI - фронт. Нет UI - бэк...
Вот, к примеру, как это выглядит у нас:
4 уровня. Из них фронт - самый верхний. А бэк - самый нижний. Он вообще отделен и недоступен снаружи по требованиям ИБ. Все общение с ним через сообщения в очередях и EIB шину.
На бэке сплошь системные API, С++ (и еще пара специфических языков) и прямая работа с БД.
И вот хотелось бы посмотреть на человека, который одновременно хорошо умеет Swift/Kotlin и при этом знает все тонкости системных API платформы IBM i, C/C++, RPG, MQ API, DB2 и вот это все вот...
То что человек может уметь фронт и еще middle слои - могу поверить, но чтобы еще и бэк в том виде, в каком он у нас есть... Таких не встречал.
Все наши системы недоступны внешним пользователям. Мы взаимодействуем либо с другими нашими системами, либо с сотрудниками. В нашем понимании это и есть бэкенд. Схема, которую вы приложили, в целом похожа на то, как у нас устроено (только у нас нет C++).
Комментарий недоступен
А какой надо?