Le client
EnergyHub est une société de logiciels dynamique basée à Brooklyn, New York, et le principal fournisseur de DERMS (système de gestion des ressources énergétiques distribuées) à la pointe de la technologie.
Le projet
Test de charge de la répartition - APIs partenaires fictives
Vue d'ensemble
EnergyHub travaille avec plus de 60 services publics en Amérique du Nord pour permettre aux services publics et à leurs clients de créer un avenir énergétique propre et distribué. La plateforme d'EnergyHub permet aux consommateurs de transformer leurs thermostats intelligents, leurs batteries, leurs véhicules électriques et d'autres appareils intelligents en centrales électriques virtuelles, afin de maintenir la stabilité du réseau et de permettre une plus grande pénétration des énergies renouvelables.
L'entreprise travaille sur une technologie qui permet à plus d'un million de personnes de réaliser des économies d'énergie et de coûts grâce à des partenariats avec les entreprises les plus prometteuses dans le domaine de l'internet des objets. EnergyHub est une filiale indépendante d'Alarm.com, la plateforme leader pour la propriété intelligemment connectée.
Le défi
La plateforme EnergyHub communique via les API des partenaires OEM (Original Equipment Manufacturer) (fabricants d'appareils) avec les appareils intelligents (thermostats, batteries et VE) installés dans les maisons. Lorsqu'un utilisateur de service public programme un événement de réponse à la demande (DR) sur la plateforme EnergyHub, une myriade de requêtes est déclenchée via les API des partenaires, activant des événements pour chaque marque d'appareil spécifique.
Les tests de charge ont représenté un défi particulier car EnergyHub ne peut pas héberger des milliers d'appareils de chaque partenaire ; cela ne serait ni rentable ni flexible. Le problème des tests de charge à grande échelle dans un environnement simulé a été un défi. Les questions suivantes ont été posées
1) Comment s'assurer que notre code fonctionnera dans un environnement où il y a plusieurs marques d'appareils avec des caractéristiques uniques ?
2) Quelles sont les limites de la plateforme ?
3) Quelles erreurs ou quels cas limites pouvons-nous simuler et corriger ?
La solution
La solution a consisté à créer une infrastructure de test personnalisée qui simule le scénario réel. Cette infrastructure se compose d'un environnement automatisé qui exécute un ensemble de tests prédéfinis et d'un échafaudage qui représente les API des partenaires.
Le serveur simule les demandes et les réponses des API des partenaires réels, et il simule ce que l'API réelle ferait en interne (c.-à-d. envoyer des événements DR à des appareils réels). Cela nous permet de simuler n'importe quel nombre d'appareils, de recréer n'importe quel scénario de cas limite et de reproduire n'importe quel comportement de production à des fins d'Improving et de débogage dans un environnement sûr. Cela permet également à EnergyHub de pousser son système jusqu'à ses limites, et de trouver et d'éliminer les goulets d'étranglement avant qu'ils ne soient rencontrés en production.
Le nombre d'appareils gérés ne cessant d'augmenter, il devient de plus en plus essentiel de garder une longueur d'avance.
Les avantages pour l'entreprise
Bien qu'il s'agisse d'un projet en cours et qu'il ait été mis en œuvre progressivement, les avantages ont été réalisés dès le premier jour. La plateforme d'EnergyHub continue de se développer, contrôlant plus d'énergie que l'État d'Hawaï. EnergyHub dispose de l'infrastructure nécessaire pour continuer à contrôler en toute sécurité des millions de thermostats, de batteries et de véhicules électriques, afin de protéger le réseau au fur et à mesure de sa décarbonisation.
Mark O'Neill, Vice-président de l'ingénierie, EnergyHub
Pourquoi Improving ?
EnergyHub a fait appel à l'équipe Nearshore d'Improving pour accélérer la mise en œuvre et respecter le budget. Notre équipe Nearshore talentueuse a fourni des ingénieurs API, DevOps, QA et gestion de programme, travaillant avec AWS, Java et Python.
Démarrer
Découvrez comment Improving peut vous aider à démarrer en nous contactant dès aujourd'hui à l'adresse suivante sales@improving.com ou en remplissant un formulaire de contact via le lien ci-dessous.