Décrire les fonctionnalités et services Azure SQL
Azure SQL est un terme collectif qui désigne une famille de services de base de données basés sur Microsoft SQL Server dans Azure. Les services Azure SQL spécifiques comprennent :
- SQL Server sur machines virtuelles Azure - Machine virtuelle s’exécutant dans Azure avec une installation de SQL Server. L’utilisation d’une machine virtuelle fait de cette option une solution IaaS (infrastructure-as-a-service) qui virtualise l’infrastructure matérielle pour le calcul, le stockage et le réseau dans Azure. C’est une très bonne option pour la migration « lift-and-shift » des installations SQL Server locales existantes vers le cloud.
- Azure SQL Managed Instance - Option PaaS (platform-as-a-service) qui offre une compatibilité de presque 100 % avec les instances SQL Server locales tout en enlevant le matériel et le système d’exploitation sous-jacents. Le service comprend la gestion automatisée des mises à jour logicielles, les sauvegardes et d’autres tâches de maintenance, réduisant ainsi la charge administrative d’une instance de serveur de base de données.
- Azure SQL Database - Service de base de données PaaS complètement managé et hautement scalable conçu pour le cloud. Ce service comprend les principales fonctionnalités de niveau base de données de SQL Server local, et constitue une bonne option lorsque vous devez créer une nouvelle application dans le cloud.
- Azure SQL Edge - Moteur SQL optimisé pour les scénarios IoT (Internet des objets) qui doivent fonctionner avec des données de série chronologique en streaming.
Notes
Azure SQL Edge est inclus dans cette liste à des fins d’exhaustivité. Dans ce module, nous allons nous concentrer sur les autres options pour des scénarios de base de données relationnelle plus généraux.
Comparer les services Azure SQL
-- | SQL Server sur machines virtuelles Azure | Azure SQL Managed Instance | Azure SQL Database |
---|---|---|---|
Type de service cloud | IaaS | PaaS | PaaS |
Compatibilité SQL Server | Entièrement compatible avec les installations physiques et virtualisées locales. Les applications et les bases de données peuvent facilement être migrées via un lift-and-shift sans avoir à changer quoi que ce soit. | Compatibilité de presque 100 % avec SQL Server. La plupart des bases de données locales peuvent être migrées avec des changements de code minimes en utilisant Azure Database Migration Service. | Prend en charge la plupart des principales fonctionnalités de niveau base de données de SQL Server. Certaines fonctionnalités dépendantes d’une application locale peuvent ne pas être disponibles. |
Architecture | Les instances SQL Server sont installées sur une machine virtuelle. Chaque instance peut prendre en charge plusieurs bases de données. | Chaque instance managée peut prendre en charge plusieurs bases de données. De plus, des pools d’instances peuvent être utilisés pour partager des ressources efficacement sur des instances plus petites. | Vous pouvez provisionner une base de données unique dans un serveur managé (logique) dédié ou vous pouvez utiliser un pool élastique pour partager des ressources entre plusieurs bases de données et tirer parti de la scalabilité à la demande. |
Disponibilité | 99,99 % | 99,99 % | 99,995 % |
Gestion | Vous devez gérer tous les aspects du serveur, notamment le système d’exploitation et les mises à jour SQL Server, la configuration, les sauvegardes et autres tâches de maintenance. | Mises à jour, sauvegardes et récupérations entièrement automatisées. | Mises à jour, sauvegardes et récupérations entièrement automatisées. |
Cas d'utilisation | Utilisez cette option lorsque vous avez besoin de migrer ou d’étendre une solution SQL Server locale et de conserver un contrôle total sur tous les aspects de la configuration du serveur et de la base de données. | Utilisez cette option pour la plupart des scénarios de migration cloud, en particulier lorsque vous avez besoin d’apporter des changements minimes aux applications existantes. | Utilisez cette option pour les nouvelles solutions cloud ou pour migrer des applications qui ont des dépendances minimales au niveau de l’instance. |
SQL Server sur machines virtuelles Azure
SQL Server sur les machines virtuelles vous permet d’utiliser des versions complètes de SQL Server dans le cloud sans avoir à gérer le matériel localement. Ceci est un exemple d’approche IaaS.
SQL Server s’exécutant sur une machine virtuelle Azure réplique efficacement la base de données s’exécutant sur du matériel physique local. La migration à partir du système s’exécutant localement vers une machine virtuelle Azure n’est pas différente du déplacement des bases de données d’un serveur local vers un autre.
Cette approche convient aux migrations et aux applications nécessitant un accès aux fonctionnalités de système d’exploitation qui pourraient ne pas être prises en charge au niveau PaaS. Les machines virtuelles SQL sont prêtes pour la migration “lift-and-shift” des applications existantes vers le cloud avec un minimum de modifications.. Vous pouvez également utiliser SQL Server sur des machines virtuelles Azure pour étendre des applications locales existantes au cloud dans des déploiements hybrides.
Notes
Un déploiement hybride est un système dans lequel une partie de l’opération s’exécute sur site et une partie dans le cloud. Votre base de données peut faire partie d’un système plus vaste qui s’exécute localement, même si les éléments de base de données peuvent être hébergés dans le cloud.
Vous pouvez utiliser SQL Server sur une machine virtuelle pour développer et tester des applications SQL Server classiques. Avec une machine virtuelle, vous disposez de droits d’administration complets sur le SGBD et le système d’exploitation. Il s’agit d’un choix idéal quand une organisation dispose déjà des ressources informatiques nécessaires à la gestion des machines virtuelles.
Ces fonctionnalités vous permettent de :
- Créez des scénarios de développement et de test rapides quand vous ne souhaitez pas acheter de matériel SQL Server local non destiné à la production.
- Disposer d’une compatibilité « lift-and-shift » pour les applications existantes qui nécessitent une migration rapide vers le cloud avec peu ou pas de changements
- Effectuer un scale-up de la plateforme sur laquelle s’exécute SQL Server, en allouant plus de mémoire, de processeurs et d’espace disque à la machine virtuelle Vous pouvez rapidement redimensionner une machine virtuelle Azure sans avoir à réinstaller les logiciels qui s’y exécutent.
Avantages métier
L’exécution de SQL Server sur les machines virtuelles vous permet de répondre à des besoins métier uniques et diversifiés en combinant les déploiements locaux et les déploiements hébergés dans le cloud, tout en utilisant le même ensemble de produits serveur, d’outils de développement et d’expertise dans ces environnements.
Il n’est pas toujours facile pour les entreprises de faire passer leur SGBD à un service complètement managé. Vous devez parfois répondre à des exigences spécifiques pour pouvoir effectuer une migration vers un service managé qui nécessite de faire des modifications à la base de données et aux applications qui l’utilisent. C’est la raison pour laquelle l’utilisation de machines virtuelles peut offrir une solution. Toutefois, cela n’élimine pas la nécessité d’administrer votre SGBD avec autant de soin que vous le feriez sur site.
Azure SQL Managed Instance
Azure SQL Managed Instance exécute efficacement une instance totalement contrôlable de SQL Server dans le cloud. Vous pouvez installer plusieurs bases de données sur la même instance. Vous avez un contrôle complet sur cette instance, tout comme vous en auriez pour un serveur local. SQL Managed Instance automatise les sauvegardes, les mises à jour logicielles, la supervision des bases de données ainsi que d’autres tâches générales. Toutefois, vous avez un contrôle total sur la sécurité et l’allocation des ressources de vos bases de données. Vous trouverez des informations détaillées dans Qu’est-ce qu’Azure SQL Managed Instance ?.
Les instances managées dépendent d’autres services Azure tels que Stockage Azure pour les sauvegardes, Azure Event Hubs pour la télémétrie, Microsoft Entra ID pour l’authentification, Azure Key Vault pour le chiffrement TDE (Transparent Data Encryption) et quelques services de la plateforme Azure qui fournissent des fonctionnalités de sécurité et de prise en charge. Les instances managées établissent des connexions à ces services.
Toutes les communications sont chiffrées et signées avec des certificats. Pour vérifier la fiabilité des parties communicantes, les instances managées vérifient en permanence ces certificats à l’aide de listes de révocation de certificat. Si les certificats sont révoqués, l’instance managée ferme les connexions pour protéger les données.
Cas d'utilisation
Utilisez Azure SQL Managed Instance si vous souhaitez effectuer un lift-and-shift d’une instance SQL Server locale et de toutes ses bases de données vers le cloud, sans entraîner de surcharge de gestion liée à l’exécution de SQL Server sur une machine virtuelle.
Azure SQL Managed Instance offre des fonctionnalités qui ne sont pas disponibles dans Azure SQL Database (abordé ci-dessous). Si votre système dispose de fonctionnalités telles que les serveurs liés, Service Broker (un système de traitement des messages qui permet de répartir le travail entre les serveurs) ou Database Mail (qui permet à votre base de données d’envoyer des e-mails aux utilisateurs), utilisez Managed Instance. Pour vérifier la compatibilité avec un système local existant, vous pouvez installer l’Assistant Migration de données (DMA). Cet outil analyse vos bases de données sur SQL Server et signale tout problème susceptible de bloquer la migration vers une instance managée.
Avantages métier
Azure SQL Managed Instance permet à un administrateur système de consacrer moins de temps aux tâches d’administration, car le service les accomplit automatiquement ou les simplifie considérablement. Les tâches automatisées incluent l’installation et la mise à jour corrective du système d’exploitation et du système de gestion de base de données, le redimensionnement et la configuration dynamiques des instances, les sauvegardes, la réplication de base de données (notamment les bases de données système), la configuration de la haute disponibilité ainsi que la configuration des flux de données de supervision de l’intégrité et d’analyse des performances.
Azure SQL Managed Instance offre une compatibilité presque totale (près de 100%) avec l’édition Enterprise de SQL Server, exécutée en local.
Azure SQL Managed Instance prend en charge les connexions du moteur de base de données SQL Server et les connexions intégrées à Microsoft Entra ID. Les identifiants de connexion du moteur de base de données SQL Server comprennent un nom d’utilisateur et un mot de passe. Vous devez entrer vos informations d’identification chaque fois que vous vous connectez au serveur. Les connexions Microsoft Entra utilisent les informations d’identification associées à la connexion actuelle de votre ordinateur. Vous n’avez pas besoin de les fournir chaque fois que vous vous connectez au serveur.
Azure SQL Database
Azure SQL Database est une offre PaaS de Microsoft. Vous créez un serveur de base de données managé dans le cloud, et vous déployez ensuite vos bases de données sur ce serveur.
Notes
Un serveur SQL Database est une construction logique qui agit comme un point d’administration central pour plusieurs bases de données individuelles ou regroupées, connexions, règles de pare-feu, règles d’audit, stratégies de détection des menaces et groupes de basculement.
Azure SQL Database est disponible sous forme de base de données unique (Single Database) ou de pool élastique (Elastic Pool).
Base de données unique
Cette option vous permet de configurer et d’exécuter rapidement une seule base de données SQL Server. Vous créez et exécutez un serveur de base de données dans le Cloud, puis vous accédez à votre base de données via ce serveur. Microsoft gère le serveur, il vous suffit donc de configurer la base de données, de créer vos tables et de les remplir avec vos données. Vous pouvez mettre à l’échelle la base de données si vous avez besoin de davantage d’espace de stockage, de mémoire ou de puissance de traitement. Par défaut, les ressources sont préallouées et vous êtes facturé à l’heure pour les ressources que vous avez demandées. Vous pouvez également spécifier une configuration “sans serveur”(serverless). Dans cette configuration, Microsoft crée son propre serveur, qui peut être partagé par des bases de données appartenant à d’autres abonnés Azure. Microsoft garantit la confidentialité de votre base de données. Votre base de données se met automatiquement à l’échelle et les ressources sont allouées ou désallouées en fonction des besoins.
Pool élastique
Cette option est similaire à l’option Base de données unique, À la différence que par défaut, plusieurs bases de données peuvent partager les mêmes ressources, par exemple la mémoire, l’espace de stockage des données et la puissance de traitement À travers la multilocataire. Ces ressources sont appelées pool. Vous créez le pool, et seules vos bases de données peuvent l’utiliser. Ce modèle est utile si vous avez des bases de données avec des besoins en ressources qui varient dans le temps, et peut vous aider à réduire les coûts. Par exemple, votre base de données de paie peut nécessiter une grande puissance de la part des processeurs à la fin de chaque mois lors du traitement des salaires, mais être beaucoup moins sollicitée à d’autres moments. Vous pouvez avoir une autre base de données qui sert à exécuter des rapports. Cette base de données peut être active pendant plusieurs jours au milieu du mois lors de la génération des rapports, mais être moins sollicitée à d’autres moments. L’option Pool élastique vous permet d’utiliser les ressources disponibles dans le pool, puis de les libérer une fois le traitement effectué.
Cas d’usage
Azure SQL Database vous offre la meilleure option en termes de coût réduit et d’administration minimale. Ce service n’est pas entièrement compatible avec les installations SQL Server locales. Il est souvent utilisé dans les nouveaux projets cloud où la conception d’applications peut s’adapter à tous les changements nécessaires à vos applications.
Notes
Vous pouvez utiliser l’Assistant Migration de données pour détecter les problèmes de compatibilité de bases de données, qui peuvent avoir un impact sur les fonctionnalités des bases de données dans Azure SQL Database. Pour plus d’informations, consultez Vue d’ensemble de l’Assistant Migration de données.
Azure SQL Database est souvent utilisé pour les scénarios suivants :
- Applications cloud modernes qui ont besoin d’utiliser les dernières fonctionnalités stables de SQL Server.
- Applications qui nécessitent une haute disponibilité
- Systèmes à charge variable, qui nécessitent un scale-up et un scale-down rapides du serveur de base de données.
Avantages métier
Azure SQL Database met à jour et corrige automatiquement le logiciel SQL Server pour vous offrir la garantie d’exécuter toujours la version la plus récente et la plus sécurisée du service.
Grâce aux fonctionnalités de scalabilité d’Azure SQL Database, vous avez la garantie de pouvoir augmenter les ressources disponibles pour stocker et traiter les données sans avoir à effectuer une mise à niveau manuelle coûteuse.
Le service offre une haute disponibilité qui vous garantit que vos bases de données sont disponibles au moins 99,99 % du temps. Azure SQL Database prend en charge la restauration à un moment donné, ce qui vous permet de récupérer une base de données dans l’état où elle se trouvait à n’importe quel point dans le passé. Les bases de données peuvent être répliquées dans différentes régions pour offrir une plus grande résilience et une meilleure récupération en cas de sinistre.
La protection avancée contre les menaces (Advanced Threat Protection) offre des fonctionnalités de sécurité avancées, par exemple les évaluations de vulnérabilité, pour aider à détecter et corriger les problèmes de sécurité potentiels de vos bases de données. Threat Protection détecte également les activités anormales qui indiquent des tentatives d’accès ou d’exploitation inhabituelles et potentiellement dangereuses relatives à votre base de données. Elle surveille en permanence votre base de données pour détecter des activités suspectes et envoie immédiatement des alertes de sécurité en cas de vulnérabilités éventuelles, d’attaques par injection de code SQL et de modèles d’accès anormaux à la base de données. Les alertes générées par la fonctionnalité Détection des menaces fournissent des informations sur les activités suspectes et recommandent l’action à entreprendre pour enquêter sur la menace et la mitiger.
L’audit effectue le suivi des événements de base de données et les écrit dans un journal d’audit de votre compte de stockage Azure. L’audit peut vous aider à respecter les réglementations en matière de conformité, à comprendre l’activité de la base de données, et à obtenir des informations sur les écarts et les anomalies qui pourraient indiquer des préoccupations commerciales ou des violations de sécurité suspectées.
SQL Database permet de sécuriser vos données en fournissant un chiffrement qui protège les données stockées dans la base de données (au repos) et quand elles sont transférées sur le réseau (en mouvement).