BurnRate повышает доход с помощью Blazor

Логотип BurnRate

Клиент
BurnRate

Продукты и службы
Blazor
ASP.NET
Azure SQL

Промышленность
Программное обеспечение и консультации

Размер организации
Малый (от 1 до 100 сотрудников)

Страна/регион
Соединенные Штаты Америки

Познакомьтесь с Робертом МакЛоузом, ветераном .NET и опытным предпринимателем, который стремится помогать людям добиваться успеха. На протяжении всей своей карьеры МакЛоуз был свидетелем того, как венчурные капиталисты (VC) и их сотни миллиардов инвестиций не смогли значительно улучшить показатели успеха стартапов. Даже после 50 лет венчурных инвестиций по крайней мере 70 процентов компаний по-прежнему терпят неудачу на каждом этапе роста.

Эта статистика встревожила МакЛоуза. Таким образом, он решил помочь основателям и руководителям по доходам систематизировать процесс найма и наметить свой собственный курс роста, не возясь с формулами электронных таблиц. Он увидел возможность для технологий сделать некоторые ценные и конкретные расчеты, которые сделают планирование масштабируемого роста более простым и точным.

Представление плана приема на работу в приложении BurnRate

Построение человеческого алгоритма

Много лет назад МакЛоуз создал инфраструктуру приложений с использованием ASP.NET для создания продукта финансового анализа в сфере коммерческой недвижимости. Модели наращивания потенциала для жилых комплексов привели его к изучению моделей объема продаж SaaS и того, как трудоспособность человека влияет на способность компании получать доход.

Именно тогда ему пришла в голову идея BurnRate, системы планирования доходов, спроса и численности персонала для команд по выходу на рынок. МакЛоуз считал, что полагаться на интуицию и догадки для определения уровня укомплектования персоналом ключевых команд по доходам, таких как маркетинг, продажи и сопровождение клиентов, не является устойчивым путем к росту.

Вместо этого он считал, что есть научный путь решения этого вопроса: алгоритм, который может помочь компаниям расти умнее, используя то, что он назвал "Алгоритм людей". По его словам, "эти отделы [по работе с клиентами, маркетингу и продажам] отвечают за то, чтобы деньги приходили в компанию в первую очередь, поэтому было важно сделать правильные расчеты и сделать их достаточно простыми, чтобы сотрудники, отвечающие за доходы, могли использовать их интуитивно".

Выбор правильного технологического стека

Опыт МакЛоуза в финансовой математике научил его, что языков программирования, использующих математику с плавающей запятой, таких как JavaScript, недостаточно для построения финансовых систем. Основа для этого алгоритма должна быть на C#, чтобы обеспечить надежные результаты, которые можно было бы последовательно проверять.

Когда он покинул свою предыдущую компанию, чтобы основать BurnRate, ему пришлось оставить свою структуру приложений и заново изобрести ее с нуля. Первый выпуск .NET Core только что был выпущен, поэтому это было идеальное время для его перестройки для нужд современной эпохи.

Серверная часть была достаточно простой, с Azure SQL и Microsoft Restier более чем способными обеспечить потребности проекта в запрашиваемом API. В .NET Core его развивающийся "Алгоритм людей" был молниеносно быстр и способен выполнять очень сложные вычисления на основе высокоструктурированных данных за доли секунды.

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

"Наложение сценариев, родительских сценариев, временных шкал и запланированных результатов в сравнении с фактическими [результатами] в одной модели хватало, чтобы возникло головокружение. Требовались месяцы напряженной работы и многократные попытки, чтобы заставить модель работать", — сказал он. МакЛоуз говорит, что количество модульных тестов, которые BurnRate использует в своем алгоритме для обеспечения правильной функциональности, "вероятно, на порядки выше, чем у большинства других компаний, создающих свои приложения. Мы просим компании принимать решения о будущем всего их бизнеса с помощью этой платформы. Мы не можем позволить совершать ошибки".

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

С внешним интерфейсом возникли другие проблемы. МакЛоуз начал создавать прототип пользовательского интерфейса BurnRate, используя комбинацию Webpack, TypeScript и Knockout, но столкнулся с многочисленными препятствиями. В то время в Webpack не было определений TypeScript, чтобы облегчить настройку сборок.

"В JavaScript — языке, где все может быть чем угодно, и все может быть заменено во время выполнения — сбой является настройкой по умолчанию. Успех должен быть заработан, как правило, через обширные душевные страдания", — сказал МакЛоуз.

Когда у него наконец все заработало и появился первый полностью функциональный прототип, команда столкнулась с проблемами масштабирования, особенно при составлении планов найма для компаний с сотнями сотрудников.

"Когда мы пытались понять, как сделать его масштабируемым и обрабатывать обновления пользовательского интерфейса, пересчеты и серверную часть, мы [шли] назад", — сказал он. "В браузере происходило все больше и больше рывков при попытке преобразования для просмотра".

Как технология Blazor проложила путь к масштабируемости

Blazor вышел на рынок примерно в это же время, и это была новая интерфейсная технология.

"Обещание сквозного использования C# в браузере с минимальным JavaScript было слишком хорошим, чтобы его игнорировать", — сказал МакЛоуз.

По словам МакЛоуза, использование C# между клиентской и серверной сторонами не только сделало разработку приложений "намного проще", но и сыграло решающую роль в том, чтобы сделать пользовательский интерфейс платформы BurnRate таким же надежным, как и ее вычисления.

Мы можем писать модульные тесты на том же языке, на котором пишем внутренний код. Это грандиозно! Почему бы вам не выполнять сборку таким образом? Это устранило тысячи строк кода и было интуитивно понятным для любого, кто провел хотя бы пять секунд в мире WPF".

Роберт МакЛоуз, основатель BurnRate

С Blazor компания BurnRate смогла двигаться "очень, очень быстро". Вместо трех лет команда создала рабочий прототип Blazor за несколько недель и полностью перенесла несколько сотен тысяч строк кода менее чем за год.

Значительная часть этого времени была потрачена на создание новых инструментов с открытым исходным кодом, чтобы другие компании также могли быстрее создавать приложения Blazor — подход, который соответствует этике МакЛоуза.

Люди склонны забывать, что при создании такой платформы, как BurnRate, вам нужно не только приложение, ориентированное на клиента, но и приложение, стоящее за приложением, для внесения изменений в базу данных и администрирования системы", — сказал он.

"Итак, мы создали BlazorEssentials — библиотеку, которая включает архитектурный стиль "Модель — представление — модель представления" (MVVM) из XAML в Blazor. Это позволяет нам четко отделить сбор данных от отображения данных в наших приложениях. Это обеспечивает уровень простоты и согласованности в архитектуре наших приложений. Теперь 100 процентов нашей кодовой базы можно тестировать на одном языке с предсказуемыми шаблонами.

Использование Azure DevOps для высокоавтоматизированной непрерывной интеграции и непрерывной доставки (CI/CD) позволяет команде BurnRate двигаться еще быстрее.

"Будь то новое приложение или новая служебная программа для существующего приложения, мы можем отправить их в производство в считанные часы", — сказал МакЛоуз.

По мере расширения BurnRate требовалось обеспечить стабильность своего продукта, чтобы он все больше внедрялся в основные повседневные операции клиентов. МакЛоуз доверился Microsoft.

Доставка решений без компрометации

"Я выбрал Microsoft очень давно, и Microsoft никогда меня не подводила", — сказал он.

МакЛоуз — ветеран .NET с 23-летним стажем и пятикратный обладатель звания Microsoft MVP, его вклад в работу с открытым исходным кодом составил более 1,4 миллиарда загрузок. По сей день он продолжает развиваться вместе с корпорацией Майкрософт, зная, что есть ресурсы и сообщество для совместного создания великих результатов. С помощью Blazor команда BurnRate смогла создать приложение и реализовать видение McLaws без компромиссов.

По его мнению, "никогда не существовало никакой другой платформы, кроме .NET, которая могла бы поддерживать такой [уровень] стабильной масштабируемости". По его словам, Blazor помог его бережливой команде создавать умнее и быстрее.

Я ждал такого уровня производительности всю свою карьеру. С .NET Core и Blazor еще никогда не было так легко воплотить мои мечты в реальность".

Роберт МакЛоуз, основатель BurnRate

Основатель BurnRate, Роберт Маклоз (Robert McLaws)

Готовы приступить?

Наше пошаговое руководство поможет вам запустить Blazor на вашем компьютере.

Начать