SQL Server chez les clients – SQL as a Service
Introduction
SQL as a Service (SQLaaS) propose d’utiliser une base de données SQL Server sans avoir toute la charge de gestion et de maintien en conditions opérationnelles de la plateforme.
L’architecture SQLaaS repose sur un catalogue de services, établi à partir des besoins et contraintes spécifiques de chaque entreprise. Ce catalogue recense l’ensemble des services proposés et fonctions incluses (en tant que services intégrés).
SQLaaS permet à une équipe réduite, dédiée, d’assurer la mise à disposition du service dans un délai court, en proposant des bases de données standardisées. Cette équipe est en mesure de maintenir la plateforme dans un état de service opérationnel avec une surveillance 24h/24h. Ce modèle permet de réduire à la fois les coûts et les délais de mise en œuvre.
Catalogue de services
Le catalogue de services type peut proposer les services suivants :
- Provision d’une base de données
- Modification d’une base de données
- Suppression d’une base de données
- Provision d’une instance
- Modification d’une instance
- Suppression d’une instance
Et inclut les fonctions suivantes :
- Des tableaux de bord pour surveiller la base de données
- Un tableau de bord pour la facturation du service
- Une garantie de ressources CPU et d’espace et de ressources disque (avec SQL Server 2014)
- Une surveillance du service
- Une continuité en cas de défaillance unique d’un des éléments de la plateforme
- Une gestion de l’application des correctifs.
Des exemple d’un service de provision de base de données :
Service |
Environnement |
Dimensions techniques |
Services intégrés |
Provision d’une base |
Production |
Performance : Garantie d’un minimum CPU (3 niveaux de performance) Stockage : Espace de stockage maximum (3 niveau de stockage) Version : Choix entre version SQL supportées Collation : Choix entre les collations supportées Service de PRA sur site de secours |
Sauvegarde quotidienne Continuité de service en cas de défaillance simple (un serveur ou une baie de disques ou un site) RPO = 0, RTO < 5 minutes Tableaux de bord permettant de suivre l'usage de la base de données Tableaux de bord permettant la refacturation du service Surveillance de la plateforme Mise à jour de la plateforme suivant un calendrier préétabli |
Les 4 piliers
SQLaaS consiste à construire un « cloud privé » de type PaaS reposant sur 4 piliers :
Optimisation
Il s’agit de réduire les coûts de fonctionnement de la plateforme SQL en mutualisant les ressources. La mise en œuvre de SQLaaS n’implique pas obligatoirement de virtualiser l’infrastructure ni de disposer d’un IaaS. De façon générale, SQLaaS est agnostique vis-à-vis de l’infrastructure.
L’idée directrice de l’optimisation est de pouvoir opérer plus de bases SQL Server avec moins de ressources matérielles et humaines afin de réduire les coûts. La réduction des ressources matérielles peut s’appuyer sur des techniques classiques de consolidation d’instances ou base de données et/ou de la virtualisation, les deux approches pouvant être combinées en fonction du contexte.
Elasticité
Ce pilier recouvre 2 notions :
L’agilité , qui est la capacité à changer la répartition des instances ou des machines virtuelles entre les différents hôtes de la plateforme avec une interruption minimale. Cela permet de réaliser des opérations de maintenance sur le matériel, le système d’exploitation ou les instances avec une interruption de service minimale voire nulle.
Sa mise en en œuvre s’appuie sur l’utilisation (éventuellement combinée) de :
- Hyper-V Live Migration pour déplacer une machine virtuelle d’un hôte à l’autre sans interruption
- System Center Operation Manager associé à System Center Virtual Machine Manager pour déclencher automatiquement le déplacement d’une machine virtuelle entre deux hôtes (par exemple en cas de pic de charge sur l’un des hôtes)
- SQL Server Failover Cluster Instance pour déplacer une instance entre 2 machines (par exemple pour appliquer un correctif sur une instance avec une interruption de service minimale).
Une infrastructure dynamique, qui peut évoluer au fur et à mesure que les besoins augmentent. L’idée est de commencer « petit » afin de réduire l’investissement initial au minimum et de faire croître l’infrastructure par unités d’extension afin de répondre aux nouveaux besoins en termes de ressources.
Self-Service
Il s’agit de pouvoir déléguer un service à un tiers.
L’objectif est de minimiser le temps de mise à disposition du service en s’appuyant sur des briques d’automatisation.
Une telle approche permet, par exemple, de déléguer la création d’une base de données aux études sans passer par l’équipe DBA.
Ce fort degré d’automatisation permet de standardiser les installations d’instance et de bases de données et garantit la conformité avec les normes de l’entreprise. L’ensemble du processus de Self-Service s’articule autour d’une interface utilisateur matérialisée en général par un portail web, d’une brique d’orchestration telle que System Center Orchestrator et une brique d’automatisation constituée d’un ensemble de scripts Power Shell.
Le portail
Contrôle
Il s’agit de garantir la conformité des instances et bases provisionnées et le cas échéant à découvrir les écarts. La mesure du service est également essentielle pour pouvoir s’adapter au besoin. Des indicateurs permettent également de refacturer un service au client. System Center Operation Manager associé aux fonctionnalités de Policy Based Management de SQL Server permet d’implémenter le contrôle de la plateforme SQLaaS.
Plusieurs approches sont envisageables pour refacturer un service :
- Une approche a posteriori qui consiste à mesurer dynamiquement les ressources consommées (CPU, IO, Disque) par une instance ou une base de données et à refacturer le client en conséquence.
- Une approche a priori qui consiste à contraindre les ressources disponible pour chaque client ou application en fonction des propriétés choisie pour le service par exemple l’espace disque, le nombre IOPS garantis ou le %CPU garanti. La garantie de ressource peut être adressée nativement par Hyper-V, Windows Server Resource Manager ou SQL Server Resource Gouvernor selon qu’il s’agisse des ressources d’une instance ou d’une base de données.
Disponibilité immédiate et puissance infinie
Unité d’extension
L’architecture SQLaaS se veut modulaire et peut s’étendre en fonction des besoins.
Le principe d’architecture dynamique consiste à provisionner en avance et de façon asynchrone les différentes ressources en prérequis du provisionnement d’une instance ou d’une base de données qui, elles, sont provisionnées de manière synchrone. L’utilisation d’unités d’extension permet d’effectuer la mise à l’échelle nécessaire à l’accueil de nouvelle instances ou de bases de données supplémentaire lorsque les unités existantes ont atteint un certain seuil (de CPU, d’IO ou d’espace disque).
Conclusion
Si vous souhaitez :
- Rationnaliser votre plateforme SQL Server
- Améliorer la souplesse
- Déployer à la demande
- Standardiser, mesurer et refacturer à vos métiers
Alors, l’approche SQL as a Service mérite votre attention.
L’approche SQLaaS a été mise en œuvre et est à l’étude chez nos clients :
- Grandes banques françaises
- Organisme de prévoyance
- Industrie automobile
Microsoft Services propose une offre de services vous permettant de définir votre plateforme SQL as a Service.
Pour plus d’informations sur les offres packagées Microsoft Consulting Services, rendez-vous sur https://www.microsoft.com/france/services
Plus d’informations sur les blogs « SQL Server chez les clients ».
Comments
- Anonymous
June 30, 2014
Cet article présente 5 cas d’études d’opportunités de croissance dans le domaine de la Business Intelligence (BI) mis en œuvre par les consultants de l’équipe Data Insight de Microsoft Consulting Services