bit Obscene: The Cloud, and Stuff
Video Summary
In this video, I delve into the complexities and challenges of moving production databases to cloud environments, particularly focusing on Microsoft Azure. Alongside my co-host Joe, we explore the nuances of modern cloud infrastructure through a series of candid discussions and practical examples, using the Azure portal as our guide. We dissect the performance implications of various cloud services, questioning whether the allure of managed solutions truly delivers on promises of ease and efficiency. Our conversation touches on topics ranging from CPU performance and storage latency to the ongoing challenges of database management in the cloud, all while critically examining the trade-offs between abstraction and control. Through this exploration, we aim to provide a nuanced perspective for anyone considering or currently navigating the complexities of cloud database deployment.
Full Transcript
This computer. All right. Welcome to yet another episode of the Bit Obscene podcast. Today, I am joined by two special guests. We have a new special guest. We have Microsoft Certified Master, Sean Gilardi, in a completely unofficial capacity. We have our usual temporary co-host, Joe Obish. Wait, temporary? Do you have some kind of plans to get rid of me? Wait, am I being replaced by Microsoft Certified Master? Is that what’s happening?
You are being replaced like AI, like everyone else. Okay. All right. I can live with that. Yeah, I’m migrating my best friend to the cloud, and you’re gone. You’re out of here.
But also, also in an unofficial capacity, I am going to be your completely unbiased moderator, Erik Darling. I have absolutely no certifications or skills to speak of, so I’m just here to make sure everyone doesn’t curse and keeps their clothes on. Anyway, Joe, why don’t you start by stating your position on the current state of the cloud?
And it doesn’t have to be any specific cloud. It can just be the cloud in general. But if you want to name names, I’m not going to stop you. So do you know why they call it the cloud?
I do not know why they call it the cloud. It’s because shit rains down on you. I’m already failing as a moderator. Where is my beep button? I don’t have any certifications either, but I would state my opening position as I’ve been a cloud hater since about nine years.
So I’ve been hitting on the cloud for nine years, and I’m mostly focused on the Microsoft Azure cloud platform. Would you consider yourself an OG cloud hater, or are you more new to the cloud hating game than most others? I mean, I started in like 2016. I’m sure there are people who’ve been hating it for longer than me, but I feel like nine years is a pretty respectable number.
It’s a pretty respectable number. Almost your 10 year anniversary of hating the cloud. Almost, yeah. Are you a proud cloud hater, or are you just sort of a run of the mill day to day cloud hater?
I think I’m run of the mill, because if there are other things to talk about, I’d prefer to talk about those things, with the exception of this very important run of the mill. We’re not a table discussion. Okay. All right. Great. Great. All right. Well, good, good, good opening salvo there. Sean, what is your, what is your position on the cloud?
Any cloud will do. Yeah, I’m more of a moderate on, on that. It’s, I think there’s good use cases for various things. You know, not if we, in just the vein of databases, it’s a hit or miss. I still think there’s some good use cases. Overall though, there’s, I think there’s better use cases for people. But overall.
What use cases, what, what use cases sound good for the cloud? What, what would you, what would you put in the cloud and what would you take out of the cloud? I think there’s some really good use cases for people doing backups who otherwise wouldn’t have backups, right? Sure. So like if someone wrote a piece of software and they wanted to back it up so they didn’t lose it. And maybe like if anything terrible befell their laptop, they wouldn’t just like have be completely out of luck.
Or accidentally deleted the GitHub repo. Yeah. Like that. Exactly. Yeah. Correct. Someone like that should probably. Yeah. That would be good. Yeah. But to, I, I also wanted to go with, I was told in two, about 2009, I was working at a undisclosed location and we had a TAM from Microsoft come in and, and I was a DBA at the time.
And tell me that, you know, I only had two or three more years left as a DBA because everything was being, was going to start going to the cloud. Uh, won’t need DBAs anymore. Everything’s going to be auto everything. The cloud’s going to have everything. Nothing’s needed. You know, you’re everything. So, you know, fast forward, what is this almost 18 years and, uh, you know, here we are with the same issues. In fact, I would argue at least for databases, more issues being in the cloud.
Um, uh, so I, I would say I’m not necessarily an OG hater. I am, I’ve graduated into the, uh, been here long enough that all that is old is new again. And, uh, the same cycle. Sure. So, you know, I mean, I, I think the, the original death of the DBA was that, that, I mean, at least like the first extinction that I survived was virtualization. Right. Cause virtualization, I was supposed to wipe out like DBA is no longer necessary. Everything, uh, is in your own personal cloud.
Yeah. Yeah. Don’t have to worry about anything. Just do backup. Yeah. You know, all that great stuff. And then, uh, of course the cloud was the second, I think big extinction, extinction event for DBAs. And now we have the, the, uh, well, I guess I think AI is more of a general extinction event, not just DBAs, but they’re certainly part of the, part of the fauna that, that seems to be getting, you know, scorched off the earth. Uh, I mean, it got the dinosaurs, so it sure did. It sure did. Uh, you don’t see too many of those around anymore.
It’s a shame. They, uh, they say the same thing in Oracle, or at least at the, the one time I went to open world, which I would describe as a combination of amusement park slash, uh, prison camp. It, uh, wasn’t very fun.
Is that when you got that shirt? Yes. I, I, I, I, I, I’ve been wearing these shirts ever since I tried to avoid a repeat of what happened in open world, but the, the, uh, really rich guy in charge of Oracle was giving some, uh, keynote and I was going to watch the keynote in person, but they wanted to search my bags. Cause I guess everyone hates them.
Hmm. And I, uh, declined the search. So I, I, I, I didn’t get to watch in person. What was in your bag? He said that, uh, that’s under, uh, NBA. Uh, he said that.
Yeah. Pay the pay the pay was going away. That was in like 2017. And I figured, well, if he’s right, there’s no reason to pay attention to him. If he’s wrong, there’s also no reason to pay attention to him.
So I just like. Stop paying attention. There was no way for Larry to win. That was there. No, I mean, he started, he started with the bad opening statement. Yeah.
I mean, don’t you feel bad now? He, he did because of you, he couldn’t get another yacht. Hmm. He had to go buy an island boats or dried up. How’s he going to get to the island?
We don’t know. We don’t know if you got a boat, you gotta get a boat guy. Everybody knows that cat catamaran captains are very, very difficult to come by these days. I’ve watched below decks.
So, uh, I guess let’s, let’s, let’s go back to a Sean statement here because he said, Wait, don’t you want to state your opening position or did you write? I am.
I am a completely unbiased moderator. Oh, I don’t have an opening position. My job is to explore your positions. Okay. Oh yeah. Yeah.
Hey, so we’re going to, we’re going to do a lot of exploring of positions in today’s, today’s bit obscene. Podcast. Uh, so, uh, Sean, you said at some point that there are things that are not so good in the cloud. What, what, what, what are some of your least favorite things to see in the cloud?
What, what, what sort of workloads do not do well in the old cloudy space? Production databases. Production databases.
All right. No, it’s, I mean, that’s a little bit of a thing, but there are times when it’s, yeah, when it’s fine. But when you move your database into the cloud, especially production, right? It be, it’s not a, oh, let’s move this.
Let’s do this. You’re either. 100% entirely in and you move all your applications and all your web and all your content delivery and everything goes to the cloud. Or you’re just going to have a terrible time.
And then once you’re there, it’s kind of no different, you know, as you don’t, you don’t have control over everything. And that’s supposed to be the allure, right? Unless you do a VM, but then that’s not really the cloud.
That’s just a VM in a data center somewhere, which is the same thing as people did with VMware. So, yeah, or hype, virtualization in general. No one runs Hyper-V in production, Sean.
Come on. Don’t, don’t start. They might start now, but come on. Come on. Unserious. I mean, Brogcom did it. Did, did a Hyper-V a favor.
They sure did. It’s like, you know, oh, we have this thing and oh, well, our latency is really high. Oh yeah. That’s because you’re going from Los Angeles to some cloud provider through 17 levels of networking through 150 different ISPs and 17 satellites. Like, yeah, you’re going to be latent.
I don’t know what, well, it was faster when we were, well, yeah. And then the thing is, well, now you got to put all your stuff up there. So then it becomes not a, oh, we’ll do this and it’ll be great. We’ll get some HA, you know, we don’t have to run a bunch of this stuff.
We’ll get backups and some of the other things too. Well, now we have to change our entire architecture. Oh, they don’t have a service for this. Uh, yeah, it’s, you know, oh, we have to change how we do this now.
Oh, we got to re-architect this. It just becomes a whole thing. And maybe a re-architecture is needed or maybe a refactoring is great, but it. Yeah.
You know, a lot of people, a lot of people got sold on this, like a very, like a very easy lift and shift. And, you know, especially for legacy applications with a lot of legacy dependencies, a lift and shift is just not, not really, not really. Yeah, the lift and shift and the high performance.
Yeah. I do see there are some high performing, we’ll just be generic and call them skews out there from every cloud provider. How much performance you actually get from them, eh.
And that’s for the less managed things. And then you get to the more managed things and it becomes much less performance. That, that is, that is something that I have found as well.
Uh, so, you know, um, like, I, I think. Like almost this it’s, it’s weird because a lot of people did go from like physical to virtual. And there was obviously like the abstraction tax on that, but like, it was, it was very weird for me to see people go from virtual to the cloud.
And then there’d be some additional abstraction tax on top of that. So it’s like, you like, like, I remember like doing like, you know, oh, we’re going to like, you know, we’re going to do a physical to virtual conversion. We have to forecast hardware.
Like, you know, like in the past there’s been like, I don’t know, let’s just say like somewhere between 10 and 30% hit on performance and from various hardware resources. We have to account for that. Then like, they were like, okay, we’ll go to the cloud.
We’re already virtualized. So what’s the difference going to be? And then it was just like, wait a minute. Like we got screwed again. Like, no, we, like, we need so many more cores now. What is happening?
Yeah. And it’s again, when I say cloud, I’m not talking about any, any infrastructure. So in particular, it’d be, yeah, it’d be all managed stuff. So anything Pat would be.
Yeah. Like clearly known as Paz. Yeah. Platform as a service for those uninitiated going and watching. Joe is going to share his screen and show us some, some interesting things. Now.
This looks like, this looks like the Microsoft Azure portal. I am. I am so triggered right now. Are you? I am so triggered. So first of all, Sean, the standard series Gen 5 logical CPU is great for most relational work database servers. Yeah.
Cause you know, like when, when you do like in, you know, some like custom 2.3 gigahertz Intel from like seven years ago, I think. How, what a great CPU for my database. But like, I mean, it was a great, seven years ago.
Maybe it was, I mean, I’m sure, I’m sure it’s great for like, like power efficiency. Um, but like. I mean, I don’t know, like, like maybe we’re going to be like donating our extra CPU cycles in the cloud to be like carbon neutral or something. Well, like, I don’t care about the power efficiency of the data center.
Like, I, I got this whole long rant where like, um, you know, like, why do we use databases? We use databases or because they’re supposed to make things easier, right? It’s supposed to make development easier.
You don’t want your developers coming all day based on scratch. Right. And you know, like for a while, like. That doesn’t seem to stop them a lot of the time. Yeah. Like before a while, like things actually were getting easier, right? Like you remember back in the bad old days of 5,400 RPM hard drives and like, like page splits were super important.
And everyone said, oh, index documentation is super important. And, and, and then we like got better storage. We got better hardware.
Like things got easier for a while. Right. And now we’ve somehow made things less easy for our production workloads. And I, uh, I think that computers and software should serve us and we should not be the servants of software.
And for the cloud, it really feels like sometimes you are a servant of, you know, these CPUs that were great seven years ago and these storage latency is, which are unreasonable. They, they, they, they backtrack quite a bit. It’s solved by just paying more, right?
If you just pay more, it just, it gets better, right? The more, it’s like the more, you know, except the more you pay. Yeah.
Nothing wrong with that. Also those CPUs, it’s entirely possible that they have not been patched with various Spectre and Meltdown mitigations and they might still be pretty good. Those patches nerfed a lot of stuff, but you know, just throwing it out there.
And it, one thing I’m curious about is like, there isn’t anything inherent to Azure SQL database, which requires that them run on old crappy CPUs. Right. Cause that’s what they could get off eBay.
Well, I mean, like, I do have to wonder if the lack of diversity and like super high spec CPUs is kind of our fault. Like maybe there’s no demand. Like I, I see, I don’t know a lot about it, but I like, I see Amazon trying to compete on like performance.
Like, Oh, Hey, you, you want to run your database in the cloud? Like here’s a 4.5 gigahertz CPU from last year with 32 gigs of memory per core or, or something. Right.
Whereas like, I, I mean, I’ve never seen an Azure SQL database offering that’s like anywhere even close to that. Oh, like, we’ll like you, you will want more memory. Okay.
We’ll give you eight gigabytes per core. And that’s like our super size option that that’s like all we got. Like, I think there are some that are like 13 gigs per core, but like that, that knob doesn’t turn well for me, especially with a lot of the workloads I deal with, because like, you know, like a lot of this stuff, you know, like, and granted there, there is some like, like far, far down the road wisdom that as you remove IO bottlenecks by like adding memory, you could theoretically add CPU bottlenecks. Because now everything is just banging CPUs up 100% all the time.
But like, for the most part, like most of the workloads that I deal with could survive very easily running at between like 60, 70% CPU with far fewer cores. But they just need way more memory because the amount of data that they’re dealing with is like, just not come, this is not compact well into what you get available through the usual like web portal knobs for adding memory to these instances. Like there have been, you know, there have been some stabs at improving that with like the constrained CPUs and with the memory optimized stuff.
The problem that I run into is that like, aside from, you know, them not being available across all regions, a lot of the time is also that like, you know, the cloud providers, and I’m saying this generally, they know what you’re using them for. They’re like, they’re like, they’re like, they’re like, they’re like, that’s for a database. That’s for your expensive thing.
Of course, we’re going to charge you more for like, like, come on, like, like, you’re not be not putting like your app servers on that. Like, you don’t you don’t need, like, you know, 768 gigs of memory for your app servers. We know what you’re doing with that.
That’s where you’re putting the $7,000 a core thing. Yeah, it’s a there’s definitely a lack of flexibility there. Right. And it makes sense. If you think of it from a cloud providers perspective of if we let people choose, and even if you charge them for what they did, right, this is how much per gig of memory, this is how much per core, whatever, even if you let customers choose, that would be a nightmare. Because at the end of the day, you still have a set of computers with a set of specs. And if you don’t have those at exactly 100% on memory and CPU usage, you’re losing money. Right? So from the cloud providers perspective, whether it be Google, Amazon, Microsoft, whomever, you need to get that packed in, you need that kind of over subscription, almost model in order to just make it work.
Yeah. Right. You’re gonna say, Oh, you want your one fourth of a virtual core for free for 400 hours a month or something. Here you go. We’ll let you do that as a way to get in. But it’s also gonna run on that low end hardware that you’ve already over the five years have, you know, amortized out. You’re just trying to get every every last dollar that you can from it, which I don’t blame them. But at the same time, it’s Yeah, I wouldn’t put a actual production workload on something like that.
No, but like, but cloud providers, the offering is for Azure, like, like, that is the production CPU for Azure, like, for other providers, it might be different. Yeah. And that’s kind of the problem, though, right, Joe, is that we’re sitting here talking about CPUs, you know, brought, Broadwell Skylake, and the whole point of the cloud was it was supposed to abstract you, right? You’re not supposed to care about those things. You’re not supposed to know. You’re not supposed to even know about them, right? Maintenance. Yeah, that’s done for you. You shouldn’t even know, like, all these things that we’ve gone to. This is one of my issues is Oh, well, the cloud is gonna be easier. It’s gonna we’re abstracted from all this stuff. And then what do we get? Well, we’re on a when you were showing that the screenshot, Joe, we’re on a gen five. Well, what about is there a gen six? Did we get on a gen four? What about a gen 68,000 million? You know, why are we we need to be pinned to a to a gen 12? Because we’ve noticed a performance regression in gen five? None of that should be a thing. In my opinion, if we’re going to client like none of that should be a thing on a on a Paz environment.
Well, but you get different offerings like you know, as you said, you spend enough money, you’ll get better performance. I mean, maybe it’s hidden in some like super elite, like diamond platinum level customers only. And I don’t even I don’t even have access to the portal because it would cost more than Eric’s favorite booze. We call that the Walmart club. Yeah, like maybe things I don’t know about but like, like, I’ve I’ve never seen an Azure like, oh, you want 4.5 gigahertz CPUs, you can get them will just cost you a lot of money. Like as far as I know, this is not available. Like you can get a bit more memory, you can get faster discs. I think they have some premium CPU that they say is better, but it’s still not like the best on the market.
No, but a lot of this is the fault of cloud providers, right? Because what they did was they marketed it as like cheaper, faster, more secure, more reliable, all these things, right? There were all these promises and promises made by what the cloud was going to give people. And then people got there, and they weren’t really getting all of those promises met. And then like people wanted to know what was underneath the cloud because they were like, wait a minute, like, we’re not seeing the performance what the like what’s in there, like what’s under this. And so like, like, they had to start like putting these like various things out there. I do think that there would be like, I understand why, like CPU and memory are not separate knobs that anyone can turn at any time to allocate more or turn down like the allocations.
But what always bothered me is that like, there weren’t like, there weren’t like, just like more, especially in the database space, there weren’t more sane offerings, especially for like known product limitations. Like if you take SQL Server Standard Edition, right? Like there’s obviously limits on CPUs, they change from year to year. And there’s obviously limits on memory that have changed at least once. And perhaps there’s another change coming with SQL Server 2025. You don’t have to blink once or twice to confirm that. But like, like, there was almost no normal sized box for Standard Edition that was like, hey, here’s like eight to 16 cores with like 196 gigs of memory. It was always like, well, you can have eight or 16 cores, but then you have like 128 gigs of memory that you can’t touch. And you’re like, I don’t need it. Like, just give me something that, give me a glove that fits, man. Give me a glove that fits.
And then like, uh, manage instance with like, uh, like, like, like their, like their cap on memory is like 480 gigs, I think for a lot of them. And you’re like, like, like, like, I don’t need 128 cores and 480 gigs of memory. I need like, like maybe 32 cores and like two terabytes of memory or a terabyte and a half of memory. Like, like, like, like I like, this is a database, you know, what you’re dealing with. We need the database. We need the memory. You know, uh, and like, you know, trying to add like, you know, like incrementally faster storage offerings behind the scenes. It doesn’t cut it for them for those things.
Either of you guys know why those memory options aren’t really available. Like, like, is it just overall industry capacity? Because in terms of memory, right? Like you buy it once. It’s pretty low power uses, especially compared to your CPU. You know, there isn’t a licensing for anyone on memory at any point. Like, you know, like if any, not directly, but indirectly. There’s yeah, the biggest. So to answer your question, you know, kind of the biggest, uh, items there are going to be the density that you pack it to. And then what skews you want to sell it to, right? Like if you’re trying to really maximize out your stuff, there’s a per core kind of throughput that you can get with memory.
So if you can do, depending on what your bandwidth is for those kinds of DIMMs that are in there, uh, you know, you don’t want to put, if your per core bandwidth is say 80 gigabytes a second, you don’t necessarily want to put in so much memory that pretty much can’t go through it. So if you’re giving out, you’re packing that with whatever CPU you’re getting wholesale, uh, you, you don’t, you basically, you want it to be matched pretty well, right? You don’t want it to be like Eric was saying, you don’t want a server that has four cores and two terabytes of memory.
Cause then you’re going to run out of cores before you satisfy the memory. And you don’t want a server that has a thousand cores and 64 gigs of memory. Cause you’re not going to get a whole lot done.
So for databases, for other things, yes. For database. Yeah. It just seems like there was never a good alignment on cloud hardware, specifically for databases. Like that, like that’s the thing that’s always bothered me the most is like, like even like, uh, like various platform as a service offerings, like no, just no one got the numbers kind of right on that.
Like it always, it always baffled me a bit that like, like, like what, like, like why, why do you, why are these like these insane jumps in CPUs with these like minimalist jumps in memory? And you’re like, I, I, I just never understood like, uh, like even from like a, a slick, a server density perspective, like, like, like, like, like if you’re, if your host VM has like, let’s say 256 cores in it. Like, like, like why not limit the CPUs and bump up the memory and like what people sort of like, you know, be more dense in those spaces.
It’s, it’s, it’s, it was always, it was always odd to me. I have a model, which might not be correct, which is cloud provider buys like a hundred thousand servers or all the same. And then some, some set of servers, but we’re going to use these for the database workloads.
And there isn’t necessarily as much like care and careful attention that we might want because we’re database people in terms of, you know, this subset, these specs are going to be totally different. I don’t know if that’s true. That’s just, just like a, No, I think, I think that’s, that’s probably accurate, but then, then you have cloud providers that now have like bare metal offerings and you’re like, We’ve just come full circle.
Like why, why, why did we do this in the first place? It’s honestly, back to my original kind of statement of, it does make sense to some situations. There was a company that I was helping and, you know, the, the CIO basically said, you know, I’m tired of running data centers.
I’m tired of paying multiple ISPs and dealing with all this stuff. I’m happy to pay more and put it in the cloud and not have to deal with this. Yeah.
When there’s an outage, it’s not everyone that you like, not your employees hair on fire. Exactly. It’s, you know, there’s, there, there are some, there are definitely, there’s definitely some wisdom in this stuff that you can, like the, the, the worries you can offload to the cloud. But, you know, um, Then they get upset.
Well, what’s, what’s the last ETA? What’s the status update? What do you mean? It’s not DNS. What do you mean? It’s DNS. Yeah. You know, like you’d be real careful with those SLAs on the cloud provider stuff too. Real clear.
Cause you know, fine print. Yeah. Cause you know, like you’re, you’re, you’re not an important face to them. Like, like they have, they have big customers who are important faces. Like, like you with your, like, you know, like, I don’t know what, like maybe like a hundred VMs. Like they’re going to look at you and be like, yeah, okay, we’ll, we’ll get to you.
Don’t worry. Like, fine. You’re like, yes, we take a number. We’ll get there. You get, it’s like, you know, deli counter rules with, with some of this stuff.
I have a question for Joe. Oh boy. He was one of the. Oh, wait, wait, wait, wait. The MCM is asking me a question. That’s how this works, man.
This is quite a day. Oh, well, you know. All right. Go ahead. The viewers, what they want. So I’m ready. So are there any workloads that you believe are actually good for the cloud? Yeah.
Like anything that’s, that’s a non-database workload, because it’s not my problem. And since it’s good for the cloud. Um, well, like, like I wouldn’t go so far as to say that. All database workloads shouldn’t be in the cloud because, you know, like I’m naturally drawn towards like super intense workloads.
Like where are I going to push the limits of SQL Server hardware? Like that’s the kind of thing that I like to work on. And I like to think about like, there definitely are a lot of, you know, pretty bog standard workloads out there and they might do just fine.
Um, on, uh, cloud hardware, or at the very least they’re, they’re, uh, they’re today and they haven’t gone out of business yet. So they’re, they’re, they’re, they’re getting by somehow. Um, I think your earlier point was pretty good in that, you know, cause I remember hearing the same thing years ago where like, we were thinking about the cloud and we wanted information about the hardware.
But with respect to SQL servers and their response from Microsoft was, oh, well, why are you even asking that? Like we’re extracting it, like, you don’t have to worry about that. So, you know, like, if, if you go in with, with that, that position of.
Like, I want the best possible hardware. And it’s just some, like, you know, like within the big amorphous cloud, I want the, like, uh, the, uh, densest, like sweetest, most fluffy part of the cloud. All for me.
Right. Like that, that, that doesn’t really. Yeah. I want the part where the rainbows are. Yes. Yes, exactly. No, but like, so like, like for, for cloud workloads. So like, I think we can all generally agree that, um, super high end, super, like, you know, like, like workloads with very high performance requirements.
Are maybe not a great fit for platform as a service. You can, you, when you have enough, when you have enough granular control with like the, like a VM host in the, or like a VM in the cloud, you can probably do some better work there. But for like, you know, someone starting out an application, if you think about like the initial spend that they might have to make on infrastructure, people to manage that infrastructure, people to deal with all that stuff.
Like, like, like that could, that could be a, like a really big hurdle for them to jump. But if someone like is just starting out an application, they can get, you know, lower end hardware, uh, performance is probably not like, like if they over spec some, like a, like a startup startup application, like they can get away with like, you know, maybe the extra, like five, 500 to a thousand bucks a month on some slightly bigger hardware to compensate for stuff. Not have to worry about like any initial purchasing, not have to worry about investing in people to manage it, not have to worry about all the stuff that goes into that.
They can focus on having an app, developing it and making it accessible, right. Getting some money in the door. Then from there, you know, you, you, you get into stuff, but like, you know, I think the, the, the general problems that we’ve dealt with and the problems that we see probably like more day to day is with like, you know, legacy stuff that got pushed into the cloud without really any forethought or investigation.
Uh, like higher end workloads that, you know, like maybe they started there and they like outgrew whatever they were on, or maybe someone just, again, tried to lift and shift it there. And no one was prepared for all of the things that come along with moving an application to a wholesale new environment. Um, you know, I, like I’ve seen some people, uh, you know, like get like, like, Oh, we started moving all our application servers to the cloud and the latency between the application servers and the database server killed us.
So we had to hustle to get the database in there and like the latency is gone, but like performance is completely fell apart. Cause we didn’t do a good job with the migration. So like, like a lot of, there’s a lot of stuff that like, you know, that comes along with the move to the cloud that just doesn’t go well for people.
And like, like, I think those are the problems that we see. And I think that’s where a lot of like, you know, the sort of like the cloud hating comes from. I think you hit the nail on the head though.
Uh, in that’s the quintessential. Perfect use case in my, in my opinion. And, and what you said of, let’s say you’re, you’re an app developer, right? You write in whatever language you write in and say, Hey, I need, yeah, I need a database.
PowerShell. That’s, that’s absolutely what Eric writes. I was like, I need a database, right? I need somewhere to, to put this stuff and I’m gonna, I need a web server and I need this.
I mean, it only makes sense, right? You click through a couple of clicks. Yep. You got a web server, you got a connection string to a database. Like you’re ready to go.
Yep. Right. You, like you said, you didn’t have to deal with, you might not know, you don’t want to spend your time setting up infrastructure and setting up and doing all this stuff. Active directory. Yeah, exactly.
And be working. You could be working on your code. Like you said, getting your product out the door so much faster, so much easier. And then if you need to scale up, great. If you need to spend a little bit more money, great. And then if you need to iterate on that, I’ll scrape.
I think that’s the perfect use case. Yeah. Honestly. You need to hire a consultant to help you save money in the cloud. Great. Exactly. But I, I also agree that, yeah, the legacy was a problem. I even think a lot of the new stuff is a problem, even with the quintessential best use case.
And that’s just because it’s, it becomes, and I’m not, I know this isn’t a talk about AI, but it becomes the same issue I see with AI where, well, it’s someone else’s problem. I don’t actually need to understand what I’m doing or know how anything works.
I just know click it goes right. Bigger number, better, more clicks, better. Everything’s fine.
So then when there is a problem or when things don’t scale, right, or when stuff happens, it’s, oh my God, well, I don’t know. Well, this and this and this. And I think that also leads to a lot of quote, you know, bad cloud experiences as well. And it’s, it’s because at some point when you make things so easy, which is good, that you remove a lot of barrier to entry, right?
So friction is gone. That’s a good thing. But then people get lazy. People don’t care, especially in today’s environment where every, no one wants to be an expert. No one wants to understand how things work or how it goes.
They just want to click on the next thing and go and click on the next thing and go. And that’s fine until something breaks. Yep.
And so I think that’s, that’s the downfall of that scenario. Yeah. Like, you know, you get people who are fine continuing to rack up the technical debt without ever paying off any of the interest on it.
That’s, that’s, that’s what I see quite a bit. The other thing would be like people just picking the wrong target for their cloud migration. That’s another big thing where they, they just weren’t prepared for the limitations and restrictions that are the things that they’re not allowed to touch in these various places.
Probably one of the, like the most common ones I see are people who are like, we moved to Azure SQL database. Now, like everything slowed down.
Like what happened? I’m like, like, well, like, let’s, let’s look like if they still have the old server, like we take a look at that. And I’m like, oh, well, this is how you have it set up over here. And this is how it’s set up over there. And they’re like, well, can we change that?
And I’m like, no, like biggest one, probably like cost threshold for parallelism. It’s like, it was set to like, they had to set to like two, like one of my clients had it set to like 200 or 250 when they were like, you know, on their on-prem, because they’re like, that was just, I know that was, but that was what worked for them.
They also had maxed offset to two, which I thought was nuts. But then like, you know, they, they tried setting it to eight once and it was just like massive thread pool weights everywhere, but different story for a different day.
But like, just like not being able to like change cost threshold for parallelism up to where they had it before they were, they had to like, like, it was just like a lot of tuning work to get everything to a point where it was no longer just breeding the server all day.
I think your earlier point was, was good. I’m always doing it as like, I have an existing legacy application. It’s not in the cloud, we’re moving to the cloud.
And, you know, like if you’re starting out in the cloud, if you’re used to performance being what it is, I think it’s definitely easier to adjust. Joe, are you saying if you’re cloud native, that is that what you’re going for?
I mean, like, I have like, I have like two prepared rants here. I’m going to give them both. You can take a breath between them if you need to.
Let me share my screen here. Yeah, go for it. One straight conscious stream of thought. I’m just going to mute myself. Like on this subject, like, I don’t know like where this marketing stuff comes from, where, you know, like, we’re bringing the seats.
You know what I was saying before, like, I don’t think that developers should be spending their time tuning queries if they can. Like, you want developers to make your application better. Yep. But like, even on Microsoft’s website, they always talk about, oh, you, you’ve developed workloads, well, you can put them on the worst hardware possible and even like, you can save money.
So first of all, this is basic tier, five DTUs, IOPS, one to four IOPS per DTU. So that’s between five to 20 IOPS. All right.
I’m going to, I’m going to get my, my virtual stopwatched out and I’m going to count to five. And I’m going to see if I can do it faster than one second. One, two, three, four, five.
0.76 seconds. If I can count faster than the storage is giving me IOPS. 0.76 seconds. I think we have a problem. 0.76 seconds.
And like, I like, I don’t know like why this stuff gets pushed. Like, you know, like developers do make a lot of money. It’s hard to hire good ones. Like let’s make them super inefficient and make them hate their jobs. Cause that’ll be better.
Like, I don’t know like why we’re pretending that something like software industry is like, so cutthroat and competitive. Cause you know, like if, if you look at the profit margins for software compared to like real companies, I mean. 0.76 seconds.
Real companies. 0.76 seconds. It’s not like an order of magnitude almost in, in, in some cases. 0.76 seconds. Like, like, like, like it’s like, I don’t know why I had like software companies like, oh, you know, like, like who we’re giving our developers. 0.76 seconds.
These like, uh, these, these, these, uh, two V core machines that we’re saving so much money. 0.76 seconds. And like, there’s another company and they managed to get development machines down to like 0.5 V cores. 0.76 seconds.
I know we’re saving so much money. 0.76 seconds. And then another company finds a Pentium three server in a dumpster and they throw the workloads on that for developers. And finally, thank God the business is safe. Like, like, like, it wasn’t real cost.
0.76 seconds. So I don’t know, like, I don’t know where this stuff comes from, or like, why anyone. 0.56 Like I it is. 0.Нет serviços here.
0.80 seconds. 000. 0.75 seconds. 0. Cohen would be.
0. enam hour. 0. chartsred żebyarnos to değilif C mitras. 0.ense Zoom um, slow I have Señor thank you, this could hit that button by hitting down tiny 诉, uh, we’ve got that to compte. cloud services they say it is great for developer workloads but that’s a before you go on to to rant number two joe i i echo that though in the i’ve worked at places where you know they’re paying people hundreds of thousands of dollars a year not counting any benefits or anything like that right and then it they make it sound like it’s the end of the world if they have to spend a thousand dollars on a lap on a new laptop for you that’s not 12 years old that has 64 gigs of ram and it’s like why like you said why would you want to hamstring your your highest you know pay like your your main thing with essentially what is what 200 a year you’re okay with spending 200 grand a year but you’re not okay with spending 200 a year to make that work but i i don’t understand i’m with you well there’s there’s two parts of it right like um if if you’re so like let’s say your developers are developing on azure sql database for like an application that works in azure sql database if they’re developing locally on developer edition with like the hardware right all right there they might have a very different idea of works on my machine and like like when it gets then when it gets up there they’re like wait a minute like all this stuff that happened here isn’t happening there and there’s a lot of other weird stuff happening there and i don’t understand it so like i guess like i think there is some like there is some correctness in making and having people develop where they at like on the same platform that the application lives like it would almost be like if you have a like a like oh like we have a sql server application but you’re going to do all your development work in postgres and we’ll figure it out later right it’s just like it’s almost that level of difference between like what you’re like where your development stuff happens and where your workload actually runs so like i think there there is some there is some wisdom in like having people develop there as well but um you know at the same time like if you are what’s a good way to put it like if if you if if you don’t have people who are smart enough to deal with um the way that things work in a in a certain place then they like you you need you need to sort of rethink that strategy a little bit well and to be fair i mean like i agree with you but i shouldn’t be able to kind of fashion your iowa operations well yeah absolutely right like and like like that is the model that microsoft for whatever reason says is great for developer vertical it’s like if you i don’t know if you some like p8 or whatever is is is that hopefully that’s a real thing and you put your dev environment on a pa like i think that’s totally fair um i’d even go as far as to say if it’s too slow for developers it’s probably too slow for your application and you might want to rethink like what you’re doing there um i like that’s also true yeah nowhere clause just uh uh filter in the app it’s better yeah that’s right i’m ready for a rant number two bring it on um and i mean like this is about cloud migrations again and how sometimes you can kind of end up in a state that doesn’t really make a lot of sense and like you know i mean like to be fair like it is our choice like um i’m uh turning into cloud again yeah joe is passing through a cloud um you know because like you you’ve not on the azure sql database or even on the azure platform right like you have you have managed instances you have like vms in azure if you want to do everything yourself and you have azure sql database right and all those have abbreviations that i can never remember don’t forget hyperscale hyperscale is part of azure sql in the cosmos come on come on i’m pretty sure that’s true and you know like oh but like like and i’ve seen guidance which is like you know if you’re doing a lift and shift azure sql database may not be right for you maybe you should use match instances maybe you should use just basic vms you’re everything yourself i have seen that guidance but you know there are some companies out there who are going to lift and shift to azure sql database and i feel like the most natural path doesn’t make sense um so but like you know we we have talked about dtus versus the micro model right like no one knows what what what what a dtu is you uh can’t fold over your your licenses you already have in the vtus so i understand why people would want to pick vcore especially if you’re doing a lift and shift like that seems to make way more sense than utu most of the time and then the second session is do i want an elastic pool or not as far as i can tell it’s it’s the same cost it’s the same cost per core like i i i won the pricing thing and i changed elastic versus not elastic it was the same cost and you know like like you’re probably not gonna have your databases all running at the same time and like it’s you know instead of trying to scope out like i have 20 databases let me figure out the v course for all of them i have 20 databases just you know i’ll throw them in a bucket and i i think i saw sean expressing dismay at elastic pools i’ll all let him chime in after my my rant’s done but like like like if you think about the most natural path you know v cores elastic pools you’ve gone from like an on-prem instance of sql server to instances of sql server and you can connect to it and you can see all the databases but they but they like can’t talk to each other and you have like all of this azure sql database limitations no asian jobs no cross database prairies blah blah blah you have different performance like kind of like like it just feels like like like the original dream of azure sql database where you know you’re you’re one database on a server and you have many friendly databases and you all live and coexist together like it it just feels like like kind of like a poor implementation of what you’re used to on-prem well yeah but that’s why managed instance came along right and it’s like two different two different target audiences yeah no i mean like like it is but it’s it’s hard to find people saying good things about managed instances right but sean you you wanted to say something about elastic pools share share that’s your wisdom no it’s elastic pools is the same issue that that i saw with as you said people on-prem where they put 600 databases on an instance right a lot of people out there don’t necessarily i won’t say no any better but don’t necessarily have the forethought because everything you know everything is a now now now now just now and then you know nothing’s gonna happen just now and just it’s it’s a problem for later and so you get to your two databases in elastic pool and that’s fine then you get to 10 oh look we’re so happy we’re saving money we got 10 databases on our elastic pool then you get to 100 and stuff’s not running right at certain times and you’re like boy i wonder what’s going on but of course nobody cares enough to look into it and then you know for the company and then you get to the whatever the max is and you try to add that extra database you get an error so then you open up a ticket what we’re getting an error when we try to to open this okay what’s the error well the error says uh you’ve hit the maximum you know 500 databases in it but we but we need we need this but but we need 501 yeah we what we don’t understand why we’re getting the error and it’s like first of all wow reading is apparently hard these days and two well yeah you’re gonna have performance problems it’s just and then and then you get the well we shouldn’t have to to scale up or scale down or you get the opposite well we’re having a problem with our last book and what’s going on you know oh well we did a scaling operation this hour and then this hour we did another one then this hour we did another one then this hour did another one and we don’t know why we’re getting different performance different times and it’s just there’s there’s good things to it i’m obviously highlighting the bad things right now there’s a lot of good things to it it’s just the elastic pool i don’t like because as i’ve as eric well knows and as you well know people don’t know what their queries do they don’t know how much performance they actually use on things and they just keep throwing stuff at it until it breaks and then everyone’s super surprised that it breaks like this comes back to like what i was saying earlier it’s like everyone has fallen in love with the abstractions and that you don’t have to think about anymore developers fell in love with orms cool i don’t have to think about SQL anymore i throw it out there like oh i’m in the cloud every cloud provider says hey guess what you don’t have to think about it anymore like you know you go ahead like you know have fun all right like you know like we’ll take care of it all for you and then you know it’s coming along and all of a sudden they have to start thinking about stuff and they’re like wait a minute i’m allergic to thinking no i can’t hey i don’t want to do this it’s like i like oh i was told i wouldn’t need to think about it i was told i wouldn’t need any experts like that eric do you have any do you have any advice for someone who maybe doesn’t want to think about sql server and wants to offload their thinking their thinking to someone else yeah i mean i am i’m a very affordable object for a SQL Server i was gonna say yeah i would recommend eric my rates are reasonable as as everyone well knows so don’t be shy speaking of reasonable i want to tell you something unreasonable all right that would be my uh final pre-prepared rant all right the great clr scandal of 2016. so as everyone knows as your sql database used to support clr functions and well there’s things aren’t functions i’m missing college functions that’s fine they realize that there are some i think it was like a like like like a security vulnerability where in theory if you’re a super sophisticated attacker you could use clr code to like read shared memory and like read other customers data um so then clr got turned off and you know if you were currently using clr in production and as your sql database well that’s too bad it’s turned off and that they have said oh we think we can turn it back on in uh six months um as of 2025 it is not back on in general now i i have heard rumors that you know if you’re a super elite diamond platinum card uh customer you can get your clr functions approved maybe it’s even sean who occasionally approves yeah rubber stamps for you um but you know like a lot of us aren’t super diamond platinum elite customers of microsoft and like the wall like things and like that was really the instant for me where when someone occasionally asks me you know like you know hey joe what’s your opinion i would say well you know what about like i i don’t want my cloud vendor to break my application without any warning like you know i’m not saying microsoft like should have left clr on i’m i’m sure the security problems were very difficult to solve and they probably did their best but in terms of the business reality if you if you have relied on cr and you know you weren’t again the super platinum diamond whatever customer you’re you felt a lot of pain you had to work around and you know and like all of us know how difficult it can be to you know some clr as well if you’re just splitting strings or whatever sure do it in t-sql but there’s all kinds of fun things you can do which are like spooky hashes to do in uh native sql yes like a spooky house and i have i have heard the argument hold on john i have heard the argument that you shouldn’t be doing like i’ve heard the argument that you know if you’re making new application all the restrictions on azure’s database are actually good because you shouldn’t be doing those things anyway which i think is fair like you know like it’s important to make the mess and taste good so you know the the uh the children like to take it like you can say that um and you know like i’ve had the displeasure of using the service broker and transactional uh replication replication so you know like if if we can spare the next generation of developers of dbas from those technologies like okay but it isn’t true that like every single restriction like you know like i had a problem with the hash bytes and at the time i was like kind of a pseudo diamond platinum member so i asked microsoft for help and i thought that that that they would they would resolve the scalability issue instead they said oh why don’t you just use clr and when we did so you know like like if like if the vendor itself is saying hey you know there are some limitations on our platform clr is still good then use i i think the argument that clr functions are an ancient relic of the past to be looked at by historians only isn’t going to hold water especially because i looked at sql server 2025 stuff today and they talked about the freedom to use different programming languages within sql server and you know what functionality used to give us the freedom to use different programming languages in sql server take it away joe clr yeah um go ahead eric no i would you know defend it sean defend it so no my my thing this is again my opinion here just opinion of one guy yes is is that one very handsome gentleman oh thank you just for you uh if you’re using clr you’re doing it wrong that’s just my opinion because you like for your example for hash bytes i i understand the the motive behind that i don’t think putting in the clr is correct i think for the amount of money that you’re paying for sql licensing but if you’re gonna do a very cpu heavy amount of hashing do it on the client side do it on another on another application server why do you want to do it on your database server you know if you look at at some of the stuff that i i don’t know if you remember because this is getting pretty old because i’m pretty old is there used to be uh soap endpoints for sql server remember those right yeah again why that’s what a web server’s for like i don’t know that this is not a there are things to make developers lives easier there are things that are you know there’s a lot of things that can make your life easier for example you can take four grams of ibuprofen a day and feel amazing and nothing hurts it doesn’t mean whatever hurts still doesn’t isn’t broken and wrong it just means you don’t necessarily feel it today well it’s just that’s that’s all mind over matter sean well it is just pretend it doesn’t hurt that’s right but but the clr thing i mean you also have to look at the model in which it runs there’s a bunch of stuff could i see clr for a couple things yeah i don’t agree that the geometry and spatial and stuff data types where it ended up being clr i think those should have been a native item uh i think the format function too yeah i mean there’s there’s a lot of stuff again there’s a lot of stuff i don’t think should be at a database level i was kind of upset when xml got thrown in there do you really want to do xml parsing and how else do we store query plans sean we need our query plans stored somehow xml was the choice so yeah if you if you watch that which i i would i would encourage you to watch that uh intense but you know i think again all that’s old is new again right we’re basically getting soap endpoints again uh you know uh the clr what do you mean with the vector stuff right i mean kind of yeah right like you’re getting all this stuff all over again i don’t i wish there was a different process i again i i don’t have any say into that i don’t know anything about that i’m just saying as a as a dbn developer who would use it there are times when it’s really nice but there’s also the thing of well it lets me do a i’ve been tasked with doing a i’ll just do it and as joe said service broker might fit some of those does anyone here want to deal with service broker not particularly no but like where where i where i sympathize with the need for these things in a database is that so much of that stuff needs to end up in the database anyway like short like like like what you were saying yeah you could use like you could offload the generation of the hashes to uh to an application server something that is far cheaper to have you know three billion cpus in and get it done quickly but all those hashes need to end up in the database anyway so then you’re looking at like getting those all those hashes from the application server into the database and if you’re at the point where generating all those hashes is so computationally expensive that you need them offloaded then like getting them into the databases like that’s going to be kind of ugly too and if you need them as part of some etl process it’s like like like when you’re swapping all this stuff around so like like i understand why all this stuff ends up is an like something you can do in the database like i understand why like you know like why like why people need to do this like where the data lives but um i mean like you’re all you’re you’re also right in that like you know the limitations that are imposed on azure sql database tend to keep developers more honest about what they put in the database right because like obviously a lot of the stuff that like you can’t do there is just like oh they’re kind of like you know what thank god you can’t do that here like like i’m actually kind of relieved you’re not you’re not allowed to do that anymore uh but really let’s be honest the the most bright shining beacon the most the best part of azure sql database is that it uses recommitted snapshot isolation by default can we can i get an amen can i get an amen and read committed snapshot isolation by default when is that when is that coming to on-prem sean tell us all about it no clue you can enable it you can enable it should be but should be by default though yeah there’s there’s there’s something there about um the limitations actually keeping you in check i don’t necessarily agree with limitations but i understand the the need for them in certain locations i again i don’t think any of the offerings from any of the cloud providers are inherently bad i just feel that people look at them and treat they want to see them as new and shiny but also treat them as the old thing that they’ve been using forever yep and there’s a there’s a mindset there’s a dichotomy shift that needs to happen when you do that and so many people are stuck in the old mindset and then they bring that to the new and it causes problems i don’t see a problem if you’re in the new mindset and you’re doing it with minus the no one wants to be an expert everyone wants to be lazy you know oh ai write me a query okay cool copy paste next or like you said orm generate me a query because i’m too lazy to to write a where clause yep you know and instead i get a 17 long union all yeah it’s yeah yeah it’s it’s the the general uh you know like um there there are other words for it for the ai era but you know it’s it really is the the general indemnification of above people like like in everything that they do uh like you know like just abstract all the hard thinking away to these other things and you are free to just do whatever like you know like indulge in whatever dalliances you know give give you a sense of whimsy at the moment and like there’s no one it’s very hard to find people who are very deeply invested in things uh to the point where like you know they could write a book or even like a blog post about something that shows any level of like real technical understanding yeah you don’t have to write a book right it’s just understand like you said about rcsi like when’s that why isn’t that standard how many people could even you know give a reason why that would be a pro or a con right how many people would even know about isolation level yeah well yeah as i found kendra little something about balloons yeah something about yeah kendra little world-renowned balloon expert are they can tell if they are red or not it’s yeah yeah i would know i would like that depending on your isolation level no wait no it was marvels it’s always right it was like black marvels and white yes yeah see but the original the original post on that was jim gray actually r.i.p uh jim gray was the original person to write a post about that and the funniest thing is that post was about snapshot isolation not about read committed snapshot isolation but it has it has slowly morphed into the oh read committed snapshot isolation has all these problems but no the original post was about snapshot isolation but that i mean that my point is like i don’t expect someone i would expect isolation levels to be a basic thing the developer understands like if you’re writing uh something for linux uh or windows right you’re going to use an api that’s publicly available i don’t expect you to understand how every little thing in the kernel works right to use that api but i would expect if you’re having to give a handle to something or you’re having to give a you know whatever to a thing that you understand what that is that you’re supposedly working with right like the base just the basic yeah i was once told by a microsoft support person that snapshot isolation did not apply to comstore because comstore doesn’t store data in pages snapshot isolation only applies to roster data that is a very interesting take so if we have a moment of silence for that um but i actually do want to talk about sean’s uh well why don’t you do the hashing in the application because you know we are people who want to be experts and i like to think that many of our viewers want to be experts too because you know why else would you watch sepa server content on youtube right in fact i even know some experts who won’t even go that far that’s true um can’t consume it undigested uh for our workload and i’m not saying that it’s true you should always do hashing in sql server and i’m sure there’s some cases where it would be better to not do it in sql server um for our workload um for our workload it’s a very big etl process random middle of the night um these hashes can only be calculated like in the middle of of etl so like just and if you want in etl like data size i don’t know like 10 billion rows and 10 terabytes of data so like if i wanted to do in the application like even if it was like free to compute in the application like like zero cpu zero everything like i don’t know how i would get the data back into my 10 terabytes of staging tables efficiently if you do an updated single threaded and like you know like like the updates are going to be way more expensive than the hashes or if i restart all the data again to get parallelism again that’s more expensive like like for i mean like it’s not so much that like the hashes didn’t cost very much with respect to the rest of the workload um well in theory they didn’t cost very much the hash by tip limitation made them cost much more than they should have um i think the other thing that makes it easier for us was you know like we have like a 96 core server 112 core server whatever this is running in the middle of the night like i want that server running as hot as possible i want to be able to like uh like a steak on that server you know like like they’re like you know like talking about like like like like like like alerts for using too much memory like you have cpu at like 90 95 it’s fine it’s it’s 4am you know like who cares like you’ve been a nice bath in the morning yeah like like even if there was some way to get my hashing outside of sql store like i don’t think that would mean fully impact the size of the server so for my workload you know for my special workload which no one else could possibly talk about or know anything about and now the rules apply because it’s my special important workload or it was i don’t think hashing would work on the on an application server and i mean like i don’t know like you know like we can joke about using other programming languages and sql server this is the direction microsoft’s going you can see a lot of them run for a while i mean it’s so whatever whatever feels unreasonable to me too on rare occasion if you have something that that that tsql is very bad at or it’s impossible doing tsql and like maybe it is a maybe it is a shortcut and you’re better off like not doing it in an ideal world but sometimes shortcuts are the fastest way to get your destination yeah so like what right so programming languages outside of tsql that we can use in sql server now it’s like the first one was sort of python and r i believe java came along what what did javascript get added is that one that that we can do now or is that oh not man that would be wild i don’t recall no okay yeah i don’t i don’t have the full list because it’s not something i do very yeah i actually i think i ran python once a sql server yeah it wasn’t very good i don’t know why i was doing it maybe i wanted to write a snarky blog post or something well you’d have to be the that’s with the ml service yeah yeah yeah that’s right that that whole thing yeah that’s a whole data cluster well r.i.p yeah bdc yeah but uh so i guess you know it is somewhat heartening that microsoft is slowly chipping away at the dumb stuff that people would need clr for like 2025 is getting regex and a whole bunch of regex functions we got string ag we got string split so like like like there is some movement in the right direction for people to not have to implement their own dumb stuff um you know like like there are some things getting added that it’s just like oh cool like maybe like light at the end of the tunnel stuff where it’s like oh great like i don’t have to do all this nonsense myself i can do it you know like there’s there’s a there’s something built in for me to do it with so like like that is heartening but um you know i i i it would be nice if uh sort of like when you’re writing t SQL and you run into something that is like generally not a relational strength um you know like like a lot of a lot of the string stuff would fall into that um some of like some like the broader mathematical calculations would also fall into that but like it would be nice if there were you know things you could do like in a like a way that were was relationally friendly but just in a different language and that and that translated a little bit better um you know like like even if you you think about just like you know like something as simple as like a b tree like like people people have this weird uh expectation of indexes that once you get into an index you can go any which way and jump around and do all this other stuff but like like what does a b tree really do what’s its strength it gives you a good starting point and you can go this way or you can go this way from that starting point you can’t go both ways and come back up and jump around and like like you have to do like another piece of work if you want to go in a different direction or if you want a different starting point so like like people do have unreasonable expectations of like databases and certain database structures but it would be nice if there were ways to do relationally friendly things and maybe like a language that wasn’t directly sql i guess is my point like there like there should be a way to to work with data within a database that is maybe not just sql like like sql because obviously capable of a lot of stuff but there are many things like when like like you were talking about xml earlier like some of the xml parsing queries that i’ve had to write i’ve been absolutely insane and like the things that i’ve had to learn about xml just to get data out of sql server i’m like why am i doing this like why is there not just a function that produces this view for me like i shouldn’t have to do this but just enable all the automation yeah okay fine but like still like if i’m trying to read from an extended event file like you know like there should be something that just like a like some sort of built-in function where it’s like okay i want to read data from this file i want to read xml and then parse it i want you to just give me the the contents of the file in a tabular format you like something should be able to like look at that file look at some metadata maybe even look at like a format file like the like bcp and bulk bulk stuff does and be like oh cool this is what’s in the file these are the data types these are the columns like and just like give me a table format for that great like that should be easy but no we’re still having to do all this terrible work you can do it with uh powershell you can do it with powershell online but uh someone but i think but that’s the api right like that that is the api that’s given to you via yeah would it have been implemented different i think it could have been implemented different do i know implement it better no but could someone theoretically smart put a put like an abstraction between me and that to make it easier yes it yeah it would be nice in in your example especially for the xml as as someone who’s also done stupid stuff with xml and then said i’m done with this and walked away is is you know would have been nice food of come back relational right if it would have come back as maybe some type of temporary table that you could have just got stuff on or whatever i don’t know what the implementation would look like like just one of those streaming window functions or streaming um table table functions that like a lot of the other dmvs work from yeah yeah and that would be great and the i think a lot of the thing is you’re trying it’s always round peg square hole right it’s like let’s take something that is is document object model that’s not made to be anywhere near you know it’s made for a specific implementation and hey let’s let’s go ahead and just shave those corners down and shove it through that round hole well okay but you know microsoft are the ones who chose to store many important things in xml system health extended event query plants yeah but nothing switched over to that except for like a couple goofy new views like uh but like this is there’s just so much in sql server that like in order to get information from it like it’s stored in xml so it’s on you to do that there’s like it always struck me as odd that you know you would find these blog posts with like you know like really detailed examples of like how to shred the xml to get this and that from it and there wasn’t just like some abstraction to be like oh i want to select this xml stuff i can just do select star from this thing it shows me all the columns and then i can choose which columns i want like to me that just that seems like hey let’s make life easier for the people who have to deal with this all day not make them also have to be xml experts so like i don’t know it was always weird that that wasn’t a thing but we have straight we have straight very we have stayed very far from the cloud sorry now do unicode no draw the line somewhere yeah no the getting back to the cloud though i like i said at the very beginning i think there’s a lot of good use cases for it i think it’s a tool like anything else you know just like joe it’s a tool and you can use it for good or you can use it for bad you can use joe’s joe’s etl strengths to get 10 terabytes of database loaded in once or you can use joe’s uh evil uh you know whatever i don’t know what his evil name is cloudy joe instead of regular joe yeah not sunny joe and rowdy joe all right sean all right so here’s okay well give me here’s the issue hang on hang on hey joe hang on one second uh i just want to do a time check here sean do you still have a hard stop in about 10 minutes i i can go another a couple more yeah all right cool so joe i’m gonna i’m gonna give you the floor to make your statement but then as is your unbiased moderator in this discussion i do need to get closing statements for the thing and then we will we will end this this episode a bit obscene i don’t know how long this has been at this point but uh a bit of thing yeah it is obscenely long at this point but i’m happy with that it’s not going to be a two-parter anyway joe you have the floor bang the gap uh i’ll start by saying this has nothing to do with the cloud ah but like i feel like there’s a little bit of like uh you’re in trouble now showing like disingenuous a little bit maybe like not sean of course i’m not sure he’s he’s above reproach but like i feel like if you ask some people like hey sql server 2022 uh i want to do a bunch of like regex stuff in sql server some people might say oh well you’re a dumbass like why you want to use all your cpu power doing regex and your very expensive licensing like you should do in the application but now in 2025 where we have like built-in project stuff you know microsoft just uh gives it to you i wonder if those same people would be like oh yeah i mean sure you know like it’s important the according to data where it lives and you can do the filtering as low as possible and you can send less data to the client and you don’t have to do all this comic you don’t have to split your code up and you know network latency blah blah blah so like i do feel and i understand like you know like if something isn’t supported in sql server well it could be natural to say well it’s like you know do it somewhere else but you know it’s kind of like a you know it’s it’s it’s a temporary convenience right because if you go far enough in the future i’m sure every possible useful thing will be supportive 10 minutes in the future yes all right there’s a one is a wonderful thing that you just said i i heard most of the words in it it was good they sounded fantastic all together like that so we’re we’re going to close out this episode of bit obscene we’re going to get closing cloud statements from each of you uh i’m gonna i’m gonna flip a coin to see who goes first well i would but i don’t have any coins uh so uh since since i know all my coins have been confiscated they’re being melted down into pitchforks uh so since we started with joe we’re going to start with sean for the for the closing closing statements here so sean uh the floor is now yours uh until you stop talking yeah the saying the i think the nlb always it’s it’s a tool i think it’s a good it’s a good tool that fits a lot of places but it’s not really the multi-tool right it’s if you’re a multi-tool you do a lot of things you might do some of them okay many of them okay but you’re not doing anything very great right people go to the multi-tool because they’re like well i can go do this i can go do this i can get it done it might it might remove the it might might get the screw up but i’ll strip it or it might uh cut this but it’s not going to cut it really well it’ll but but it’s enough to get the job done and that’s how i see it it’s when you start having to split your offerings so that there’s all these individual specialized things it makes you makes me wonder like is this the right thing or is are people going to know enough coupled with people just not either care i don’t know if it’s not caring or not wanting to learn or what have you you know i’d really be interested to learn more about that from individuals but just the the lack of wanting to be experts just getting onto the thing and going you know i i think the cloud is a good thing um i’d arguably say i’m happy that it’s here for some of the things that it’s given us but as a you know cio quarterly oh the cloud is the hotness put all your stuff in the cloud let’s do it i mean you’re pretty short-sighted for that you got to have you got to step back and say what makes sense how do we put the whole application life cycle in it how do we refactor things or if we’re net new what what do we need to do to get the correct performance get the correct items you know is it a level that we’re okay spending uh because as we’ve seen you know there’s been a lot of companies with blog posts about pulling all their stuff out of the cloud going back on prem saving tens of millions of dollars a year uh even with their costs and and it’s um so so it’s a it’s a tool use it well i have nothing against it uh on the you know just in general it’s just how it’s it’s like anything else how people misuse it and then don’t read the fine print and complain or say oh this sucks it doesn’t well yeah you use the tire as a you know to cut your tomato of course it didn’t work well and the tomato squished i’m you know take 10 seconds and think about it but i don’t know if we can have that today so overall cloud okay if used in the right context like everything else otherwise you know i’ll take a part from apple and say you’re holding it wrong and uh that’s it all right well as long as those 10 seconds are billable i don’t mind thinking about it all right cloudy joe hit us with your closing statements here i would say that if you can’t cook a steak on a server you don’t truly own it and you should fully understand what that means before you make decisions if you want to move things in the cloud um like i i mean i i’m sympathetic to you know i don’t know you have some startup and like the thought of well you know we’re going to get hardware and dsn number one and then we’ll get hardware and dsn number two which has to be far enough away and we’ll set up an availability group and backups and we’ll define our rto’s and uh rpos and we’ll you know do failovers and test our hdr and we’ll we’ll like we’ll like do drills and like you know like uh cut the links and turn servers off and you know make sure that we’re always up when we need to be and we’re not losing too much data i mean like that definitely i mean that’s a pretty intimidating thing right like it’s not like how it used to be in the good old days where you just had a server and uh like under someone’s desk and you know the server and a prayer that yeah that has served as a production um and like i can understand why you wouldn’t want to take all that on why you wouldn’t want to hire someone to do that i mean what you know if you hire the wrong person or you know like like what if you hire a shady data center because you know like plenty of those i mean you don’t even know like what the data center is doing like like they might even be in the cloud for all you know so in your effort to avoid the cloud you might just be taking even even like another step away from what you control um and you know like we already said if you’re starting with the application it’s just easier from the beginning to say okay you know we’re not going to use clr because we don’t believe in freedom and we’re not going to use service broker we’re not going to use asian jobs and we’re not going to do cross database queries and we’re going to be used you know we’re going to live with our 10 milliseconds of vital latency which might spike up to like 30 seconds on occasion it’ll be fine um it’ll work right for us um like i think there’s something to to be said there i do think it’s also probably not easy to make the right decision if you are shifting to the cloud um it does seem like microsoft’s documentation does get better over time but like as someone who’s personally tried to look into this stuff for recently there are a lot of dead links still there are a lot of dead links and some of the dead links sound really useful too but then you click on them and it redirects and redirects and then you get a 404 like like it is surprised i found it surprisingly difficult to find like good cloud content in terms of like you know like hey like we did a migration we learned xyz or like here’s a really clean breakdown of what to choose when like if you want to choose azure yams or managed instances or azure sql tv or even some non-azure you know you want to go on uh amazon or google or i think oracle has a cloud uh maybe we shouldn’t uh shouldn’t shouldn’t talk about that yeah no no one goes to google let’s yeah all right yeah well like i don’t know if it’s all like like uh uh ai slap now or people hold their cards too close to their chest or all the knowledge is locked behind paywalls and you know consultants and fancy training but like i i found it pretty hard to get answers even to what i would think would be some basic questions like which platforms support clr you know like as someone who develops that like i i i want that like loud like red blinking letters like hey if we’re going to use a ccdcql database no clr for you like that is something which you know like it’s a decision microsoft made nine years ago they should fully own it so you know then like that’ll increase our chances of perhaps stumbling into making a good decision so to wrap all that up a lot of people use it i’m sure it’s good for some people i think if you’re starting new it’s definitely easier and if you’re doing a lift and shift hopefully you’re better at googling than i am or you hire the right consultant and you can maybe get to a good enough answer all right wonderful wonderful you said joe what are your closing thoughts eric my closing thoughts my closing thoughts are thank you both for joining us on this joining my temporary co-host and my potential temporary replacement co-host for for joining us uh uh at here at darling data headquarters on this episode of bit obscene uh brought to you by darling data and the good folks at beer gut magazine uh and as always thank you for watching i hope you enjoyed yourselves i hope you learned something and uh maybe one or more of my temporary co-hosts will see you in the next episode of the bit obscene podcast all right thank you very much
Going Further
If this is the kind of SQL Server stuff you love learning about, you’ll love my training. Blog readers get 25% off the Everything Bundle — over 100 hours of performance tuning content. Need hands-on help? I offer consulting engagements from targeted investigations to ongoing retainers. Want a quick sanity check before committing to a full engagement? Schedule a call — no commitment required.