Аудит архитектуры решения на 1С-Битрикс: модульность, слои и готовность к росту
Оцениваем архитектуру проекта на 1С-Битрикс: модульность и слои, кастомизации ядра, выбор между инфоблоками и highload-блоками, паттерны и антипаттерны, связанность компонентов и готовность к масштабированию. На выходе — карта рисков и пошаговый план рефакторинга.
Из чего складывается аудит архитектуры
Смотрим не на отдельные строки кода, а на устройство решения в целом: как разделены слои, где живёт бизнес-логика, насколько связаны компоненты и выдержит ли архитектура рост нагрузки и функций.
Аудит архитектуры на 1С-Битрикс: что это и зачем
Аудит архитектуры решения на 1С-Битрикс — это оценка того, как устроен проект на уровне его конструкции, а не отдельных строк кода. Мы смотрим, как разделены слои представления, бизнес-логики и данных, где живёт логика приложения, насколько модули и компоненты независимы друг от друга и выдержит ли всё это рост каталога, заказов и трафика. Если код-ревью отвечает на вопрос «насколько чисто написана отдельная функция», то архитектурный аудит отвечает на вопрос «правильно ли вообще устроено решение и можно ли его дальше развивать без боли». Это взгляд сверху на скелет проекта.
Потребность в таком аудите обычно возникает в одной из трёх ситуаций. Первая — проект достался от другого подрядчика, и вы не понимаете, что внутри: где правлено ядро, какие интеграции держатся на честном слове и почему любая доработка занимает недели. Вторая — решение растёт, нагрузка увеличивается, а сайт начинает тормозить и падать на ровном месте, хотя сервер вроде бы мощный. Третья — вы планируете крупный рост: новый функционал, маркетплейс, B2B-кабинеты, и хотите заранее понять, выдержит ли текущая архитектура эту нагрузку или дешевле перестроить фундамент сейчас.
Что именно мы оцениваем
Архитектура на Битрикс — это не абстракция, а вполне конкретные вещи, которые можно проверить и измерить. Мы разбираем модульность: есть ли в проекте собственные модули и сервисный слой или вся логика размазана по шаблонам компонентов, файлам init.php и result_modifier. Проверяем слои: отделено ли представление от бизнес-логики, не лезут ли SQL-запросы прямо в шаблоны, используется ли ORM и события вместо прямых правок. Отдельно смотрим на кастомизации ядра — самый дорогой в поддержке антипаттерн, когда обновление платформы превращается в риск сломать половину сайта.
Ключевые направления архитектурного аудита:
- модульность и наличие сервисного слоя вместо логики в шаблонах и init.php;
- разделение слоёв представления, бизнес-логики и данных;
- прямые правки ядра и компонентов, мешающие обновлениям платформы;
- выбор хранилища данных: инфоблоки против highload-блоков и собственных таблиц;
- паттерны и антипаттерны: события и ORM против прямых SQL и хаков;
- связанность и зацепление модулей, компонентов и интеграций;
- готовность к масштабированию: кэширование, тяжёлые выборки, фоновые задачи, обмен с 1С.
Инфоблоки, highload-блоки и слой данных
Отдельный и очень практичный блок аудита — это выбор хранилища. На Битрикс данные можно держать в инфоблоках, в highload-блоках, в собственных таблицах через ORM. Часто проблема производительности растёт именно отсюда: справочники на сотни тысяч записей лежат в инфоблоках, где каждое свойство — это отдельная строка в таблице значений, и выборка превращается в десятки джойнов. Мы показываем, какие сущности стоит перенести в highload-блоки или отдельные таблицы, где это даст кратный прирост скорости, а где трогать ничего не нужно, потому что инфоблок справляется и удобнее в поддержке.
Так же внимательно мы относимся к связанности. Когда модули и компоненты жёстко зацеплены друг за друга, любое изменение в одном месте тянет за собой правки в пяти других, тестировать становится дорого, а каждый релиз — лотерея. Мы фиксируем такие узлы и показываем, как развязать зависимости через события, интерфейсы и сервисный слой, чтобы части системы можно было менять независимо.
Что вы получаете на выходе
Результат аудита — это не список замечаний в свободной форме, а структурированный отчёт, понятный и техническому специалисту, и руководителю. В нём карта архитектуры решения, перечень найденных рисков с приоритетами и оценкой влияния на бизнес, разбор каждого антипаттерна с объяснением, чем он грозит, и пошаговый план рефакторинга: что делать в первую очередь, что можно отложить, а что трогать не стоит. По каждой рекомендации мы даём ориентир по трудоёмкости, чтобы вы могли планировать бюджет и очерёдность работ, а не получали абстрактное «всё плохо, переписывайте».
Важно, что аудит архитектуры остаётся независимым. Мы одинаково честно работаем и с проектами, которые делали не мы: задача — дать вам объективную картину состояния решения и обоснованный план, а не повод продать переписывание с нуля. Часто по итогам выясняется, что фундамент здоровый и достаточно точечного рефакторинга узких мест, и мы прямо об этом говорим. В тех случаях, когда архитектура действительно исчерпала себя, мы показываем это цифрами и аргументами, чтобы решение о перестройке вы принимали осознанно.
От разбора слоёв к карте рисков и плану
Мы поднимаемся от хранилища данных к бизнес-логике и представлению, отмечаем кастомизации ядра и узкие места, а затем сводим всё в карту рисков с приоритетным планом рефакторинга.
Кто и как оценивает архитектуру проекта
| Критерий | Свои силами | Фрилансер | Студия B2Bsite |
|---|---|---|---|
| Объективность оценки | Замыленный взгляд на своё же решение | Поверхностно, по доступному коду | Независимый взгляд по 40+ критериям |
| Формат результата | Нет, оцениваем по ощущениям | Редко, чаще словесно | Карта рисков с приоритетами |
| Глубина анализа | Видны симптомы, не причины | Фокус на отдельных файлах | Доходим до корневых причин |
| Компетенции по платформе | Знание Битрикс ограничено командой | Зависит от конкретного человека | Профильная экспертиза по Битрикс |
| Ответственность за вывод | Риск защищать привычные решения | Нет ответственности за вывод | Отвечаем за обоснованность плана |
Как проходит аудит архитектуры
Работаем по понятному маршруту: от знакомства с проектом до защиты отчёта и плана рефакторинга на встрече с вашей командой.
Сколько занимает аудит архитектуры
Сколько стоит аудит архитектуры
Стоимость зависит от размера решения, числа интеграций и глубины разбора. Ниже — ориентиры; точную смету присылаем после короткого знакомства с проектом, бесплатно.
Быстрая оценка устройства решения и ключевых рисков.
- Обзор слоёв и модульности
- Поиск явных правок ядра
- Топ узких мест под нагрузкой
- Краткий отчёт с приоритетами
Полный разбор архитектуры с картой рисков и планом.
- Анализ слоёв, модулей и данных
- Разбор кастомизаций ядра
- Инфоблоки против highload-блоков
- Карта рисков с приоритетами
- План рефакторинга с оценкой
Глубокий аудит крупного решения и проектирование целевой архитектуры.
- Всё из «Аудит архитектуры»
- Нагрузочное профилирование
- Проектирование целевой схемы
- Разбор интеграций и обмена с 1С
- Защита и сопровождение плана
Экспресс-оценка от 40 000 ₽
Быстрая оценка устройства решения и ключевых рисков.
- Обзор слоёв и модульности
- Поиск явных правок ядра
- Топ узких мест под нагрузкой
- Краткий отчёт с приоритетами
Популярный Аудит архитектуры от 90 000 ₽
Полный разбор архитектуры с картой рисков и планом.
- Анализ слоёв, модулей и данных
- Разбор кастомизаций ядра
- Инфоблоки против highload-блоков
- Карта рисков с приоритетами
- План рефакторинга с оценкой
Аудит под рост от 180 000 ₽
Глубокий аудит крупного решения и проектирование целевой архитектуры.
- Всё из «Аудит архитектуры»
- Нагрузочное профилирование
- Проектирование целевой схемы
- Разбор интеграций и обмена с 1С
- Защита и сопровождение плана
Дополнительные опции
| Аудит интеграций и обмена с 1С | от 30 000 ₽ |
| Нагрузочное тестирование решения | от 40 000 ₽ |
| Сопровождение рефакторинга по плану | от 60 000 ₽ |
Сколько съедает плохая архитектура
Прикиньте, сколько денег уходит впустую из-за того, что каждая доработка стоит дороже и дольше, чем должна, на проекте с запущенной архитектурой. Аудит и рефакторинг возвращают эти потери.
Оценка по формуле: часы в месяц × доля на борьбу с архитектурой × стоимость часа. Это ориентир переплаты, которую устраняет рефакторинг, а не точный расчёт.
Подберём формат аудита под ваш проект
Ответьте на несколько вопросов о размере решения, интеграциях и планах роста — предложим подходящий формат аудита и пришлём ориентир по стоимости и срокам.
Кейсы аудита архитектуры
Что говорят о нашем аудите архитектуры
На что можно рассчитывать по договору
Архитектурные вопросы, которые задают чаще всего
Это не теория из учебника, а закономерности из реальных проектов на Битрикс. Каждый ответ — позиция нашей команды.
Рефакторинг архитектуры или переписывание с нуля
Когда проект на Битрикс начинает буксовать — тормозит, ломается при обновлениях, любая доработка занимает недели, — первая мысль обычно радикальная: переписать всё с нуля. Иногда это действительно единственный путь, но гораздо чаще архитектуру можно вылечить точечным рефакторингом за долю стоимости переписывания. Проблема в том, что без честного аудита невозможно понять, что перед вами: здоровый фундамент с накопленным техническим долгом или решение, которое исчерпало себя. Ниже разбираем, как мы это определяем, какие антипаттерны встречаем чаще всего и как строим план, который реально приводит проект в порядок.
Почему архитектура важнее, чем чистота отдельного кода
Можно написать каждую функцию идеально чисто и при этом получить неподдерживаемое решение, если оно неправильно устроено на уровне конструкции. И наоборот: проект с местами небрежным кодом, но грамотной архитектурой развивается легко и предсказуемо. Архитектура определяет, насколько дёшево вносить изменения, как система ведёт себя под нагрузкой и можно ли менять одну часть, не ломая другую. Именно поэтому архитектурный аудит смотрит не на стиль кода, а на скелет: слои, модули, хранилища данных, связи между компонентами. Детальную проверку самого кода мы выносим в отдельный аудит кода на Битрикс, а здесь сознательно поднимаемся на уровень выше.
На практике именно архитектурные ошибки стоят бизнесу дороже всего. Они не видны на демонстрации и не всплывают в первые месяцы, но накапливаются как технический долг под процент: каждая новая фича ложится на кривой фундамент, добавляет связей и делает следующую доработку ещё дороже. В какой-то момент команда тратит больше времени на борьбу с архитектурой, чем на создание ценности, и проект фактически останавливается в развитии, хотя формально работает.
Антипаттерны, которые мы встречаем чаще всего
Первый и самый дорогой — прямые правки ядра. Когда логику добавляют, редактируя файлы платформы напрямую, каждое обновление превращается в риск сломать половину сайта, и команда годами сидит на устаревшей версии с известными уязвимостями. Вторая частая беда — бизнес-логика в шаблонах: расчёты, запросы и условия живут в result_modifier, в шаблонах компонентов и в init.php, который разрастается до тысяч строк. Такую логику невозможно нормально тестировать и переиспользовать, а любая её правка задевает представление.
Третий антипаттерн — прямые SQL-запросы по таблицам ядра в обход ORM. Они ломаются при обновлениях, не учитывают кэширование и прав доступа и становятся миной замедленного действия. Четвёртый — неправильный выбор хранилища: тяжёлые справочники в инфоблоках там, где напрашиваются highload-блоки или отдельные таблицы, из-за чего выборки превращаются в десятки джойнов по таблице значений свойств. Пятый — жёсткая связанность: модули и компоненты так зацеплены друг за друга, что изменение в одном месте тянет каскад правок в других. Каждый из этих антипаттернов мы не просто фиксируем, а оцениваем по влиянию на бизнес и стоимости устранения.
Как мы определяем, что лечить, а что переписывать
Ключевой вопрос аудита — соотношение цены рефакторинга и цены переписывания. Мы оцениваем долю кода, которую придётся трогать, чтобы устранить корневые риски, насколько эта работа изолируема и можно ли вести её итерациями без остановки продаж. Если основные проблемы локализованы в нескольких узлах — например, в выборках по каталогу и в паре правок ядра, — почти всегда выгоднее точечный рефакторинг. Переписывание оправдано, когда архитектурные изъяны пронизывают всё решение, когда платформа или подход устарели настолько, что развитие на них дороже нового старта, или когда бизнес-модель изменилась и старая система больше не отражает реальные процессы.
Эту развилку мы показываем цифрами, а не на словах. По каждому крупному риску даём оценку трудоёмкости рефакторинга и сравниваем с гипотетической стоимостью переписывания соответствующей части. В большинстве случаев выясняется, что фундамент достаточно здоров и проект можно привести в порядок поэтапно. Если же архитектура исчерпала себя, мы честно об этом говорим и помогаем спроектировать целевую схему. Когда речь заходит о новой системе, мы подключаем компетенции из направления разработки B2B-платформ на Битрикс, чтобы целевая архитектура изначально была спроектирована под рост и нагрузку.
Слои, модули и сервисный слой
Здоровая архитектура на Битрикс держится на разделении ответственности. Слой данных отвечает за хранение и выборку — инфоблоки для контента, highload-блоки и собственные таблицы через ORM для больших справочников и служебных сущностей. Слой бизнес-логики живёт в собственных модулях и сервисах, ничего не зная о том, как данные будут показаны. Слой представления — компоненты и шаблоны — только отображает то, что подготовила бизнес-логика. Когда эти слои перемешаны, любое изменение расползается по всему проекту; когда разделены — части системы можно менять независимо.
Поэтому в аудите мы отдельно проверяем наличие сервисного слоя и собственных модулей. Их отсутствие — не приговор, но сигнал, что логика, скорее всего, размазана по шаблонам и обработчикам. Мы показываем, какие куски логики стоит собрать в сервисы, как организовать модуль под вашу предметную область и как через события подключать поведение, не трогая ядро и не плодя жёстких связей. Это и есть фундамент, на котором проект сможет расти годами без накопления непосильного технического долга.
Готовность к масштабированию и нагрузке
Отдельный пласт аудита — поведение архитектуры под ростом. Решение, которое бодро работает на тысяче товаров и сотне заказов в день, может лечь на десятках тысяч позиций и тысячах заказов, если в нём не продумано кэширование, тяжёлые выборки идут на каждый хит, а обмен с 1С блокирует основной поток. Мы смотрим, где живут узкие места: какие страницы собирают данные неэффективно, какие операции стоит увести в фоновые задачи, где не хватает кэша или, наоборот, кэш сбрасывается слишком агрессивно. Эти находки мы стыкуем с результатами профилирования, а при необходимости — с отдельным техническим аудитом Битрикс, чтобы цифры подтверждали выводы об архитектуре, а не оставались предположениями.
Масштабируемость — это не только про сервер помощнее. Чаще потолок упирается именно в архитектуру: в жёсткие связи, которые мешают вынести часть нагрузки, в неудачное хранилище, в синхронные интеграции, которые держат пользователя в ожидании. Мы показываем, какие изменения дадут запас прочности под ваш прогноз роста, и что из этого критично сделать до запуска новой нагрузки, а что можно отложить. Так вы вкладываетесь в производительность точечно, а не переплачиваете за абстрактную оптимизацию всего подряд.
Как выглядит отчёт и план рефакторинга
Главная ценность аудита — не сам факт находок, а то, в каком виде вы их получаете. Отчёт начинается с карты архитектуры: как устроено решение, где слои, модули, хранилища и интеграции. Дальше идёт реестр рисков, где каждый пункт снабжён приоритетом, оценкой влияния на бизнес и стоимостью устранения. Завершает отчёт пошаговый план рефакторинга, разбитый на этапы: что делать в первую очередь, потому что это снимает самые дорогие риски, что можно отложить и что трогать не стоит, потому что выгода не покрывает усилий.
Мы специально делаем отчёт двухуровневым. Технический специалист находит в нём конкретику: какие файлы и компоненты переделать, как развязать зависимости, куда перенести данные. Руководитель видит верхнеуровневую картину: где риски для бизнеса, сколько стоит их устранение и в каком порядке вкладываться. Благодаря этому план превращается не в пожелание на полку, а в рабочий бэклог, который можно сразу ставить в работу — силами вашей команды, нашей или совместно.
Возражения, которые мы слышим чаще всего
«У нас всё работает, зачем аудит». Работает — не значит здорово устроено. Архитектурные риски не видны, пока не приходит нагрузка, обновление или крупная доработка, и тогда устранять их приходится в авральном режиме и втридорога. Аудит — это страховка: вы заранее знаете слабые места и устраняете их планово. «Боимся, что нам просто продадут переписывание». Мы работаем наоборот: наша задача — дать объективную картину, и чаще всего вывод в том, что фундамент здоров и хватит точечного рефакторинга. Переписывание мы рекомендуем только тогда, когда можем обосновать это цифрами.
«Проект делали не вы, разберётесь ли». Да, мы регулярно работаем с чужим кодом — это и есть типичная задача аудита. Независимый взгляд со стороны часто полезнее, чем оценка авторами решения, которым сложно критиковать собственные привычные решения. «Это дорого». Аудит стоит несопоставимо меньше, чем месяцы борьбы с архитектурой или авральное переписывание под упавшей нагрузкой. Калькулятор на этой странице помогает прикинуть, сколько вы уже переплачиваете за каждую доработку из-за запущенной архитектуры.
Интеграции и обмен с 1С как часть архитектуры
На корпоративных проектах и в e-commerce архитектура почти никогда не заканчивается на самом сайте. К ней пристёгнуты обмен с 1С, платёжные и логистические сервисы, CRM, складские и аналитические системы. Эти связи мы разбираем так же внимательно, как внутреннее устройство решения, потому что именно интеграции часто оказываются самым хрупким и самым нагруженным местом. Мы смотрим, как организован обмен: идёт ли он синхронно, блокируя пользователя в ожидании ответа внешней системы, или вынесен в фоновые задачи и очереди; что происходит при недоступности 1С; не дублируются ли данные и не расходятся ли они между системами из-за гонок и отсутствия единого источника правды.
Типичная архитектурная ошибка здесь — размазать логику интеграции по обработчикам событий и агентам без единого слоя, который отвечал бы за обмен. В итоге никто в команде не может уверенно сказать, в каком порядке и при каких условиях данные уходят и приходят, а отладка сбоев превращается в археологию. Мы показываем, как собрать интеграции в обозримый слой с понятными точками входа, логированием и устойчивостью к сбоям внешних систем. Это снижает риски при росте оборота, когда объём обмена с 1С и нагрузка на интеграции растут быстрее, чем сам трафик сайта, и часто именно они первыми упираются в потолок.
Документация, команда и передача знаний
Архитектура живёт не только в коде, но и в головах команды, и это тоже предмет аудита. Мы оцениваем, насколько устройство решения задокументировано и воспроизводимо: есть ли описание модулей и схем обмена, понятен ли процесс развёртывания, можно ли быстро ввести в проект нового разработчика или всё держится на одном человеке, который помнит, почему здесь сделано именно так. Проекты с критической зависимостью от одного носителя знаний — это архитектурный риск не меньший, чем правки ядра: уход такого специалиста парализует развитие.
Поэтому в отчёте мы отдельно отмечаем места, где не хватает документации и где знания стоит зафиксировать в первую очередь. По итогам аудита у вашей команды появляется не только карта рисков, но и более ясное понимание собственного проекта: разработчики видят, как устроены слои и связи, а руководитель — где система держится на честном слове. Защита отчёта на встрече как раз и служит передаче этого понимания: мы проходим по находкам вместе, отвечаем на вопросы и помогаем команде договориться о приоритетах, чтобы план рефакторинга стал общим, а не спущенным сверху.
С чего начать
Начните с короткого разговора о проекте. Расскажите, что вас беспокоит — тормоза, страх обновлений, дорогие доработки или планы крупного роста, — и дайте доступ к коду и серверу. Мы проведём аудит, соберём карту рисков и пришлём пошаговый план рефакторинга с оценкой трудоёмкости, а затем защитим его на встрече с вашей командой. По итогам вы получите честную картину состояния архитектуры и понятный маршрут: что чинить в первую очередь, что отложить и стоит ли вообще переписывать. Обсудим ваш проект — и превратим архитектуру из источника проблем в опору для роста.
Частые вопросы об аудите архитектуры на Битрикс
Что такое аудит архитектуры простыми словами? +
Это оценка того, как устроен проект на уровне конструкции, а не отдельных строк кода. Мы смотрим, как разделены слои, где живёт логика, насколько связаны модули и выдержит ли решение рост. Проще говоря, проверяем, правильно ли построен скелет проекта и можно ли его дальше развивать без боли.
Чем аудит архитектуры отличается от аудита кода? +
Аудит кода отвечает на вопрос, насколько чисто и безопасно написаны отдельные функции и компоненты. Архитектурный аудит поднимается на уровень выше и отвечает на вопрос, правильно ли устроено решение в целом: слои, модули, хранилища данных, связи. Это взгляд на скелет, а не на отдельные мышцы.
Что значит «слои» в архитектуре на Битрикс? +
Это разделение ответственности: слой данных хранит и выбирает информацию, слой бизнес-логики обрабатывает её в собственных модулях и сервисах, слой представления через компоненты показывает результат. Когда слои разделены, части системы можно менять независимо. Когда перемешаны, любая правка расползается по всему проекту.
Что такое антипаттерн? +
Антипаттерн — это распространённое решение, которое кажется удобным, но в долгую вредит проекту. На Битрикс это, например, правки ядра напрямую, бизнес-логика в шаблонах и init.php, прямые SQL по таблицам ядра в обход ORM. Мы находим такие места и показываем, чем они грозят и как их исправить.
Кому нужен аудит архитектуры? +
Тем, кто получил проект от другого подрядчика и не понимает, что внутри; тем, у кого решение тормозит и падает под нагрузкой; и тем, кто планирует крупный рост и хочет заранее понять, выдержит ли архитектура. Во всех трёх случаях аудит даёт объективную картину и план действий.
Что вы проверяете в модульности проекта? +
Смотрим, есть ли в проекте собственные модули и сервисный слой или вся логика размазана по шаблонам компонентов, result_modifier и init.php. Отсутствие модулей не приговор, но сигнал, что логику стоит собрать в сервисы. Модульность напрямую влияет на скорость и безопасность доработок.
Почему логика в шаблонах и init.php — это плохо? +
Бизнес-логика в шаблонах, result_modifier и раздувшемся init.php плохо тестируется, не переиспользуется и задевает представление при каждой правке. Мы предлагаем вынести её в сервисный слой и собственные модули, чтобы развивать функционал быстрее и без риска сломать отображение.
Что такое сервисный слой и зачем он нужен? +
Сервисный слой — это набор классов, где живёт бизнес-логика, отделённая от хранения данных и от их отображения. Он делает логику тестируемой и переиспользуемой, а изменения — локальными. Мы показываем, какие куски логики стоит собрать в сервисы и как организовать модуль под вашу предметную область.
Как вы оцениваете связанность компонентов? +
Ищем узлы, где модули и компоненты жёстко зацеплены друг за друга, так что изменение в одном месте тянет каскад правок в других. Такие узлы дорого менять и тестировать. Мы показываем, как развязать зависимости через события, интерфейсы и сервисный слой, чтобы части системы менялись независимо.
Что такое зацепление и почему оно важно? +
Зацепление — это степень зависимости одного куска системы от другого. Чем оно сильнее, тем дороже изменения: правка тянет за собой соседние модули. Низкое зацепление — признак здоровой архитектуры, при которой можно менять и тестировать части по отдельности. Мы измеряем его и показываем, где оно избыточно.
Чем опасны прямые правки ядра? +
Когда логику добавляют, редактируя файлы платформы напрямую, каждое обновление рискует сломать половину сайта. Команда годами сидит на устаревшей версии с известными уязвимостями. Мы находим все такие места и показываем, как вынести логику в обработчики событий и собственный модуль, чтобы обновления стали безопасными.
В чём разница между инфоблоками и highload-блоками? +
Инфоблоки удобны для контента, но каждое свойство хранится отдельной строкой в таблице значений, поэтому выборки по большим справочникам тяжёлые. Highload-блоки хранят данные в плоской таблице и дают быстрые выборки на сотнях тысяч записей. Мы показываем, какие сущности перенести в highload-блоки, где это даст кратный прирост.
Почему каталог может тормозить из-за инфоблоков? +
Когда товаров и свойств много, выборка по инфоблоку превращается в десятки джойнов по таблице значений. На сотнях тысяч позиций это становится узким местом. Мы находим такие выборки, предлагаем перенос части данных в highload-блоки или отдельные таблицы и правильное кэширование. Скорость отдачи каталога после этого растёт кратно.
Чем плохи прямые SQL-запросы по таблицам ядра? +
Прямые SQL в обход ORM ломаются при обновлениях платформы, не учитывают кэширование и права доступа и становятся миной замедленного действия. Мы фиксируем такие запросы и показываем, как переписать их на ORM и API платформы, чтобы они переживали обновления и работали предсказуемо.
Когда стоит использовать собственные таблицы через ORM? +
Когда сущность не контент и не вписывается в инфоблок: служебные справочники, журналы, связи многие-ко-многим, большие объёмы записей с частыми выборками. Собственная таблица через ORM даёт контроль над структурой и индексами и быстрые запросы. Мы подсказываем, где такой подход оправдан, а где достаточно highload-блока.
Как вы оцениваете готовность к масштабированию? +
Смотрим, где живут узкие места под ростом: тяжёлые выборки на каждый хит, недостаток или агрессивный сброс кэша, синхронные интеграции, блокирующий обмен с 1С. Показываем, какие изменения дадут запас прочности под ваш прогноз роста и что критично сделать до запуска новой нагрузки, а что можно отложить.
Что выгоднее: рефакторинг или переписывание с нуля? +
Зависит от того, насколько изъяны локализованы. Если проблемы в нескольких узлах, выгоднее точечный рефакторинг. Переписывание оправдано, когда изъяны пронизывают всё решение или платформа устарела. Мы показываем эту развилку цифрами: оцениваем трудоёмкость рефакторинга и сравниваем со стоимостью переписывания.
Не предложите ли вы просто переписать всё с нуля? +
Нет, наша задача — объективная картина, а не продажа переписывания. Чаще всего вывод в том, что фундамент здоров и хватит точечного рефакторинга, и мы прямо об этом говорим. Переписывание рекомендуем только когда можем обосновать его цифрами и аргументами.
Можно ли вести рефакторинг без остановки проекта? +
Да, и это предпочтительный путь. Мы строим план так, чтобы работы шли итерациями: сначала снимаем самые дорогие риски, затем остальные, не останавливая продажи. Каждый этап изолирован и проверяем, поэтому проект продолжает работать, а архитектура постепенно приходит в порядок.
Что такое технический долг? +
Технический долг — это накопленные компромиссы в коде и архитектуре, которые ускорили запуск, но усложняют дальнейшее развитие. Как финансовый долг, он растёт под процент: каждая новая фича ложится на кривой фундамент и делает следующую дороже. Аудит показывает размер долга и план его планомерного погашения.
Что мы получаем по итогу аудита? +
Структурированный отчёт: карту архитектуры решения, реестр рисков с приоритетами и оценкой влияния на бизнес, разбор каждого антипаттерна и пошаговый план рефакторинга с ориентиром по трудоёмкости. Отчёт двухуровневый: конкретика для инженера и верхнеуровневая картина для руководителя.
Сколько занимает аудит архитектуры? +
Экспресс-оценка — от 3 дней, полный аудит архитектуры — от 7 дней, глубокий аудит крупного решения с проектированием целевой схемы — от 12 дней. Точный срок зависит от размера решения и числа интеграций. Мы фиксируем его до старта после короткого знакомства с проектом.
Сколько стоит аудит архитектуры? +
Экспресс-оценка обычно начинается от 40 000 рублей, полный аудит архитектуры — от 90 000, глубокий аудит под рост — от 180 000. Цена зависит от размера решения, числа интеграций и глубины разбора. Точную смету присылаем после короткого знакомства с проектом, бесплатно.
Сможете ли вы разобраться в чужом коде? +
Да, работа с чужим кодом — типичная задача аудита, мы делаем это регулярно. Независимый взгляд со стороны часто полезнее оценки авторами решения, которым трудно критиковать собственные привычные подходы. Нам нужны доступы к коду и серверу и короткая вводная встреча по истории проекта.
Поможете ли вы реализовать план рефакторинга? +
Да. План можно выполнять силами вашей команды, нашей или совместно. Мы предлагаем сопровождение рефакторинга: ведём работы по приоритетам из отчёта, контролируем, что архитектура движется к целевой схеме, и при необходимости подключаем профильные направления разработки.
Покажем пример отчёта по аудиту архитектуры
Пришлём обезличенный пример: как выглядит карта архитектуры, реестр рисков с приоритетами и пошаговый план рефакторинга. Разберём на близком к вашему проекте, что и в каком порядке стоит чинить.
Разберём архитектуру вашего проекта?
Расскажите, что беспокоит — тормоза, страх обновлений или планы роста. Проведём аудит, соберём карту рисков и пришлём пошаговый план рефакторинга с оценкой трудоёмкости.
- Ответим в течение рабочего дня
- Бесплатный аудит процессов и расчёт
- NDA и фиксированная смета