Выбор технологического стека часто воспринимают как техническую формальность, которую заказчик может полностью делегировать подрядчику. На практике это решение напрямую влияет на бюджет, сроки разработки и то, насколько легко проект будет развиваться через год или два. Разберём, как подойти к выбору стека осознанно — и заказчику, и специалисту.
Что такое технологический стек
Стек — это набор технологий, на которых строится сайт или сервис. Обычно он включает несколько слоёв:
- Клиентская часть (frontend) — то, что видит пользователь в браузере: HTML, CSS, JavaScript и фреймворки вроде React, Vue или Svelte.
- Серверная часть (backend) — логика, авторизация, работа с данными: Node.js, Python (Django, FastAPI), PHP (Laravel, Symfony), Go, Java и другие.
- База данных — реляционные (PostgreSQL, MySQL) или документные (MongoDB), плюс кэш вроде Redis.
- Инфраструктура — серверы, контейнеры, облако, CI/CD, мониторинг.
- CMS или платформа — если проект строится на готовом решении: WordPress, Tilda, 1С-Битрикс.
Стек — не список модных слов, а связная система. Технологии в нём должны сочетаться друг с другом и соответствовать задаче.
Главный принцип: стек подбирается под задачу
Самая частая ошибка — начинать с вопроса «на чём делать?». Правильный порядок обратный: сначала требования, потом технологии. Хороший стек — тот, что решает конкретную задачу с разумными затратами, а не тот, что сейчас популярен в статьях.
Лендингу с формой заявки почти никогда не нужны микросервисы и Kubernetes. Интернет-магазину с тысячами SKU и интеграцией со складом не подойдёт конструктор без возможности кастомизации. Стек — это следствие бизнес-логики, а не наоборот.
Вопросы, которые стоит задать до выбора технологий
- Какую задачу решает продукт и какие у него ключевые сценарии?
- Какой ожидается нагрузка — сто посетителей в сутки или сто тысяч одновременно?
- Планируется ли развитие: новые разделы, мобильное приложение, личный кабинет?
- Какие есть внешние интеграции — CRM, платежи, склад, аналитика?
- Кто будет поддерживать проект и есть ли у команды опыт в выбранных технологиях?
- Какие ограничения по бюджету, срокам и требованиям безопасности?
Ответы на эти вопросы сразу отсекают половину вариантов и делают выбор предметным.
Как выбирать по слоям
Frontend
Если сайт — это несколько статичных страниц, достаточно вёрстки и минимума JavaScript. Тяжёлый фреймворк (React, Vue, Angular) оправдан, когда есть интерактивные интерфейсы: личный кабинет, дашборды, сложные фильтры, обновления в реальном времени. Делать SPA ради красивого лендинга — лишняя сложность и расходы на поддержку.
Backend
Здесь решает не язык сам по себе, а экосистема и люди. PHP с Laravel — быстрый старт и большой рынок разработчиков. Python — если в проекте есть аналитика, ML или обработка данных. Node.js — когда фронтенд и бэкенд пишет одна команда на одном языке. Go — когда важна производительность и простота деплоя. Язык редко бывает узким местом — чаще им становится архитектура и дисциплина команды.
База данных
Для структурированных данных с транзакциями — заказов, платежей, пользователей — почти всегда выбирают реляционную базу: PostgreSQL или MySQL. Документные базы удобны для гибких, разнородных данных. Часто оптимален гибрид: основная база плюс кэш и поисковый движок.
Инфраструктура
На старте почти всегда разумнее облако с минимальной конфигурацией: меньше вложений, проще масштабироваться. Собственные серверы и Kubernetes имеют смысл, когда нагрузка и требования к контролю действительно это оправдывают.
Готовое решение или кастомная разработка
CMS выигрывает в скорости и цене запуска, но упирается в рамки платформы. Кастомная разработка даёт свободу, но требует больше времени, денег и квалифицированной поддержки. Промежуточный вариант — CMS с кастомными модулями: часто это лучшее соотношение для среднего бизнеса.
Типичные ошибки при выборе стека
- Выбор по моде. Технология, популярная в сообществе, может быть не нужна вашей задаче.
- Игнорирование поддержки. Стек должен быть кому поддерживать, иначе проект застрянет после запуска.
- Слишком много технологий. Каждый лишний инструмент — дополнительная точка отказа и расходы.
- Отсутствие планов на рост. Решение, которое не выдержит масштабирования, придётся переписывать.
- Ориентация на резюме подрядчика. «Мы умеем только X» — не аргумент в пользу X.
Как оценить выбор подрядчика
Заказчику не нужно разбираться в синтаксисе, но стоит задать несколько вопросов:
- Почему выбран именно этот стек — чем он лучше альтернатив для нашей задачи?
- Есть ли у вас примеры проектов на этих технологиях и кто поддерживает их сейчас?
- Как будет устроена инфраструктура и сколько стоит её содержание?
- Что произойдёт, если проект нужно будет передать другой команде?
Внятные ответы без ухода от темы — хороший сигнал. Туманные объяснения и «мы всегда так делаем» — повод насторожиться.
Коротко
Технологический стек — не цель, а инструмент. Начинайте с задач и ограничений, выбирайте технологии под них, учитывайте поддержку и рост, избегайте лишней сложности. Такой подход экономит бюджет на старте и нервы в процессе развития проекта.

Спасибо за разбор. Я как раз недавно выбирала стек для небольшого маркетплейса и поняла, что начинала не с требований, а с модных фреймворков. После статьи переписала список вопросов: нагрузки, интеграции, кто будет поддерживать. Стало гораздо понятнее, почему сначала бизнес-логика.
Вопрос: если проект стартует как MVP на WordPress, а через год нужен личный кабинет и мобильное приложение, стоит ли сразу закладывать headless или проще потом мигрировать? В статье верно сказано про развитие, но не совсем понял, где граница между преждевременным усложнением и заделом.
Граница обычно в стоимости смены курса. Если MVP нужен за месяц и нет команды под headless, WordPress с плагинами разумен. Но если уже известно, что будет личный кабинет, платежи и приложение, я бы сразу проверил, не упрётся ли выбранная CMS в эти сценарии. Headless не обязателен, но API-слой стоит проектировать заранее.
Не совсем согласна, что конструктор подходит только для простых лендингов. У нас на Тильде был каталог с оплатой и CRM, и он тянул до определённого момента. Но когда появились сложные фильтры и роли, всё равно пришлось уходить на кастом. То есть статья права про потолок, просто он у разных проектов наступает по-разному.