Options de déploiement d’Azure SQL
Dans le cadre de la plateforme Azure SQL, il existe un grand nombre d’options de déploiement et de choix. Ces options vous permettent facilement d’obtenir et de payer exactement ce dont vous avez besoin.
Cette unité aborde certaines des considérations à prendre en compte quand vous devez faire votre choix parmi différentes options de déploiement d’Azure SQL. Vous allez également découvrir les spécifications techniques relatives à chacune de ces options de déploiement. Les options de déploiement présentées ici comprennent SQL Server sur les machines virtuelles, Azure SQL Managed Instance, Azure SQL Database, les pools Azure SQL Managed Instance et les pools de bases de données élastiques Azure SQL Database.
SQL Server sur machines virtuelles Azure
SQL Server sur une machine virtuelle est une version de SQL Server qui s’exécute sur une machine virtuelle Azure. Dans la mesure où il s’agit simplement de SQL Server, toutes vos compétences SQL Server doivent être transférées directement. Toutefois, Azure peut faciliter l’automatisation des sauvegardes et des correctifs de sécurité. SQL Server sur une machine virtuelle Azure est un modèle de service IaaS (infrastructure as a service). Vous êtes responsable des mises à jour et des correctifs du système d’exploitation et de SQL Server (à l’exception des correctifs de sécurité SQL Server critiques), mais vous avez accès aux fonctionnalités complètes de SQL Server.
Voici quelques points à prendre en compte pour déployer et gérer de manière optimale SQL Server sur les machines virtuelles :
Déployez des versions spécifiques de SQL Server et du système d’exploitation à partir d’images préinstallées de la galerie Azure. Si vous installez vous-même SQL Server sur une machine virtuelle Azure, vous pouvez tirer parti de l’extension de l’agent IaaS SQL Server. Celle-ci vous permet d’avoir une certaine flexibilité au niveau des licences et vous permet également d’activer les sauvegardes ainsi que les mises à jour automatiques.
Tenez compte des tailles de machine virtuelle à mémoire optimisée ou à stockage optimisé pour obtenir un niveau de performance maximal.
Utilisez la configuration de stockage appropriée, et bénéficiez de la mise en cache de lecture du Stockage Blob Azure.
Intégrez vos machines virtuelles à des réseaux locaux à l’aide des réseaux virtuels Azure.
Tirez parti des sauvegardes automatisées, des sauvegardes dans le Stockage Blob Azure et de l’intégration avec le service Sauvegarde Azure.
Les instances de cluster de basculement Always On sont prises en charge avec le partage de fichiers Premium Azure.
Les groupes de disponibilité Always On sont pris en charge, notamment Cloud Witness.
Les entreprises du monde entier utilisent SQL Server sur les machines virtuelles. Allscripts en est un exemple. Allscripts est l’un des principaux fabricants de logiciels médicaux au service des cabinets médicaux, des hôpitaux, des mutuelles et du secteur pharmaceutique. Pour transformer ses applications fréquemment et les héberger de manière sécurisée et fiable, Allscripts souhaitait passer rapidement à Azure. En seulement trois semaines, à l’aide d’Azure Site Recovery, l’entreprise a migré des dizaines d’applications acquises qui s’exécutaient sur environ 1 000 machines virtuelles vers Azure.
IaaS ou PaaS
SQL Server sur une machine virtuelle est considéré comme un modèle de service IaaS. Les autres options de déploiement de la plateforme Azure SQL, Azure SQL Managed Instance et Azure SQL Database, sont des déploiements PaaS (platform as a service). Ces options de déploiement PaaS d’Azure SQL contiennent un moteur de base de données complètement managé qui automatise la plupart des fonctions de gestion de base de données, telles que les mises à niveau, les mises à jour correctives, les sauvegardes et la supervision. Voici quelques-unes des fonctionnalités clés de SQL Managed Instance et de SQL Database :
La continuité de l’activité permet à votre entreprise de continuer à fonctionner face aux perturbations.
La haute disponibilité garantit que vos bases de données sont opérationnelles 99,99 % du temps. Vous n’avez pas à vous soucier de la maintenance ou des temps d’arrêt.
Sauvegardes automatisées - sont créées pour utiliser le stockage géographiquement redondant avec accès en lecture (RA-GRS) d’Azure et fournir la géoredondance.
La conservation des sauvegardes à long terme vous permet de stocker des bases de données entières spécifiques jusque pendant 10 ans.
La géoréplication permet de créer des réplicas lisibles de votre base de données dans le même centre de données (la même région) ou dans un autre centre de données (une autre région).
La scalabilité vous permet d’ajouter facilement des ressources supplémentaires (processeur, mémoire, stockage) sans provisionnement long.
Les fonctionnalités de sécurité réseau protègent vos données sur le réseau. Elles comprennent des pare-feu pour restreindre la connectivité, Azure Private Link pour garantir que vos données ne sont pas exposées sur Internet ainsi qu’une intégration avec les réseaux virtuels pour la connectivité aux environnements locaux.
La sécurité avancée détecte les menaces et les vulnérabilités dans vos bases de données, et vous permet de sécuriser vos données.
Le réglage automatique analyse votre charge de travail. Il fournit des recommandations qui peuvent optimiser le niveau de performance de vos applications en ajoutant des index, en supprimant les index inutilisés et en corrigeant automatiquement les problèmes de plan de requête.
Les fonctionnalités de monitoring intégré vous permettent d’obtenir des insights sur le niveau de performance de vos bases de données et de la charge de travail. Elles vous permettent également de résoudre les problèmes de performances.
L’intelligence intégrée identifie automatiquement les problèmes potentiels dans votre charge de travail. Elle vous fournit des recommandations susceptibles de vous aider à résoudre ces problèmes.
Services de base de données sans version
SQL sans version est une autre différence importante entre IaaS et PaaS. Contrairement au modèle IaaS, qui est associé à une version spécifique de SQL Server, SQL Database et SQL Managed Instance sont sans version. La « branche » principale du code base du moteur SQL Server alimente SQL Server 2019, SQL Database et SQL Managed Instance.
Bien que les versions de SQL Server ne sortent pas tous les ans, les services PaaS permettent à Microsoft de mettre à jour les bases de données et instances SQL en continu. Microsoft déploie les correctifs et fonctionnalités appropriés. En tant que consommateur du service, vous n’avez pas de contrôle sur ces mises à jour. Le résultat de @@VERSION
n’est pas associé à une version de SQL Server spécifique. Toutefois, SQL sans version vous permet de ne pas avoir à vous occuper des correctifs pour l’OS sous-jacent et SQL Server, tout en laissant Microsoft vous offrir les tout derniers composants.
Au fur et à mesure que de nouvelles fonctionnalités sont développées, certains clients se voient octroyer l’accès à des fonctionnalités spécifiques avant leur mise à disposition publique. Ces nouvelles fonctionnalités deviennent ensuite disponibles dans les préversions publiques. Les préversions publiques permettent à tout le monde d’accéder aux nouvelles fonctionnalités. Le support est généralement limité mais la tarification est souvent remisée.
SQL Managed Instance
SQL Managed Instance est une option de déploiement PaaS d’Azure SQL. Elle vous donne accès à une instance de SQL Server tout en éliminant une grande partie de la charge de traitement liée à la gestion d’une machine virtuelle. La plupart des fonctionnalités disponibles dans SQL Server sont disponibles dans SQL Managed Instance. Cette option est idéale pour les clients qui souhaitent utiliser des fonctionnalités dont l’étendue se limite à une instance, et qui souhaitent passer à Azure sans avoir à remanier l’architecture de leurs applications. Les fonctionnalités dont l’étendue se limite à une instance sont des fonctionnalités liées à une instance de SQL Server, par opposition aux fonctionnalités liées à une base de données dans une instance de SQL Server.
Les fonctionnalités dont l’étendue se limite à SQL Managed Instance incluent SQL Server Agent, Service Broker, CLR (Common Language Runtime), Database Mail, les serveurs liés, les transactions distribuées (préversion) et Machine Learning Services. SQL Managed Instance vous permet d’accéder aux fonctionnalités délimitées à une instance, mais vous n’avez ni le souci ni l’accès au système d’exploitation ni à l’infrastructure sous-jacente.
Examinons un autre scénario du secteur, celui de Komatsu. Komatsu est une entreprise industrielle qui produit et vend des équipements lourds pour la construction. L’entreprise disposait de plusieurs applications mainframe pour différents types de données. Komatsu souhaitait regrouper ces applications pour avoir une vue d’ensemble. De plus, Komatsu recherchait un moyen de réduire ses frais généraux. Dans la mesure où l’entreprise utilise une grande surface d’exposition de fonctionnalités SQL Server, les décideurs informatiques ont choisi de passer à Azure SQL Managed Instance. Ils ont pu migrer en douceur environ 1,5 téraoctets de données et bénéficier d’avantages tels que l’application automatique des correctifs et des mises à jour de version, les sauvegardes automatisées, la haute disponibilité ainsi que la réduction des coûts de gestion. Une fois la migration effectuée, Komatsu a constaté une réduction des coûts d’environ 49 %, et des hausses de performances d’environ 25 à 30 %.
SQL Database
SQL Database est une option de déploiement PaaS d’Azure SQL qui évite aux utilisateurs d’accéder à l’OS et à l’instance de SQL Server. Cette option de déploiement vous permet simplement d’obtenir une base de données et de commencer à développer des applications. SQL Database est aussi la seule option de déploiement qui prend en charge les scénarios nécessitant un stockage de base de données illimité (hyperscale) et une mise à l’échelle automatique pour les charges de travail imprévisibles (serverless). SQL Database présente le contrat SLA de disponibilité le plus élevé du secteur. Il fournit d’autres fonctionnalités intelligentes liées à la supervision et aux performances, en partie du fait que Microsoft gère les instances.
AccuWeather est un très bon exemple d’utilisation de SQL Database. AccuWeather analyse et prédit la météo depuis plus de 55 ans. L’entreprise souhaitait pouvoir accéder à Azure pour ses fonctionnalités de Big Data, de Machine Learning et d’IA. AccuWeather souhaite se concentrer sur la création de modèles et d’applications, et non sur la gestion de bases de données. L’entreprise a choisi SQL Database pour l’utiliser avec d’autres services, par exemple Azure Data Factory et Azure Machine Learning. Cela lui permet de déployer rapidement et facilement de nouvelles applications internes pour effectuer des prédictions liées aux ventes et aux clients.
Pool de bases de données élastique
Vous avez découvert les trois principales options de déploiement dans Azure SQL : machines virtuelles, instances managées et SQL Database. Pour SQL Database et SQL Managed Instance, il existe d’autres options, si vous disposez de plusieurs instances ou bases de données. Ces options sont appelées pools de bases de données élastiques. Les pools de bases de données élastiques vous permettent non seulement de partager des ressources entre plusieurs instances et bases de données, mais également d’optimiser vos coûts.
Les pools élastiques SQL Database vous permettent d’héberger de nombreuses bases de données dans un même ensemble de ressources SQL Database provisionnées. Il s’agit d’une option idéale pour une application ou un fournisseur SaaS (software as a service), car elle vous permet d’effectuer la gestion et le monitoring du niveau de performance de manière simplifiée pour de nombreuses bases de données.
Les pools SQL Managed Instance vous permettent d’héberger plusieurs instances managées et de partager des ressources. Vous pouvez préprovisionner les ressources de calcul. Cela peut réduire le temps de déploiement global pour faciliter les migrations. Vous pouvez également héberger des instances managées plus petites dans un pool d’instances au lieu d’une seule instance managée. Cette offre est en préversion publique.
Paychex est un bon exemple d’entreprise qui utilise des pools de bases de données élastiques SQL Database. Paychex est une entreprise de gestion de ressources humaines présente dans plus de 650 000 entreprises aux États-Unis et en Europe. Paychex devait trouver un moyen de traiter séparément la gestion du temps et la gestion de la paie pour chacun de ses clients, tout en réduisant les coûts. L’entreprise a opté pour les pools de bases de données élastiques SQL Database, ce qui lui a permis de simplifier les tâches de gestion et de partager les ressources entre des bases de données distinctes afin de réduire les coûts.
Options de déploiement d’Azure SQL
L’image suivante récapitule les options de déploiement d’Azure SQL. Vous allez ensuite découvrir le déploiement et la configuration d’Azure SQL ainsi que les différences qui existent avec le déploiement et la configuration de SQL Server.