I usually like to avoid writing about things that I don’t know too much about—especially when I’m being paid to write it! But this week I gave myself the liberty to explore cloud database ideas, even though I don’t consider myself to be an expert (at least not yet).
I think we all recognize that cloud technology will change the IT business in countless ways. However, I think we also see a tremendous amount of thunder and lightning when it comes to the cloud that doesn’t necessarily translate to reality. We see the storm on the horizon: It’s big, and it produces a lot of noise, flash, and excitement—but it’s still dry where we’re standing. Database-oriented cloud computing is especially subject to this weather phenomenon.
Are you actively working with database cloud technology in your job? Probably not. Do you know many people actively working with database cloud technology? Probably not. What does that mean? Well, it means that most people aren’t doing projects with databases in the cloud, which means that cloud databases are still a teeny tiny part of the market compared with hosted and on-premises database solutions.
I think we all sort of agree that cloud technology, including data-oriented clouds, is profoundly cool in many ways. Instant scale-out and back again on demand? Yeah, I want that. Dramatically reduced administration? Yep, I want that too. All the other stuff the cloud gives us? Sure; I’ll take some. But let’s ignore the thunder and lightning in two key areas of database cloud technology and look at reality for a minute, especially when it comes to SQL Azure.
Thunder and Lightning: “The cloud is super scalable.”
Dry Land: A few thousand dollars buys me a 4-core laptop with 8GB of memory and a 300GB+ SSD. 50GB from SQL Azure in the cloud is scalable? Really. Yeah. I know all about database sharding, but no matter how you slice it, SQL Azure probably isn’t what you want today if you need super high-end scaling.
Thunder and Lightning: “The cloud is super redundant, so you don’t need to worry about availability.”
Dry Land: Really? Did you happen to read about Amazon’s recent outage that took down many highly visible sites, such as Foursquare and HootSuite, while other high-end sites, such as Netflix and Zynga, escaped unscathed? To be fair, it was the first major high-profile outage in 5 years. That’s better than most of us can do on our own budgets. But still. Always there? Really?
Lately, I tend to think of the movie Cloudy with a Chance of Meatballs when I think about database cloud technology. Food falling from the sky sounds sort of cool at first. But honestly, it’s a bit different when a giant meatball lands on you. Maybe it’s not exactly what you needed or wanted after all—at least not in its current form. (Unless, of course, you’re a SQL Server rockstar, and the meat falling from the sky is bacon.)
I’m not anti-cloud. I honestly think cloud technology is the future of IT. But the future of cloud computing, database in particular, is still a bit cloudy. In fact, I suspect that in the short term, it won’t be traditional mainstream line of business database apps that move to the cloud. I think that database cloud technology will enable (as it’s already doing) an entirely new class of applications and people doing things from their proverbial garage on a low budget. I’m not sure that we’ve even seen the “Aha, so this is how you’re supposed to use a cloud database” design pattern emerge yet. I think we’ll know how to use cloud databases when we see it, and I think that eventually cloud databases will mature to the point where we consume database functionality like we do power from the grid: Plug in and use what we want. But that’s still off on the horizon. For now, I declare the short-term database cloud technology future as “cloudy with a chance of meatballs.”