Building Postgres services on Azure with Charles Feddersen
Download MP3CLAIRE: 00:00:05
Welcome to Talking Postgres, a monthly podcast for developers who love this database. I am your host, Claire Giordano, and in this podcast, we explore the human side of Postgres databases and open source, which means why do people who work with Postgres do what they do and how did they get there? Thank you to the team at Microsoft for sponsoring this podcast. And today's guest, without further ado, is Charles Feddersen. Charles is the Director of Product for all things Postgres at Microsoft, and he's been working in databases for over 20 years now, and on Postgres specifically since 2021. He's originally from Australia, you'll probably pick that up from his voice, and he's been in Seattle now for just over 14 years. Welcome, Charles.
CHARLES: 00:00:51
Thank you. Good to be here. Thanks, Claire.
CLAIRE: 00:00:54
I'm so glad that you're here. And today's topic is building Postgres services on Azure. So what I want to do, though, before we dive into your work that you do today, is back up, go through the Wayback Machine a little bit and talk about your origin story as a developer. How did you get started in software?
CHARLES: 00:01:16
In software, yeah. So, you know, in college I studied a computing subject, but how I really started to get my hands coding was actually with a friend back in Melbourne. I'm going to say it was like the very, very early 2000s. And we were actually playing with technologies at the time, I think what came to be known as classic ASP, although I don't think it was called that at the time because I'm not sure if ASP.NET actually existed at that point. And we were building basically, you know, web sort of form-based applications in the browser sitting on top of Microsoft Access. And so that was really my first foray into databases while I was at college was, believe it or not, Microsoft Access.
CLAIRE: 00:02:15
What is Microsoft Access? I'm sure there's people listening who might not be familiar.
CHARLES: 00:02:21
Microsoft Access is, I mean, it shipped in Office, so you had Word and PowerPoint and Excel and Access and a very lightweight database that you could use. And so we were building on top of that. And it was interesting because you sort of had, on the one hand, we were writing ASP and JavaScript and sort of wrapping it all through HTML and what have you. And the other side, you had sort of the database. You're doing typical database-y things. And I just found it was almost sort of a litmus test as to the direction I wanted to take my career. You know, working on that project, I just found that I enjoyed working with the database more than the webpages. And so that's sort of how the ball started rolling. And, you know, it's been rolling ever since.
CLAIRE: 00:03:09
Do you know why you enjoyed working with the database more? I mean, that's that people don't always know why they like what they like, but.
CHARLES: 00:03:18
Yeah, I think so in the context of that project, I'm not a particularly creative or artistic person. So I remember wrestling forever with making web pages look good. And that's not something that you need to worry about too much in a database. You create a table, you put some data in and you run a query and you get an immediate response. For me, I also just found the SQL language to be incredibly approachable. And you could get a decent grip on it and be pretty productive with it. Quickly. And then, you know, you can also do some phenomenally advanced things. But for me, you know, it worked. And I've spoken to many other people over the years for whom it was the other way around. You know, they gravitated to more application-centric languages. And the database was a necessity, but something that they were never passionate about. So, you know, I just went the way of the database and I still am.
CLAIRE: 00:04:13
Well, you answered my second question before I even got to it, which was how did you get started with databases then? So you kind of answered both in one fell swoop. But I'm assuming that you continued to work with databases after this first project with your friend in Melbourne. What was next? How did it?
CHARLES: 00:04:33
Yeah I mean it yeah so access was relatively short-lived and then when I sort of finished college, I started to get more exposure to some of the earlier versions of SQL Server. SQL Server 7, I think. And then really when I was living in London, I started to, I had an opportunity actually to get really into the weeds of SQL Server 2005 and I think 2008. And the appreciation for the magnitude of things that databases can do and you can do with databases. And I probably made a lot of mistakes in how I implemented them over the years. And hopefully I did a few things right as well. But starting to think about building applications at scale, the differences in building perhaps web-facing applications that have unpredictable and potentially very spiky throughput, you know, versus, you know, analytical scenarios that might be, you know, serving, you know, a company and very defined set of users. And so, you know, the problem space is huge for how you can, you know, build, build solutions on databases. And over the years, they've become more optimized for, for different workloads as well. And then SQL Server, you know, led me actually into the next step beyond building really big, you know, SQL servers. And I remember, you know, sort of building, even before there were columnar solutions for analytics, you know, we were trying to wrestle your 20, 30, 40 terabyte, your data warehouses out of really big SQL servers. And then that sort of led into distributed workloads. I sort of was a very, had the opportunity to work on, and with a number of Microsoft customers, on the original parallel data warehouse appliance for distributed databases, and then that inherently led into Azure. And I've sort of papered over about 15 years in about two or three minutes there. [Yeah] And that sort of then, the distributed database was a different beast entirely, hyper-optimized for large-scale analytics. Many of the traditional compatibility challenges that any really distributed database starts to wrestle with. And then that ultimately, then I think, if we fast forward to 2021 and getting involved in Postgres and Microsoft, that started with Citus, which in and of itself is distributed. And I found it very natural to pick that tech up, albeit feeling like I'm starting with a new engine again in Postgres.
CLAIRE: 00:07:34
So I am learning all sorts of new things about Charles that I had no idea. When you first started in 2021, working on Citus, and specifically it was Citus on Azure that you were the most senior PM for, that I didn't realize there was a connection to your past work that you had previously worked on distributed databases. And so now I know. Now I know there's a reason that you took that job.
CHARLES: 00:08:03
Yeah, I mean, and I guess that maybe if you're, I got Citus to work, you know, pretty quickly. I remember spinning it up and, and it, I mean, it was, it was interesting. It behaved exactly the way I would, would have expected it to behave. You're coming from, from other distributed systems. There are different flavors, of course, of, of distributed systems, but, you know, in a, a model where you're sharding or distributing data based on keys, distributed and replica tables, a lot of that translated. And so I had a good sense of sending down some of my first queries, you found out queries on Citus what they were going to go do. And by and large, they did sort of what I expected. And I think I sort of had a head start there as well because I had a number of years understanding the customer challenges of leveraging distributed systems as well. Expectations are very high when you've come from non-distributed systems. And you need to change the way you think a little bit to get the most out of them. They can absolutely outrun and outscale your non-distributed systems, but you need to treat them the right way and build them the right way. And if you get it right, you know they can absolutely fly.
CLAIRE: 00:09:19
So backing up for just a second in that description of 15 years of your career that you did in just a couple minutes, particularly on all of your work on SQL Server, what kind of role did you have? I actually don't know, were you a developer? Were you a solutions architect? How was it that you were working so closely with customers? Or did you cycle through different kinds of roles? Because I do think there are people out there who ultimately, you know, want to land in product leadership positions. And there's no one set way to get there. And I'm curious what path you took.
CHARLES: 00:09:56
Yeah, they were evolving roles and they weren't necessarily, I didn't have a plan, you know, a 15-year plan to go do the diversity of things that I did. I think I was lucky in that regard. Prior to Microsoft, I worked as the SQL person in a mid-sized company. And that gave me exposure to everything within the SQL stack, including business intelligence, but also sort of a responsibility that spanned from database administration to database development. And, you know, back in the time, I read that I think one of the best books for learning SQL is called SQL Internals. And I read that one cover to cover. And a lot of it, I think, sort of with respect to how databases fundamentally work is translatable across a variety of different platforms. They're a bit a little different and they do different things. But that was, you know, a sort of a, that was a really good learning curve for me. But that was, you know, in-house development administration. And then that sort of moved into a consultancy role. Again, prior to Microsoft, where it was more sort of architecture, but also development. And then that inherently then led to Microsoft, which is when I relocated the United States. And I was working in a small center of excellence in what at the time was called Microsoft services. And so that was all customer facing as well. And then it was about 2016 or so that I sort of took the next step into product management. But if you draw a line through those, it was developer through, in the context of Microsoft, I would say, you know, a developer who was a customer of Microsoft technology to a partner and consultant using Microsoft technology externally to a consultant within Microsoft. And then to become a product manager within Microsoft. So it had a somewhat sort of logical trajectory that you can sort of thread a line through. And most importantly, it just gave me a ton of different perspectives and exposure into the technology and how it's being used that I think serves me well today.
CLAIRE: 00:12:18
Well, I think one of the, from the PM work that I've done in my career, I think one of the most important attributes or skills you need is empathy and understanding of the customer, their pain points, what they're trying to do, what they really need. Obviously, you have to be able to listen to them as well, but then have empathy. And it looks like the path you took gave you a lot of that experience and understanding of how people are using this.
CHARLES: 00:12:45
Yeah. Yeah. And that's worked for and against me as well. [Oh!] You know, when, when we have, when we have some product, I remember early on in my product management career, you know, I, I quite often asserted that I knew, I knew what the customer wanted, [oh] right? Cause I, I had been the customer and I knew what didn't work and I knew what annoyed me. But you know, that's, that's only one perspective, right? And you know, although I wanted to, move fast and use my experience to go build things quickly. I learned, and correctly, relatively quickly, that I shouldn't be biased by my experiences. They're a good sniff test as to what maybe we should go do. But as a product manager, you still want to be surveying the scene broadly across your customers and validating that a given thing wasn't just annoying you. It actually has mass appeal. And it's the type of thing that we should be investing, you know, very finite engineering resources into.
CLAIRE: 00:13:47
Do you, I know that 2021 was the year that you moved on to Citus and Postgres and you spent so much time on SQL Server before that. Do you remember those first impressions? Or is there a story about what that transition was like or what surprised you? What you hated? What you loved?
CHARLES: 00:14:15
Nothing really comes to mind. I remember exactly where I was sitting the day that I installed pgAdmin and added it to the taskbar that was going to become my new go-to tool. And I remember having stared at SQL Management Studio every day for the best part of 15 years that my days looked a little different all of a sudden. So that was perhaps one of the more memorable things. With respect to Postgres itself, I found it incredibly approachable. But, you know, like any new technology, there is a degree of a learning curve. Things like extensions were completely new. And so I wanted to get my head around how they worked. And so I think they were probably the two that come to mind. But, you know, it's a phenomenal technology. And, you know, obviously, you know, a ton of industry data points to the popularity and breadth of deployment and workload that it's supporting today. So, you know, it's been super enjoyable. And, you know, I think, you know, we're making a ton of progress. And I'm learning a lot on the way, which is great.
CLAIRE: 00:15:23
Okay, now you mentioned pgAdmin. I know some of the people who work on that and created it, and they're absolutely luminaries in their fields and just wonderful people. But why did you use pgAdmin and not VS Code? Doesn't VS Code have a Postgres extension?
CHARLES: 00:15:40
Well it did but it didn't then so or at least it didn't have a great one and actually you know I asked a very naive question to some of the folks that were in the Postgres team at that time. And some of them had also worked on SQL and other databases. And I just asked, it was almost a passing question, so what's the management studio equivalent for Postgres? And they said, it's pgAdmin. And I said, okay, I'll go get it. So yeah, that was the simplicity of adopting it. And then more recently, we've done some work at Microsoft to build a new VS Code extension, we had one previously. And, you know, we retired that one. And, you know, I think it's, there's a ton of great feedback on that extension. I think we're making good progress in it. And, you know, hopefully, it's a tool that a lot of developers, in particular, find valuable, given that, you know, as I was, you know, once upon a time, as we said, building an app with one hand and building the database with the other hand, you know, they can get some kind of continuity of experience within the editor being VS Code, instead of context switching, as I know I did, jumping often from Visual Studio to Management Studio. Although there's also a way to build your database projects within Visual Studio, which I got my head around a little later on.
CLAIRE: 00:17:08
I mean, there's a philosophy that a lot of people have espoused, which is you need to meet developers where they are. I've heard Satya say that, in fact, but he's not the only person who has said that. And I do feel like there's a ton of developers out there who do use VS Code. And so I'm pretty happy that finally, and it took a while, and I wish it had happened earlier, but finally there is this really good Postgres extension and people are adopting it like hotcakes. So that's kind of cool.
CHARLES: 00:17:38
Yeah. Yeah. And I mean, I think, I think it more, more generally, you know, we think about just meeting your customers where they are as well, you know, and then that sort of probably disaggregates into the persona of the customer being the developer or an administrator or, you know, end user consumer. But, you know, I think, you know, habits are strong and you definitely, you want to try and as you exactly said, right, if you can, if you can make the life a little simpler by offering something new, that's often pretty appealing to people. If you can, if you can make them a little more productive.
CLAIRE: 00:18:15
All right. So is there anything about Postgres that you've fallen in love with? Maybe that was something you, well, you mentioned extensions, obviously, and you started with Citus, which was an extension effectively, but anything else that's worth shining a light on?
CHARLES: 00:18:37
I think some of the features, you know, that I, I think extensions for me were a stand-out because they were quite new. And I remember playing with, and I think we were pre-ChatGPT, pre-AI coding days when I got started, which may have been a good thing because I had to go write all my own code for playing with some PostGIS, for example. I do think in the era of AI that we're in where I can basically ask your Copilot or ChatGPT or any other, you know, AI engine to write code for me for a given thing. It'll do it really, really, really quickly. And, you know, I think people tend to learn a lot better when they're actually producing and typing than just reading code. Actually, that probably applies to anything. I've never managed to just read a textbook and know everything. You actually need to apply yourself to some of the problems and think more deeply about it. So I think sort of I learned a lot very quickly, fortuitously, because I had to write code before I came along. But the PostGIS was the one that I played with because it was so famous. And I think that a lot of people talked about the capabilities of that one. But they were extensions, I think, also, and we leveraged them at Microsoft as well for extending the product. It's a great way to extend the product quickly and efficiently, even to just validate scenarios before perhaps maybe one day things do upstream again. So, yeah, that's sort of my immediate impressions and what I found most interesting.
CLAIRE: 00:20:29
Okay. So I maybe glossed over the introduction of your role in the beginning, but you are head of all things product at Microsoft for Postgres. And that means you keep an eye on our Postgres open source community work, right? That my team leads, but also Azure Database for PostgreSQL, which is our managed service that most listeners have probably heard of. And then there's a new offering that's in preview, which is Microsoft-speak for beta. And it's actually in private beta right now called Azure HorizonDB. That is based on Postgres as well. And it started off life having a really long name, Azure HorizonDB for PostgreSQL. And I think someone somewhere said, no, no, no, let's keep it short. Azure HorizonDB. But that's also a Postgres offering. So you're responsible for all these things. And I'm curious if you can, I don't know, open the lid and share with us. What is it like to lead product management for such a big portfolio that touches so many customers and developers?
CHARLES: 00:21:42
Yeah, I mean, it's a, I enjoy the role, you know, for the diversity that it offers. And this is not necessarily a Postgres specific statement first, I would say that your product management, you know, and for anyone who wants to get into it is a wonderfully diverse role. You can, you know, in any given week, you know, you give a talk at a conference. You can be, you know, researching the next features that you want to build. You can be talking to, you know, a customer anywhere on the planet about what's working, what's not, you know, helping them through things. So I really love and I think the thing that keeps me excited every day about it is just the diversity of what you can work on. Within Microsoft's portfolio in and of itself, it's big and getting bigger. But with very careful planning to ensure that what we're doing is valuable to customers.
CLAIRE: 00:22:44
And when you say it's big and getting bigger, I just want to be clear, you're talking about Postgres, the Postgres business.
CHARLES: 00:22:49
I'm talking about Postgres. Yeah, yeah, yeah, yeah.
CLAIRE: 00:22:51
Got it.
CHARLES: 00:22:54
You know, with Flexible Server, it's been in market for a while now. I think you're getting maybe just over four years since GA, if I've got my years right. You know, and that's given us the opportunity to work with a lot of customers around the world. And then with Horizon, you're coming, which will deliver your higher scale, your throughput, your improvements around your availability. That will be a product that stands on itself. And then we're bringing the Citus extension into Flexible Server as well. And in essence, that comes back to the beauty of the extension model in Postgres. Here you've got this Citus extension that's phenomenally powerful in the sense that it can scale workloads out to a variety of different ways. It does a whole bunch of things. But the fact that it's so easy to bundle it into a Postgres service makes it incredibly approachable for a lot of customers. And so that's something that we've announced at Ignite and we're working on the Elastic Cluster feature within Flexible Server. And we've seen some great adoption since GA on that feature. And it's just another class of customer that we get to interact with. So, you know, it's a diverse gig.
CLAIRE: 00:24:14
So, for any... For anyone who's watching at home about what has happened with Citus on Azure since the acquisition, I mean, obviously we started off with its own offering, right? So Azure Database for PostgreSQL Hyperscale Citus. And then it morphed over into Azure Cosmos DB, right? And it had an offering over there. And now it's part of Flex Server. It's a feature, Elastic Clusters, in Flex Server, which I think is cool because it makes it so much easier for Flex Server customers to adopt it. But it's had a...
CHARLES: 00:24:51
That's part of it. And one of, I think, maybe the underappreciated things is that the cloud is a phenomenal vehicle for shipping software, right? In essence, it makes it much easier and removes that barrier to distributing your software. And you need to be a little more careful, in my humble opinion, that you don't proliferate a product portfolio too much, that the customer of a conversation becomes, well, for this, you should do this, or for this, this, or this, or this, and what have you, right? Fewer things, fewer arrows, with more wood behind them is more, I think, consumable by a customer. And so that's the approach we're taking with Flexible Server. More broadly speaking, Azure Database for PostgreSQL, it's managed open source. It's a fully managed service, comes SLA backed, wrapped in a collection of security, high availability and disaster recovery features. But its core, it's open source, Postgres 18, 17, 16, soon to be 19. And last year we shipped that on the same day that the community GAed it. There's no forks. And we do the same thing with extensions. We do the same thing with Citus. It's the same Citus extension that is open source. And so it's a very clear and crisp product definition. It's very easy to explain to customers precisely what it is. And the value prop is clear. So that's why we brought those together. And I think it is making it more easy to tell your part of Microsoft's Postgres story. And definitely, I think it's making it more easier for customers to rationalize what we're doing and see what we're doing.
CLAIRE: 00:26:53
Okay, so I'm going to jump ahead. I probably shouldn't ask this question for another five or 10 minutes, but I just, I can't resist. So you talked about fewer arrows with more wood behind them. To make it easier for people to know what to adopt to, you know, simplify some of the choices that you have to make in deciding what you're going to build on. But at the same time, you just rolled out a new database offering, Azure HorizonDB. So if I'm a prospect and I'm trying to decide whether I'm going to deploy on Azure Database for PostgreSQL, what you were calling Flexible Server, which is, as you said, like a managed service for the open source offering, not a fork, or Azure HorizonDB, how am I going to choose? How do I know which one is a fit for my application?
CHARLES: 00:27:38
And, look, it's a great question. And the answer is, no matter what we do, because they're both Postgres, there's always going to be a little bit of overlap in those, right? And frankly, I've had the similar question many times over many, many years about, more broadly speaking, which database do I use? Period. And I think maybe in some scenarios, people still make decisions on whether they want to use a relational database or a NoSQL database, which are two incredibly different things. And if you're asking that question, then you need to really think hard about what the app is going to do. But in the context of Postgres, I think that the way that we're building Horizon, we're doing a lot more engineering work in the storage engine itself, both with respect to your log and your storing database pages. And that is going to enable Horizon to scale a little further, go a little faster, and things like high availability will be superior. So, you know, we have a long roadmap and a long plan for Horizon. And the first step is to bring it to a broader public preview later this year. But, you know, I think that initially, we're just starting with ensuring that its scalable performance meets the needs of our enterprise customers, which we understand very clearly. And then on the side, and like we talked about at Ignite, you're starting to bring a few new innovative things that lean a little more towards the developer and AI, where we know Postgres is becoming incredibly popular and has been since the AI tidal wave broke. I know that a lot of people ran very early to that chat with your data scenario. What's this pgvector thing? And as I recall, you take a look at the star history for pgvector. And that thing basically hockey sticked up within a few weeks of ChatGPT. You're having its viral moment. And I think Postgres has been on a tear on that trajectory for AI since then.
CLAIRE: 00:30:03
I know that people have a lot of questions about Azure HorizonDB because they, well, the people who've heard about it do because it's still in private preview, which means they don't have access yet to the documentation and the things they would normally do to kick the tires or try it out. And I know you said it's targeting preview, which is an open beta later this calendar year, which is great. But the good news is more and more people are starting to talk about it. I know you present to customers all the time about it. Is that a fair a fair statement. [Yeah that's a...] You have customer conversations every single week. Is that true?
CHARLES: 00:30:41
We that would be correct if not multiple times a week so it's a it's a good part of the good part of the job I love speaking to customers and finding out what they're doing.
CLAIRE: 00:30:51
And are these days because HorizonDB is still in private preview are most of your conversations still about flex? Or is it about both? Because people are curious.
CHARLES: 00:31:00
Oh definitely both I mean there's a there's a ton of there's a ton of interest you know and obviously we're working with some of our customers already you know in the preview of Horizon but you know flex is established and you know it's easy to you know want to focus on the new shiny things. But, you know, the reality is that we, you know, we run a lot of critical workloads for many customers on Flex. And that's, that's the highest priority every single day is to ensure that they're, they're successful. So, you know, I would say if I'm to give a split, I probably spend 70% of my time talking about Flexible Server, because that's where our existing customers are today and learning about what they need, what's working well. These conversations in many cases have a common theme that we're talking about. We're asking similar questions and they're telling us similar things, but the content is very different. A given customer trying to run application A will have a whole bunch of different things to tell us than a different customer running application B. And that's part of the fun and that's part of the challenge at the same time is the breadth of workloads that Postgres is being adopted into right now from those tier one enterprise line of business applications to new AI apps that started being built this morning. That's a big spectrum, whether it's maturity, size, age, or anything else. And building a Postgres service or Postgres services now to accommodate that breadth of customer base, it needs some thought because our backlog will always be bigger than our capacity. And so we spend a lot of time. In fact, I spent a chunk of time yesterday morning and again this morning trying to get our priorities nailed for the upcoming, you know, periods because, you know, it matters to our customers and we've got to think really hard about it.
CLAIRE: 00:33:13
For someone who might have fast forwarded and just started listening at this point in the conversation, when we say flex, it's kind of like the, it's an internal nickname for flexible server, which is basically Azure Database for PostgreSQL. We used to have two different flavors of Azure Database for PostgreSQL, and so that's why one of them was called Flexible Server. So anyway, I just, we did have three.
CHARLES: 00:33:33
Actually I think we had I think we had three at one point, Claire.
CLAIRE: 00:33:37
We had Single Server, Flexible Server, and Hyperscale Citus, which is a lot. One of the other things that's happening now, because HorizonDB is in private preview, is people are starting to give talks about it. So for example, FOSSASIA PGDay happened last week in Bangkok, Thailand. And Microsoft was, I think, a silver sponsor. And as a result, we gave a lightning talk. And so Brian McKerr went there and his lightning talk, it was like 15 minutes long, was completely focused on Azure HorizonDB. And then also PGConf India, also last week in Bangalore, Aditya Duvuri and Divya Bhargov co-presented and gave a talk about Azure HorizonDB. So people are starting to share more information, which I think is helping for those who have questions and want to know more and want to think about whether it's going to be a fit for them in the future or not.
CHARLES: 00:34:37
How was PGConf India, by the way?
CLAIRE: 00:34:39
PGConf India was awesome. It was incredible. There were some people who couldn't make it because some of the airports, like Dubai is a really popular hub to fly into Bangalore through, and that airport was closed. So there were a couple of speakers I know about who couldn't make it. But I was just, it was chock full of people, really crowded, a ton of energy, a lot of good conversations at the Microsoft booth. I just, I was like a pig in mud, if that's the right analogy. I had a great time. And at our booth, we actually had a really popular technical quiz that people got to compete in. And so a lot of the developers, you know, they like to compete. And so that was kind of fun. But the talks were super high quality and the organizers do a really good job. And they're going to keep growing. I don't know. Maybe PGConf India is going to give PGConf.EU a run for their money in terms of attendees, in three years time.
CHARLES: 00:35:43
Yeah, so I saw PGConf.EU is in Valencia this year.
CLAIRE: 00:35:48
Yes, October 20 through 23. Call for sponsorships is not yet open. So we have not had a chance to sign up yet, Charles, but don't worry.
CHARLES: 00:35:59
All right. Thank you for that. I'll let you go back to asking the questions now.
CLAIRE: 00:36:07
There was something else about HorizonDB that I wanted to mention, and we should throw a link in the show notes to this. Adam Prout, who is a distinguished engineer, is that the right title? [He is. He is. That's correct.] At Microsoft, very, very senior architect and an architect behind Azure HorizonDB, figuring out how it should work, what it should look like, what it should do. He gave a talk in the Carnegie Mellon database speaker series that happens virtually. And this was just a couple of weeks ago. So there's a recording online. For those of you who know Andy Pavlo, this is something that he and his team organized, all these virtual talks. I think they started during COVID and they were called the vaccination series or something like that. But they obviously have different names now. So it was really cool. And I haven't had a chance to tell you this, Charles, but kind of random. But I was on the show floor at PGConf India and somebody I didn't know came up to me, introduced themselves and said, listen, I listen to your podcast. And I really think you need to have Adam Prout on your show to talk about HorizonDB. And I was like, well, that's cool. He's already lined up to be the May guest on the episode. He's like, May? What date? What date in May? So I just thought that was really neat. Having listeners approach me is fun, but it was especially fun that he was interested in this topic and in Adam joining.
CHARLES: 00:37:33
I will concede actually that I've not listened to Adam's talk either. The Carnegie one is on my list. I have been told for what it's worth by a few people that it's an exceptional talk. [Oh, good.] So I am planning to listen to it as well. And I would encourage everybody to have a listen. I think it'll probably shine a brighter light onto the workings of HorizonDB. And Adam also gave a great talk at Ignite last year, which I think is all on demand now as well with Denzel from my team. So you can take a look at that one as well if you're curious.
CLAIRE: 00:38:07
I will include that in the show notes also. Hopefully it's ungated in terms of Ignite Talks. I think you're right. Think it should be. So what I remember about when you first took over the Azure Database for PostgreSQL Flex Server business, and anyone who listens knows I'm focused on the community side and the open source side of things, but that doesn't mean I'm not paying attention to what's going on internally at Microsoft. But I remember you advocating really strongly for requirements that enterprise customers had I don't know can you tell me more about that
CHARLES: 00:38:48
Yeah I think so I mean it comes back to what I was saying earlier and then about sort of the breadth of where Postgres is being adopted today and then I think that it sort of has an element of you just sort of product management fundamentals as well right you need to understand who your customer is, first and foremost. It doesn't necessarily matter who they are, but whoever they are, you need to know them and you need to know what's important to them. It's very difficult to build something for everybody. And so when we're thinking about building your database services, and the way that we talk about your enterprise customers maybe is sort of more more sort of inside baseball at Microsoft. But there are some fundamental requirements that every database must have. And frankly, I think it probably extends beyond enterprise customers, but it's a good cohort to sort of ground yourself in. Things like security, disaster recovery, high availability, these things are non-negotiables in database systems, right? And how you handle high availability across availability zones within Azure, right? And how quickly you can fail it. How do you handle your backups? Do you offer geo-redundant backups? Do you offer zone-redundant backups? These are all nitty-gritty details that matter. How do you handle networking? Do you have private endpoints? Do you have VNets? And it's an incredibly long list. And so we were very intentional with Flexible Server that we focused on the things that mattered most with respect to security and availability because they're, like I said, they're non-negotiables and building them in order. And anyone who goes back and reads the release notes for the last three years will see just a steady stream of that class of feature coming online. And the other thing, and I sort of, I guess I gave a nod to it already, is it's one thing to build features. And that's another thing to actually finish the loop, which is to tell people they're there and why they matter. Because, you know, we ship frequently. Cadences vary. Scope or magnitude of a deployment varies. But ultimately, your customers need something consumable that they know what's there and why it matters to them. And so in the last few years, we've made a very intentional push. In fact, there's a given PM in my team who go through like, I think, six monthly rotations at the moment who basically own the authoring of monthly release notes. And we make sure they go out. We do the standard social blasts on LinkedIn and your network of choice. Just to make sure that we're trying to get as much information out there on what is happening in the service. And it's not specific to Postgres. It's really, I think, core to running any managed service is that you ship so frequently. And this is not new. I mean, this is the cloud. It's been around for a little while now. But we don't do sort of low-frequency big bang announcements. We do higher frequency, smaller announcements. And it's important just to keep that news feed flowing. But again, with an emphasis on why it would matter for a given customer and not just simply saying, okay, this feature's here. You know, good luck. And that's something we've made a big push on as well. And I think it's just a fundamental of program management all up.
CLAIRE: 00:42:40
I think blogs still very much have a role in how people learn and consume information. Even as other things have changed, like the social media landscape has changed dramatically in the last three years. I would say that LinkedIn is probably more popular in the Postgres community than it was three years ago. It used to be Twitter. Twitter was where everybody shared all their information. And now both, and when I say Postgres community, I'm talking about people who use and work on the cloud managed services, as well as people who work in the open source community. So, but yeah, blogs matter. I should include a link in the show notes to the Microsoft blog for Postgres that's on tech community, just for anybody who's listening, who's never checked it out and maybe they're an Azure customer and they want to see that monthly recap. So I'll drop that in there.
CHARLES: 00:43:29
And I mean, that blog in and of itself was another thing that we did quite intentionally. Like we, I remember years ago now, you know, sort of, you know, corralling, you know, there was a ton of content being produced, but it was just going everywhere. And we made a very intentional effort to try and consolidate it onto this blog. And we have authors on this blog who are even outside of the engineering team at Microsoft. But it's, again, it's just so much easier to consume information if there's fewer things or fewer places to go. And so you're the best we could do for Postgres at Microsoft, all encompassing of whether it's, you know, things we're doing in open source or things that we're doing in Azure, right, or your community announcements for Posette coming. Everything flows through a singular blog. And I don't think we can have less than one. So I think we've got that one right.
CLAIRE: 00:44:28
Because I do get this question sometimes, why is it that Microsoft has built this open source contributors team? How does that help Azure? Don't you want, oh, actually someone came up to me at PGConf India and they were like, I don't understand why you do that. Why, why don't you take those engineers and work on features and, you know, don't put them in the open source upstream project and just put them into the proprietary bits in your managed services. So why is it that we do what we do with the open source project?
CHARLES: 00:45:01
I think there's a few aspects to this, to be honest. First, I think that if you're going to leverage open source code to the extent and build on it, you need to be a responsible participant in that community. The Postgres project is phenomenal. Many people call it the Linux of databases. And I think that we are sort of one of a very small handful of companies that, you know, at the scale that we run it, you know, we can see things, we find things that we can potentially help with. So we do very intentionally make that investment. And the investment, you know, and as you and I have talked about many times over the years, Claire, you know, extends beyond code as well. You know, it extends into, you know, supporting community events, you know, be it like PGConf India we just talked about. You know, we've got, I think it's, I think this year it's now called PG Summit US or PG US Summit, which was the sort of the, that's right.
CLAIRE: 00:46:07
Yes, Postgres Summit US. That's the rename rebrand of PGConf New York City, which I guess they renamed because they wanted to show everyone that, hey, we have people coming to this event from all over the country. [that's right] It isn't just limited to people in that tri-state area.
CHARLES: 00:46:26
Yep and it's a phenomenal conference and exceptionally well organized as well and you've sponsored that as well and had the opportunity to speak there in EU and then you know a number of day events around the world you know I think the India US and EU conferences are probably recognized as the big ones globally and globally spread [In person.] Yes, thank you, Claire. But there's day events popping up all over the world. And they're great local events, smaller, but still some great content. And we're pleased to be able to get behind some of those as well and try to ensure they're going to be enduring.
CLAIRE: 00:47:10
Well, what's really cool is there are people at Microsoft who are in our open source contributor team who are also organizers of some of these Postgres community events. Melanie Plageman is instrumental in PGConf.dev, which is the annual development event that happens in Canada every year. So she's both chair of the talk selection as well as on the organizing team for that. Or next week, Nordic PGDay is happening in Helsinki. And Daniel Gustafsson is an organizer of that. Prague Postgres Developer Day happened a couple of months ago now, obviously in Prague. And Tomas Vondra was one of the organizers for that. It's kind of cool. So there's the financial sponsorship that we do. And then there's the people giving their time also.
CHARLES: 00:47:58
And then there's POSETTE, of course, which, you know, is a topic, topic...
CLAIRE: 00:48:01
Thank you for mentioning that.
CHARLES: 00:48:03
Well, you know, I was getting there. That's obviously a topic near and dear to your heart. And you guys do a phenomenal job of putting that on. But, you know, it's another, I think, I don't know where it stacks in the virtual Postgres conferences. I think it's probably up there. But we're coming into our 5th year, I think, this year. [Yep] And, you know, it's a platform for the community to, you know, give some talks. And, you know, there's been some phenomenal talks given there over the years, and obviously being virtual, it's immensely accessible to everybody. So, I mean, we've tried very intentionally, and I'll stress the intention behind it, to be great citizens in the Postgres community, broadly speaking. And that manifests in all of the ways that we just described, whether it's code into upstream projects or your sponsorships in support of, you know, community events or, you know, POSETTE or time, you know, which is far, far harder to, you know, precisely measure. I think it's important, you know, and it enables us to, you know, support our customers better, you know, when we're so deeply involved in the project. And it, you know, provides, you know, or contributes, I would say, to a foundation that Postgres is going to be successful over a longer period of time. And I think that's a good thing to go do.
CLAIRE: 00:49:35
This year is the 30th birthday, the 30th anniversary of the beginning of the Postgres open source project. I know you might be thinking if you're listening, wait, I thought Postgres was 40. Okay. So the technology itself is 40 years, but the open source project started in, I guess, Am I doing my math right? Is it 1996? Is that right? Yeah. So I know at PGConf.dev in Vancouver
CHARLES: 00:49:57
I think it'll be 30 years. Yeah, '96. It's frightening, isn't it?
CLAIRE: 00:50:03
This year in May, there's definitely going to be some special things to help celebrate that it's the 30th anniversary. But it's kind of cool that this project is thriving and kind of evolving. It's grown. I think if you go back to the beginning, there were five committers. Now there's 31. Obviously a lot more development, innovation, features, capabilities, it just keeps getting better. So I don't know. I'm very biased. If anyone's listening, a regular listener, they already know that. I guess that's part of the deal when you listen to Talking Postgres.
CHARLES: 00:50:43
Oh, if there were going to be If there are going to be events, I might have to try and find my way up to Vancouver this year. It's a quick, quick road trip from Seattle. So one of the easier ones to get to.
CLAIRE: 00:50:52
I hope you join. I think our team that's going to be there would love to see you because we have people flying in from all over the world. We have a whole bunch of speakers whose talks got accepted and everything. But it is like a reunion. It's all these developers who've been working on the project together. Some of them new to the project. Some of them have been involved for decades. And there's a lot of, actually a lot of negotiating for what's going to be in the next, next release happens at this, at PGConf.dev.
CHARLES: 00:51:25
You better remind me the dates quickly...
CLAIRE: 00:51:31
So, okay. I think it's May 19th is the beginning. I'll send you a note and we need to get it on your calendar.
CHARLES: 00:51:35
It's just a useful plug for the audience as well...
CLAIRE: 00:51:38
You can take us out to dinner. How's that sound? [Okay] Okay, so is there anything I should have asked you about? Let's go back to the title of the episode. Because I always wanted to deliver on the promise that the title communicates. So it's building Postgres services on Azure. Anything else you want people to know?
CHARLES: 00:52:00
I think, yeah, look, I think, I mean, I'll add a couple of things to it. I mean, we've talked about, you know, Flexible Server, you know, we've talked about, you know, horizon and obviously that's you know going to be a huge area of focus both of them are huge areas focus for us you know through the coming year I think that you're we're one of the things going back to the topic that you made earlier or the point that you made earlier and so seeing some more community you know talks or more broadly talks giving on horizon I saw there was a talk I think given at SCaLE 23x last week by a member of the community who had a title, something to the effect of, you know, is VS Code quietly becoming the go-to tool for Postgres? And again, it was nice to see that sort of recognition of some of the work that we were doing was getting the community. You know, we think that I personally believe that you're building amazing tools for databases is really important. And like we talked about at the top of the session, I have a ton of bias in this space and I don't pretend that I don't because I spent a very large chunk of my career staring at database tools all day and every day and picking through execution plans and writing queries and all the rest of it. So, you know, I think that it was nice to see that some of the stuff that we're doing in VS Code was being picked up here. We've also got a lot more to get done in that tool as well. And we're going to try and keep shipping on a relatively quick cadence as well. But again, to the point that you made earlier around, so some of the things were being picked up in the community. This was in Horizon. This was another one in the tooling as well. So that was good to see. And yeah, we'll talk more about that, I'm sure, later this year as well at various Microsoft events.
CLAIRE: 00:53:58
So one of the things I'm really curious to talk about before we finish is how LLMs and AI is changing the nature of work that both product managers do, say at Microsoft, people who are working on Postgres, but also for customers. And I think there's probably positives and negatives, or challenges and opportunities, maybe is a better way to say it. But what's your philosophy? What are you seeing?
CHARLES: 00:54:27
It's a great question. And I'll give some of my observations in general. So number one, I could never go back to operating without AI. I'm fully converted. That's not to say that, you know, 95% of my day is spent leveraging AI. For me personally, it was learning and experimenting with how I could apply it to my job. My job didn't fundamentally change with the advent of AI. I still needed to get, generally speaking, the same things done each day and lead the product management for Postgres and MySQL. But changing the habits of how I did these things through experimentation of what worked to make me more productive and didn't has been the curve or the journey that I've been on in particular over the last 12 months. One of the best parts about my job when I had more time to do this was building demos. I used to love being able to put down your PowerPoint and email and stuff for a day and sink my teeth into code, leading up to a conference and build some demos. I can produce better demos 10x faster than using AI, hands down. Because I'm not a great application developer. I can do a lot with SQL, but often any demo is a combination of the two. And I used to enjoy cobbling various different types of application code together. But now I just let AI do it. And I get a better demo, and it's much quicker. So that's definitely one application for me. I summarize a lot of content every now and then. And I think everyone has this. The inordinately long email thread goes through the inbox where I realize it's probably time to read this and I'll just start with a summarization. And sometimes the summarization is sufficiently interesting that I realize I need to go read the entire thread. But I've qualified it at least that I'm not. You're going to spend 10 minutes reading something that was unimportant to me. So I think it's made me more effective as well in the efficient application of my time. I use it for streamlining things that I might... Sometimes I don't feel as fluent in what I'm writing that I do on other days. I'm struggling to convey ideas and messages. And so I'll get help from AI-based tools on that as well. Off the top of my head, they're probably the three where I see it the most. And then when you take a look at how we're approaching AI with respect to Postgres, part of it is AI features within the database, like vector indexes and AI functions that can call models for embeddings or what have you. And the other half is sort of how AI in and itself can supplement the database. And maybe the best thing to point to there is some of the work that we did with GitHub Copilot in VS Code for Postgres. And that started perhaps obviously with a more chat-based experience, which is where everyone begun with their AI journeys. But now we're doing some more things like putting one-click AI experiences directly into VS Code, like monitoring and the query plans that we just shipped. So the tool in and of itself can prompt the agent as to what it's seeing and what it might want to get some help with as well. And so as a product team, we're learning how we can apply AI to multiple facets of the product in and of itself. And that's something that I think every product team is probably learning given that it's still a relatively new technology. But it's a deep focus, of course. And then the other hand is for anybody in any role, I think experimentation of how AI works for you is important. And I think, look, anyone who's been using any software forever, you know, a given piece of software is going to be used slightly differently by a number of different people. And it's what works best for them. And I think AI is just so incredibly malleable that people are going to be able to use it to be more productive. You know, but there's some habits that need to be broken. And I think that is sort of part of the challenge as well.
CLAIRE: 00:59:13
But overall what you're the story you're telling is a positive one.
CHARLES: 00:59:18
Super positive. Super positive.
CLAIRE: 00:59:21
Okay so in spite of the challenges that some people are running into problems with AI slop, for example, or people that are using the tools that are still in that experimentation stage, perhaps, and they haven't figured out how to use it as effectively as they want, they're more likely to generate AI slop, right? [Yep] But my hope is that that's just transitional. That's a problem that will go away as we all get better.
CHARLES: 00:59:51
Yeah, I don't know exactly what sort of the solution is or whether it needs a solution at all. I think that, you know, any tool can be used correctly or incorrectly or can be used better or not as well. And look, I've seen some database implementations over the years that we'll just, I remember once upon a time, I'll tell this story quickly. You know, application developers write a lot of loops. That's how they do things. We don't need so many loops in databases. In fact, frankly, you should try to avoid loops and cursors as much as you can. But I have seen some database solutions implemented where, you know, the rows are in the table and they loop over the rows. And that's one of the, you know, it's crippling on a database's performance, right? Great technology, but implemented in a suboptimal way, right? And I think the same can be said for pretty much anything. And, you know, again, like the way, the reason I emphasize that I've experimented, you know, what works for me is that, you know, there's, that AI is integrated into so many different, elements or aspects of what we do, online software, cloud, you name it. It's hard to consume it all at once. So I've just tried to be very intentional that when I need to go do something, I stop and think, is there an application for AI here? Is it easy as accessible? Let's give it a go. Because, you know, you've always got the opportunity to review the product of AI and make your own decision on whether it's valuable, whether it's useful, whether you could try and use it differently, or frankly, whether this is maybe not a great application of it. And, you know, I think it's only going to get better from here, though. So that's the thing that I'm pretty optimistic about.
CLAIRE: 01:02:00
All right. Well, we have gone through everything that I wanted to talk about. I think the only thing that we didn't touch on is the fact that as head of all of this Postgres PM work that happens at Microsoft, you often go to, well, you also go to some of the Postgres community conferences, which I love. You've been to PGConf.EU. You've been to PG Conf New York City. Those are probably the two big ones that you've been to several times. But you also show up and meet with customers and prospects and developers at Microsoft Build and Microsoft Ignite. Those are the two biggest Microsoft events that I know you participate in.
CHARLES: 01:02:40
That's yeah there I think they're probably the two of the largest Microsoft conferences, each year, I think Build is in June this year [Yeah, early June.] I believe has recently been announced and Ignite typically in November, but I don't have dates for that one this year.
CLAIRE: 01:03:02
All right. So are you going to Microsoft Build this year? I'm sure you'll be at Ignite, but...
CHARLES: 01:03:06
Yeah I think I at this stage I plan to be so but actually the I mean just a topic this morning was also you know these us and big European conferences and these conferences are So in a way, they're somewhat useful because, well, they're very useful, but one of the unintended sort of byproducts for me is we have a whole bunch of customers that are on that side of the Atlantic, and it gives you an opportunity to go catch up with them in person as opposed to 6 a.m. calls on the west coast of the U.S., which is often what you need to do to serve a large European customer base.
CLAIRE: 01:03:44
You know you mentioned POSETTE: An Event for Postgres earlier which is virtual and in its fifth year I think we're going to have 44 talks this year and there are about 50 speakers and it is the largest virtual event on the planet by far there's no there's no question about that when you look at all the attendees live attendees and then there's the people who view the talks afterwards which is even greater. But what's my point? My point is that I'm a big fan of virtual events. I really am. I find it more accessible. More people can get access to those learnings and those speakers and those talks. Not everybody has travel budget. Some people have little kids or elderly parents. There's a lot of reasons people can't travel. So I'm a big, big fan. But I will say that there is also something magical about those in-person conversations that you get to have and the trust that you can build. And there was someone at PGConf India last week who told me that he had, I guess he had interacted with me a couple of years ago. And I don't know if he found me intimidating or what his impression was, but he said to me last week, he's like, wow, I've really enjoyed talking to you. You're not the way I imagined you would be. And so I don't know whether to feel good about that or feel bad about that, but I know that in-person does build relationships.
CHARLES: 01:05:04
I think that there was definitely in my observation, there was, you use the word magic, like there was definitely something special about the first few in-person conferences as we came out of COVID and when conferences weren't run for a couple of years. You know for what it's worth I'm a deep proponent in having those interpersonal relationships, it just seems to be so much more productive to even have met someone in person that you're then going speak to the next hundred times on the phone, with or without video, to have established that, that connection. Conferences are a phenomenal vehicle for doing that. And you're right virtual is incredibly accessible for a variety of reasons that include hotel and airplanes and time and convenience for even picking up some of the content offline. I think it's great that we've got both. And I do, as you and I have talked about, I do think POSETTE being virtual is a nice complement to what is otherwise an in-person heavy conference circuit for Postgres. So I hope a lot of people are getting value out of the event. And I think I get to do a keynote again this year, Claire, which I better get to work on.
CLAIRE: 01:06:30
Oh, for POSETTE. Yes, you and Affan Dar are co-presenting together, which I'm very excited about. Just the two of you, he heads up engineering, you head up product for all of our Postgres and MySQL businesses, and you're a good team. So it'll be interesting for everybody else to...
CHARLES: 01:06:48
We need to get to work on that one. We haven't, aside from, I think, aside from the announcement, we haven't done a lot. So, but you know, yeah.
CLAIRE: 01:06:59
I need to get some dates on your calendar. So I'll be working on that. [Yeah] All right. Well, thank you so much for joining.
CHARLES: 01:07:08
I appreciate the opportunity. Thank you for, thank you for having me today.
CLAIRE: 01:07:19
For those of you who meet Charles Feddersen at future conferences or on conference calls, if you enjoyed this episode, be sure to tell him. And also, if you like today's episode and you want to hear more of these Talking Postgres shows, you should subscribe on Apple and Spotify and YouTube or wherever you get your podcasts. And tell your friends. If you leave a review, that helps even more people discover the show. And that's how podcasts build their audiences, is with word of mouth and recommendations. You can get to all the past episodes and get links to subscribe on the different platforms at TalkingPostgres.com. And you'll find transcripts included on the episode pages as well. I know several people who prefer to read the transcripts instead of just listening to the show. A big thank you to people who joined live and participated in the text chat on Discord. And thank you again to Charles.
CHARLES: 01:08:08
All right. Thank you.
Creators and Guests
