Build modern and intelligent applications using Azure Database for PostgreSQL
1.
2.
3.
4. More choices and full integration into Azure’s ecosystem and services
Managed
community
PostgreSQL
Integrated
Easy Lift
and Shift
Enterprise Ready
Elastic scaling with
built-in high
availability
Secure and
compliant
Industry-leading
global reach
Developer productivity
5. Focus on your apps by leaving the
management and patching of your
infrastructure and database to an
enterprise-ready cloud service
Build on your terms with a platform
that supports your application
development needs and offers a fully
integrated Azure experience.
- Automatic updates
- Automatic security fixes
- Automatic new feature updates
My
6. Stay up and running without the
need for additional replicas
Meet the most demanding spikes
by elastically scaling performance
Scale compute and storage
independently
Rely on easy and cost effective
disaster recovery set up with a
single click
7. 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
10. 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
13. Elastically scale your compute up or down
Independently scale up storage as needed seamlessly
You don’t need replicas if you don’t need it!
Postgres:5432
Azure Storage
PostgreSQL
Server
PostgreSQL
Server
15. 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
18. 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 (hosting the application) with accelerated networking;
Learn more here: https://docs.microsoft.com/en-us/azure/virtual-network/create-vm-accelerated-networking-cli
19. Storage
• Monitor “IO Percent” and “Storage Percent” using Azure portal or Azure CLI
• Use postgres (pg_stat_statements) 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
• Consider Memory Optimized tier
20. CPU
• Monitor “CPU percent” using Azure portal or Azure CLI.
• Use postgres (pg_stat_statements) 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:
• Strongly recommend using General Purpose
• 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). Consider Memory Optimized.
• Configure alerts on “CPU percent” as necessary using Azure portal or CLI
23. • Seamlessly migrate on-premise
databases at scale
• Trust in a robust, resilient service for
every migration scenario
• Migrate multiple database sources to
Azure
• Experience minimum downtime for
mission critical applications
DMS
PostgreSQL
24. What does
minimum
downtime in
migration
mean?
Databases continue to stay live
DMS performs initial load from
source to target
Subsequent new traffic will get
replicated to target
During application cutover –
Stop the incoming traffic (small
downtime)
Wait for data to catch up on the
target
Update application connection
string to point to Azure
Done!