Azure Database for PostgreSQL

  • Author: Ronald Fung

  • Creation Date: 15 May 2023

  • Next Modified Date: 15 May 2024


A. Introduction

Azure Database for PostgreSQL is a relational database service in the Microsoft cloud based on the PostgreSQL open source relational database. Azure Database for PostgreSQL delivers:

  • Built-in high availability.

  • Data protection using automatic backups and point-in-time-restore for up to 35 days.

  • Automated maintenance for underlying hardware, operating system and database engine to keep the service secure and up to date.

  • Predictable performance, using inclusive pay-as-you-go pricing.

  • Elastic scaling within seconds.

  • Enterprise grade security and industry-leading compliance to protect sensitive data at-rest and in-motion.

  • Monitoring and automation to simplify management and monitoring for large-scale deployments.

  • Industry-leading support experience.

PostgreSQL

These capabilities require almost no administration, and all are provided at no additional cost. They allow you to focus on rapid application development and accelerating your time to market rather than allocating precious time and resources to managing virtual machines and infrastructure. In addition, you can continue to develop your application with the open-source tools and platform of your choice to deliver with the speed and efficiency your business demands, all without having to learn new skills.


B. How is it used at Seagen

As a biopharma research company using Microsoft Azure, you can use Azure Database for PostgreSQL to deploy, manage, and scale PostgreSQL databases in the cloud. Here are some ways you can use Azure Database for PostgreSQL:

  1. Deploy PostgreSQL databases in minutes: Azure Database for PostgreSQL allows you to quickly deploy PostgreSQL databases in the cloud without having to worry about managing infrastructure. You can use the Azure portal or Azure CLI to create a PostgreSQL server and database within minutes.

  2. Scale your databases on demand: Azure Database for PostgreSQL allows you to easily scale your databases up or down based on your workload. You can use the Azure portal or APIs to scale your databases as needed.

  3. Backup and restore your databases: Azure Database for PostgreSQL provides backup and restore capabilities to help you protect your data. You can use the Azure portal or APIs to schedule backups, restore your databases to a specific point in time, or export your data to other formats.

  4. Monitor and optimize your databases: Azure Database for PostgreSQL provides monitoring and optimization capabilities to help you identify and resolve performance issues. You can use the Azure portal or APIs to monitor database performance, configure alerts, and optimize your queries.

  5. Secure your databases: Azure Database for PostgreSQL provides security features such as encryption, firewall rules, and virtual network integration to help you secure your databases. You can use Azure Active Directory to manage access to your databases and set up granular permissions to control what data can be accessed and by whom.


C. Features

Azure Database for PostgreSQL powered by the PostgreSQL community edition is available in two deployment modes:

  • Single Server

  • Flexible Server

Azure Database for PostgreSQL - Single Server

Azure Database for PostgreSQL Single Server is a fully managed database service with minimal requirements for customizations of database. The single server platform is designed to handle most of the database management functions such as patching, backups, high availability, security with minimal user configuration and control. The architecture is optimized for built-in high availability with 99.99% availability on single availability zone. It supports community version of PostgreSQL 9.5, 9,6, 10, and 11. The service is generally available today in wide variety of Azure regions.

The Single Server deployment option offers three pricing tiers: Basic, General Purpose, and Memory Optimized. Each tier offers different resource capabilities to support your database workloads. You can build your first app on a small database for a few dollars a month, and then adjust the scale to meet the needs of your solution. Dynamic scalability enables your database to transparently respond to rapidly changing resource requirements. You only pay for the resources you need, and only when you need them. See Pricing tiers for details.

Single servers are best suited for cloud native applications designed to handle automated patching without the need for granular control on the patching schedule and custom PostgreSQL configuration settings.

For detailed overview of single server deployment mode, refer single server overview.

Azure Database for PostgreSQL - Flexible Server

Azure Database for PostgreSQL Flexible Server is a fully managed database service designed to provide more granular control and flexibility over database management functions and configuration settings. In general, the service provides more flexibility and customizations based on the user requirements. The flexible server architecture allows users to opt for high availability within single availability zone and across multiple availability zones. Flexible Server provides better cost optimization controls with the ability to stop/start server and burstable compute tier, ideal for workloads that don’t need full-compute capacity continuously. The service currently supports community version of PostgreSQL 11, 12, 13 and 14, with plans to add newer versions soon. The service is generally available today in wide variety of Azure regions.

Flexible servers are best suited for

  • Application developments requiring better control and customizations

  • Cost optimization controls with ability to stop/start server

  • Zone redundant high availability

  • Managed maintenance windows

For a detailed overview of flexible server deployment mode, see flexible server overview.


D. Where Implemented

LeanIX


E. How it is tested

Testing Azure Database for PostgreSQL involves ensuring that the database service is functioning correctly, securely, and meeting the needs of all stakeholders involved in the project. Here are some steps to follow to test Azure Database for PostgreSQL:

  1. Define the scope and requirements: Define the scope of the project and the requirements of all stakeholders involved in the project. This will help ensure that Azure Database for PostgreSQL is designed to meet the needs of all stakeholders.

  2. Develop test cases: Develop test cases that cover all aspects of Azure Database for PostgreSQL functionality, including database creation, data insertion, retrieval, and management. The test cases should be designed to meet the needs of the organization, including scalability and resilience.

  3. Conduct unit testing: Test the individual components of Azure Database for PostgreSQL to ensure that they are functioning correctly. This may involve using tools like PostgreSQL’s psql command-line interface for automated testing.

  4. Conduct integration testing: Test Azure Database for PostgreSQL in an integrated environment to ensure that it works correctly with other systems and applications. This may involve testing Azure Database for PostgreSQL with different operating systems, browsers, and devices.

  5. Conduct user acceptance testing: Test Azure Database for PostgreSQL with end-users to ensure that it meets their needs and is easy to use. This may involve conducting surveys, interviews, or focus groups to gather feedback from users.

  6. Automate testing: Automate testing of Azure Database for PostgreSQL to ensure that it is functioning correctly and meeting the needs of all stakeholders. This may involve using tools like Azure DevOps to set up automated testing pipelines.

  7. Monitor performance: Monitor the performance of Azure Database for PostgreSQL in production to ensure that it is meeting the needs of all stakeholders. This may involve setting up monitoring tools, such as Azure Monitor, to track usage and identify performance issues.

  8. Address issues: Address any issues that are identified during testing and make necessary changes to ensure that Azure Database for PostgreSQL is functioning correctly and meeting the needs of all stakeholders.

By following these steps, you can ensure that Azure Database for PostgreSQL is tested thoroughly and meets the needs of all stakeholders involved in the project. This can help improve the quality of Azure Database for PostgreSQL and ensure that it functions correctly in a production environment.


F. 2023 Roadmap

????


G. 2024 Roadmap

????


H. Known Issues

There are several known issues that can impact Azure Database for PostgreSQL. Here are some of the most common issues to be aware of:

  1. Performance issues: If the database is not properly sized, it can impact performance and availability, causing issues with the speed and reliability of Azure Database for PostgreSQL.

  2. Security issues: Security is a critical concern when it comes to Azure Database for PostgreSQL. It is important to ensure that Azure Database for PostgreSQL is secured and that access to the solution is restricted to authorized personnel.

  3. Compatibility issues: Azure Database for PostgreSQL may not be compatible with all platforms, devices, or languages. It is important to ensure that Azure Database for PostgreSQL is compatible with the organization’s existing infrastructure before implementation.

  4. Data accuracy issues: Data accuracy issues can arise when the data is not updated in real-time. It is important to ensure that data is updated in real-time to avoid data accuracy issues.

  5. Integration issues: Integration issues can arise when integrating Azure Database for PostgreSQL with other systems and applications. It is important to ensure that Azure Database for PostgreSQL is designed to work seamlessly with other systems and applications to avoid integration issues.

  6. Backup and restore issues: Backup and restore issues can arise if backups are not taken or are not restored properly. It is important to ensure that backups are taken regularly and that they are restored properly to avoid data loss. 7.Testing issues: Testing issues can arise when testing Azure Database for PostgreSQL. It is important to ensure that testing is carried out thoroughly and that all aspects of Azure Database for PostgreSQL functionality are tested.

Overall, Azure Database for PostgreSQL requires careful planning and management to ensure that it is functioning correctly and meeting the needs of all stakeholders involved in the project. By being aware of these known issues and taking steps to address them, you can improve the quality of Azure Database for PostgreSQL and ensure the success of your project.


[x] Reviewed by Enterprise Architecture

[x] Reviewed by Application Development

[x] Reviewed by Data Architecture