Transcript Slides
Les journées
SQL Server 2013
Un événement organisé par GUSS
#JSS2013
Les journées
SQL Server 2013
Cloud OS Data Platform : Azure & SQL
Julien PLEE
Stéphane GOUDEAU
Un événement organisé par GUSS
#JSS2013
Merci à nos sponsors
#JSS2013
Ressources dédiées
Coût plus élevé
Ressources partagées
Coût moins élevé
SQL : Quelles options aujourd’hui ? A demeure ou
dans le Cloud? IaaS ou PaaS ?
•
•
Service de base de données
Peu d’administration technique
WA SQL Database - PaaS
Base de données virtualisée
•
•
Service de base de données
Peu d’administration technique
WA SQL Database Premium - PaaS
•
•
Capacité réservée de ressources
Prévisibilité des performances
100% Compatible
Rapidité de mise en service
SQL Server dans WA VM - IaaS
Machine virtuelle
•
•
Contrôle total du matériel
Gestion de votre solution de PRA
SQL Server
Machine physique
Contrôle direct
Délégation du contrôle
#JSS2013
Azure SQL Database
SQL PAAS
#JSS2013
Azure Sql Database
Contexte
TalentSoft
Azure SQL
Database
Azure
Throttling
ScaleUp
Sql Db
Premium
ScaleOut
avec Azure
Federation
#JSS2013
Le contexte TalentSoft: HelloTalent
#JSS2013
Les raisons du choix Azure Sql Database
Réplica 1
Réplica 2
• Outils et technologies de
développement connus maîtrisées
Plusieurs réplicas
physiques
Primaire
unique
Réplica 3
– Les données SQL sont automatiquement
répliquées 3 fois avec conservation de
l’intégrité transactionnelle
Une seule base
de données
logique
Plusieurs cibles
secondaires
• Un service de base de données
présent sur l’ensemble des
régions sur lesquelles sont
implantés les DC Azure
• Haute disponibilité automatique
et redondance
#JSS2013
Support des outils utilisés à demeure…
#JSS2013
Azure Throttling et Transient Fault Handling
• Throttling
– Soft Throttling / Hard Throttling
• Services avec Throttling dans Azure
– Windows Azure Database, Caching Service, Service Bus, Storage
• Gérer le Sql Database Throttling
• Throttling: (e.g.: 40501) « the service is currently
busy. Retry the request after 10 secondes. Code %d. »
(allows to know the type of throttling (CPU,
DataReadIODelay, Database Size…)
#JSS2013
Transient Fault Handling
AZURE THROTTLING
#JSS2013
Azure Sql Database Premium
• Le service SQL Database propose un modèle de base de données
Premium qui permet le choix de différentes configurations fondé
sur le niveau d'isolement souhaité pour un client.
• Ces paramètres permettent de ne payer que la capacité réservée et
d’adapter cette capacité à la charge anticipée sur le serveur
Reservation
CPU Cores
Size
P1
1
P2
2
Worker
Threads
200
400
Active
Sessions
2000
4000
Disk IO
(IOPS)
150
300
Memory
(GB)
8
16
http://msdn.microsoft.com/en-us/library/windowsazure/dn369873.aspx
#JSS2013
Multi-Tenant Data Architecture
Schéma & Base partagés
TenantId
StatusId
Date
411
7
2013-12-02
56
5
2013-12-02
TenantId
LastName
FirstName
56
4
2013-12-02
411
Plée
Julien
203
Goudeau
Stéphane
#JSS2013
Multi-Tenant Data Architecture
Base partagée, Schéma séparé
Database
Tenant 56
Tenant 203
#JSS2013
Multi-Tenant Data Architecture
Bases séparées
Tenant 56
Tenant 203
#JSS2013
Azure Multi-Tenancy avec Sharding
SQL Azure Gateway
HelloTalent Application Instances
SQL Azure Gateway
Root Db
TenantFederation on Tid
Federation
1
Tid 0 - 100
Federation
2
Tid 101 - 200
Federation
X
Tid XXX - Max
#JSS2013
Mutli-tenancy with
AZURE FEDERATION
#JSS2013
SQL Server hébergé sur une machine virtuelle Azure
SQL SERVER IAAS
#JSS2013
SQL Server dans Windows Azure
Services
d’infrastructure
Azure
Provisionning
SQL Server
dans Azure
Scalabilité
Performances
Haute
Disponibilité
#JSS2013
Services d’infrastructure Azure
• Des services de stockage
• Des services de réseaux virtuels
– Avec en option la possibilité d’établir des liens VPN
• Des machines virtuelles persistantes dans le Cloud
– Des Images fournies avec la plateforme Azure
– Des Images personnalisées
– Choix de dimensionnement : jusqu’à 8 cœurs et 56GB de RAM et 16 Data
Disks (max 1TB, soit 16 TBs max)
• Hébergement sur du matériel de « commodité »
#JSS2013
SQL Server dans une VM Windows Azure
• Versions supportées :
– SQL Server 2012, 2008 R2, 2008
– Toutes les fonctionnalités supportées à l’exception du failover clustering
• Stockage :
– 2 possibilités avec SQL 2014
• Disques associés à des objets blob de stockage
• Fichiers de base de données SQL Server pointant directement sur des
objets blob de stockage : SQL XI (XStore Integration)
– Options de stockage fondées sur la taille de la VM
• Facturation à l’usage ou mobilité de licence via la Software
Assurance
#JSS2013
Création à partir de la galerie d’images
• Beaucoup plus rapide qu’une installation complète
• Multiples éditions SQL Server :
– Enterprise Edition
– Standard Edition
– Web Edition
• Facturation à l’usage
• Services de BI installés par défaut
– SQL Server Analysis Services
– SQL Server Reporting Services
• Stockage :
– Disque C : 127GB
– Média d’installation de SQL Server sur le disque C:
#JSS2013
Création d’images personnalisées
• Machines virtuelles construites à demeure (ou obtenue à
partir de machines physiques – P2V)
– Sysprep si l’on souhaite créer plusieurs VM à partir d’une image
• http://msdn.microsoft.com/en-us/library/ee210754.aspx
– Sysprep non requis pour une instance unique
• Machines virtuelles construites dans le Cloud
– A partir de la galerie d’images
– Installation en se basant sur une image OS
• Mobilité des licences
#JSS2013
Dimensionnement des VMs IaaS SQL Server
Memory
Disk sizes –
virtual machine
Max. data
disks
(1 TB each)
Max. IOPS
(500 per disk)
Bandwidth
ExtraSmall Shared
768 MB
OS = 127 GB Temporary = 20 GB
1
1x500
5 (Mb/s)
Small
1
1.75 GB
OS = 127 GB Temp = 70 GB
2
2x500
100 (Mb/s)
Medium
2
3.5 GB
OS = 127 GB Temp = 135 GB
4
4x500
200 (Mb/s)
Large
4
7 GB
OS = 127 GB Temporary = 285 GB
8
8x500
400 (Mb/s)
ExtraLarge 8
14 GB
OS = 127 GB Temporary = 605 GB
16
16x500
800 (Mb/s)
A5
2
14 GB
OS = 127 GB Temporary = 135 GB
4
4X500
400
A6
4
28 GB
OS = 127 GB Temporary = 285 GB
8
8x500
800
A7
8
56 GB
OS = 127 GB Temporary = 605 GB
16
16x500
Size
CPU
cores
http://msdn.microsoft.com/en-us/library/windowsazure/dn197896.aspx
#JSS2013
Scale-up, Scale-down Serveur SQL IaaS
•
« Scale-up » ou « scale-down » en
•
modifiant directement la taille de la
machine virtuelle hébergeant le
serveur SQL :
– Soit depuis le portail Azure
•
–
–
Soit avec la Cmdlet Set-AzureVMSize + UpdateAzureVM.
http://msdn.microsoft.com/enus/library/windowsazure/jj152814.aspx
Renouvellement du déploiement (et de
l’adresse IP) et dans le cas d’un serveur
SQL standalone, interruption de
service.
Impact positif de l’intégration du
XStore
#JSS2013
Performances de SQL Server dans une VM Azure
•
•
Localisation des fichiers
Utilisation de disques de données :
–
–
•
•
•
•
•
•
1 disque Data par base
Distribution des fichiers de données en filegroups
Disque d’installation des binaires SQL
Cache Settings
Warmup Effects : les prendre en compte si
tests de charge…
Compression de données
Impact positif de l’intégration du XStore
Performance Guidance for SQL Server in Windows Azure Virtual
Machines
▪
http://download.microsoft.com/download/D/2/0/D20E1C5F-72EA-4505-9F26FEF9550EFD44/Performance%20Guidance%20for%20SQL%20Server%20in%20Windows%
20Azure%20Virtual%20Machines.docx
#JSS2013
SQL Server Data Warehousing dans Azure
• Images de la galerie
–
–
–
http://msdn.microsoft.com/en-us/library/dn387396.aspx
Avec finalisation (manuelle) du setup
http://msdn.microsoft.com/en-us/library/dn387397.aspx
• Script de déploiement automatisé
–
http://gallery.technet.microsoft.com/scriptcenter/Deploy-a-SQL-Server-Data-584e88d5
.\New-AzureSqlDwIaasVM.ps1 -PublishSettingsFile C:\stephgou.publishsettings -InstanceSize A6 ---SqlVersion SQL2014 -AzureAffinityGroup DwAffinityGrp1 -StorageAccountName StorageAccount1 --VMName A6-SQL2014 -ServiceName A6-SQL2014 -AdminAccount sa -AdminPassword xxx ---------Location " West Europe"
• Deep-dive on New Azure FastTrack VM image
–
http://blogs.msdn.com/b/igorpag/archive/2013/10/11/deep-dive-on-new-azure-fasttrack-vm-imageftdw.aspx
#JSS2013
SQL Server Data Warehousing dans Azure
• Post-configuration (SQL Server inclus) dans
la VM via un le Task Scheduler et un script
PowerShell
• Power Shell configuration script:
–
C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe ExecutionPolicy Bypass -File "C:\Program Files\Microsoft SQL
Server\DwIaas\ConfigDwIaaSVM.ps1"
• SQL Server Setup command line (default
instance installation):
–
C:\Program Files\Microsoft SQL Server\110\Setup
Bootstrap\SQLServer2012\setup.exe /ACTION=CONFIGUREIMAGE
/IACCEPTSQLSERVERLICENSETERMS
/INSTANCENAME="MSSQLSERVER" /Q
#JSS2013
Configuration SQL Server optimisée pour le Data
Warehousing dans Azure
OPTIMISATION SQL IAAS
#JSS2013
Haute disponibilité de SQL Server dans Azure
• LogShipping, Mirroring, AlwaysOn
• AlwaysOn requiert SQL Entreprise
– Repose sur un cluster WSFC (Windows
Server Failover Clustering)
– 8 secondaires (SQL 2014) :
• 2 Synchrones, 6 Asynchrones
– Secondaires actifs pour :
• Backup, reporting….
– Niveau de protection :
• Base ou groupe de bases
– Notion de « Listener » :
• Redirection automatique
High Availability and Disaster Recovery for SQL
Server in Windows Azure Virtual Machines
#JSS2013
Automatisation d’une configuration AlwaysOn
• Deploy a SQL Server AlwaysOn Availability Group
in Windows Azure
– http://gallery.technet.microsoft.com/scriptcenter/Deploy-aSQL-Server-794bc810
• Create WSFC Cluster for AlwaysOn Availability
Groups in Windows Azure VM
– http://gallery.technet.microsoft.com/scriptcenter/CreateWSFC-Cluster-for-7c207d3a
• Create Availability Group Listener in Windows
Azure VMs (Cloud-Only)
– http://gallery.technet.microsoft.com/scriptcenter/CreateAvailability-Group-fff94cd5
• SharePoint 2013 Automated Deployment Master
Scripts
– https://github.com/windowsazure/azure-sdk-tools-samples
#JSS2013
Quelle solution choisir ? Sur quels critères
SQL SERVER IAAS VS AZURE SQL
DATABASE
#JSS2013
SQL Server IaaS vs Azure SQL Database
• Critères à prendre en compte :
– Taille de la base, scalabilité, performance, coût, disponibilité, gestion
opérationnelle
• Windows Azure SQL Database :
– Optimisé pour réduire les coûts.
– Mise à disposition simple et rapide d’une infrastructure hautement disponible.
• SQL Server IaaS :
– La solution à privilégier pour la reprise de l’existant et pour les applications
hybrides.
– Un contrôle total d’une instance dédiée SQL Server.
– http://blogs.msdn.com/b/windowsazure/archive/2012/06/26/data-series-sqlserver-in-windows-azure-virtual-machine-vs-sql-database.aspx
#JSS2013
#JSS2013
#JSS2013