Décrire SQL Edge
De nombreuses organisations ont des investissements substantiels dans l’infrastructure IoT. Une architecture de solutions IoT typique comprend des appareils IoT chargés de lire des capteurs environnementaux pour générer des données client. En règle générale, ces données sont traitées sur site avec des appareils Edge. De plus, un appareil IoT Edge peut exécuter des conteneurs compatibles Docker contenant une logique métier personnalisée ou des versions légères de services cloud comme Azure Stream Analytics, Azure Machine Learning, Azure Functions, Azure SQL, et plus encore. L’avantage d’IoT Edge est que le traitement se produit sur le réseau local, ce qui entraîne une boucle de rétroaction plus rapide si une action doit être effectuée, en réduisant en même temps le traitement cloud et les coûts de bande passante.
Azure SQL Edge est un moteur de base de données relationnelle optimisé spécialement conçu pour les charges de travail IoT. Il offre des fonctionnalités permettant d’envoyer en streaming, de traiter et d’analyser des données relationnelles et non relationnelles, telles que des données JSON, graphiques et de séries chronologiques. Azure SQL Edge est basé sur la dernière version du moteur de base de données SQL Server, le même moteur qui sert de base pour SQL Server et Azure SQL. Azure SQL Edge apporte des fonctionnalités de programmation, de performances, de sécurité et de traitement de requête T-SQL à Edge.
Avantages
Syntaxe et outils T-SQL familiers
Les développeurs et administrateurs SQL peuvent continuer à tirer parti de la syntaxe et des outils T-SQL familiers, car Azure SQL Edge est basé sur le moteur de base de données SQL Server. Parmi les outils disponibles, citons le portail Azure, SQL Server Management Studio, Azure Data Studio, Visual Studio Code et SQL Server Data Tools dans Visual Studio.
Portabilité
Azure SQL Edge est une version conteneurisée du moteur de base de données SQL Server optimisé pour IoT. Azure SQL Edge est déployable sur différents serveurs basés sur Windows et Linux capables d’exécuter le runtime IoT Edge, qu’il s’agisse de serveurs puissants à part entière ou d’appareils ARM plus petits.
Prise en charge de plusieurs états de connexion et synchronisation des données
Dans IoT, la connectivité Internet n’est pas toujours possible ou fiable. C’est pourquoi les modules IoT Edge doivent prendre en charge tous les états de connectivité. Azure SQL Edge prend en charge les scénarios connectés, déconnectés et hybrides semi-connectés. La synchronisation incrémentielle des données est possible avec le service Azure SQL Data Sync et la configuration des groupes de synchronisation pour synchroniser les tables que vous choisissez bidirectionnellement entre plusieurs bases de données dans les instances Azure SQL et SQL Server.
Le diagramme ci-dessous illustre le processus de synchronisation. Le processus de synchronisation utilise un agent de synchronisation sur Azure SQL Edge pour synchroniser les données avec la base de données Hub. Du point de vue du hub, le processus de synchronisation est piloté par une application de synchronisation guidée par des détails disponibles dans la base de données de synchronisation, où les métadonnées et les journaux de synchronisation sont stockés.
Streaming de données intégré et machine learning
Azure SQL Edge a une prise en charge intégrée pour le streaming de données vers et depuis plusieurs entrées et sorties. Cette fonctionnalité emprunte la même technologie que celle qui alimente Azure Stream Analytics et offre une introspection des données de série chronologique entrantes à l’aide de la détection d’anomalies, du fenêtrage temporel, de l’agrégation et du filtrage. Azure SQL Edge dispose également de fonctions T-SQL qui prennent en charge l’interrogation de données de série chronologique. De plus, Azure SQL Edge prend en charge l’inférence du machine learning et l’instruction PREDICT
.
Considérations relatives à la sécurité
La sécurité sur Azure SQL Edge apporte chiffrement, classification et contrôles d’accès des données à partir du moteur de base de données SQL Server. Azure SQL Edge fournit aussi une sécurité au niveau des lignes, un masquage dynamique des données et un chiffrement transparent des données (TDE) comme avantage de sécurité supplémentaire. Il est également bénéfique de chiffrer les fichiers de sauvegarde créés à l’aide d’un certificat ou d’une clé asymétrique.
Comme pour le transport réseau, Azure SQL Edge utilise le protocole TLS (Transport Layer Security) et les certificats pour chiffrer toutes les communications. Enfin, Microsoft Defender pour IoT fournit une solution de sécurité centralisée et unifiée pour découvrir et identifier les appareils IoT, les vulnérabilités et les menaces. Comme pour toute solution liée aux données, il est également prudent de s’assurer que les utilisateurs de base de données bénéficient du moindre privilège sur les objets de base de données.
Déploiement d’Azure SQL Edge à partir de la Place de marché Azure
Azure SQL Edge est disponible dans la Place de marché Azure sous la forme de deux plans, Azure SQL Edge Developer (pour le développement uniquement, limité à 4 cœurs et 32 Go de mémoire) et Azure SQL Edge (pour la production, limité à 8 cœurs et 64 Go de mémoire).
Comme prérequis pour déployer Azure SQL Edge, vous devez avoir un hub IoT provisionné avec au moins un appareil IoT Edge. Dans cet exemple, un hub IoT appelé org-iot-hub et un appareil IoT Edge Linux appelé iot-edge-device-1 ont été préprovisionnés.
Recherchez le module Azure SQL Edge dans la Place de marché Azure, puis sélectionnez le bouton Obtenir maintenant.
Dans le formulaire modal, sélectionnez la référence SKU du plan logiciel souhaité. Dans cet exemple, Azure SQL Edge Developer est choisi. Ensuite, fournissez toutes les autres informations de profil demandées par le formulaire et sélectionnez Continuer.
Dans l’écran Appareils cibles pour module IoT Edge, entrez la valeur Nom de l’appareil IoT Edge manuellement ou utilisez la fonctionnalité Rechercher un appareil pour localiser l’appareil Edge dans le hub IoT sélectionné. Dans cet exemple, le nom de l’appareil Edge est iot-device-edge-1. Ensuite, sélectionnez le bouton Créer.
Dans le panneau Définir des modules sur l’appareil, choisissez l’élément AzureSQLEdge sous Modules IoT Edge.
Dans le panneau Mettre à jour le module IoT Edge, sélectionnez l’onglet Variables d’environnement. Ensuite, remplacez le mot de passe du compte d’administrateur SQL Edge en définissant la valeur pour la variable MSSQL_SA_PASSWORD. Si vous le souhaitez, ajoutez des options de configuration sous l’onglet Options de création de conteneur. Une fois l’opération terminée, sélectionnez le bouton Mettre à jour.
Revenez au panneau Définir des modules sur l’appareil et éventuellement configurez le routage des messages pour le module sous l’onglet Routes. Une fois l’opération terminée, sélectionnez Vérifier + créer et Créer encore une fois sur l’écran de validation.
L’écran de l’appareil IoT Edge s’affiche. Patientez quelques instants et la liste des modules signalés de l’appareil affiche maintenant AzureSQLEdge dans un état en cours d’exécution. Si le démarrage du module n’est pas complet, il indique temporairement un état d’erreur. Patientez quelques minutes et actualisez.
Utilisez la méthode de connexion de votre choix et commencez à utiliser Azure SQL Edge !