BurnRate génère des revenus grâce à Blazor
Client
BurnRate
Produits & services
Blazor
ASP.NET
Azure SQL
Secteur
Logiciels et conseil
Taille de l’organisation
Petite (1-100 employés)
Pays/région
États-Unis
Robert McLaws est un spécialiste de .NET et un entrepreneur chevronné qui a la passion d’aider les gens à réussir. Tout au long de sa carrière, McLaws a constaté que les investisseurs en capital-risque et leurs centaines de milliards d’investissements ne parvenaient pas à améliorer de manière significative le taux de réussite des start-up. Même après 50 ans d’investissements en capital-risque, au moins 70 % des entreprises échouent toujours à chaque étape de leur croissance.
Cette statistique a inquiété McLaws. Il a donc entrepris d’aider les fondateurs et les dirigeants d’entreprises à systématiser leur processus d’embauche et à tracer leur propre parcours de croissance sans s’embarrasser de formules de tableur. Il a vu une opportunité pour la technologie d’effectuer des calculs utiles et spécifiques qui rendraient la planification d’une croissance évolutive plus facile et plus précise.
Génération d’un algorithme humain
Il y a plusieurs années, McLaws avait créé une infrastructure d’application à l’aide de ASP.NET pour créer un produit d’analyse financière dans le domaine de l’immobilier commercial. La création de modèles de capacité pour les complexes d’appartements l’a amené à se pencher sur les modèles de capacité de vente SaaS et sur la manière dont la capacité humaine de travail influe sur la capacité d’une entreprise à générer des revenus.
C’est alors qu’il a eu l’idée de BurnRate, un système de planification du chiffre d’affaires, de la demande et des effectifs pour les équipes de commercialisation. McLaws estimait que le fait de se fier à son intuition et à ses estimations pour déterminer les niveaux de personnel des principales équipes de chiffre d’affaires, notamment les équipes responsables du marketing, des ventes et de la réussite client, n’était pas un moyen durable pour assurer la croissance de l’entreprise.
Au lieu de cela, il pensait qu’il existait une science : un algorithme qui pourrait aider les entreprises à se développer de manière plus intelligente en utilisant ce qu’il a appelé l’\« Algorithme des personnes\ ». Selon lui, \« ces équipes [chargées de la réussite client, du marketing et des ventes] sont les premières responsables de l’entrée de l’argent dans l’entreprise. Il était donc essentiel d’effectuer les bons calculs, et de les rendre suffisamment simples pour que les équipes chargées des revenus puissent les utiliser intuitivement.\ »
Choisir la bonne pile technologique
L’expérience de McLaws en mathématiques financières lui a appris que les langages de programmation qui utilisent la virgule flottante, comme JavaScript, n’étaient pas suffisants pour créer des systèmes financiers. La base de cet algorithme devait être en langage C# pour fournir des résultats fiables qui pourraient être validés de manière cohérente.
Lorsqu’il a quitté son ancienne entreprise pour créer BurnRate, il a dû abandonner son infrastructure d’application et la réinventer à partir de zéro. La première version de .NET Core venait d’être publiée, c’était donc le moment idéal pour la repenser pour l’ère moderne.
Le back end était assez simple, grâce à Azure SQL et Microsoft Restier qui étaient largement capables de gérer les besoins d’API interrogeables du projet. Sur .NET Core, son \« Algorithme des personnes\ » en plein essor était très rapide et capable de traiter des calculs très complexes à partir de données hautement structurées en quelques fractions de seconde.
Cependant, l’organisation des données financières des entreprises de manière à leur permettre de créer plusieurs scénarios et de basculer de l’un à l’autre nécessitait une profondeur architecturale qu’il n’avait pas anticipée.
\« La superposition des scénarios, des scénarios parent, des échelles de temps et des résultats planifiés par rapport aux [résultats] réels dans un modèle a suffi à me faire tourner la tête. Il m’a fallu des mois de travail intense et de tentatives répétées pour que cela fonctionne », a expliqué McLaws. Selon lui, le nombre de tests unitaires que BurnRate effectue sur son algorithme pour en garantir le bon fonctionnement \« est probablement supérieur de plusieurs ordres de grandeur à ce que la plupart des autres entreprises génèrent avec leur application. Nous demandons aux entreprises de prendre des décisions sur l’avenir de l’ensemble de leur activité avec cette plateforme. Nous ne pouvons pas nous permettre de nous tromper.\ »
BurnRate a créé son propre cadre de test open source appelé Breakdance, afin d’augmenter la productivité des tests unitaires et d’écrire des tests plus cohérents en moins de temps.
Le serveur front-end présentait différents défis. McLaws a commencé à prototyper l’interface utilisateur de BurnRate en combinant Webpack, TypeScript et Migrate, mais a rencontré de nombreux obstacles. À l’époque, Webpack ne disposait pas de définitions TypeScript pour faciliter la configuration des builds.
\« Avec JavaScript, un langage dans lequel tout peut être n’importe quoi et où tout peut être remplacé au moment de l’exécution, l’échec est un paramètre par défaut. La réussite doit être gagnée, généralement au prix d’une longue période de stress\ », a expliqué McLaws.
Lorsqu’il a finalement réussi à obtenir son premier prototype entièrement fonctionnel, l’équipe a rencontré des problèmes de mise à l’échelle, en particulier lorsqu’il s’agissait de générer des plans d’embauche pour des entreprises comptant des centaines d’employés.
\« Lorsque nous avons essayé de comprendre comment la mettre à l’échelle et gérer les mises à jour de l’interface utilisateur, les recalculs et le côté serveur, nous avons reculé », a-t-il précisé. \« Le navigateur devenait de plus en plus saccadé au fur et à mesure que l’on essayait d’afficher des éléments.\ »
Comment Blazor a ouvert la voie à la scalabilité
Blazor est arrivé sur le marché à cette époque. Il s’agissait d’une nouvelle technologie frontale.
\« La promesse d’une utilisation de bout en bout de C# dans le navigateur avec un minimum de JavaScript était trop belle pour être ignorée\ », a déclaré Robert McLaws.
L’utilisation de C# entre le client et le serveur a non seulement rendu le développement d’applications \« tellement plus facile\ », selon McLaws, mais a également joué un rôle primordial pour rendre l’interface utilisateur de BurnRate aussi fiable que ses calculs.
Nous pouvons écrire des tests unitaires dans le même langage que celui dans lequel nous écrivons le code back-end. C’est génial ! Pourquoi voudriez-vous faire autrement ? Cela a permis de supprimer des milliers de lignes de code et de rendre l’application intuitive pour toute personne ayant passé ne serait-ce que cinq secondes dans l’univers WPF.\ »
Avec Blazor, BurnRate a pu évoluer \« très, très rapidement\ ». L’équipe a créé un prototype Blazor opérationnel en quelques semaines, au lieu de trois ans, et a complètement déplacé plusieurs centaines de milliers de lignes de code en moins d’un an.
Il a consacré une bonne partie de son temps à la création de nouveaux outils open source afin que d’autres entreprises puissent aussi créer des applications Blazor plus rapidement. Cette approche correspond à l’esprit d’entraide de Robert McLaws.
\« Les gens ont tendance à oublier que lorsque vous créez une plateforme comme BurnRate, vous n’avez pas seulement besoin d’une application orientée client, vous avez également besoin de l’application derrière l’application pour les modifications de la base de données et l’administration du système\ », a-t-il ajouté.
\« Nous avons donc créé BlazorEssentials, une bibliothèque qui permet d’utiliser le style architectural MVVM (modèle-vue-vue modèle) à partir de XAML dans Blazor. Cela nous permet de séparer proprement l’acquisition de données de l’affichage des données dans nos applications. Cela apporte un niveau de simplicité et de cohérence à l’architecture de nos applications. Désormais, 100 % de notre code base est testable dans un langage simple avec des modèles prévisibles.\ »
L’utilisation d’Azure DevOps pour l’intégration et la livraison continue (CI/CD) hautement automatisées permet à l’équipe de BurnRate de progresser encore plus rapidement.
\« Qu’il s’agisse d’une nouvelle application ou d’un nouvel utilitaire pour une application existante, nous pouvons passer à la production en quelques heures\ », a affirmé McLaws.
À mesure que BurnRate évoluait, il lui fallait assurer la stabilité de son produit afin de l’intégrer davantage aux opérations quotidiennes de ses clients. McLaws a fait confiance à Microsoft.
Des solutions sans compromis
\« J’ai choisi Microsoft il y a longtemps, et Microsoft ne m’a jamais laissé tomber\ », a-t-il déclaré.
Robert McLaws a 23 ans d’expérience dans le domaine de la technologie .NET et a été cinq fois MVP Microsoft. Ses contributions open source totalisent plus de 1,4 milliard de téléchargements. Aujourd’hui encore, il continue à développer avec Microsoft, conscient du fait qu’il existe des ressources et une communauté pour créer des choses exceptionnelles ensemble. Avec Blazor, l’équipe de BurnRate a pu créer l’application et réaliser le projet de McLaws, sans compromis.
À ses yeux, il n’y a jamais eu \« aucune plateforme autre que .NET capable de prendre en charge ce [niveau] de scalabilité stable\ », a-t-il précisé. Selon lui, Blazor a permis à son équipe de créer plus intelligemment et plus rapidement.
J’ai attendu toute ma carrière pour atteindre ce niveau de productivité. Avec .NET Core et Blazor, il n’a jamais été aussi facile de transformer mes rêves en réalité.\ »
Prêt à démarrer ?
Notre tutoriel étape par étape vous aidera à démarrer Blazor sur votre ordinateur.