Introduction to Azure SQL Database Managed Instance SQLKonferenz 2018. Showing architecture and overview of the features that are available in public preview.
5. 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
6. • 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!
7. 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
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 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
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
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
21. • 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
23. 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!
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
28. 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