At work as of late I’ve been learning quite a bit about the Azure SQL Database offering from Microsoft. It’s been both a fascinating and frustrating experience. Azure SQL Database has many fundamental differences from the traditional model of SQL Server, many of which require a lot of re-thinking about how we manage our databases. For example, did you know that you cannot write queries that join tables from different databases? Or that you cannot change database contexts once you’re connected (no more “USE Database”)? And those are just two of the many. But that’s for another day; today I want to explain why I think the Azure SQL offering is a fantastic thing in terms of getting small businesses to adopt SQL Server as a technology.
Let’s say that you are an IT consultant specializing in helping small businesses (especially really small businesses, like Mom and Pop shops). One of your customers wants to start using an accounting package that requires SQL Server, so they ask you to help them understand how much it will cost them. Now this is a really small firm with extremely limited budgets, so we’re going to have to compromise on some things (sorry, no Fusion-IO storage). Even so, when we look at the costs of a bare-bones server class machine, along with the costs to acquire the software licensing required, it’s still pretty steep.
- Hardware: $1,819 (and I really did cut corners; this has 7200 RPM SATA disks and only 8 GB of RAM)
- SQL Server 2016 Standard Edition CAL based license: $879
- 5 SQL Server 2016 Device CALs: $1,049
- Total: $3,749.40
For many small family run businesses, this amount is not trivial. Plus, you must consider factors such as:
- Setup of backups and maintenance
- Handling issues such as hardware or operating system failures
- Disaster recovery
Between the initial up-front cost and ongoing maintenance, this represents a significant investment both on your part and the part of your customer.
Now, let’s consider the same scenario, but use Azure SQL Database as the platform to meet our SQL Server needs. First, let’s assume that the volume is small enough such that we need around 20 DTUs of capacity on average (and even at peak times, say, running end of month processing, we might need around 50). Given this, the S1 service tier meets their requirements. This costs around $30 per month (as of publish date, see this chart), with no up front capital required. Let’s say that for around 24 hours of the month (three working days), we need to bump the database to the S2 service level to accommodate extra month end processing. Adding that in adds a paltry $2.42 worth of extra cost, bringing our total to around $32 a month. At that rate, it would take approximately 117 months to equal the same as the initial up front cost of the traditional solution. That’s close to ten years folks. Talk about a way to spread out your capital cost!
Even better, much of the overhead for your customer is no longer an issue. For example, there is no need to configure backups, as they are automatically put in place. Azure SQL databases are automatically locally redundant, with a 99.99% up-time guarantee. If your customer wishes to have a disaster recovery plan in place, then you could utilize the active geo-replication feature, and your customer only pays for one additional database (bringing the cost to a whopping $64 per month).
This is truly nothing short of a game changer. I mean, can you imagine being able to have a conversation with a tiny family owned business that includes disaster recovery?
Now, it’s true that Azure SQL Database has its limitations and drawbacks. As we mentioned earlier, some notable features are not available, which may limit what applications can use the offering (no SQLCLR for example). In addition, it does introduce a critical point of failure, namely the customer’s internet connection. Still, with the tremendous cost savings up front, something like a backup internet provider connection suddenly becomes a realistic possibility.
Time will tell if the Azure SQL Database offering becomes as successful as I believe it will. But one thing is certain: Azure gives us far more cost effective and lower risk options to bring customers on board with utilizing SQL Server.