Azure SQL Database Managed
Instance
Jovan Popovic
Microsoft
Jovan Popovic
• Program Manager, Microsoft
• Parallel Data Warehouse
• SQL Server 2016-2017
• JSON, Temporal, T-SQL, In-memory OLTP, Columnstore
• Azure SQL Database
• Automatic tuning
• Managed Instance
Agenda
• Introduction
• Architecture
• Infrastructure
• App connectivity
• Database Migration
Introduction
What is Managed Instance?
What is Managed Instance?
• Fully-fledged SQL
instance with nearly
100% compatibility
with on-prem SQL
Server
• Built on the same
PaaS service
infrastructure
• All PaaS features
• Native VNET
implementation
• Private IP
addresses
• Competitive
• Transparent
• Frictionless
Lift & shift Fully managed Isolation Business model
A flavor of SQL DB designed to enable
easy migration to fully managed PaaS,
for almost any application!
Azure SQL
(PaaS)
Elastic
Pool
Managed
Instance
Database
• On-premises data centers are starting cloud migration
• Enterprise customers prefer PaaS over IaaS
• Cloud adoption blockers (on-prem perspective)
• No instance model
• Lack of VNET isolation
• Surface area gaps
• Cloud business model gaps
Why SQL Managed Instance?
Managed Instance brings
PaaS closer to you!
Easy migration: nearly 100% like SQL Server
Note: some features will be added in stages until General Availability of Managed Instance
Security
• TDE
• SQL Audit
• Row level security
• Always Encrypted
Cloud business model
• Database throughput units (DTU)
• Boundary class
• CPU
• Memory
• Data IO
• Log IO
This model might be
confusing in cloud
migration cases.
New business model
• Pay for real resources
• CPU – 8, 16, 24 cores
• Storage – up to 8TB
• 32GB included
• Memory included
• Fixed amount of memory per core
• Unbound IO
• Depends on Azure storage performance
Focus on your business…
Your work so far How PaaS helps?
Hardware purchasing and management Built-in
Scales on-demand
Protect data with backups (with health checks and retention) Built-in
Point-In-Time-Restore
High availability implementation Built-in
99.99% SLA and auto-failover
Disaster recovery implementation Built-in
Geo-redundancy and geo-replication
Ensure compliance with standards on your own Built-in / easy to use features
Secure your data from malicious users and mistakes Built-in / easy to use features
Role out updates and upgrades Built-in
Monitor, troubleshoot and manage at scale Built-in / easy to use features
Tune and maintain for predictable performance Built-in / easy to use features
Back-end subnet
Removing security & isolation concerns
SQL Instance #1 SQL Instance #2
VPN tunnel or provider network оn-premisesVPN / Express Route
Gateway
SQL Instance #3
Network isolation
(customer VNET)
Isolated instances
(compute, storage)
in “Virtual cluster”
Customer Subnet with private IP range
Customer VNET with subnets and NSG
VNet-to-subnet
On-premises
Azure VNet
Management
Service
Linked server
Linked server, db_mail
“VM” Injected in
customer VNET
Front-end subnet
Removing security & isolation concerns
SQL Instance #1 SQL Instance #2
VPN tunnel or provider network оn-premisesVPN / Express Route
Gateway
SQL Instance #3
VNet-to-subnet
Network isolation
(customer VNET)
Tenant isolation
(compute, storage)
Web app
(public IP)
On-premises
Azure VNet
Customer Subnet with private IP range
Customer VNET with subnets and NSG
Removing security & isolation concerns
SQL Instance #1 SQL Instance #2
VPN tunnel or provider network оn-premisesVPN / Express Route
Gateway
SQL Instance #3 Tenant isolation
(compute, storage)
VNET
Web app
(public IP)Front-end Subnet
Subnet 2
Removing security & isolation concerns
SQL Instance #1 SQL Instance #2
оn-premises
SQL Instance #3
VNET
Web app
(public IP)
Front-end Subnet
Back-end Subnet
Existing domain
user
Auth.
Azure AD
Existing AD
ADFS
Architecture
Managed Instance types
• General Purpose
• Preview: March 2018
• Standard workloads
• Fast recovery
• Up to 8TB storage*
• Will be increased until GA
• Business Critical
• Preview: May 2018
• Low latency workloads
• Always On
• Up to 4TB storage
• Read scale-out
General Purpose Instance
• Separated compute & storage
• 200 Azure Premium Disk
• Limits: 8TB, 100 databases
• One file per disk
• System databases are
on local SSD
Premium Disk Performance
• Depends on disk size
• Monitor using sys.dm_io_virtual_file_stats
<128GB <512GB <1TB >2TB
IOPS 500 2300 5000 7500
Throughput 100 MB/s 150 MB/s 200 MB/s 250 MB/s
Business Critical Instance
• Integrated compute and storage
• Low latency workloads
• Local SSD per node
• Predictable IO performance
• Always On Availability Group
• Automatic failover
• Failover within subnet
Infrastructure
Setting-up Azure environment
for Managed Instance
• Subnet for Managed Instances
• Cannot contain other resources
• Has enough addresses
• 2 addresses for each GP instance
• 4 addresses for each BC instance
• 4 additional addresses
• Address range cannot be increased while the
resources are in the subnet
Subnet
SQL Instance #1
SQL Instance #2
Network configuration
• Private resource in customer VNET
Public user
Instance on private IP
within the subnet range
Gateway subnet
Peered network
App subnet
MI subnet
Peering channel
On-prem app
1
SQL Instance #1
SQL Instance #2
3
Express Route / VPN Gateway
“VNET Integrated”
web app
IaaS hosted app5
App Service
Environment
6
7
“VNET Integrated”
web app (peered VNET)
App integration options
App subnet App subnet
4 App Service
Environment
2 IaaS hosted app
Gateway subnet
Peered network
App subnet
MI subnet
App subnet
Peering channel
On-prem app
1
2
SQL Instance #1
SQL Instance #2
App Service
Environment
IaaS hosted app 3
4
Express Route / VPN Gateway
“VNET Integrated”
web app
IaaS hosted app5
App Service
Environment
6
Networking policies
No other
resources
Minimal range: 16 addresses
No NSGs
No user route tables
No effective routes
Azure DNS in the list of DNSs
ANY networking policy
ANY networking policy
Incorrect configuration may make
instances inaccessible
These constraints will be
relaxed or completely
removed in GA!
Preparing for migration
• Managed Instance is pre-configured
cloud service
• Some features not available
• High-availability
• SIMPLE/BULK LOGGED
• Change service broker
• Windows specific
• Windows logins
• Network shares
• xp_cmdshell/local file system
• FILESTREAM
• Compatibility check
• Data Migration Assistant
• T-SQL scripts
• Offline migration
• Native RESTORE from Azure Blob Storage
• RESTORE from network shares is currently
not supported
• .bacpac/.dacpac
• Online migration
• Data Migration Service
• Log Reply API
• Log shipping – still not supported
Instance subnet
SQL Instance #1
storage account
RESTORE 12 BACKUP TO AZURE
SQL Server on VM/on-prem
Offline migration: Native backup/restore
Database Migration Service
• Fully managed, reliable and seamless, migration service for both
operational databases and data warehouses
• Minimal down time migrations
• Homogeneous and heterogeneous source-target pairs
Demo time!
Conclusion
• Azure SQL Database Managed Instance is the best PaaS destination for your
on-prem databases
• Combines best from Azure SQL Database and SQL Server
Thank you.
jovanpop@microsoft.com

AzureSQL Managed Instance (SQLKonferenz 2018)

  • 1.
    Azure SQL DatabaseManaged Instance Jovan Popovic Microsoft
  • 2.
    Jovan Popovic • ProgramManager, Microsoft • Parallel Data Warehouse • SQL Server 2016-2017 • JSON, Temporal, T-SQL, In-memory OLTP, Columnstore • Azure SQL Database • Automatic tuning • Managed Instance
  • 3.
    Agenda • Introduction • Architecture •Infrastructure • App connectivity • Database Migration
  • 4.
  • 5.
    What is ManagedInstance? • Fully-fledged SQL instance with nearly 100% compatibility with on-prem SQL Server • Built on the same PaaS service infrastructure • All PaaS features • Native VNET implementation • Private IP addresses • Competitive • Transparent • Frictionless Lift & shift Fully managed Isolation Business model A flavor of SQL DB designed to enable easy migration to fully managed PaaS, for almost any application! Azure SQL (PaaS) Elastic Pool Managed Instance Database
  • 6.
    • On-premises datacenters are starting cloud migration • Enterprise customers prefer PaaS over IaaS • Cloud adoption blockers (on-prem perspective) • No instance model • Lack of VNET isolation • Surface area gaps • Cloud business model gaps Why SQL Managed Instance? Managed Instance brings PaaS closer to you!
  • 7.
    Easy migration: nearly100% like SQL Server Note: some features will be added in stages until General Availability of Managed Instance Security • TDE • SQL Audit • Row level security • Always Encrypted
  • 8.
    Cloud business model •Database throughput units (DTU) • Boundary class • CPU • Memory • Data IO • Log IO This model might be confusing in cloud migration cases.
  • 9.
    New business model •Pay for real resources • CPU – 8, 16, 24 cores • Storage – up to 8TB • 32GB included • Memory included • Fixed amount of memory per core • Unbound IO • Depends on Azure storage performance
  • 10.
    Focus on yourbusiness… Your work so far How PaaS helps? Hardware purchasing and management Built-in Scales on-demand Protect data with backups (with health checks and retention) Built-in Point-In-Time-Restore High availability implementation Built-in 99.99% SLA and auto-failover Disaster recovery implementation Built-in Geo-redundancy and geo-replication Ensure compliance with standards on your own Built-in / easy to use features Secure your data from malicious users and mistakes Built-in / easy to use features Role out updates and upgrades Built-in Monitor, troubleshoot and manage at scale Built-in / easy to use features Tune and maintain for predictable performance Built-in / easy to use features
  • 11.
    Back-end subnet Removing security& isolation concerns SQL Instance #1 SQL Instance #2 VPN tunnel or provider network оn-premisesVPN / Express Route Gateway SQL Instance #3 Network isolation (customer VNET) Isolated instances (compute, storage) in “Virtual cluster” Customer Subnet with private IP range Customer VNET with subnets and NSG VNet-to-subnet On-premises Azure VNet Management Service Linked server Linked server, db_mail “VM” Injected in customer VNET
  • 12.
    Front-end subnet Removing security& isolation concerns SQL Instance #1 SQL Instance #2 VPN tunnel or provider network оn-premisesVPN / Express Route Gateway SQL Instance #3 VNet-to-subnet Network isolation (customer VNET) Tenant isolation (compute, storage) Web app (public IP) On-premises Azure VNet Customer Subnet with private IP range Customer VNET with subnets and NSG
  • 13.
    Removing security &isolation concerns SQL Instance #1 SQL Instance #2 VPN tunnel or provider network оn-premisesVPN / Express Route Gateway SQL Instance #3 Tenant isolation (compute, storage) VNET Web app (public IP)Front-end Subnet Subnet 2
  • 14.
    Removing security &isolation concerns SQL Instance #1 SQL Instance #2 оn-premises SQL Instance #3 VNET Web app (public IP) Front-end Subnet Back-end Subnet Existing domain user Auth. Azure AD Existing AD ADFS
  • 15.
  • 16.
    Managed Instance types •General Purpose • Preview: March 2018 • Standard workloads • Fast recovery • Up to 8TB storage* • Will be increased until GA • Business Critical • Preview: May 2018 • Low latency workloads • Always On • Up to 4TB storage • Read scale-out
  • 17.
    General Purpose Instance •Separated compute & storage • 200 Azure Premium Disk • Limits: 8TB, 100 databases • One file per disk • System databases are on local SSD
  • 18.
    Premium Disk Performance •Depends on disk size • Monitor using sys.dm_io_virtual_file_stats <128GB <512GB <1TB >2TB IOPS 500 2300 5000 7500 Throughput 100 MB/s 150 MB/s 200 MB/s 250 MB/s
  • 19.
    Business Critical Instance •Integrated compute and storage • Low latency workloads • Local SSD per node • Predictable IO performance • Always On Availability Group • Automatic failover • Failover within subnet
  • 20.
  • 21.
    • Subnet forManaged Instances • Cannot contain other resources • Has enough addresses • 2 addresses for each GP instance • 4 addresses for each BC instance • 4 additional addresses • Address range cannot be increased while the resources are in the subnet Subnet SQL Instance #1 SQL Instance #2 Network configuration • Private resource in customer VNET Public user Instance on private IP within the subnet range
  • 22.
    Gateway subnet Peered network Appsubnet MI subnet Peering channel On-prem app 1 SQL Instance #1 SQL Instance #2 3 Express Route / VPN Gateway “VNET Integrated” web app IaaS hosted app5 App Service Environment 6 7 “VNET Integrated” web app (peered VNET) App integration options App subnet App subnet 4 App Service Environment 2 IaaS hosted app
  • 23.
    Gateway subnet Peered network Appsubnet MI subnet App subnet Peering channel On-prem app 1 2 SQL Instance #1 SQL Instance #2 App Service Environment IaaS hosted app 3 4 Express Route / VPN Gateway “VNET Integrated” web app IaaS hosted app5 App Service Environment 6 Networking policies No other resources Minimal range: 16 addresses No NSGs No user route tables No effective routes Azure DNS in the list of DNSs ANY networking policy ANY networking policy Incorrect configuration may make instances inaccessible These constraints will be relaxed or completely removed in GA!
  • 24.
    Preparing for migration •Managed Instance is pre-configured cloud service • Some features not available • High-availability • SIMPLE/BULK LOGGED • Change service broker • Windows specific • Windows logins • Network shares • xp_cmdshell/local file system • FILESTREAM • Compatibility check • Data Migration Assistant • T-SQL scripts • Offline migration • Native RESTORE from Azure Blob Storage • RESTORE from network shares is currently not supported • .bacpac/.dacpac • Online migration • Data Migration Service • Log Reply API • Log shipping – still not supported
  • 25.
    Instance subnet SQL Instance#1 storage account RESTORE 12 BACKUP TO AZURE SQL Server on VM/on-prem Offline migration: Native backup/restore
  • 26.
    Database Migration Service •Fully managed, reliable and seamless, migration service for both operational databases and data warehouses • Minimal down time migrations • Homogeneous and heterogeneous source-target pairs
  • 27.
  • 28.
    Conclusion • Azure SQLDatabase Managed Instance is the best PaaS destination for your on-prem databases • Combines best from Azure SQL Database and SQL Server
  • 29.

Editor's Notes