What is our primary use case?
For the last four years, we have been a huge customer of Azure Database for PostgreSQL. We migrated from a single machine to Flex Server and are now evaluating the elastic capabilities. We are from American Airlines, so we do a lot of price optimization and network optimization. We use Azure Database for PostgreSQL for price optimization and network optimization. This involves large-scale data, which we have traditionally used Oracle Exadata database for in our systems today. When we migrated to Azure, PostgreSQL proved to be very beneficial and performed on par with what Exadata can do.
How has it helped my organization?
Azure Database for PostgreSQL has facilitated the adoption of AI technologies in our company's database operations. We were actively considering vector database implementation across NoSQL and other platforms. Since we have expertise with PostgreSQL and experience with PG Vector, we went with the PG Vector extension with Azure Database for PostgreSQL. This enabled us to have all our data stored as a vector in the vector database so that our AI agents can use it.
Azure Database for PostgreSQL has impacted our ability to innovate and stay competitive in our industry. We run an airline, not a technology company, but any innovation we make use of, we put it in the customer viewpoint. This goes into the core of our company. Any technology that comes in, in this case PostgreSQL, helps our developers understand what features need to be used so they can deliver the customer use case much faster. We get the value out faster, and once you get the value out faster, you are ahead of the competition.
What is most valuable?
The features of Azure Database for PostgreSQL that I prefer the most are Flex, WAL replication, and asynchronous replication between region to region.
I appreciate these features because you don't have to wait for the commits to happen for the data to go to the other region, but you still get the SLA of a similar level. My applications can perform without needing to compromise or fight with the speed of light.
These features benefit our company because we were able to solve some of the latency issues with our applications and still get our RPO met by using that feature. It is really a customer experience win and also an operational win for us.
My experience with the monitoring and management tools provided by Azure Database for PostgreSQL is perfect. We use Azure Monitor to monitor all of it. Out-of-the-box, single-click enablement of all the traces and metrics has really helped us. We also use Azure Insights so we can look at every single query performance, index performance, and other details. It is a turnkey solution for us. We just click a button, enable it, and it is all there.
What needs improvement?
Azure Database for PostgreSQL can be improved in the area of elastic capabilities. One of the things we were actively looking for is the elastic feature, which was made a GA at this Ignite event. I am really happy that finally in Azure, we have a product which we can use for elastic clusters. If you are bound with a single server, then you have a vertical limit. Now you do not have any limits. As long as your use case grows, we can grow.
The only thing I would maybe be thinking about is we should also allow customers to pick different node sizes for every node inside the elastic eventually. Some nodes do not need that big capacity. So that may be a nice-to-have feature, though it is not a must-have at this point.
For how long have I used the solution?
We have been using Azure Database for PostgreSQL for the last four years.
What do I think about the stability of the solution?
Azure Database for PostgreSQL has changed and it has actually improved our database uptime. With the availability metrics, this current database is four nines by default. You guys gave it five nines.
What do I think about the scalability of the solution?
My impressions of Azure Database for PostgreSQL's ability to scale to the growing needs of our company are promising. We have a lot of workload today which we use with Oracle database. Those are all the things which are going to change into PostgreSQL in some form or fashion. We have a multitude of applications which are all using SQL. Eventually, I would envision we have a farm of PostgreSQL servers inside our company.
My impressions of the latency and availability of Azure Database for PostgreSQL are favorable. We designed our system to have a highly resilient system. We do have a DR database and we also have an HA system inside. These things are by design. Azure does provide that capability. It is up to the product or application team to decide whether you need it or not. In our case, we did enable all of that, so we got that resiliency.
The latency and availability aspects were able to meet all our SLAs, which compared to what Oracle was able to provide. We did not have any latency issues at this point.
How are customer service and support?
I would rate customer service and technical support for Azure Database for PostgreSQL to be 10 out of 10 because we received all the things which we needed. It is not about whether I can get support, but whether I need timely support. That is where the differentiation is. We got the timely support. During migration, every day is important. If you miss a day, new issues come and that spills the time over. Cascading effects can happen. The support which we received during our migration was really good, and we were happy about it.
How would you rate customer service and support?
Which solution did I use previously and why did I switch?
What about the implementation team?
My experience with the migration process to Azure Database for PostgreSQL, particularly in terms of technical expertise required and any support received from Microsoft is good. Coming from a traditional Oracle Exadata setup, all queries will run faster because Oracle has that optimization layer in between which optimizes it for you, which is why you pay a lot of money for that. When you come to Azure Database for PostgreSQL, that layer is gone. So you might have to rethink your data, how you are going to partition the data, how you are going to index the data, and how you are going to access the data. As long as you know these things, you can get similar query performance in Azure Database for PostgreSQL. The Azure expertise and product team really supported us with a touchpoint call every week for a month to make sure all our access queries are working and meeting our SLA. The Azure product team really supported us over the course of about three months during our migration period to help us get there and then work in production without having any issues.
The migration to Azure Database for PostgreSQL impacted our application code and overall database management because the database management now becomes much simpler. We are not managing anything in the infrastructure layer. The coding part is a very similar thing to how we used it in Oracle. We just wanted to make sure some queries are rewritten to accommodate the new partition way of doing things. Other than that, application migration was a minimal change for us when migrating from Oracle to Azure Database for PostgreSQL.
What was our ROI?
Azure Database for PostgreSQL has helped us reduce our infrastructure costs. Today, I would not name it as infrastructure cost, but I would call it total cost of ownership. If you own a database, then definitely Azure Database for PostgreSQL might be cheaper compared to any database out there at this point. On top of my mind at this point, maybe 13 to 15 percentage of the cost reduction we can see.
What's my experience with pricing, setup cost, and licensing?
The pay-as-you-go pricing model of Azure Database for PostgreSQL has affected our database-related cost and resource allocation. We started with the pay-as-you-go model because we wanted to give it a try, grow slower and then steady, in a phased approach. We eventually decided that we know what our reserved capacity looks like. So we changed our strategy last year to go buy the reserved capacity, but we started with the pay-as-you-go. This is a really nice entry point for any customer who wants to come and try it. Pay-as-you-go is a really good pricing choice. Once you are comfortable and ready to make some commitments, you get about 30 percent saving if you are going with one-year or three-year reservation cost. We pretty much started with pay-as-you-go, but now we have moved into a reserved cost.
What other advice do I have?
Azure Database for PostgreSQL has influenced our application development process. Most of the developers today have the relational mindset because relational databases have been around forever. Azure Database for PostgreSQL really came in and said the dialect is similar to what a relational PostgreSQL dialect is with a little bit of a change. Any developer who wants to use Azure Database for PostgreSQL does not go through a skill level improvement or need to learn anything new. They apply the same thing they already know. This makes our developers go in and execute the project instead of learning a new skill.
Azure Database for PostgreSQL has helped integrating with other Azure services and has impacted our cloud strategy. We are a heavy Azure shop, so most of our runtimes, everything runs inside Azure. Azure Database for PostgreSQL is a relational database, and every integration, we do not want to customize it. Anything which comes out of the box, we take it and make use of it so that we can deliver faster. Azure Database for PostgreSQL definitely improved our delivery speed because of the turnkey integrations.
The integrations with Azure Database for PostgreSQL that have been most valuable to our company include the Functions App integration, which was really cool. The ACA apps integration was also really cool. All the open-source community integrations from PostgreSQL also really improved our velocity.
My impressions of Azure Database for PostgreSQL security features such as encryption and Advanced Threat Protection are positive. We use the Advanced Threat Protection today in our ecosystem. Every solution which we put together, that really comes in handy. The encryption part, we have not tried it, but we would love to try it for another PII use case. For now, the threat protection is what we use day in and day out. We enabled it and it just works.
Azure Database for PostgreSQL has had an impact on our company's data protection strategy compared to that previous platform. We all have similar threat protection in our database, even in our on-premise systems. By Microsoft Defender in place, Azure Database for PostgreSQL is automatically secured in a way that we do not have to worry about anything else. It completely runs in our network because of the VNet integration. That way we have the data protection, and currently, you have also implemented the Microsoft Entra ID integration. This made our data protection much more secure because we know certain things are only accessed by admins and certain things are not. We are able to get that with your integration today.
We did it with Azure. I would give Azure Database for PostgreSQL an overall rating of 10 out of 10.
I would advise other companies that are considering Azure Database for PostgreSQL that it is the right direction to move in if you are working on a relational database. It is not as simple as bringing a query and having it work as is. There will be some tweaks. The important thing to notice is how you partition the data and how you access the data. As long as you can define that upfront and work with the Azure team, they can help you make sure the migration is smooth. As long as you understand the partition and the access patterns, Azure Database for PostgreSQL will work.
Which deployment model are you using for this solution?
Public Cloud
If public cloud, private cloud, or hybrid cloud, which cloud provider do you use?
Microsoft Azure