La plate-forme Software-Defined Vehicle (SDV) Telemetry Cloud Simulation fournit une infrastructure évolutive à la demande pour exécuter des simulations de télémétrie de véhicules sur Google Cloud.
Le système vous permet de simuler des campagnes de télémétrie à partir d'un environnement Android Automotive virtuel (Cuttlefish) sans matériel physique. Il orchestre le cycle de vie de la simulation en recevant des requêtes, en créant des machines virtuelles (VM) Compute Engine temporaires, en exécutant des simulations dans des conteneurs Docker, en collectant et en important les résultats dans Cloud Storage, et en supprimant les ressources.
Cette approche fournit une plate-forme économique et hautement évolutive pour tester les pipelines de télémétrie, car les ressources ne sont consommées que lors de l'exécution de la simulation.
Objectif et fonctionnalités
Le système orchestre le cycle de vie de la simulation et abstrait la gestion de l'infrastructure sous-jacente.
- Évolutivité à la demande : le système ne crée des ressources (VM Compute Engine) que pendant la durée d'une simulation pour fournir un coût basé sur l'utilisation.
- Gestion de la simultanéité : le système applique une limite configurable aux simulations parallèles (par exemple, 5 par défaut). Il met en file d'attente les requêtes excédentaires et les planifie automatiquement lorsque des emplacements deviennent disponibles.
- Architecture basée sur des événements : le système utilise Cloud Functions et Pub/Sub pour une orchestration de workflow découplée et résiliente, qui inclut la gestion des requêtes, la planification, la finalisation et le nettoyage.
- Gestion intégrée des états : le système utilise une base de données Firestore pour suivre l'état et la configuration en direct de chaque simulation (par exemple,
PENDING,RUNNING,COMPLETEDouFAILED). - Gestion des artefacts : le système gère automatiquement le téléchargement des fichiers d'entrée requis et l'importation de toutes les sorties de simulation (par exemple, les rapports, les journaux, les rapports de bugs et les fichiers Logcat) dans Cloud Storage.
- Nettoyage des ressources : une tâche Cloud Scheduler automatisée empêche les fuites de ressources en nettoyant les VM orphelines ou les entrées de base de données.
Architecture
Le système utilise une architecture sans serveur basée sur des événements avec plusieurs services Google Cloud. Vous pouvez interagir avec le système à l'aide d'une interface utilisateur Web ou d'une API REST.
- Interaction utilisateur : vous pouvez utiliser la démonstration Web fournie, une application personnalisée ou interagir directement avec les points de terminaison de l'API.
- Couche d'orchestration
read-simulation: cette fonction vous permet d'interroger les simulations, le nombre de VM en cours d'exécution et le nombre maximal configuré de VM en cours d'exécution simultanément.receive-request: le système valide les requêtes par rapport à une liste d'autorisation stricte d'empreintes d'image et les publie dans Pub/Sub.schedule-simulation: Eventarc déclenche cette fonction en fonction des messages Pub/Sub ou des modifications Firestore. Il vérifie la limite de simultanéité et provisionne les VM.finish-simulation: l'agent appelle cette fonction à la fin d'une exécution pour mettre à jour l'état et déclencher le nettoyage.delete-simulation: cette fonction gère l'annulation manuelle et le nettoyage des ressources.
- Gestion des états (Firestore) : une base de données Firestore suit l'état (par exemple,
PENDING,RUNNING,COMPLETEDouFAILED) et la configuration de chaque simulation. Cette base de données stocke toutes les données d'exécution de la simulation. - Stockage des données (Cloud Storage) : le système stocke tous les fichiers liés à la simulation dans un bucket Cloud Storage. Cela inclut les fichiers de configuration d'entrée, les rapports de sortie, les journaux de l'appareil Cuttlefish , les rapports de bugs et les fichiers Logcat.
- Couche d'exécution (Compute Engine) :
- La fonction
schedule-simulationcrée une VM Compute Engine pour chaque simulation. La VM exécute le conteneur Dockersimulation-agent. simulation-agentextrait les fichiers d'entrée de Cloud Storage, démarre l'instance SDV et gère les interactions avec l'appareil virtuel Cuttlefish pour exécuter le simulateur de télémétrie et récupérer les données résultantes.
- La fonction
- Maintenance (Cloud Scheduler) : une tâche planifiée s'exécute régulièrement pour nettoyer toutes les ressources orphelines (par exemple, les VM en échec ou les entrées de base de données obsolètes) afin d'éviter les fuites de ressources.
Étapes suivantes
Pour commencer à utiliser Cloud Telemetry Simulation, consultez les guides suivants :
- Guide de déploiement : découvrez comment configurer l'infrastructure et créer l'agent de simulation.
- Guide de l'utilisateur : découvrez comment exécuter des simulations à l'aide de la démonstration Web ou de l' API REST.