combine the power of oss db engines and microsoft azure to ...€¦ · global azure with 43 regions...
TRANSCRIPT
Santa Clara, California | April 23th – 25th, 2018
Combine the power of OSS DB engines and Microsoft Azure to migrate existing apps or build new apps
2
Hello, Percona Live Attendees!
About Sunil Kamath:• ~18 years professional career
- 15 years at IBM
- Rest at Microsoft
• Currently leads the product management of managed open source databases on Azure (MySQL, PostgreSQL, MariaDB).
• Contact:
- Twitter: @Kamathsun
- Linkedin: https://www.linkedin.com/in/sunil-kamath-96a5352/
Listening
4
User Voice
5
Azure Database for MySQL and PostgreSQL is now Generally Available
More choices and full integration into Azure’s ecosystem and services
Managed community
MySQL, PostgreSQL,
and MariaDB
Scale in seconds with
built-in high availabilitySecure and compliantLanguages and
frameworks of your choice
Industry-leading
global reach
AZURE DATABASE SERVICES FORMYSQL, POSTGRESQL, and MARIADB
Easy Lift and Shift Enterprise Ready
My
Managed community MySQL, PostgreSQL, and MariaDB
Focus on your apps by leaving the management and patching of your infrastructure and database to an enterprise-ready cloud service
-Automatic updates
-Automatic security fixes
-Automatic new feature updates
My
Languages and frameworks of your choice
Build on your terms with a platform that supports your application development needs and offers a fully integrated Azure experience
Scale in seconds with built-in high availability
Stay up and running without the need for additional replicas
Meet the most demanding spikes by elastically scaling performance
Rely on easy and cost effective disaster recovery set up with a single click
SECURE and compliant
Protect your data with up-to-date
security and compliance features with
the Azure IP Advantage.
✓ SOC2 - Compliant
✓ ISO 27001:2013 - Compliant
✓ ISO 27018:2014 -Compliant
✓ CSA STAR Certification - Compliant
✓ HIPAA / HITECH Act – Compliant
✓ PCI DSS Level 1 – Compliant
SOC 2
Type 2
CSA STAR
Certification
Level 1
Industry-leading GLOBAL reach
Span with Azure’s availability in more regions worldwide than any other cloud provider
Currently in 22 of Azure’s 42 regions worldwide
Easy integration into other azure services
Get your app up and running with
the built-in connection to App
Service and other Azure services
Take advantage of industry-
leading Azure innovations in AI
and analytics to improve your app
My
Accelerate migration with AZURE DATABASE MIGRATION service (DMS)
Seamlessly migrate on-premise databases
at scale
Experience near zero downtime for
mission critical applications
Trust in a robust, resilient service for every
migration scenario
Migrate multiple database sources to
Azure
My
DMS
PostgreSQL
Our customers
DemoAndrea Lam
Under the hood
Azure Database SERVICES PlatformP
ow
er
BI, A
pp
Serv
ices,
Data
Fact
ory
,
An
aly
tics
, M
L, C
og
nit
ive, B
ot…
Global Azure with 43 Regions
Azure Compute
SQL Data
Warehouse
Azure Storage
SQL Database MariaDBCOMING!PostgreSQL
Flexible: On-demand scaling, Resource governance
Trusted: HA/DR, Backup/Restore, Security, Audit, Isolation
Intelligent: Advisors, Tuning, MonitoringDatabase
Services
Platform
MySQL
3M+DBs under management
100K+Nodes under management
300B+Requests per day
300K+CRUD operations per day
Azure Database SERVICES Platform
Managed service capabilities
Supported major versions
Built-in High Availability with Elastic scaling
Server provisioning and
management
server=server.mysql.database.azure.com
Scale your compute up or down in seconds
Independently scale up storage as needed seamlessly
You don’t need replicas if you don’t need it!
MySQL: 3306
Postgres :5432
US
West
Azure Storage
MySQL or PostgreSQL
Server
MySQL or PostgreSQL
Server
Control access
Server firewall rules
Allow access to Azure
services
VNET Service End Point
(preview)
Protect data
At-rest: Built-in encryption for data and backups
In motion: Secure SSL connection
Security features
Identity
Native database engine
authentication
Microsoft
Azure
Azure PostreSQL
Database
Internet
Gateway
Native
Authentication
EDGE AND IDENTITY
PROTECTION
AZURE EDGE
PROTECTION
NATIVE
AUTHENTICATION
1
1
2 2
3
3
A connection is never directly
to a database instance. It
must first pass through Azure
edge network protection.
A gateway services the
connection request next.
Native PostgreSQL
authentication authenticates
the connection request.
Layered security starts at the edge
Backup & Restore
✓ Built-in backups
✓ Choose LRS or GRS
✓ Restore from local redundant backups for oops recovery (RPO= 0)
✓ Restore from geo-redundant backups for disaster recovery (RPO <= 1 hr)
✓ 1x Backup storage included
✓ PITR up to 35 days (minimum 7 days)
25
Monitoring & Alerting
✓ Built-in monitoring
✓ Configurable alerts
✓ Auto Notifications
✓ Enabled for database engine monitoring by default
✓ Server and Activity logs
Read Replicas
MySQL
Data-in Replication (for migration scenarios)
• Replica in Azure, master in VM, on-premises server or cloud provider (with binlog replication)
• For hybrid, multi-cloud synchronization or migration
Same region replica (for read scale-out)
• Up to 5 replicas - both master and replica in the same Azure region
• Currently in private preview
Native MySQL Replication
Replica
WriteRead
Performance tiers
Performance Tiers
Service Tier Basic General Purpose Memory Optimized
Intended Use CaseBuilt for workloads with light compute
needs and variable IO performance
Ideal for most business workloads
offering balanced and scalable compute
and storage options
Cache more data for faster transaction
processing and higher concurrency
Performance Tiers - Basic
Service Tier
Intended Use CaseBuilt for workloads with light compute
needs and variable IO performance
vCore 1 2
1Compute Generation Gen 4, Gen 5
Storage5GB – 1TB
Magnetic Media
IOPS Variable
Performance Tiers – General Purpose
Service Tier Basic General Purpose
Intended Use CaseBuilt for workloads with light compute
needs and variable IO performance
Ideal for most business workloads
offering balanced and scalable compute
and storage options
vCore 1 2 2 4 8 16 32
1Compute Generation Gen 4, Gen 5 Gen 4, Gen 5
Storage5GB – 1TB
Magnetic Media
5GB – 2TB
Remote SSD
IOPS Variable 100-6000 IOPS
Performance Tiers – Memory Optimized
Service Tier Basic General Purpose Memory Optimized
Intended Use CaseBuilt for workloads with light compute
needs and variable IO performance
Ideal for most business workloads
offering balanced and scalable compute
and storage options
Cache more data for faster transaction
processing and higher concurrency
vCore 1 2 2 4 8 16 32 2 4 8 1632
(soon)
1Compute Generation Gen 4, Gen 5 Gen 4, Gen 5 Gen 5 only
Storage5GB – 1TB
Magnetic Media
5GB – 2TB
Remote SSD
5GB – 2TB
Remote SSD
IOPS Variable 100-6000 IOPS 100-6000 IOPS
Is Managed service expensive?
A savings of $154/mo!
High-Availability
A savings of $24/mo!
Network latency
• Measure with SELECT 1 tests from the client using psql
• Average should be < 2msec
Best practice:
• Ensure application and database server is in the same region, created within same resource group
• Configure VM with accelerated networking enabled
Key learnings for achieving the best performance
Storage
• Monitor “IO Percent” and “Storage Percent” using Azure portal or Azure CLI
• Use postgres (pg_stat_statements) or mysql (performance_schema) to determine queries taking longer time
Best practice:
• Evaluate/tune indexes and queries as necessary.
• Ensure adequate IOPS is provisioned for the instance.
• IOPS scale at approximately 3 IOPS per GB.
• Rule of thumb is to not exceed 80% of available IOPS (IO Percent) on average.
• Configure alerts on “IO Percent” and “Storage Percent” as necessary using Azure portal or CLI
• Evaluate Memory Optimized tier
Key learnings for achieving the best performance
CPU
• Monitor “CPU percent” using Azure portal or Azure CLI.
• Use postgres (pg_stat_statements) or mysql (performance_schema) to determine queries taking longer time
• High CPU usage is not the only indicator of CPU bottleneck. Do you have single threaded app?
Best practice:
• Validate/tune indexes and queries as necessary.
• Ensure server log parameters are tuned for production workload
• Tune database connections from the application. Use connection pooling or front end application caching (if suitable).
• Configure alerts on “CPU percent” as necessary using Azure portal or CLI
Key learnings for achieving the best performance
Postgres extensions (over 33 supported today)
Programmability
Engage with us!
Twitter @AzureDBPostgres @AzureDBMySQL
MSDN: aka.ms/msdn• AzureDatabaseforPostgreSQL
• AzureDataseforMySQL
Stack Overflow tag:
• azure-database-postgresql• azure-database-mysql
User Voice:• PostgreSQL: User Voice• MySQL: User Voice
GitHub repo: • https://github.com/Azure/azure-postgresql• https://github.com/Azure/azure-mysql
38
Rate My Session
Thank You!