SlideShare a Scribd company logo
CLOUD
CONFERENCE
ITALIA
2019
SQL SERVER ED AZURE: DISASTER RECOVERY PER TUTTI!
Marco obinu
@OmegaMadLab
SPONSOR
WHO AM I?
Marco Obinu
Advisory Engineer
SoftJam S.p.A.
@OmegaMadLab
marco.obinu@omegamadlab.com
http://www.omegamadlab.com
https://github.com/OmegaMadLab
https://www.linkedin.com/in/marco-obinu-omegamadlab/
https://www.youtube.com/channel/UCpkBeQSscC1iBvpNP4VNTKQ
• Geek to the bone 
• Azure Solution Architect Expert
AGENDA
• Concetti di base per DR su Azure IaaS
• Tecnologie native Microsoft per il DR di SQL Server su Azure
• Novità sul fronte licenze
• Demo
DR DI SQL SERVER ON AZURE IAAS
CONCETTI DI BASE
TERMINOLOGIA DI BASE
Dati persi Tempo di ripristino
Interruzione
di servizio
RPO RTO
RTO - RPO
COSTI - COMPLESSITÀ
PERCHÉ IMPLEMENTARE IL DR DI SQL SU AZURE?
Costi Benefici
Microsoft Azure
Nuove
tecnologie
Microsoft
Azure
INFRASTRUCTURE AS A SERVICE MODEL
MANAGEDBYVENDOR
MANAGEDBYVENDOR
MANAGEDBYVENDOR
APPLICATION
HYPERVISOR
OS
RUNTIME
DATA
STORAGE
NETWORK
TRADITIONAL IT
APPLICATION
HYPERVISOR
OS
RUNTIME
DATA
STORAGE
NETWORK
IaaS
YOUMANAGE
SERVERS SERVERS
APPLICATION
HYPERVISOR
OS
RUNTIME
DATA
STORAGE
NETWORK
PaaS
YOUMANAGE
SERVERS
APPLICATION
HYPERVISOR
OS
RUNTIME
DATA
STORAGE
NETWORK
SaaS
SERVERS
YOUMANAGE
SQL Server
on IaaS VM
DR DI SQL SERVER ON AZURE IAAS
TECNOLOGIE PER SCENARI IBRIDI
PRINCIPALI TECNOLOGIE MICROSOFT PER IL DR DI SQL
BACKUP SU STORAGE ACCOUNT
On-premises network
Database
Backup
Microsoft
Azure
Storage blob
• Soluzione di offsite backup
• SQL 2012 SP1 CU2+
• SQL 2014+ cifratura del backup
• Per le versioni precedenti è
disponibile un tool ufficiale
• Indipendente dal Recovery Model
• Non richiede VPN
• RTO alto
• RPO dipende dalla frequenza dei
backup
BACKUP SU STORAGE
ACCOUNT
On-premises network
Database
Backup
Microsoft
Azure
Storage blob
On-premises network
Primary
Log Shipping
Secondary
VPN tunnel
Domain
controller
Domain
controller
Microsoft
Azure
LOG SHIPPING
• Disponibile su tutte le edizioni di SQL
Server, ad eccezione della Express
• Recovery Model = FULL
• Richiede VPN
• RTO mediamente lungo
• RPO dipende dalla frequenza dei
backup
• Una sessione di log shipping per
singolo database 
• Database secondario tendenzialmente
non leggibile 
LOG SHIPPING
On-premises network
Primary
Log Shipping
Secondary
VPN tunnel
Domain
controller
Domain
controller
Microsoft
Azure
On-premises network
Principal
High
performance
VPN tunnel
Mirror
Domain
controller
Domain
controller
Microsoft
Azure
MIRRORING
• Deprecato, ma ancora disponibile
• High Performance = Enterprise Edition
• Recovery Model = FULL
• Richiede VPN – implementabile anche
senza, tramite certificati
• RTO mediamente basso
• RPO mediamente basso
• Una sessione di mirroring per singolo
database 
• Database secondario tendenzialmente
non leggibile 
MIRRORING
On-premises network
Principal
High
performance
VPN tunnel
Mirror
Domain
controller
Domain
controller
Microsoft
Azure
On-premises network
Primary replica Secondary replica
Domain
controller
Synchronous
commit
Asynchronous
commit
Secondary replica
File Share Witness
VPN tunnel
Domain
controller
WSFC
Microsoft
Azure
ALWAYS ON AVAILABILITY GROUPS
• Soluzione integrata di HA e DR
 Repliche sync (automatic failover, Automatic Page Repair)
 Repliche async (forced failover with possible data loss)
• SQL2012+ Enteprise, BAG 2016+
• Recovery Model = FULL
• Richiede VPN
• RTO basso
• RPO basso
• Un AG può contenere più database 
• Repliche secondarie leggibili, ReadOnly
Routing 
• Integrato con PowerShell 
ALWAYS ON
AVAILABILITY GROUPS
On-premises network
Primary replica Secondary replica
Domain
controller
Synchronous
commit
Asynchronous
commit
Secondary replica
File Share Witness
VPN tunnel
Domain
controller
WSFC
Microsoft
Azure
network subnet
On-prem network
ANATOMIA DI ALWAYS ON AG
Azure vnetOn-prem network
ANATOMIA DI ALWAYS ON AG
Azure vnetOn-prem network
Utenti Reportistica
ALWAYS ON AG – COME FUNZIONA IL FAILOVER?
Azure vnetOn-prem network
WSFC1 WSFC2
Distributed Availability Group
ALWAYS ON DISTRIBUTED AG (SQL2016+)
• SQL Server 2016 Standard o successivo
• Un singolo database per gruppo
• Una sola replica non accessibile
• Replica sincrona o asincrona
• Complesso da implementare se si hanno più
DB
Azure vnetOn-prem network
ALWAYS ON BASIC AVAILABILITY GROUP
network subnetAzure subnetOn-prem network
INTERAZIONE CON FAILOVER CLUSTER INSTANCE
AZURE SITE RECOVERY
• Azure Site Recovery orchestra la
protezione dei nostri workload
• In caso di failover mette in atto il
recovery plan definito e testato in
precedenza
• Può governare un sistema di DR SQL
• Può gestire la replica diretta di una
sistema SQL
AZURE SITE RECOVERY
MA QUANTO CI COSTA A LIVELLO DI LICENSING?
SQL 2017 (SA)
SQL 2019 (SA)
IT’S DEMO TIME!
IMPLEMENTAZIONE DI UN CLOUD DR PER FAILOVER CLUSTER ON-PREM
• SQL Server 2017 Standard
• SQL Failover Cluster Instance per HA
on-prem
• Basic Availability Group per DR su
Azure
• PowerShell!  https://dbatools.io
DEMO
WSFC
BAG
BAG
FCI
Microsoft
Azure
SQLDR
iSCSI
Storage
SQL02SQL01
Local
storage
DR-DC
DC
RRAS
VPN
Gateway
OnPrem Network
Azure Network
VPN tunnel
Enterprise
• SQL FCI a due nodi on-prem
 Storage condiviso iScsi
 2 DB
• SQL VM con istanza stand-alone su
Azure
 Storage locale
 Nessun DB
FASE 1
• SQL FCI a due nodi on-prem
 Storage condiviso iScsi
 2 DB
• SQL VM con istanza stand-alone su
Azure
 Storage locale
 Nessun DB
FASE 1
• Creazione ILB per gestione IP
clusterizzati
 Un IP per cluster
 Due IP per AG listener
FASE 2
• Creazione ILB per gestione IP
clusterizzati
 Un IP per cluster
 Due IP per AG listener
FASE 2
• Inserimento del nodo di DR all’interno
del WSFC
FASE 3
• Inserimento del nodo di DR all’interno
del WSFC
FASE 3
• Rimozione voto Quorum in DR
• Abilitazione prerequisiti per
implementazione Availability Group
FASE 4
• Rimozione voto Quorum in DR
• Abilitazione prerequisiti per
implementazione Availability Group
FASE 4
• Creazione Availability Group
FASE 5
• Creazione Availability Group
FASE 5
• Creazione Availability Group listener
FASE 6
• Creazione Availability Group listener
FASE 6
• Verifica configurazione post
deployment
FASE 7
• Verifica configurazione post
deployment
FASE 7
• Simulazione disastro
FASE 8
• Simulazione disastro
FASE 8
• Attivazione del sito di DR
FASE 9
MATERIALE UTILE
 Demo scripts
 https://github.com/OmegaMadLab/FCI_and_AG
 Documentazione ufficiale
 https://docs.microsoft.com/en-us/azure/virtual-machines/windows/sql/virtual-machines-windows-sql-high-availability-dr
 SQL backup to Azure Blob Storage cheat sheet:
 https://techcommunity.microsoft.com/t5/DataCAT/SQL-Server-Backup-to-URL-a-cheat-sheet/ba-p/346358
 Documentazione FCI + AG:
 https://docs.microsoft.com/it-it/sql/database-engine/availability-groups/windows/failover-clustering-and-always-on-availability-groups-sql-
server?view=sql-server-2017
 DBATools
 https://dbatools.io
 SQL Saturday 895 – SQL Server e PowerShell: from Zero to Hero
 https://youtu.be/yR3TfZfzHss
 SQL Server 2019 licensing sheet
 https://download.microsoft.com/download/6/6/0/66078040-86d8-4f6e-b0c5-
e9919bbcb537/SQL%20Server%202019%20Licensing%20guide.pdf
GRAZIE!

More Related Content

What's hot

SQL Server Failover Cluster Instances con Amazon FSx in AWS
SQL Server Failover Cluster Instances con Amazon FSx in AWSSQL Server Failover Cluster Instances con Amazon FSx in AWS
SQL Server Failover Cluster Instances con Amazon FSx in AWSGianluca Hotz
 
SQL Server Failover Cluster Instances con Azure Managed Disks
SQL Server Failover Cluster Instances con Azure Managed DisksSQL Server Failover Cluster Instances con Azure Managed Disks
SQL Server Failover Cluster Instances con Azure Managed DisksGianluca Hotz
 
SDS,la pietra d’angolo dell SDDC
SDS,la pietra d’angolo dell SDDC SDS,la pietra d’angolo dell SDDC
SDS,la pietra d’angolo dell SDDC VMUG IT
 
Sviluppare Azure Web Apps
Sviluppare Azure Web AppsSviluppare Azure Web Apps
Sviluppare Azure Web AppsAndrea Dottor
 
Blazor ha vinto? Storie di casi reali
Blazor ha vinto? Storie di casi realiBlazor ha vinto? Storie di casi reali
Blazor ha vinto? Storie di casi realiAndrea Dottor
 
IaC - Infrastructure as Code, gestire infrastrutture cloud tramite file di co...
IaC - Infrastructure as Code, gestire infrastrutture cloud tramite file di co...IaC - Infrastructure as Code, gestire infrastrutture cloud tramite file di co...
IaC - Infrastructure as Code, gestire infrastrutture cloud tramite file di co...Daniele Mondello
 
Novità di VMware vShere 6.0 @ VMUG.IT 20150304
Novità di VMware vShere 6.0 @ VMUG.IT 20150304Novità di VMware vShere 6.0 @ VMUG.IT 20150304
Novità di VMware vShere 6.0 @ VMUG.IT 20150304VMUG IT
 
Blazor per uno sviluppatore Web Form
Blazor per uno sviluppatore Web FormBlazor per uno sviluppatore Web Form
Blazor per uno sviluppatore Web FormAndrea Dottor
 
Introduzione ad ASP.NET Core
Introduzione ad ASP.NET CoreIntroduzione ad ASP.NET Core
Introduzione ad ASP.NET CoreAndrea Dottor
 
La nostra infrastruttura di produzione a container con Docker, Rancher e ZFS
La nostra infrastruttura di produzione a container con Docker, Rancher e ZFSLa nostra infrastruttura di produzione a container con Docker, Rancher e ZFS
La nostra infrastruttura di produzione a container con Docker, Rancher e ZFSMorlini Gabriele
 
VMware SRM - Una visione architetturale
VMware SRM - Una visione architetturaleVMware SRM - Una visione architetturale
VMware SRM - Una visione architetturaleVMUG IT
 
La nostra infrastruttura di produzione a container con Docker, Rancher e ZFS
La nostra infrastruttura di produzione a container con Docker, Rancher e ZFS La nostra infrastruttura di produzione a container con Docker, Rancher e ZFS
La nostra infrastruttura di produzione a container con Docker, Rancher e ZFS Imola Informatica
 
Back to the Future: Migrare da WebForm ad ASP.NET Core gradualmente
Back to the Future: Migrare da WebForm ad ASP.NET Core gradualmente Back to the Future: Migrare da WebForm ad ASP.NET Core gradualmente
Back to the Future: Migrare da WebForm ad ASP.NET Core gradualmente Andrea Dottor
 
VMUGIT Roma 2016 - vROps Design - Pietro Piutti
VMUGIT Roma 2016 - vROps Design - Pietro PiuttiVMUGIT Roma 2016 - vROps Design - Pietro Piutti
VMUGIT Roma 2016 - vROps Design - Pietro PiuttiVMUG IT
 

What's hot (15)

SQL Server Failover Cluster Instances con Amazon FSx in AWS
SQL Server Failover Cluster Instances con Amazon FSx in AWSSQL Server Failover Cluster Instances con Amazon FSx in AWS
SQL Server Failover Cluster Instances con Amazon FSx in AWS
 
SQL Server Failover Cluster Instances con Azure Managed Disks
SQL Server Failover Cluster Instances con Azure Managed DisksSQL Server Failover Cluster Instances con Azure Managed Disks
SQL Server Failover Cluster Instances con Azure Managed Disks
 
SDS,la pietra d’angolo dell SDDC
SDS,la pietra d’angolo dell SDDC SDS,la pietra d’angolo dell SDDC
SDS,la pietra d’angolo dell SDDC
 
Sviluppare Azure Web Apps
Sviluppare Azure Web AppsSviluppare Azure Web Apps
Sviluppare Azure Web Apps
 
Blazor ha vinto? Storie di casi reali
Blazor ha vinto? Storie di casi realiBlazor ha vinto? Storie di casi reali
Blazor ha vinto? Storie di casi reali
 
IaC - Infrastructure as Code, gestire infrastrutture cloud tramite file di co...
IaC - Infrastructure as Code, gestire infrastrutture cloud tramite file di co...IaC - Infrastructure as Code, gestire infrastrutture cloud tramite file di co...
IaC - Infrastructure as Code, gestire infrastrutture cloud tramite file di co...
 
Novità di VMware vShere 6.0 @ VMUG.IT 20150304
Novità di VMware vShere 6.0 @ VMUG.IT 20150304Novità di VMware vShere 6.0 @ VMUG.IT 20150304
Novità di VMware vShere 6.0 @ VMUG.IT 20150304
 
Blazor per uno sviluppatore Web Form
Blazor per uno sviluppatore Web FormBlazor per uno sviluppatore Web Form
Blazor per uno sviluppatore Web Form
 
Introduzione ad ASP.NET Core
Introduzione ad ASP.NET CoreIntroduzione ad ASP.NET Core
Introduzione ad ASP.NET Core
 
La nostra infrastruttura di produzione a container con Docker, Rancher e ZFS
La nostra infrastruttura di produzione a container con Docker, Rancher e ZFSLa nostra infrastruttura di produzione a container con Docker, Rancher e ZFS
La nostra infrastruttura di produzione a container con Docker, Rancher e ZFS
 
VMware SRM - Una visione architetturale
VMware SRM - Una visione architetturaleVMware SRM - Una visione architetturale
VMware SRM - Una visione architetturale
 
What's new in Grizzly
What's new in GrizzlyWhat's new in Grizzly
What's new in Grizzly
 
La nostra infrastruttura di produzione a container con Docker, Rancher e ZFS
La nostra infrastruttura di produzione a container con Docker, Rancher e ZFS La nostra infrastruttura di produzione a container con Docker, Rancher e ZFS
La nostra infrastruttura di produzione a container con Docker, Rancher e ZFS
 
Back to the Future: Migrare da WebForm ad ASP.NET Core gradualmente
Back to the Future: Migrare da WebForm ad ASP.NET Core gradualmente Back to the Future: Migrare da WebForm ad ASP.NET Core gradualmente
Back to the Future: Migrare da WebForm ad ASP.NET Core gradualmente
 
VMUGIT Roma 2016 - vROps Design - Pietro Piutti
VMUGIT Roma 2016 - vROps Design - Pietro PiuttiVMUGIT Roma 2016 - vROps Design - Pietro Piutti
VMUGIT Roma 2016 - vROps Design - Pietro Piutti
 

Similar to CCI2019 - SQL Server ed Azure: Disaster Recovery per tutti

Azure dayroma java, il lato oscuro del cloud
Azure dayroma   java, il lato oscuro del cloudAzure dayroma   java, il lato oscuro del cloud
Azure dayroma java, il lato oscuro del cloudRiccardo Zamana
 
Azure PaaS databases
Azure PaaS databasesAzure PaaS databases
Azure PaaS databasesGianluca Hotz
 
Come utilizzare AWS DMS per migrare SQL Server ad Amazon Aurora
Come utilizzare AWS DMS per migrare SQL Server ad Amazon AuroraCome utilizzare AWS DMS per migrare SQL Server ad Amazon Aurora
Come utilizzare AWS DMS per migrare SQL Server ad Amazon AuroraGianluca Hotz
 
Microsoft SQL Server PaaS (Platform as a Service)
Microsoft SQL Server PaaS (Platform as a Service)Microsoft SQL Server PaaS (Platform as a Service)
Microsoft SQL Server PaaS (Platform as a Service)Gianluca Hotz
 
Azure Day Rome Reloaded 2019 - Python, Azure Cosmos DB, Docker and Azure Cont...
Azure Day Rome Reloaded 2019 - Python, Azure Cosmos DB, Docker and Azure Cont...Azure Day Rome Reloaded 2019 - Python, Azure Cosmos DB, Docker and Azure Cont...
Azure Day Rome Reloaded 2019 - Python, Azure Cosmos DB, Docker and Azure Cont...azuredayit
 
Realizzazione di Microservizi con Docker, Kubernetes, Kafka e Mongodb
Realizzazione di Microservizi con Docker, Kubernetes, Kafka e MongodbRealizzazione di Microservizi con Docker, Kubernetes, Kafka e Mongodb
Realizzazione di Microservizi con Docker, Kubernetes, Kafka e MongodbMongoDB
 
20160402_mlraviol_mariadb_TorinoWordCamp
20160402_mlraviol_mariadb_TorinoWordCamp20160402_mlraviol_mariadb_TorinoWordCamp
20160402_mlraviol_mariadb_TorinoWordCampmlraviol
 
MySQL Tech Tour 2015 - Soluzioni di alta disponibilità con MySQL
MySQL Tech Tour 2015 - Soluzioni di alta disponibilità con MySQLMySQL Tech Tour 2015 - Soluzioni di alta disponibilità con MySQL
MySQL Tech Tour 2015 - Soluzioni di alta disponibilità con MySQLPar-Tec S.p.A.
 
Polyglot Persistance con PostgreSQL, CouchDB, MongoDB, Redis e OrientDB
Polyglot Persistance con PostgreSQL, CouchDB, MongoDB, Redis e OrientDBPolyglot Persistance con PostgreSQL, CouchDB, MongoDB, Redis e OrientDB
Polyglot Persistance con PostgreSQL, CouchDB, MongoDB, Redis e OrientDBSteve Maraspin
 
Azure No-Sql approach: DocumentDB
Azure No-Sql approach: DocumentDBAzure No-Sql approach: DocumentDB
Azure No-Sql approach: DocumentDBDavide Benvegnù
 
2014.11.14 Implementare e mantenere un progetto Azure SQL Database
2014.11.14 Implementare e mantenere un progetto Azure SQL Database2014.11.14 Implementare e mantenere un progetto Azure SQL Database
2014.11.14 Implementare e mantenere un progetto Azure SQL DatabaseEmanuele Zanchettin
 
Funziona! allora non toccarlo, ovvero l'analisi d'infrastruttura in esercizio.
Funziona! allora non toccarlo, ovvero l'analisi d'infrastruttura in esercizio.Funziona! allora non toccarlo, ovvero l'analisi d'infrastruttura in esercizio.
Funziona! allora non toccarlo, ovvero l'analisi d'infrastruttura in esercizio.Giuliano Latini
 
IaaS and PaaS relational databases in the cloud
IaaS and PaaS relational databases in the cloudIaaS and PaaS relational databases in the cloud
IaaS and PaaS relational databases in the cloudGianluca Hotz
 
Azure for Game Developers
Azure for Game DevelopersAzure for Game Developers
Azure for Game DevelopersMarco Parenzan
 
2014.11.14 Implementare e mantenere un progetto Azure SQL Database
2014.11.14 Implementare e mantenere un progetto Azure SQL Database2014.11.14 Implementare e mantenere un progetto Azure SQL Database
2014.11.14 Implementare e mantenere un progetto Azure SQL DatabaseEmanuele Zanchettin
 
VMUG.IT @ ITway Campus 2014
VMUG.IT @ ITway Campus 2014VMUG.IT @ ITway Campus 2014
VMUG.IT @ ITway Campus 2014Andrea Mauro
 
Presentazione al VMUGIT UC 2014 - Virtualizzare con i piedi per terra
Presentazione al VMUGIT UC 2014 - Virtualizzare con i piedi per terraPresentazione al VMUGIT UC 2014 - Virtualizzare con i piedi per terra
Presentazione al VMUGIT UC 2014 - Virtualizzare con i piedi per terraAndrea Mauro
 
VMUGIT - Virtualizzare con i piedi per terra
VMUGIT - Virtualizzare con i piedi per terraVMUGIT - Virtualizzare con i piedi per terra
VMUGIT - Virtualizzare con i piedi per terraVMUG IT
 

Similar to CCI2019 - SQL Server ed Azure: Disaster Recovery per tutti (20)

Azure dayroma java, il lato oscuro del cloud
Azure dayroma   java, il lato oscuro del cloudAzure dayroma   java, il lato oscuro del cloud
Azure dayroma java, il lato oscuro del cloud
 
Laravel & Passport
Laravel & PassportLaravel & Passport
Laravel & Passport
 
Azure PaaS databases
Azure PaaS databasesAzure PaaS databases
Azure PaaS databases
 
Come utilizzare AWS DMS per migrare SQL Server ad Amazon Aurora
Come utilizzare AWS DMS per migrare SQL Server ad Amazon AuroraCome utilizzare AWS DMS per migrare SQL Server ad Amazon Aurora
Come utilizzare AWS DMS per migrare SQL Server ad Amazon Aurora
 
Microsoft SQL Server PaaS (Platform as a Service)
Microsoft SQL Server PaaS (Platform as a Service)Microsoft SQL Server PaaS (Platform as a Service)
Microsoft SQL Server PaaS (Platform as a Service)
 
Azure Day Rome Reloaded 2019 - Python, Azure Cosmos DB, Docker and Azure Cont...
Azure Day Rome Reloaded 2019 - Python, Azure Cosmos DB, Docker and Azure Cont...Azure Day Rome Reloaded 2019 - Python, Azure Cosmos DB, Docker and Azure Cont...
Azure Day Rome Reloaded 2019 - Python, Azure Cosmos DB, Docker and Azure Cont...
 
Realizzazione di Microservizi con Docker, Kubernetes, Kafka e Mongodb
Realizzazione di Microservizi con Docker, Kubernetes, Kafka e MongodbRealizzazione di Microservizi con Docker, Kubernetes, Kafka e Mongodb
Realizzazione di Microservizi con Docker, Kubernetes, Kafka e Mongodb
 
20160402_mlraviol_mariadb_TorinoWordCamp
20160402_mlraviol_mariadb_TorinoWordCamp20160402_mlraviol_mariadb_TorinoWordCamp
20160402_mlraviol_mariadb_TorinoWordCamp
 
MySQL Tech Tour 2015 - Soluzioni di alta disponibilità con MySQL
MySQL Tech Tour 2015 - Soluzioni di alta disponibilità con MySQLMySQL Tech Tour 2015 - Soluzioni di alta disponibilità con MySQL
MySQL Tech Tour 2015 - Soluzioni di alta disponibilità con MySQL
 
SQL Server in AWS
SQL Server in AWSSQL Server in AWS
SQL Server in AWS
 
Polyglot Persistance con PostgreSQL, CouchDB, MongoDB, Redis e OrientDB
Polyglot Persistance con PostgreSQL, CouchDB, MongoDB, Redis e OrientDBPolyglot Persistance con PostgreSQL, CouchDB, MongoDB, Redis e OrientDB
Polyglot Persistance con PostgreSQL, CouchDB, MongoDB, Redis e OrientDB
 
Azure No-Sql approach: DocumentDB
Azure No-Sql approach: DocumentDBAzure No-Sql approach: DocumentDB
Azure No-Sql approach: DocumentDB
 
2014.11.14 Implementare e mantenere un progetto Azure SQL Database
2014.11.14 Implementare e mantenere un progetto Azure SQL Database2014.11.14 Implementare e mantenere un progetto Azure SQL Database
2014.11.14 Implementare e mantenere un progetto Azure SQL Database
 
Funziona! allora non toccarlo, ovvero l'analisi d'infrastruttura in esercizio.
Funziona! allora non toccarlo, ovvero l'analisi d'infrastruttura in esercizio.Funziona! allora non toccarlo, ovvero l'analisi d'infrastruttura in esercizio.
Funziona! allora non toccarlo, ovvero l'analisi d'infrastruttura in esercizio.
 
IaaS and PaaS relational databases in the cloud
IaaS and PaaS relational databases in the cloudIaaS and PaaS relational databases in the cloud
IaaS and PaaS relational databases in the cloud
 
Azure for Game Developers
Azure for Game DevelopersAzure for Game Developers
Azure for Game Developers
 
2014.11.14 Implementare e mantenere un progetto Azure SQL Database
2014.11.14 Implementare e mantenere un progetto Azure SQL Database2014.11.14 Implementare e mantenere un progetto Azure SQL Database
2014.11.14 Implementare e mantenere un progetto Azure SQL Database
 
VMUG.IT @ ITway Campus 2014
VMUG.IT @ ITway Campus 2014VMUG.IT @ ITway Campus 2014
VMUG.IT @ ITway Campus 2014
 
Presentazione al VMUGIT UC 2014 - Virtualizzare con i piedi per terra
Presentazione al VMUGIT UC 2014 - Virtualizzare con i piedi per terraPresentazione al VMUGIT UC 2014 - Virtualizzare con i piedi per terra
Presentazione al VMUGIT UC 2014 - Virtualizzare con i piedi per terra
 
VMUGIT - Virtualizzare con i piedi per terra
VMUGIT - Virtualizzare con i piedi per terraVMUGIT - Virtualizzare con i piedi per terra
VMUGIT - Virtualizzare con i piedi per terra
 

More from walk2talk srl

CCI 2019 - SQL Injection - Black Hat Vs White Hat
CCI 2019 - SQL Injection - Black Hat Vs White HatCCI 2019 - SQL Injection - Black Hat Vs White Hat
CCI 2019 - SQL Injection - Black Hat Vs White Hatwalk2talk srl
 
CCI 2019 - Exploiting Custom Vision SDK in Python to create an efficient imag...
CCI 2019 - Exploiting Custom Vision SDK in Python to create an efficient imag...CCI 2019 - Exploiting Custom Vision SDK in Python to create an efficient imag...
CCI 2019 - Exploiting Custom Vision SDK in Python to create an efficient imag...walk2talk srl
 
CCI 2019 - Come ottimizzare i propri workload su Azure
CCI 2019 - Come ottimizzare i propri workload su AzureCCI 2019 - Come ottimizzare i propri workload su Azure
CCI 2019 - Come ottimizzare i propri workload su Azurewalk2talk srl
 
CCI 2019 - Exchange 2019 da 0 ad HA in 1 ora
CCI 2019 - Exchange 2019 da 0 ad HA in 1 oraCCI 2019 - Exchange 2019 da 0 ad HA in 1 ora
CCI 2019 - Exchange 2019 da 0 ad HA in 1 orawalk2talk srl
 
CCI 2019 - PowerApps for Enterprise Developers
CCI 2019 - PowerApps for Enterprise DevelopersCCI 2019 - PowerApps for Enterprise Developers
CCI 2019 - PowerApps for Enterprise Developerswalk2talk srl
 
CCI 2019 - Architettare componenti in SPFx, esperienze sul campo
CCI 2019 - Architettare componenti in SPFx, esperienze sul campoCCI 2019 - Architettare componenti in SPFx, esperienze sul campo
CCI 2019 - Architettare componenti in SPFx, esperienze sul campowalk2talk srl
 
CCI 2019 - Step by step come attivare un servizio voce in MS Teams
CCI 2019 - Step by step come attivare un servizio voce in MS TeamsCCI 2019 - Step by step come attivare un servizio voce in MS Teams
CCI 2019 - Step by step come attivare un servizio voce in MS Teamswalk2talk srl
 
CCI 2019 - Strumenti Azure per l'Anomaly Detection in ambito Industria 4.0
CCI 2019 - Strumenti Azure per l'Anomaly Detection in ambito Industria 4.0CCI 2019 - Strumenti Azure per l'Anomaly Detection in ambito Industria 4.0
CCI 2019 - Strumenti Azure per l'Anomaly Detection in ambito Industria 4.0walk2talk srl
 
CCI2019 - I've got the Power! I've got the Shell!
CCI2019 - I've got the Power! I've got the Shell!CCI2019 - I've got the Power! I've got the Shell!
CCI2019 - I've got the Power! I've got the Shell!walk2talk srl
 
CCI2019 - Sistema di controllo del traffico con architettura Big Data
CCI2019 - Sistema di controllo del traffico con architettura Big DataCCI2019 - Sistema di controllo del traffico con architettura Big Data
CCI2019 - Sistema di controllo del traffico con architettura Big Datawalk2talk srl
 
CCI2019 - Governance di una Conversational AI
CCI2019 - Governance di una Conversational AICCI2019 - Governance di una Conversational AI
CCI2019 - Governance di una Conversational AIwalk2talk srl
 
CCI2019 - Reagire agli eventi generati dalla propria infrastruttura con Azure...
CCI2019 - Reagire agli eventi generati dalla propria infrastruttura con Azure...CCI2019 - Reagire agli eventi generati dalla propria infrastruttura con Azure...
CCI2019 - Reagire agli eventi generati dalla propria infrastruttura con Azure...walk2talk srl
 
CCI2019 - What's new in Remote Desktop Services on Windows Server 2019 and Azure
CCI2019 - What's new in Remote Desktop Services on Windows Server 2019 and AzureCCI2019 - What's new in Remote Desktop Services on Windows Server 2019 and Azure
CCI2019 - What's new in Remote Desktop Services on Windows Server 2019 and Azurewalk2talk srl
 
CCI2019 - Teams Direct Routing e servizi fonia avanzati
CCI2019 - Teams Direct Routing e servizi fonia avanzatiCCI2019 - Teams Direct Routing e servizi fonia avanzati
CCI2019 - Teams Direct Routing e servizi fonia avanzatiwalk2talk srl
 
CCI2019 - Microservizi: Idee per un'architettura con al centro l'utente
CCI2019 - Microservizi: Idee per un'architettura con al centro l'utenteCCI2019 - Microservizi: Idee per un'architettura con al centro l'utente
CCI2019 - Microservizi: Idee per un'architettura con al centro l'utentewalk2talk srl
 
CCI2019i - Implementare Azure Multi-Factor Authentication Lettere dal Fronte
CCI2019i - Implementare Azure Multi-Factor Authentication Lettere dal FronteCCI2019i - Implementare Azure Multi-Factor Authentication Lettere dal Fronte
CCI2019i - Implementare Azure Multi-Factor Authentication Lettere dal Frontewalk2talk srl
 
CCI2019 - Monitorare SQL Server Senza Andare in Bancarotta
CCI2019 - Monitorare SQL Server Senza Andare in BancarottaCCI2019 - Monitorare SQL Server Senza Andare in Bancarotta
CCI2019 - Monitorare SQL Server Senza Andare in Bancarottawalk2talk srl
 
CCI2019 - Architecting and Implementing Azure Networking
CCI2019 - Architecting and Implementing Azure NetworkingCCI2019 - Architecting and Implementing Azure Networking
CCI2019 - Architecting and Implementing Azure Networkingwalk2talk srl
 
CCI2019 - Teams e lo Shadow IT
CCI2019 - Teams e lo Shadow ITCCI2019 - Teams e lo Shadow IT
CCI2019 - Teams e lo Shadow ITwalk2talk srl
 
CCI2018 - La "moderna" Sicurezza informatica & Microsoft
CCI2018 - La "moderna" Sicurezza informatica & MicrosoftCCI2018 - La "moderna" Sicurezza informatica & Microsoft
CCI2018 - La "moderna" Sicurezza informatica & Microsoftwalk2talk srl
 

More from walk2talk srl (20)

CCI 2019 - SQL Injection - Black Hat Vs White Hat
CCI 2019 - SQL Injection - Black Hat Vs White HatCCI 2019 - SQL Injection - Black Hat Vs White Hat
CCI 2019 - SQL Injection - Black Hat Vs White Hat
 
CCI 2019 - Exploiting Custom Vision SDK in Python to create an efficient imag...
CCI 2019 - Exploiting Custom Vision SDK in Python to create an efficient imag...CCI 2019 - Exploiting Custom Vision SDK in Python to create an efficient imag...
CCI 2019 - Exploiting Custom Vision SDK in Python to create an efficient imag...
 
CCI 2019 - Come ottimizzare i propri workload su Azure
CCI 2019 - Come ottimizzare i propri workload su AzureCCI 2019 - Come ottimizzare i propri workload su Azure
CCI 2019 - Come ottimizzare i propri workload su Azure
 
CCI 2019 - Exchange 2019 da 0 ad HA in 1 ora
CCI 2019 - Exchange 2019 da 0 ad HA in 1 oraCCI 2019 - Exchange 2019 da 0 ad HA in 1 ora
CCI 2019 - Exchange 2019 da 0 ad HA in 1 ora
 
CCI 2019 - PowerApps for Enterprise Developers
CCI 2019 - PowerApps for Enterprise DevelopersCCI 2019 - PowerApps for Enterprise Developers
CCI 2019 - PowerApps for Enterprise Developers
 
CCI 2019 - Architettare componenti in SPFx, esperienze sul campo
CCI 2019 - Architettare componenti in SPFx, esperienze sul campoCCI 2019 - Architettare componenti in SPFx, esperienze sul campo
CCI 2019 - Architettare componenti in SPFx, esperienze sul campo
 
CCI 2019 - Step by step come attivare un servizio voce in MS Teams
CCI 2019 - Step by step come attivare un servizio voce in MS TeamsCCI 2019 - Step by step come attivare un servizio voce in MS Teams
CCI 2019 - Step by step come attivare un servizio voce in MS Teams
 
CCI 2019 - Strumenti Azure per l'Anomaly Detection in ambito Industria 4.0
CCI 2019 - Strumenti Azure per l'Anomaly Detection in ambito Industria 4.0CCI 2019 - Strumenti Azure per l'Anomaly Detection in ambito Industria 4.0
CCI 2019 - Strumenti Azure per l'Anomaly Detection in ambito Industria 4.0
 
CCI2019 - I've got the Power! I've got the Shell!
CCI2019 - I've got the Power! I've got the Shell!CCI2019 - I've got the Power! I've got the Shell!
CCI2019 - I've got the Power! I've got the Shell!
 
CCI2019 - Sistema di controllo del traffico con architettura Big Data
CCI2019 - Sistema di controllo del traffico con architettura Big DataCCI2019 - Sistema di controllo del traffico con architettura Big Data
CCI2019 - Sistema di controllo del traffico con architettura Big Data
 
CCI2019 - Governance di una Conversational AI
CCI2019 - Governance di una Conversational AICCI2019 - Governance di una Conversational AI
CCI2019 - Governance di una Conversational AI
 
CCI2019 - Reagire agli eventi generati dalla propria infrastruttura con Azure...
CCI2019 - Reagire agli eventi generati dalla propria infrastruttura con Azure...CCI2019 - Reagire agli eventi generati dalla propria infrastruttura con Azure...
CCI2019 - Reagire agli eventi generati dalla propria infrastruttura con Azure...
 
CCI2019 - What's new in Remote Desktop Services on Windows Server 2019 and Azure
CCI2019 - What's new in Remote Desktop Services on Windows Server 2019 and AzureCCI2019 - What's new in Remote Desktop Services on Windows Server 2019 and Azure
CCI2019 - What's new in Remote Desktop Services on Windows Server 2019 and Azure
 
CCI2019 - Teams Direct Routing e servizi fonia avanzati
CCI2019 - Teams Direct Routing e servizi fonia avanzatiCCI2019 - Teams Direct Routing e servizi fonia avanzati
CCI2019 - Teams Direct Routing e servizi fonia avanzati
 
CCI2019 - Microservizi: Idee per un'architettura con al centro l'utente
CCI2019 - Microservizi: Idee per un'architettura con al centro l'utenteCCI2019 - Microservizi: Idee per un'architettura con al centro l'utente
CCI2019 - Microservizi: Idee per un'architettura con al centro l'utente
 
CCI2019i - Implementare Azure Multi-Factor Authentication Lettere dal Fronte
CCI2019i - Implementare Azure Multi-Factor Authentication Lettere dal FronteCCI2019i - Implementare Azure Multi-Factor Authentication Lettere dal Fronte
CCI2019i - Implementare Azure Multi-Factor Authentication Lettere dal Fronte
 
CCI2019 - Monitorare SQL Server Senza Andare in Bancarotta
CCI2019 - Monitorare SQL Server Senza Andare in BancarottaCCI2019 - Monitorare SQL Server Senza Andare in Bancarotta
CCI2019 - Monitorare SQL Server Senza Andare in Bancarotta
 
CCI2019 - Architecting and Implementing Azure Networking
CCI2019 - Architecting and Implementing Azure NetworkingCCI2019 - Architecting and Implementing Azure Networking
CCI2019 - Architecting and Implementing Azure Networking
 
CCI2019 - Teams e lo Shadow IT
CCI2019 - Teams e lo Shadow ITCCI2019 - Teams e lo Shadow IT
CCI2019 - Teams e lo Shadow IT
 
CCI2018 - La "moderna" Sicurezza informatica & Microsoft
CCI2018 - La "moderna" Sicurezza informatica & MicrosoftCCI2018 - La "moderna" Sicurezza informatica & Microsoft
CCI2018 - La "moderna" Sicurezza informatica & Microsoft
 

CCI2019 - SQL Server ed Azure: Disaster Recovery per tutti

  • 2. SQL SERVER ED AZURE: DISASTER RECOVERY PER TUTTI! Marco obinu @OmegaMadLab
  • 4. WHO AM I? Marco Obinu Advisory Engineer SoftJam S.p.A. @OmegaMadLab marco.obinu@omegamadlab.com http://www.omegamadlab.com https://github.com/OmegaMadLab https://www.linkedin.com/in/marco-obinu-omegamadlab/ https://www.youtube.com/channel/UCpkBeQSscC1iBvpNP4VNTKQ • Geek to the bone  • Azure Solution Architect Expert
  • 5. AGENDA • Concetti di base per DR su Azure IaaS • Tecnologie native Microsoft per il DR di SQL Server su Azure • Novità sul fronte licenze • Demo
  • 6. DR DI SQL SERVER ON AZURE IAAS CONCETTI DI BASE
  • 7. TERMINOLOGIA DI BASE Dati persi Tempo di ripristino Interruzione di servizio RPO RTO RTO - RPO COSTI - COMPLESSITÀ
  • 8. PERCHÉ IMPLEMENTARE IL DR DI SQL SU AZURE? Costi Benefici Microsoft Azure Nuove tecnologie Microsoft Azure
  • 9. INFRASTRUCTURE AS A SERVICE MODEL MANAGEDBYVENDOR MANAGEDBYVENDOR MANAGEDBYVENDOR APPLICATION HYPERVISOR OS RUNTIME DATA STORAGE NETWORK TRADITIONAL IT APPLICATION HYPERVISOR OS RUNTIME DATA STORAGE NETWORK IaaS YOUMANAGE SERVERS SERVERS APPLICATION HYPERVISOR OS RUNTIME DATA STORAGE NETWORK PaaS YOUMANAGE SERVERS APPLICATION HYPERVISOR OS RUNTIME DATA STORAGE NETWORK SaaS SERVERS YOUMANAGE SQL Server on IaaS VM
  • 10. DR DI SQL SERVER ON AZURE IAAS TECNOLOGIE PER SCENARI IBRIDI
  • 12. BACKUP SU STORAGE ACCOUNT On-premises network Database Backup Microsoft Azure Storage blob
  • 13. • Soluzione di offsite backup • SQL 2012 SP1 CU2+ • SQL 2014+ cifratura del backup • Per le versioni precedenti è disponibile un tool ufficiale • Indipendente dal Recovery Model • Non richiede VPN • RTO alto • RPO dipende dalla frequenza dei backup BACKUP SU STORAGE ACCOUNT On-premises network Database Backup Microsoft Azure Storage blob
  • 14. On-premises network Primary Log Shipping Secondary VPN tunnel Domain controller Domain controller Microsoft Azure LOG SHIPPING
  • 15. • Disponibile su tutte le edizioni di SQL Server, ad eccezione della Express • Recovery Model = FULL • Richiede VPN • RTO mediamente lungo • RPO dipende dalla frequenza dei backup • Una sessione di log shipping per singolo database  • Database secondario tendenzialmente non leggibile  LOG SHIPPING On-premises network Primary Log Shipping Secondary VPN tunnel Domain controller Domain controller Microsoft Azure
  • 17. • Deprecato, ma ancora disponibile • High Performance = Enterprise Edition • Recovery Model = FULL • Richiede VPN – implementabile anche senza, tramite certificati • RTO mediamente basso • RPO mediamente basso • Una sessione di mirroring per singolo database  • Database secondario tendenzialmente non leggibile  MIRRORING On-premises network Principal High performance VPN tunnel Mirror Domain controller Domain controller Microsoft Azure
  • 18. On-premises network Primary replica Secondary replica Domain controller Synchronous commit Asynchronous commit Secondary replica File Share Witness VPN tunnel Domain controller WSFC Microsoft Azure ALWAYS ON AVAILABILITY GROUPS
  • 19. • Soluzione integrata di HA e DR  Repliche sync (automatic failover, Automatic Page Repair)  Repliche async (forced failover with possible data loss) • SQL2012+ Enteprise, BAG 2016+ • Recovery Model = FULL • Richiede VPN • RTO basso • RPO basso • Un AG può contenere più database  • Repliche secondarie leggibili, ReadOnly Routing  • Integrato con PowerShell  ALWAYS ON AVAILABILITY GROUPS On-premises network Primary replica Secondary replica Domain controller Synchronous commit Asynchronous commit Secondary replica File Share Witness VPN tunnel Domain controller WSFC Microsoft Azure
  • 22. Azure vnetOn-prem network Utenti Reportistica ALWAYS ON AG – COME FUNZIONA IL FAILOVER?
  • 23. Azure vnetOn-prem network WSFC1 WSFC2 Distributed Availability Group ALWAYS ON DISTRIBUTED AG (SQL2016+)
  • 24. • SQL Server 2016 Standard o successivo • Un singolo database per gruppo • Una sola replica non accessibile • Replica sincrona o asincrona • Complesso da implementare se si hanno più DB Azure vnetOn-prem network ALWAYS ON BASIC AVAILABILITY GROUP
  • 25. network subnetAzure subnetOn-prem network INTERAZIONE CON FAILOVER CLUSTER INSTANCE
  • 27. • Azure Site Recovery orchestra la protezione dei nostri workload • In caso di failover mette in atto il recovery plan definito e testato in precedenza • Può governare un sistema di DR SQL • Può gestire la replica diretta di una sistema SQL AZURE SITE RECOVERY
  • 28. MA QUANTO CI COSTA A LIVELLO DI LICENSING? SQL 2017 (SA) SQL 2019 (SA)
  • 29. IT’S DEMO TIME! IMPLEMENTAZIONE DI UN CLOUD DR PER FAILOVER CLUSTER ON-PREM
  • 30. • SQL Server 2017 Standard • SQL Failover Cluster Instance per HA on-prem • Basic Availability Group per DR su Azure • PowerShell!  https://dbatools.io DEMO WSFC BAG BAG FCI Microsoft Azure SQLDR iSCSI Storage SQL02SQL01 Local storage DR-DC DC RRAS VPN Gateway OnPrem Network Azure Network VPN tunnel Enterprise
  • 31. • SQL FCI a due nodi on-prem  Storage condiviso iScsi  2 DB • SQL VM con istanza stand-alone su Azure  Storage locale  Nessun DB FASE 1
  • 32.
  • 33. • SQL FCI a due nodi on-prem  Storage condiviso iScsi  2 DB • SQL VM con istanza stand-alone su Azure  Storage locale  Nessun DB FASE 1
  • 34. • Creazione ILB per gestione IP clusterizzati  Un IP per cluster  Due IP per AG listener FASE 2
  • 35.
  • 36. • Creazione ILB per gestione IP clusterizzati  Un IP per cluster  Due IP per AG listener FASE 2
  • 37. • Inserimento del nodo di DR all’interno del WSFC FASE 3
  • 38.
  • 39. • Inserimento del nodo di DR all’interno del WSFC FASE 3
  • 40. • Rimozione voto Quorum in DR • Abilitazione prerequisiti per implementazione Availability Group FASE 4
  • 41.
  • 42. • Rimozione voto Quorum in DR • Abilitazione prerequisiti per implementazione Availability Group FASE 4
  • 44.
  • 46. • Creazione Availability Group listener FASE 6
  • 47.
  • 48. • Creazione Availability Group listener FASE 6
  • 49. • Verifica configurazione post deployment FASE 7
  • 50.
  • 51. • Verifica configurazione post deployment FASE 7
  • 53.
  • 55. • Attivazione del sito di DR FASE 9
  • 56.
  • 57. MATERIALE UTILE  Demo scripts  https://github.com/OmegaMadLab/FCI_and_AG  Documentazione ufficiale  https://docs.microsoft.com/en-us/azure/virtual-machines/windows/sql/virtual-machines-windows-sql-high-availability-dr  SQL backup to Azure Blob Storage cheat sheet:  https://techcommunity.microsoft.com/t5/DataCAT/SQL-Server-Backup-to-URL-a-cheat-sheet/ba-p/346358  Documentazione FCI + AG:  https://docs.microsoft.com/it-it/sql/database-engine/availability-groups/windows/failover-clustering-and-always-on-availability-groups-sql- server?view=sql-server-2017  DBATools  https://dbatools.io  SQL Saturday 895 – SQL Server e PowerShell: from Zero to Hero  https://youtu.be/yR3TfZfzHss  SQL Server 2019 licensing sheet  https://download.microsoft.com/download/6/6/0/66078040-86d8-4f6e-b0c5- e9919bbcb537/SQL%20Server%202019%20Licensing%20guide.pdf