Как мы перевезли проект с ASP.NET на Falcon Space: экономия на доработках в 3 раза

Как мы перевезли проект с ASP.NET на Falcon Space: экономия на доработках в 3 раза

У многих компаний есть «историческое» ПО: самописная CRM, внутренний портал, система учёта проектов. Когда-то она была современной, но сейчас каждый чих требует недели на доработку, баги множатся, а штат программистов раздут. И всё это на старом ASP.NET Web Forms или даже на PHP-фреймворке, который никто не поддерживает.

Мы столкнулись с такой ситуацией внутри своей компании. У нас была старая система учёта проектов, финансов, задач на ASP.NET MVC. Она работала, но развивать её было мучительно. Мы приняли решение перенести всё на Falcon Space. Расскажу, как это сделали и сколько сэкономили.

Старая система: боль и страдания

Исходная система (назовём её Legacy) была написана на классическом ASP.NET MVC с Entity Framework. База данных — MS SQL Server. Функционал:

Проблемы, которые накопились за 5 лет:

Мы терпели до тех пор, пока количество запросов на доработки не превысило 5-6 в неделю. Стало понятно: надо менять платформу.

Почему выбрали Falcon Space

Мы решили мигрировать на собственную же платформу Falcon Space. Причины:

Плюс была важная задача: сохранить существующую базу данных (MS SQL Server), не теряя данные, и постепенно перевозить функционал, чтобы система не простаивала.

Как проходила миграция: пошагово

Мы разбили процесс на этапы, чтобы не останавливать бизнес.

Этап 1. Подготовка и пилот (1 месяц)

Установили Falcon Space на новый поддомен. Создали базовые таблицы, скопировали справочники (проекты, клиенты, сотрудники) из старой БД через скрипты. Реализовали аутентификацию — пользователи могли заходить и в старую, и в новую систему с теми же логинами.

Затем перенесли модуль «Проекты» — самый важный. Написали SQL-процедуры для отображения списка проектов, карточки проекта, задач по проекту. В старой системе эти функции занимали около 1000 строк кода на C#. В новой — 5 хранимых процедур по 20-30 строк каждая.

Сотрудников попросили работать параллельно: основные операции в старой системе, но заходить в новую для тестирования. Через месяц мы перевели просмотр проектов полностью, старая система осталась только для редактирования сложных объектов.

Этап 2. Перенос оперативной логики (2 месяца)

Перенесли модуль задач и timesheets. Сотрудники стали отмечать время в новой системе. Для этого использовали стандартные компоненты Falcon Space: таблица с inline-редактированием, фильтры по датам, экспорт в Excel.

Параллельно перенесли финансовый блок: счета и платежи. Здесь было сложно — старая система имела сложную логику расчёта НДС и договоров. Но в SQL мы повторили её один в один, причём производительность выросла, потому что расчёты происходят прямо в БД без лишних слоёв.

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

Этап 3. Отчёты, баг-трекер и отключение Legacy (2 месяца)

Баг-трекер перенесли как набор таблиц (bugs, comments, statuses) и страницы со списком багов и карточкой. Функционал поиска, фильтрации, приоритетов — всё есть в платформе из коробки.

Отчёты для руководства (финансовые, по проектам, загрузке сотрудников) сделали в виде дашбордов с графиками (диаграммы Ганта, круговые диаграммы). Для этого использовали стандартные виджеты + немного JavaScript.

Когда функциональность новой системы покрыла 95% старой, мы переключили DNS на новый сервер. Старую систему отключили, но оставили доступной в архиве на случай, если понадобится восстановить какие-то данные.

Общее время миграции — 5 месяцев (с учётом параллельной работы).

Результаты и экономия

После миграции мы получили:

Мы также получили возможность быстро делать «горячие правки» прямо из кабинета разработчика, не отвлекая команду.

Из статьи, которую мы написали по этому поводу: «Самые лучшие решения принимаются, когда ты хорошо знаешь техническую часть и глубоко понимаешь бизнес-требования (т.к. ты их сам разработал из текущей реальной необходимости). У нас не было необходимости делать большое ТЗ на систему с дальнейшей приемкой результата. Система шлифуется практически еженедельно. Самые лучшие решения приходят постепенно, в процессе работы в рамках системы, а не на этапе начальной проработки». (История создания платформы).

Что делать, если у вас старая система

Если вы узнали свою ситуацию (медленные доработки, дорогие программисты, страх что-то менять), вот вам план:

  1. Проведите аудит. Выпишите ключевые сущности (клиенты, заказы, продукты, отчёты) и бизнес-логику.
  2. Оцените объём переноса. Сколько таблиц, сколько хранимых процедур нужно переписать? Обычно это 2-4 месяца работы для SQL-специалиста.
  3. Выберите пилотный модуль. Перенесите его на Falcon Space, запустите в параллельном режиме.
  4. Обучите сотрудников. Интерфейс на Bootstrap обычно не вызывает проблем.
  5. Постепенно отключайте старую систему.

Мы предлагаем услуги по миграции с любых платформ (PHP, Java, .NET, 1С) на Falcon Space. Стоимость зависит от объёма — ориентировочно 300 000 — 800 000 руб. Окупаемость за счёт снижения затрат на поддержку — 6-12 месяцев.

Напишите нам, мы проведём бесплатную предварительную оценку сложности переноса. Пришлите описание вашей текущей системы и требования — ответим сроками и бюджетом.

P.S. Если вы хотите не переносить, а создать новую систему с нуля на Falcon Space, у нас есть готовые решения и большой опыт. В любом случае — мы поможем вам выбраться из legacy-болота.

Страница-источник на сайте falconspace.ru