Anat Dror The Freedom to Choose Choosing between SQL Server offerings
Anat Dror SQL Server Expert, Quest SQL Server and DB2 domain expert with over 20 years of experience in a long list of IT related roles. Worked with SQL Server since version 6.5. has a broad and deep understanding of cloud computing, virtualization, database development and administration, performance management and storage. Currently employed as subject matter expert bringing Quest Software Database Performance Management solutions to life. / anat-dror-4521134 @anatdror72 anat.dror@quest.com
Introduction
Scope
Few Years ago SQL Server Engine on windows only Multiple Editions : Express to Enterprise To virtualize or not Cloud -?
Today More Platforms NoSQL OpenSource More Stakeholders Agile DevOps Automation & Lots More! More Environments On Premise Private Cloud Public Cloud Multi Cloud More Data Big Data Artificial Intelligence Machine Learning More with Less Fewer DBAs per database Less $ per instance Less time
Agenda Windows or Linux On-Premise or Cloud Managed or Un-Managed What s Next
Comparison Method Performance Scale Required Skills Cost Initial and on-going Security who can access the data Disaster Recovery Continuity Manage, Monitor, Tune
Windows or Linux
SQL Server or Linux Introduced in SQL Server 2017 Similar database editions and engine features Flavors: Red Hat, SUSE, Ubuntu, Docker
SQL Server on Linux Differences One instance per host Some functionality is missing Extended stored procedures (xp_cmdshell ) Some CLR assemlies Filetable and Filestream Buffer pool extension Polybase Not all SQL Serer Agent features (like Alerts)
SQL Server on Linux - Performance Bob ward in PASS 2017 - https://youtu.be/fgbejnlgb3m?t=1142 Do not use performance as a reason to choose between Windows and Linux Microsoft is committed to making SQL Server run fast on both Windows and Linux
SQL Server on Linux High Availability No Mirroring, DTC or Replication Supported: Log shipping, AG, FCI WSFC -> Pacemaker Pacemaker is not mandatory for AG Can use replicas on both Windows and Linux Some differences in configuration and managing Including between different Linux flavors
SQL Server on Linux - Security Same concept of logins, users, roles Users can be authenticated by Active directory - requires AD Domain Controller (Windows). All major security features supported (row level access. Encryption at rest, backup encryption) TLS is supported Configuration is different based on the operating system EKM is not supported
Summary Linux vs. Windows Performance Scale Required Skills Cost Security Disaster Recovery High Availability Manage and Monitor Same Same Linux terms, more cmd lines. Scripting. Specific linux flavor changes Same for SQL Server & Hardware. Same scale for operating system Mostly same features available Same Similar Mssql-conf and SSMS Some differences in os related monitoring and DMVs
On-Premise or Cloud
% Public Cloud Share For EC2, Azure and Google % of workloads now running in public cloud with 38% in Private % of DBAs see cloud as the biggest change
Finding the right path to Cloud Private, Public, Hybrid? Which cloud? IaaS vs DBaaS? Which platforms? Which databases to migrate? How can I get the Expertise? How to get my current SLAs? So Many Choices!
Security in a public cloud Bigger Threats Shared resources Bigger target for hackers Bigger disaster possible More legal demands around privacy Outsource security expertise More effort to deal with threats Compliance Offering Access Control Auditing Encryption Network security Automated Threat detection
Network Affects performance and security Performance check data center reduce hops ExpressRoute Security Firewall Virtual network VPN
Cost Reduce cost on hardware - Less lost due to low utilization Pay for what is used only Reduce need for IT manage more with less Need to carefully manage and monitor all cost of deployments
Public Clouds Google Amazon Azure IBM Numerous ISVs
Public vs. Private Public Servers provided by 3 rd party via internet. Resources are shared Pay-per-use Immediate usage More concerns around security and network Private Deployed for a single organization Resources are used only by the organization High initial cost
Summary on-premise vs Cloud Performance Scale Required Skills Cost Security Disaster Recovery High Availability Manage and Monitor Can be similar. Depends on resource purchased and configuration More flexibility in cloud Cloud requires learning new areas on one hand but less for administration Depends Similar features exist for securing data but more risk. New features for network. Need to re-think Automatic in managed Automatic in managed Monitor in designed portals
On Premise or Public Cloud Pro Cloud Cloud Cons
Managed or Not IaaS of DBaaS
Cloud Un-Managed SQL Server on VM - IaaS Linux or Windows Same SQL Server software as on-premise Pay by use or reserved for period or use exiting license. Extra pay for storage and server Full control over SQL Server instance and OS Available on all cloud providers
28 What Managed Database is?
Cloud Managed Deployment is owned and managed by cloud provider database software is automatically configured, patched, and upgraded by service provider built-in high availability and automated backups Lock-in to the cloud provider
Cloud Managed Azure SQL Database Azure Managed Instance Azure SQL Data Warehouse AWS RDS Managed Cloud Providers
Azure Single SQL Database Shares common code base with SQL Server Access to one database at a time Optimized for fast development of new cloud applications Reduced costs compare to IAAS
Azure Single SQL Database - HADR Built-in fault tolerance infrastructure Automatic backups No additional cost Allow point-in-time restore. Saved for 7-35 days Long-term backup in preview Geo-restore HA Automatic. Not controlled by user. Enforced by SLA of the service Availability Zones - isolated location inside region Geo-replication available to protect against region failure
Azure Single Database - Cost Two models DTU-based or vcore-based (new. preview) Billed per hour + outgoing internet traffic (5GB/Month are free) DTU for DTU and storage vcore for Memory and License.
DTU - Service Tiers and Performance levels Preconfigured bundle of compute resources and included storage Fixed and predictable payment Basic, Standard and Premium Differ by Performance level Limits max amount of DTUs Performance features columnstore and In-Memory OLTP Max Storage size backup retention period Limit max concurrent sessions, requests and login
Performance Levels and Service Tiers
vcore - Service Tiers General purpose and Business Critical Differ by Type of Storage remote or Local, maximum size of disk IO Throughput No or replicas In-Memory support
Azure SQL Database - limitations Can not use use <database> Size limit to 1TB for 1 database. Missing Some built-in functions, DBCC,DDL commands, DMVs, Set, Triggers, Extended events Replication limited to transactional and snapshot Some functionality is not available. Examples: SQL Server Agent, Resource Governor, Extended stored procedures, CLR, Database Snapshots,Distributed and more..
Azure SQL Database - Security Access Control Authentication SQL and Azure Active Directory Authorization roles and permissions Row-level security Dynamic data masking Always Encrypted Connection Security - Firewall Encryption at rest, on-the-fly, backup Adheres to compliance standards Auditing Threat Detection - SQL Vulnerability Assessment
Azure SQL Database - Performance Depends on the service tier and resources Network consideration Managed needs more resources Query store enabled by default Automatic index tuning Automatic plan forcing
Azure Elastic SQL Database Several databases share a pool of resources Up to 400 databases in one pool Better price-performance ratio Auto-scaling Cross-databases queries and transactions
Azure SQL Managed Instance New. In Preview Lift-and-Shift Managed Full isolation and security native vnet, private IP Supports vcore model only Identified by SERVERPROPERTY('EngineEdition')=8 SSMS to manage needs to be in the same vnet!
Managed Instance
Managed Instance
Azure SQL Managed Instance - HADR 99.99% uptime SLA Automated backups Customer configurable backup retention period (fixed to 7 days in Public Preview) User-initiated backups Point in time database restore capability HA built in
Azure SQL Managed Instance - Security Isolated environment (VNet integration, singletenant service Dedicated compute and storage connectivity to on-premises environment using Azure Express Route or VPN Gateway All other feature as Azure Database
Azure SQL Managed Instance - Limitations One collation (for now) No Replication (for now) Up to 100 database/instance Max storage per database = 8TB User initiated backup are copy-only High Availability features exposed different Feature comparison https://docs.microsoft.com/enus/azure/sql-database/sqldatabase-features
IAAS Managed Instance/RDS Azure database Use cases When need ability to customize the operating system or the database server. need control third-party apps by side with SQL Server (on the same VM No need for managed Migrate existing applications from IAAS or on premise develop and test of existing applications Reduce overall cost for provisioning, administration and managing of databases New cloud-designed applications that needs to be developed fast Elastic for Multitenant applications Databases that adhere to the size constrains Reduced functionality
Amazon RDS for SQL Server Managed service for SQL Server in the cloud Various SQL Server versions and editions Easy scale resources and add storage Maximum 16TB of storage per instance AWS Management Console Cost method similar to vcore but can also choose network performance
Hybrid SQL Server on-premise that use cloud resources Backup to Azure Storage SQL Server data files in Azure AG replica in Azure Stretch database
Summary Managed vs un-managed Performance Scale Required Skills Cost Security Disaster Recovery High Availability Manage and Monitor Can be similar. Depends on resource purchased and configuration More flexibility in cloud Cloud requires learning new areas on one hand but less for administration Depends Similar features exist for securing data but more risk. New features for network. Need to re-think Automatic in managed Automatic in managed SSMS works for the basic staff Manage via portal, cmdlet, Azure CLI and REST API
The Role of the DBA - DBaaS Data Stewardship is still required Physics still a thing Automates all the boring stuff leaving concentration on value New Problems to Solve Disaster recovery Security and Compliance Cost management Manage
Reach for the clouds! Don let it rain on you! Familiarize with cloud offerings and pricing structures Become the SME to advise on database technology selection Experiment with Dev & Test Monitor Costs Define methods for monitoring Keep checking for updates on new feature Segment database workloads Identify candidates for cloud Identify any security or compliance constraints IaaS or DBaaS? Estimate pricing based on current workloads Project future storage and compute needs
What s Next
The Challenge Each choice include its own challenges Environment becomes more complex Things change quickly 24*7 global coverage DBA numbers are mostly static Need Automation!
The Voice of the DBA What is being automated today?
Foglight for Cross-Platform Databases On-premise and cloud Deep and wide Help measure and compare before migration and after migration performance Wealth of features to simplify and automate monitoring Global view Alarms Baseline Rich historical data Multi-dimensional SQL workload drilldowns Statement level wait-event analysis Lock Analysis Automate change tracking Comparison Reporting and more Come see us in the both!
Resources DBA Administration survey: https://www.quest.com/docs/dbas-face-new-challenges-trend-indatabase-administration-white-paper-25651.pdf Linux release notes - https://docs.microsoft.com/en-us/sql/linux/sql-server-linux-releasenotes?view=sql-server-linux-2017 Linux performance best practice - https://docs.microsoft.com/en-us/sql/linux/sql-server-linuxperformance-best-practices?view=sql-server-linux-2017 Licensing https://www.redhat.com/en/store/red-hat-enterprise-linux-server#?sku=rh00005 https://www.suse.com/shop/server/#subnav https://www.microsoft.com/en-us/cloud-platform/windows-server-pricing Azure: https://azure.microsoft.com/en-us/documentation/learning-paths/ AWS: https://aws.amazon.com/training/course-descriptions/ DTU Calculator - http://dtucalculator.azurewebsites.net/ Azure High Availability: https://docs.microsoft.com/en-us/azure/sql-database/sql-database-highavailability#zone-redundant-configuration-preview
Huge thanks to our amazing sponsors!