SlideShare a Scribd company logo
1 of 31
Download to read offline
21 OTTOBRE #CLOUDDAY2021
Gianluca Hotz
UGISS.ORG
@glhotz
SQL SERVER IN AWS
#CLOUDDAY2021
Chi sono?
• Gianluca Hotz | @glhotz | ghotz@ugiss.org
• Consulente indipendente
• 25 anni su SQL Server (dalla 4.21 nel 1996)
• Modellazione e sviluppo database, dimensionamento e amministrazione
database server, aggiornamenti e migrazioni, performance tuning
• Community
• 23 anni Microsoft MVP SQL Server/Data Platform (dal 1998)
• VMware Experts SQL Server
• Fondatore e presidente UGISS (ex «PASS Chapter»)
#CLOUDDAY2021
Kudos to Sponsors & Partners
#CLOUDDAY2021
INTRODUZIONE
#CLOUDDAY2021
«On-premises/IaaS/PaaS»
#CLOUDDAY2021
AMAZON RDS FOR SQL SERVER
#CLOUDDAY2021
Perché «RDS for SQL Server»
• Ambiente PaaS completamente gestito
• Licenza SQL Server inclusa nel prezzo
• Backup automatici (point-in-time snapshot)
• «Storage Encryption»
• «Enhanced Monitoring»
• Auto-aggiornamento versioni minori
• Finestra di manutenzione (non solo per auto-aggiornamento)
• Supporto «Multi-AZ»
• Database Mirroring o AlwaysOn Availability Groups in base a build/edizione
• «Read Replica» (solo Edizione Enterprise, usa AlwaysOn AG)
#CLOUDDAY2021
Licensing
• Licenza inclusa
• Versioni
• 2012-2019
• Solo alcune «minor build» supportate
• Edizioni
• SQL Server Express Edition
• SQL Server Web Edition
• SQL Server Standard Edition
• SQL Server Enterprise Edition
• Developer Edition? Va scaricata e installata su istanza EC2
#CLOUDDAY2021
Impostazioni base
• Nome server
• Utente «master» e password
• ruoli server processadmin, public, setupadmin
• ruolo db_owner in tutti i database
#CLOUDDAY2021
Dimensionamento
• Classi
• Standard (include classe «m»)
• «Memory Optimized» (include classi «r» e «x»)
• «Burstable» (include classe «t»)
• Opzionalmente generazioni precedenti
• Cambio di classe
• Possibile a posteriori con disservizio
#CLOUDDAY2021
Storage
• General Purpose (SSD)
• 20GiB - 16TiB
• 3 IOPS x GiB con un minimo di 100 IOPS
• < 1TiB «burst» fino a 3.000 IOPS
• Provisioned Storage (SSD)
• 1.000 - 32.000 IOPS (fino a 64.000 con istanze «Nitro-based»)
• Express: 100 GiB - 16 TiB
• Enterprise, Standard, Web: 20 GiB - 16 TiB
• (Magnetic Storage)
• Supporto per compatibilità: 20GiB - 3TiB, 1.000 IOPS
#CLOUDDAY2021
Storage autoscaling
• Entro una soglia massima
• Default 1.000 GiB (21GiB – 16.384 GiB)
• Condizioni per incremento
• < 10% spazio disponibile per almeno 5 minuti
• >= 6 ore dall’ultima modifica
• Dimensione incremento maggiore tra
• 5 GiB
• 10% dello spazio correntemente allocato
• Previsione crescita prossime 7 ore basato su spazio libero ultima ora
• Magnetic Storage non supportato
#CLOUDDAY2021
Connettività
• Necessario specificare «VPC» e «Subnet group»
• Configurazione accesso pubblico
• Assegnazione indirizzo IP vs. accesso solo da VPC
• VPC «Security Group»
• Regole di accesso all’istanza
• Necessario per accesso pubblico
• AZ predefinita
• Porta TCP/IP per traffico TDS (default 1433)
#CLOUDDAY2021
Altre impostazioni
• Autenticazione integrata
• AWS Managed Microsoft AD
• AD Connector
• «DB Parameter Group»
• Es. Trace Flag, sp_configure, rds.*
• «Option Group»
• Es. backup/restore nativo, TDE, SQL Server Audit, SSAS, SSIS, SSRS, MSDTC
• Time Zone
• «Collation»
• Solo alcune supportate, default SQL_Latin1_General_CP1_CI_AS
#CLOUDDAY2021
Impostazioni di manutenzione
• Backup automatici (point-in-time snapshot)
• «Storage Encryption»
• «Enhanced Monitoring»
• Esportazione log (ERRORLOG e Agent)
• Manutenzione
• Auto-aggiornamento versioni minori
• Finestra di manutenzione (non solo per auto-aggiornamento)
• Protezione dalla cancellazione
#CLOUDDAY2021
Sicurezza
• Permessi server non disponibili
• Ruoli
• bulkadmin, dbcrerator, diskadmin, securityadmin, serveradmin, sysadmin
• Permessi specifici
• ALTER [RESOURCES, SETTINGS] (si possono usare «DB Parameter Groups»)
• AUTHENTICATE SERVER, CONTROL_SERVER, SHUTDOWN,
• ALTER ANY [CREDENDIAL, DATABASE, EVENT NOTIFICATION]
• DROP ANY DATABASE
• CREATE/ALTER ANY AVAILABILITY GROUP
• EXTERNAL ACCESS ASSEMBLY, UNSAFE ASSEMBLY
• CREATE [ENDPOINT, DDL EVENT NOTIFICATION, TRACE EVENT NOTIFICATION]
#CLOUDDAY2021
Supporto HIPAA
• Auditing
• Basato su SQL Server Audit
• Via «DB Parameter Group» (rds.sqlserver_audit = fedramp_hipaa)
• Transport encryption
• Con certificato apposito
• Forzando SSL per tutte le connessioni
• Via «DB Parameter Group» (rds.force_ssl = 1)
• Encryption at rest
• Transparent Data Encryption (2012-2019 Enterprise, 2019 Standard)
• Amazon RDS encrypted DB instance (no edizione Express)
#CLOUDDAY2021
Multi-AZ Deployment
• Copia sincrona in altra AZ per alta disponibilità
• Scelta automatica in base a build/edizione
• Always On Availability Groups
• Versioni 2016 SP2 CU3+, 2017 CU13+ edizione Enterprise
• Versione 2019+ edizioni Standard/Enterprise
• Database Mirroring (DBM)
• Versioni 2012-2017 edizioni Standard/Enterprise
• Diversa AZ ma nella stessa «Region»
• Login e permessi replicati automaticamente (ma non job e altro)
• Solo una copia di standby
#CLOUDDAY2021
Multi-AZ Read-Replica
• Fino a 5 repliche secondarie asincrone in sola lettura
• SQL Server 2016 SP2 CU3+ solo Enterprise Edition
• Replica primaria Multi-AZ con Always On Availability Group
#CLOUDDAY2021
Altre componenti «managed»
• SQL Server Analysis Services (solo Tabular)
• SQL Server Integration Services
• SQL Server Reporting Services
• Microsoft Distributed Transaction Coordinator
#CLOUDDAY2021
Limitazioni generali
• Backup Azure Blob Storage
• Database Snapshot
• Log Shipping
• Resource Governor
• FILESTREAM/Filetable
• Endpoint (tutti)
• Extended Stored Procedure
• Trigger a livello server
• Buffer Pool Extension
• Stretch database
• Maintenance plans
• Performance Data Collector
• Policy-Based Management
• Replication
• Data Quality Services
• Master Data Services
• Machine Learning Services
• Polybase
#CLOUDDAY2021
AMAZON EC2 FOR SQL SERVER
#CLOUDDAY2021
«Business as usual…»
• Ambiente virtuale IaaS classico
• Molte guide prescrittive e best practice
• Vantaggi
• Niente è gestito e vincolato, massima flessibilità
• Svantaggi
• Niente è gestito e vincolato, bisogna fare tutto ☺
#CLOUDDAY2021
Perché SQL Server in Amazon EC2
• Controllo completo
• Risorse allocate, installazione e configurazione
• Amministrazione (es. backup, patching, sicurezza)
• Limiti scalabilità Amazon RDS
• Es. storage max IOPS e 16 TiB per istanza
• Possibilità di riassegnare le proprie licenze (BYOL)
• Compresi diritti SA come 1 passivo per HA e 1 passivo per DR inclusi
• Mancanza supporto in Amazon RDS
• Versioni/edizioni specifiche (es. 2008R2, Developer, SSAS MD)
• Funzioni specifiche (es. accesso al file system/FILESTREAM/Filetable)
• Componenti non supportate (es. MDS, DQS, PolyBase)
• Opzioni di alta disponibilità/disaster recovery
#CLOUDDAY2021
SQL Server HA/DR in Amazon EC2
• Log Shipping
• Più repliche secondarie, anche accessibili in sola lettura
• Database Mirroring
• RDS solo sincrono e solo alcune versioni/edizioni
• AlwaysOn Availability Groups
• RDS solo una replica secondaria sincrona e solo alcune versioni/edizioni
• EC2 disponibilità molteplici AG, Basic AG e Distributed AG
• AlwaysOn Failover Cluster Instance
• Ancora una delle più semplici ed efficaci soluzioni per alta disponibilità
• Necessita di storage condiviso (es. iSCSI, Storage Spaces Direct, Amazon FSx)
#CLOUDDAY2021
SQL Server FCI con Amazon FSx in AWS
https://www.youtube.com/watch?v=okl1Yl30iW0
#CLOUDDAY2021
ALTRI SCENARI
#CLOUDDAY2021
Container
• SQL Server 2017/2019 per Linux
• Red Hat Enterprise, SUSE Enterprise, Ubuntu
• Docker Engine 1.8+
• Diversi servizi AWS per container
• Running highly available Microsoft SQL Server containers in Amazon EKS with
Portworx cloud native storage
• Diverse funzionalità/Componenti non disponbili
• Es. FILESTREAM/Filetable, SSAS, SSRS, DQS, MDS
• https://docs.microsoft.com/en-us/sql/linux/sql-server-linux-editions-and-
components-2019#Unsupported
#CLOUDDAY2021
VMware Cloud on AWS for SQL Server
• Gira direttamente su hardware fisico
• No «nested virtualization»
• Modalità pagamento oraria a richiesta o a sottoscrizione
• Scenari specifici
• Estensione data center con risorse a richiesta (es. ambienti di test/collaudo)
• Disaster Recovery
• Migrazione più veloce nel cloud
#CLOUDDAY2021
Miniserie sulla modernizzazione
• AWS DMS per migrare SQL Server ad Amazon RDS
• https://pages.awscloud.com/online-tech-talks-italia-settembre.html
• AWS DMS per migrare SQL Server ad Amazon Aurora
• Migrare SQL Server a PostgreSQL con Babelfish
#CLOUDDAY2021
GRAZIE!

More Related Content

What's hot

SQL Server Workload Profiling
SQL Server Workload ProfilingSQL Server Workload Profiling
SQL Server Workload ProfilingGianluca Hotz
 
Azure SQL Database Ledger
Azure SQL Database LedgerAzure SQL Database Ledger
Azure SQL Database LedgerGianluca Hotz
 
Best Practices on SQL Server
Best Practices on SQL ServerBest Practices on SQL Server
Best Practices on SQL ServerGianluca Hotz
 
Come utilizzare AWS Database Migration Service per migrare SQL Server ad Amaz...
Come utilizzare AWS Database Migration Service per migrare SQL Server ad Amaz...Come utilizzare AWS Database Migration Service per migrare SQL Server ad Amaz...
Come utilizzare AWS Database Migration Service per migrare SQL Server ad Amaz...Gianluca Hotz
 
SQL Server Data Virtualization with polybase
SQL Server Data Virtualization with polybaseSQL Server Data Virtualization with polybase
SQL Server Data Virtualization with polybaseGianluca Hotz
 
Mettere in sicurezza ambienti sql server
Mettere in sicurezza ambienti sql serverMettere in sicurezza ambienti sql server
Mettere in sicurezza ambienti sql serverGianluca Hotz
 
Azure PaaS databases
Azure PaaS databasesAzure PaaS databases
Azure PaaS databasesGianluca Hotz
 
SQL Server Modern Query Processing
SQL Server Modern Query ProcessingSQL Server Modern Query Processing
SQL Server Modern Query ProcessingGianluca Hotz
 
Azure Data Factory: l'evoluzione della specie della data integration
Azure Data Factory: l'evoluzione della specie della data integrationAzure Data Factory: l'evoluzione della specie della data integration
Azure Data Factory: l'evoluzione della specie della data integrationRoberto Messora
 
Novità di SQL Server 2017
Novità di SQL Server 2017Novità di SQL Server 2017
Novità di SQL Server 2017Gianluca Hotz
 
Implementare e mantenere un progetto azure sql database v.2
Implementare e mantenere un progetto azure sql database v.2Implementare e mantenere un progetto azure sql database v.2
Implementare e mantenere un progetto azure sql database v.2Emanuele Zanchettin
 
Una web farm bilanciata e scalabile con Microsoft Azure
Una web farm bilanciata e scalabile con Microsoft AzureUna web farm bilanciata e scalabile con Microsoft Azure
Una web farm bilanciata e scalabile con Microsoft AzureDavide Benvegnù
 
Microservices webinar EMEA Aug. 2017
Microservices webinar EMEA Aug. 2017Microservices webinar EMEA Aug. 2017
Microservices webinar EMEA Aug. 2017MongoDB
 
Azure PaaS databases
Azure PaaS databasesAzure PaaS databases
Azure PaaS databasesGianluca Hotz
 
Sql start!2019 Migliorare la produttività per lo sviluppo su SQL Server
Sql start!2019 Migliorare la produttività per lo sviluppo su SQL ServerSql start!2019 Migliorare la produttività per lo sviluppo su SQL Server
Sql start!2019 Migliorare la produttività per lo sviluppo su SQL ServerAlessandro Alpi
 
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
 
JBoss Data Grid Tech Lab
JBoss Data Grid Tech LabJBoss Data Grid Tech Lab
JBoss Data Grid Tech LabUgo Landini
 
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
 
Codemotion fuse presentation
Codemotion fuse presentationCodemotion fuse presentation
Codemotion fuse presentationUgo Landini
 

What's hot (20)

SQL Server Workload Profiling
SQL Server Workload ProfilingSQL Server Workload Profiling
SQL Server Workload Profiling
 
Azure SQL Database Ledger
Azure SQL Database LedgerAzure SQL Database Ledger
Azure SQL Database Ledger
 
Best Practices on SQL Server
Best Practices on SQL ServerBest Practices on SQL Server
Best Practices on SQL Server
 
Come utilizzare AWS Database Migration Service per migrare SQL Server ad Amaz...
Come utilizzare AWS Database Migration Service per migrare SQL Server ad Amaz...Come utilizzare AWS Database Migration Service per migrare SQL Server ad Amaz...
Come utilizzare AWS Database Migration Service per migrare SQL Server ad Amaz...
 
SQL Server Data Virtualization with polybase
SQL Server Data Virtualization with polybaseSQL Server Data Virtualization with polybase
SQL Server Data Virtualization with polybase
 
Mettere in sicurezza ambienti sql server
Mettere in sicurezza ambienti sql serverMettere in sicurezza ambienti sql server
Mettere in sicurezza ambienti sql server
 
Azure PaaS databases
Azure PaaS databasesAzure PaaS databases
Azure PaaS databases
 
SQL Server Modern Query Processing
SQL Server Modern Query ProcessingSQL Server Modern Query Processing
SQL Server Modern Query Processing
 
Azure Data Factory: l'evoluzione della specie della data integration
Azure Data Factory: l'evoluzione della specie della data integrationAzure Data Factory: l'evoluzione della specie della data integration
Azure Data Factory: l'evoluzione della specie della data integration
 
Novità di SQL Server 2017
Novità di SQL Server 2017Novità di SQL Server 2017
Novità di SQL Server 2017
 
Implementare e mantenere un progetto azure sql database v.2
Implementare e mantenere un progetto azure sql database v.2Implementare e mantenere un progetto azure sql database v.2
Implementare e mantenere un progetto azure sql database v.2
 
Una web farm bilanciata e scalabile con Microsoft Azure
Una web farm bilanciata e scalabile con Microsoft AzureUna web farm bilanciata e scalabile con Microsoft Azure
Una web farm bilanciata e scalabile con Microsoft Azure
 
Microservices webinar EMEA Aug. 2017
Microservices webinar EMEA Aug. 2017Microservices webinar EMEA Aug. 2017
Microservices webinar EMEA Aug. 2017
 
Azure PaaS databases
Azure PaaS databasesAzure PaaS databases
Azure PaaS databases
 
Sql start!2019 Migliorare la produttività per lo sviluppo su SQL Server
Sql start!2019 Migliorare la produttività per lo sviluppo su SQL ServerSql start!2019 Migliorare la produttività per lo sviluppo su SQL Server
Sql start!2019 Migliorare la produttività per lo sviluppo su SQL Server
 
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
 
JBoss Data Grid Tech Lab
JBoss Data Grid Tech LabJBoss Data Grid Tech Lab
JBoss Data Grid Tech Lab
 
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
 
Codemotion fuse presentation
Codemotion fuse presentationCodemotion fuse presentation
Codemotion fuse presentation
 

Similar to SQL Server in AWS

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
 
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
 
Multitenancy con SQL Server e Azure SQL Database
Multitenancy con SQL Server e Azure SQL DatabaseMultitenancy con SQL Server e Azure SQL Database
Multitenancy con SQL Server e Azure SQL DatabaseGianluca Hotz
 
MongoDB Atlas: il modo migliore per eseguire MongoDB in ambiente cloud 2
MongoDB Atlas: il modo migliore per eseguire MongoDB in ambiente cloud 2MongoDB Atlas: il modo migliore per eseguire MongoDB in ambiente cloud 2
MongoDB Atlas: il modo migliore per eseguire MongoDB in ambiente cloud 2MongoDB
 
Infinispan codemotion - Codemotion Rome 2015
Infinispan codemotion - Codemotion Rome 2015Infinispan codemotion - Codemotion Rome 2015
Infinispan codemotion - Codemotion Rome 2015Codemotion
 
Azure No-Sql approach: DocumentDB
Azure No-Sql approach: DocumentDBAzure No-Sql approach: DocumentDB
Azure No-Sql approach: DocumentDBDavide Benvegnù
 
20160402_mlraviol_mariadb_TorinoWordCamp
20160402_mlraviol_mariadb_TorinoWordCamp20160402_mlraviol_mariadb_TorinoWordCamp
20160402_mlraviol_mariadb_TorinoWordCampmlraviol
 
Differenze tra Windows Server 2012 R2 su e Server 2016 Yashi Italia
Differenze tra Windows Server 2012 R2 su e Server 2016 Yashi ItaliaDifferenze tra Windows Server 2012 R2 su e Server 2016 Yashi Italia
Differenze tra Windows Server 2012 R2 su e Server 2016 Yashi ItaliaYashi Italia
 
Come l’Open Source può essere alla base di un business di successo: il caso H...
Come l’Open Source può essere alla base di un business di successo: il caso H...Come l’Open Source può essere alla base di un business di successo: il caso H...
Come l’Open Source può essere alla base di un business di successo: il caso H...MariaDB plc
 
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
 
Realizzare una rete aziendale con linux e samba
Realizzare una rete aziendale con linux e sambaRealizzare una rete aziendale con linux e samba
Realizzare una rete aziendale con linux e sambaAndrea Mauro
 
festival ICT 2013: Windows Server 2012 R2: Lo Storage Enterprise per Tutti
festival ICT 2013: Windows Server 2012 R2: Lo Storage Enterprise per Tutti festival ICT 2013: Windows Server 2012 R2: Lo Storage Enterprise per Tutti
festival ICT 2013: Windows Server 2012 R2: Lo Storage Enterprise per Tutti festival ICT 2016
 
CCI2019 - SQL Server ed Azure: Disaster Recovery per tutti
CCI2019 - SQL Server ed Azure: Disaster Recovery per tuttiCCI2019 - SQL Server ed Azure: Disaster Recovery per tutti
CCI2019 - SQL Server ed Azure: Disaster Recovery per tuttiwalk2talk srl
 
SQL Saturday 871 - Sardegna 2019 - SQL Server DR on Azure
SQL Saturday 871 - Sardegna 2019 - SQL Server DR on AzureSQL Saturday 871 - Sardegna 2019 - SQL Server DR on Azure
SQL Saturday 871 - Sardegna 2019 - SQL Server DR on AzureMarco Obinu
 
Applicazioni Serverless con AWS
Applicazioni Serverless con AWSApplicazioni Serverless con AWS
Applicazioni Serverless con AWSsparkfabrik
 
#vBrownBag.IT - Session 1
#vBrownBag.IT - Session 1#vBrownBag.IT - Session 1
#vBrownBag.IT - Session 1Andrea Mauro
 
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
 
Novità in Visual Studio 2012
Novità in Visual Studio 2012Novità in Visual Studio 2012
Novità in Visual Studio 2012Sinergia Totale
 
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.
 

Similar to SQL Server in AWS (20)

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
 
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)
 
Multitenancy con SQL Server e Azure SQL Database
Multitenancy con SQL Server e Azure SQL DatabaseMultitenancy con SQL Server e Azure SQL Database
Multitenancy con SQL Server e Azure SQL Database
 
Azure sql database
Azure sql databaseAzure sql database
Azure sql database
 
MongoDB Atlas: il modo migliore per eseguire MongoDB in ambiente cloud 2
MongoDB Atlas: il modo migliore per eseguire MongoDB in ambiente cloud 2MongoDB Atlas: il modo migliore per eseguire MongoDB in ambiente cloud 2
MongoDB Atlas: il modo migliore per eseguire MongoDB in ambiente cloud 2
 
Infinispan codemotion - Codemotion Rome 2015
Infinispan codemotion - Codemotion Rome 2015Infinispan codemotion - Codemotion Rome 2015
Infinispan codemotion - Codemotion Rome 2015
 
Azure No-Sql approach: DocumentDB
Azure No-Sql approach: DocumentDBAzure No-Sql approach: DocumentDB
Azure No-Sql approach: DocumentDB
 
20160402_mlraviol_mariadb_TorinoWordCamp
20160402_mlraviol_mariadb_TorinoWordCamp20160402_mlraviol_mariadb_TorinoWordCamp
20160402_mlraviol_mariadb_TorinoWordCamp
 
Differenze tra Windows Server 2012 R2 su e Server 2016 Yashi Italia
Differenze tra Windows Server 2012 R2 su e Server 2016 Yashi ItaliaDifferenze tra Windows Server 2012 R2 su e Server 2016 Yashi Italia
Differenze tra Windows Server 2012 R2 su e Server 2016 Yashi Italia
 
Come l’Open Source può essere alla base di un business di successo: il caso H...
Come l’Open Source può essere alla base di un business di successo: il caso H...Come l’Open Source può essere alla base di un business di successo: il caso H...
Come l’Open Source può essere alla base di un business di successo: il caso H...
 
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...
 
Realizzare una rete aziendale con linux e samba
Realizzare una rete aziendale con linux e sambaRealizzare una rete aziendale con linux e samba
Realizzare una rete aziendale con linux e samba
 
festival ICT 2013: Windows Server 2012 R2: Lo Storage Enterprise per Tutti
festival ICT 2013: Windows Server 2012 R2: Lo Storage Enterprise per Tutti festival ICT 2013: Windows Server 2012 R2: Lo Storage Enterprise per Tutti
festival ICT 2013: Windows Server 2012 R2: Lo Storage Enterprise per Tutti
 
CCI2019 - SQL Server ed Azure: Disaster Recovery per tutti
CCI2019 - SQL Server ed Azure: Disaster Recovery per tuttiCCI2019 - SQL Server ed Azure: Disaster Recovery per tutti
CCI2019 - SQL Server ed Azure: Disaster Recovery per tutti
 
SQL Saturday 871 - Sardegna 2019 - SQL Server DR on Azure
SQL Saturday 871 - Sardegna 2019 - SQL Server DR on AzureSQL Saturday 871 - Sardegna 2019 - SQL Server DR on Azure
SQL Saturday 871 - Sardegna 2019 - SQL Server DR on Azure
 
Applicazioni Serverless con AWS
Applicazioni Serverless con AWSApplicazioni Serverless con AWS
Applicazioni Serverless con AWS
 
#vBrownBag.IT - Session 1
#vBrownBag.IT - Session 1#vBrownBag.IT - Session 1
#vBrownBag.IT - Session 1
 
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
 
Novità in Visual Studio 2012
Novità in Visual Studio 2012Novità in Visual Studio 2012
Novità in Visual Studio 2012
 
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
 

More from Gianluca Hotz

SQL Server 2022 Programmability & Performance
SQL Server 2022 Programmability & PerformanceSQL Server 2022 Programmability & Performance
SQL Server 2022 Programmability & PerformanceGianluca Hotz
 
SQL Server 2022 Intelligent Query Processing
SQL Server 2022 Intelligent Query ProcessingSQL Server 2022 Intelligent Query Processing
SQL Server 2022 Intelligent Query ProcessingGianluca Hotz
 
Le novità di SQL Server 2022
Le novità di SQL Server 2022Le novità di SQL Server 2022
Le novità di SQL Server 2022Gianluca Hotz
 
Data Integrity with SQL Database Ledger
Data Integrity with SQL Database LedgerData Integrity with SQL Database Ledger
Data Integrity with SQL Database LedgerGianluca Hotz
 
Best Practices for Running Microsoft SQL Server on AWS
Best Practices for Running Microsoft SQL Server on AWSBest Practices for Running Microsoft SQL Server on AWS
Best Practices for Running Microsoft SQL Server on AWSGianluca Hotz
 
SQL Server Modernization
SQL Server ModernizationSQL Server Modernization
SQL Server ModernizationGianluca Hotz
 
Le novità di sql server 2019
Le novità di sql server 2019Le novità di sql server 2019
Le novità di sql server 2019Gianluca Hotz
 
SQL Server 2019 CTP 2.5
SQL Server 2019 CTP 2.5SQL Server 2019 CTP 2.5
SQL Server 2019 CTP 2.5Gianluca Hotz
 
Azure PaaS databases
Azure PaaS databasesAzure PaaS databases
Azure PaaS databasesGianluca Hotz
 
SQL Server 2019 CTP2.4
SQL Server 2019 CTP2.4SQL Server 2019 CTP2.4
SQL Server 2019 CTP2.4Gianluca Hotz
 
SQL Server 2019 ctp2.2
SQL Server 2019 ctp2.2SQL Server 2019 ctp2.2
SQL Server 2019 ctp2.2Gianluca Hotz
 

More from Gianluca Hotz (11)

SQL Server 2022 Programmability & Performance
SQL Server 2022 Programmability & PerformanceSQL Server 2022 Programmability & Performance
SQL Server 2022 Programmability & Performance
 
SQL Server 2022 Intelligent Query Processing
SQL Server 2022 Intelligent Query ProcessingSQL Server 2022 Intelligent Query Processing
SQL Server 2022 Intelligent Query Processing
 
Le novità di SQL Server 2022
Le novità di SQL Server 2022Le novità di SQL Server 2022
Le novità di SQL Server 2022
 
Data Integrity with SQL Database Ledger
Data Integrity with SQL Database LedgerData Integrity with SQL Database Ledger
Data Integrity with SQL Database Ledger
 
Best Practices for Running Microsoft SQL Server on AWS
Best Practices for Running Microsoft SQL Server on AWSBest Practices for Running Microsoft SQL Server on AWS
Best Practices for Running Microsoft SQL Server on AWS
 
SQL Server Modernization
SQL Server ModernizationSQL Server Modernization
SQL Server Modernization
 
Le novità di sql server 2019
Le novità di sql server 2019Le novità di sql server 2019
Le novità di sql server 2019
 
SQL Server 2019 CTP 2.5
SQL Server 2019 CTP 2.5SQL Server 2019 CTP 2.5
SQL Server 2019 CTP 2.5
 
Azure PaaS databases
Azure PaaS databasesAzure PaaS databases
Azure PaaS databases
 
SQL Server 2019 CTP2.4
SQL Server 2019 CTP2.4SQL Server 2019 CTP2.4
SQL Server 2019 CTP2.4
 
SQL Server 2019 ctp2.2
SQL Server 2019 ctp2.2SQL Server 2019 ctp2.2
SQL Server 2019 ctp2.2
 

SQL Server in AWS

  • 1. 21 OTTOBRE #CLOUDDAY2021 Gianluca Hotz UGISS.ORG @glhotz SQL SERVER IN AWS
  • 2. #CLOUDDAY2021 Chi sono? • Gianluca Hotz | @glhotz | ghotz@ugiss.org • Consulente indipendente • 25 anni su SQL Server (dalla 4.21 nel 1996) • Modellazione e sviluppo database, dimensionamento e amministrazione database server, aggiornamenti e migrazioni, performance tuning • Community • 23 anni Microsoft MVP SQL Server/Data Platform (dal 1998) • VMware Experts SQL Server • Fondatore e presidente UGISS (ex «PASS Chapter»)
  • 7. #CLOUDDAY2021 Perché «RDS for SQL Server» • Ambiente PaaS completamente gestito • Licenza SQL Server inclusa nel prezzo • Backup automatici (point-in-time snapshot) • «Storage Encryption» • «Enhanced Monitoring» • Auto-aggiornamento versioni minori • Finestra di manutenzione (non solo per auto-aggiornamento) • Supporto «Multi-AZ» • Database Mirroring o AlwaysOn Availability Groups in base a build/edizione • «Read Replica» (solo Edizione Enterprise, usa AlwaysOn AG)
  • 8. #CLOUDDAY2021 Licensing • Licenza inclusa • Versioni • 2012-2019 • Solo alcune «minor build» supportate • Edizioni • SQL Server Express Edition • SQL Server Web Edition • SQL Server Standard Edition • SQL Server Enterprise Edition • Developer Edition? Va scaricata e installata su istanza EC2
  • 9. #CLOUDDAY2021 Impostazioni base • Nome server • Utente «master» e password • ruoli server processadmin, public, setupadmin • ruolo db_owner in tutti i database
  • 10. #CLOUDDAY2021 Dimensionamento • Classi • Standard (include classe «m») • «Memory Optimized» (include classi «r» e «x») • «Burstable» (include classe «t») • Opzionalmente generazioni precedenti • Cambio di classe • Possibile a posteriori con disservizio
  • 11. #CLOUDDAY2021 Storage • General Purpose (SSD) • 20GiB - 16TiB • 3 IOPS x GiB con un minimo di 100 IOPS • < 1TiB «burst» fino a 3.000 IOPS • Provisioned Storage (SSD) • 1.000 - 32.000 IOPS (fino a 64.000 con istanze «Nitro-based») • Express: 100 GiB - 16 TiB • Enterprise, Standard, Web: 20 GiB - 16 TiB • (Magnetic Storage) • Supporto per compatibilità: 20GiB - 3TiB, 1.000 IOPS
  • 12. #CLOUDDAY2021 Storage autoscaling • Entro una soglia massima • Default 1.000 GiB (21GiB – 16.384 GiB) • Condizioni per incremento • < 10% spazio disponibile per almeno 5 minuti • >= 6 ore dall’ultima modifica • Dimensione incremento maggiore tra • 5 GiB • 10% dello spazio correntemente allocato • Previsione crescita prossime 7 ore basato su spazio libero ultima ora • Magnetic Storage non supportato
  • 13. #CLOUDDAY2021 Connettività • Necessario specificare «VPC» e «Subnet group» • Configurazione accesso pubblico • Assegnazione indirizzo IP vs. accesso solo da VPC • VPC «Security Group» • Regole di accesso all’istanza • Necessario per accesso pubblico • AZ predefinita • Porta TCP/IP per traffico TDS (default 1433)
  • 14. #CLOUDDAY2021 Altre impostazioni • Autenticazione integrata • AWS Managed Microsoft AD • AD Connector • «DB Parameter Group» • Es. Trace Flag, sp_configure, rds.* • «Option Group» • Es. backup/restore nativo, TDE, SQL Server Audit, SSAS, SSIS, SSRS, MSDTC • Time Zone • «Collation» • Solo alcune supportate, default SQL_Latin1_General_CP1_CI_AS
  • 15. #CLOUDDAY2021 Impostazioni di manutenzione • Backup automatici (point-in-time snapshot) • «Storage Encryption» • «Enhanced Monitoring» • Esportazione log (ERRORLOG e Agent) • Manutenzione • Auto-aggiornamento versioni minori • Finestra di manutenzione (non solo per auto-aggiornamento) • Protezione dalla cancellazione
  • 16. #CLOUDDAY2021 Sicurezza • Permessi server non disponibili • Ruoli • bulkadmin, dbcrerator, diskadmin, securityadmin, serveradmin, sysadmin • Permessi specifici • ALTER [RESOURCES, SETTINGS] (si possono usare «DB Parameter Groups») • AUTHENTICATE SERVER, CONTROL_SERVER, SHUTDOWN, • ALTER ANY [CREDENDIAL, DATABASE, EVENT NOTIFICATION] • DROP ANY DATABASE • CREATE/ALTER ANY AVAILABILITY GROUP • EXTERNAL ACCESS ASSEMBLY, UNSAFE ASSEMBLY • CREATE [ENDPOINT, DDL EVENT NOTIFICATION, TRACE EVENT NOTIFICATION]
  • 17. #CLOUDDAY2021 Supporto HIPAA • Auditing • Basato su SQL Server Audit • Via «DB Parameter Group» (rds.sqlserver_audit = fedramp_hipaa) • Transport encryption • Con certificato apposito • Forzando SSL per tutte le connessioni • Via «DB Parameter Group» (rds.force_ssl = 1) • Encryption at rest • Transparent Data Encryption (2012-2019 Enterprise, 2019 Standard) • Amazon RDS encrypted DB instance (no edizione Express)
  • 18. #CLOUDDAY2021 Multi-AZ Deployment • Copia sincrona in altra AZ per alta disponibilità • Scelta automatica in base a build/edizione • Always On Availability Groups • Versioni 2016 SP2 CU3+, 2017 CU13+ edizione Enterprise • Versione 2019+ edizioni Standard/Enterprise • Database Mirroring (DBM) • Versioni 2012-2017 edizioni Standard/Enterprise • Diversa AZ ma nella stessa «Region» • Login e permessi replicati automaticamente (ma non job e altro) • Solo una copia di standby
  • 19. #CLOUDDAY2021 Multi-AZ Read-Replica • Fino a 5 repliche secondarie asincrone in sola lettura • SQL Server 2016 SP2 CU3+ solo Enterprise Edition • Replica primaria Multi-AZ con Always On Availability Group
  • 20. #CLOUDDAY2021 Altre componenti «managed» • SQL Server Analysis Services (solo Tabular) • SQL Server Integration Services • SQL Server Reporting Services • Microsoft Distributed Transaction Coordinator
  • 21. #CLOUDDAY2021 Limitazioni generali • Backup Azure Blob Storage • Database Snapshot • Log Shipping • Resource Governor • FILESTREAM/Filetable • Endpoint (tutti) • Extended Stored Procedure • Trigger a livello server • Buffer Pool Extension • Stretch database • Maintenance plans • Performance Data Collector • Policy-Based Management • Replication • Data Quality Services • Master Data Services • Machine Learning Services • Polybase
  • 23. #CLOUDDAY2021 «Business as usual…» • Ambiente virtuale IaaS classico • Molte guide prescrittive e best practice • Vantaggi • Niente è gestito e vincolato, massima flessibilità • Svantaggi • Niente è gestito e vincolato, bisogna fare tutto ☺
  • 24. #CLOUDDAY2021 Perché SQL Server in Amazon EC2 • Controllo completo • Risorse allocate, installazione e configurazione • Amministrazione (es. backup, patching, sicurezza) • Limiti scalabilità Amazon RDS • Es. storage max IOPS e 16 TiB per istanza • Possibilità di riassegnare le proprie licenze (BYOL) • Compresi diritti SA come 1 passivo per HA e 1 passivo per DR inclusi • Mancanza supporto in Amazon RDS • Versioni/edizioni specifiche (es. 2008R2, Developer, SSAS MD) • Funzioni specifiche (es. accesso al file system/FILESTREAM/Filetable) • Componenti non supportate (es. MDS, DQS, PolyBase) • Opzioni di alta disponibilità/disaster recovery
  • 25. #CLOUDDAY2021 SQL Server HA/DR in Amazon EC2 • Log Shipping • Più repliche secondarie, anche accessibili in sola lettura • Database Mirroring • RDS solo sincrono e solo alcune versioni/edizioni • AlwaysOn Availability Groups • RDS solo una replica secondaria sincrona e solo alcune versioni/edizioni • EC2 disponibilità molteplici AG, Basic AG e Distributed AG • AlwaysOn Failover Cluster Instance • Ancora una delle più semplici ed efficaci soluzioni per alta disponibilità • Necessita di storage condiviso (es. iSCSI, Storage Spaces Direct, Amazon FSx)
  • 26. #CLOUDDAY2021 SQL Server FCI con Amazon FSx in AWS https://www.youtube.com/watch?v=okl1Yl30iW0
  • 28. #CLOUDDAY2021 Container • SQL Server 2017/2019 per Linux • Red Hat Enterprise, SUSE Enterprise, Ubuntu • Docker Engine 1.8+ • Diversi servizi AWS per container • Running highly available Microsoft SQL Server containers in Amazon EKS with Portworx cloud native storage • Diverse funzionalità/Componenti non disponbili • Es. FILESTREAM/Filetable, SSAS, SSRS, DQS, MDS • https://docs.microsoft.com/en-us/sql/linux/sql-server-linux-editions-and- components-2019#Unsupported
  • 29. #CLOUDDAY2021 VMware Cloud on AWS for SQL Server • Gira direttamente su hardware fisico • No «nested virtualization» • Modalità pagamento oraria a richiesta o a sottoscrizione • Scenari specifici • Estensione data center con risorse a richiesta (es. ambienti di test/collaudo) • Disaster Recovery • Migrazione più veloce nel cloud
  • 30. #CLOUDDAY2021 Miniserie sulla modernizzazione • AWS DMS per migrare SQL Server ad Amazon RDS • https://pages.awscloud.com/online-tech-talks-italia-settembre.html • AWS DMS per migrare SQL Server ad Amazon Aurora • Migrare SQL Server a PostgreSQL con Babelfish