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 http://www.microsoft.com/france/services

Plus d’informations sur les blogs « SQL Server chez les clients ». 

 

Sébastien Grosbois, Consultant BI/SQL, Microsoft Consulting Services

Après quelques années passées dans un cabinet de conseil spécialisé en bases de données, j’ai rejoint Microsoft Services en 2001. Je suis actuellement Consultant Senior SQL Server & BI.