← Все статьиНаписать

Стек технологий веб-проекта: из чего состоит и как его выбрать

Стек технологий определяет, сколько проект проживёт без переписывания и кого вы сможете нанять. Я разбираю, из каких слоёв он состоит, какие сочетания встречаются чаще всего, по каким критериям выбирать и где ошибаются. Для своей коробки для ecommerce мы взяли открытый набор: Laravel, Next.js, Docker, Redis и PostgreSQL.

Пост, на основе которого написана статья: На чём сделать сайт и приложение сейчас: что изменилось с ИИ

Из чего состоит набор технологий

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

Каждый слой выбирают отдельно, но они должны дружить между собой. Хороший фреймворк с базой, под которую нет нормальных драйверов, создаст проблем больше, чем решит.

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

Слои стека веб-проекта

  • Фронтенд: HTML, CSS, JavaScript или TypeScript и фреймворки — React, Vue, Next.js, Nuxt.
  • Бэкенд: PHP с Laravel или Symfony, Python с Django, Node.js, Go, Java.
  • База данных: PostgreSQL, MySQL, MongoDB.
  • Кеш и очереди: Redis, RabbitMQ.
  • Поиск по каталогу: Elasticsearch или OpenSearch.
  • Инфраструктура: Docker, Kubernetes, Nginx, системы CI/CD для автоматической сборки и выкладки.

Какие сочетания встречаются чаще всего

У популярных наборов есть устоявшиеся названия. Они полезны как ориентир, но реальный проект почти всегда собирают под свои задачи.

СтекСоставГде уместен
LAMPLinux, Apache, MySQL, PHPконтентные сайты, классические CMS
MERNMongoDB, Express, React, Node.jsSPA и сервисы с одним языком на фронте и бэке
Django + PostgreSQLPython, Django, PostgreSQLсервисы с аналитикой и сложной моделью данных
Laravel + Next.jsPHP, Laravel, React, Next.js, PostgreSQL, Redisмагазины и порталы с интеграциями и SEO
Jamstackстатический фронтенд, API, CDNбыстрые сайты с редкими изменениями

Наш стек: Laravel, Next.js и PostgreSQL

Главный аргумент — люди. Этот стек знают десятки тысяч разработчиков в стране, на hh.ru специалистов с большим запасом. Значит, клиент не попадает в зависимость от одной команды.

Laravel появился в 2011 году и стал одним из самых популярных PHP-фреймворков. Next.js — фреймворк на React, который умеет отдавать страницы с сервера, и для каталога с SEO это важно. PostgreSQL держит сложные выборки и транзакции, Redis отвечает за кеш, сессии и очереди, Docker делает окружение разработчика таким же, как на сервере.

Как выбрать технологии под проект

Я начинаю не с технологий, а с требований бизнеса. Мода на фреймворк проходит за пару лет, а проект живёт пять и больше.

  • Рынок найма: сколько специалистов в вашем городе и на удалёнке, легко ли заменить человека.
  • Зрелость: сколько лет технологии, кто её поддерживает, как часто выходят версии с ломающими изменениями.
  • Лицензии: можно ли использовать бесплатно в коммерческом проекте и что будет, если вендор поменяет условия.
  • Нагрузка: выдержит ли система пик, а не средний день.
  • Интеграции: есть ли готовые библиотеки для 1С, платёжных шлюзов, служб доставки.
  • Скорость запуска: сколько времени займёт первая рабочая версия.

Нагрузка, интеграции и безопасность

Для магазина «сайт за 10 минут» ничего не стоит, если он падает на распродаже. Он должен выдерживать пиковый трафик, обмениваться данными с 1С и проходить проверку безопасности, когда подключаешь банк. Платформа даёт ускорение запуска только вместе со стабильностью и возможностями развития. Time to market здесь король, но не ценой падения в чёрную пятницу.

Лицензии и привязка к вендору

Открытые технологии снижают риск, но не убирают его совсем. В марте 2024 года Redis сменил открытую лицензию BSD на RSALv2 и SSPL, и через неделю появился форк Valkey под крылом Linux Foundation. В 2025 году Redis 8 добавил к ним открытую AGPLv3, но часть облачных провайдеров уже перешла на Valkey. Для пользователя ничего не сломалось, но такие истории стоит учитывать. Закрытая платформа рискованнее: тарифы, ограничения и судьбу продукта решает одна компания.

Набор технологий и ИИ-агенты

С появлением агентов у выбора стека появился новый критерий: насколько код понятен машине. Агент лучше работает с популярными технологиями, на которых он обучен, с типизированным кодом и с фреймворками, где есть строгие конвенции. В Laravel, например, у каждой сущности своё место, и агент находит нужный файл без подсказок.

Второе изменение — генерация контента. Кнопка «сгенерировать описание товара» становится встроенной частью админки, как и генерация лендингов, фото и текстов под SEO. Если стек не даёт удобно подключать модели, эту часть придётся долго прикручивать сбоку.

Третье — документация рядом с кодом. Агенту нужен не только код, но и объяснение, почему он устроен именно так. Чем лучше фреймворк описан в открытых источниках и чем аккуратнее проект оформлен внутри, тем меньше времени уходит на исправление того, что агент понял неправильно.

Частые ошибки при выборе

  • Брать технологию, потому что она модная в этом году.
  • Выбирать под одного сильного разработчика, который знает редкий язык.
  • Начинать с микросервисов там, где хватило бы одного приложения.
  • Смешивать в одном проекте три фреймворка, потому что каждый разработчик принёс свой любимый.
  • Не проверять интеграции до старта и узнать о проблеме с 1С за месяц до запуска.
  • Считать только стоимость разработки и забывать про поддержку на годы вперёд.

Как проверить выбор технологий до старта

Самую дорогую ошибку проще поймать на бумаге, чем в коде. Перед стартом я бы прошёл короткий список проверок.

Первое — прототип самой рискованной интеграции. Если магазин живёт на обмене с 1С, сначала нужно поднять этот обмен на тестовых данных, а уже потом рисовать каталог. Второе — нагрузочный тест на пиковый сценарий: открытие распродажи, рассылка по всей базе, выгрузка прайса. Третье — разговор с двумя-тремя разработчиками с рынка: готовы ли они работать на этом наборе и сколько это будет стоить.

И последнее — план выхода. Что будет, если технология перестанет развиваться или поменяет условия? Если ответа нет, лучше узнать это до запуска, а не через три года, когда переезд обойдётся в стоимость нового проекта.

Вопросы и ответы

Что входит в технологический стек сайта?

Языки и фреймворки фронтенда и бэкенда, база данных, кеш и очереди, поиск и инфраструктура для сборки и выкладки.

Какой стек выбрать для интернет-магазина?

Я выбираю открытый: Laravel, Next.js, Docker, Redis и PostgreSQL. Его знают десятки тысяч разработчиков, он выдерживает нагрузку и дружит с интеграциями.

Можно ли поменять стек на ходу?

Можно, но это дорого. Надёжнее переносить систему частями: новый модуль на новом стеке, старый работает, пока не опустеет.

Почему стек важен для ИИ-агентов?

Агент лучше работает с популярными технологиями, типизированным кодом и строгими конвенциями. На экзотике он чаще ошибается, и проверять его приходится дольше.