A few months back, I started noticing that many of our clients had started to mention Snowflake.
In recent years, I've been in lots of planning and architectural meetings where there was already a presumption that AWS was being used rather than Azure. I put that down to a great selling job by the AWS people who got corporate IT folk locked into large enterprise agreements early. And so no matter what the technical question is, the answer will be something that runs on AWS.
I still think that Azure offers a far stronger cloud story than AWS but I'm looking at the whole end-to-end cloud-based story, particularly with platform services. I just see a stronger, more secure, and better envisaged story in Azure.
A big part of this issue is that many organizations that I go into say they're making a "cloud transformation", yet what they're actually doing, is just moving a whole lot of virtual machines into a cloud hosting center.
That's just re-hosting; it's not making a cloud transformation.
For cloud-hosting providers, it's also a no-win game. When all you're doing is re-hosting VMs, you're mostly competing on price, and that's a race to the bottom that no-one really wins.
One bright note on the horizon though is around data warehouses. Almost all these corporates seem to get the idea that they want a cloud data warehouse as a service, not just a bunch of re-hosted virtual machines.
For customers who've already made the decision to use AWS (before we come into the meeting), when they look around for cloud data warehouses, Snowflake is one that's often chosen quickly.
A bonus for me, is that it's now available on both AWS and on Azure.
I've been spending a lot of time lately digging into Snowflake, and in this series of posts, I'll look at Snowflake from an existing SQL Server user's perspective.
Posts in the series
Part 1 – Why Snowflake?
Part 2 – Cloud First Design
Part 3 – Core Architecture
Part 4 – T-Shirt Sizing
Part 5 – Editions and Security
Part 6 – Role Based Security
Part 7 – Authentication
Part 8 – Case-Sensitivity
Part 9 – Stages
Part 10 – File formats
Part 11 – GET, PUT, SnowSQL
Part 12 – Parallelism when loading files
Part 13 – Programmable objects
Part 14 – Internal storage and micropartitions
Part 15 – Table types
Part 16 – Primary and Foreign Keys
Part 17 – Clustering Keys for Tables
Part 18 – Time Travel
Part 19 – Fail Safe
Part 20 – Encryption
And more coming…