SQL Azure Elastic Database Pool

Microsoft recently announced a preview of SQL Azure Elastic Database Pools. This new service allows you to create a pool of database that share the same underlying resource. This is likely to be especially useful for SaaS providers where clients are often separated by database, but don’t require all of the throughput and storage provided by a single Azure database. Using elastic database pools you can create a pool of specified resource and place your databases into it. Each database will automatically scale up and down in utilisation up to the maximum the pool allows.

At the present time in preview you can only create pools on the standard tier, so a pool limited to 200 DTU’s and a max of 100 DTU’s per database.

All in all, this seems like a great idea and a very sensible choice for providers who need lots of small to medium scale database. However there is one potential downside that you might spot from the screenshot above and that this the pricing. At present a 200 DTU pool, with max 100 DTU per db costs £274 per month. A single S3 100 DTU database costs £91.63. So you will pay a premium for the additional flexibility that the pool offers. If your databases rarely reach peak usage of 100 DTU, or this usage is distributed over time then you will be able to have many databases in the pool and quickly realise the benefits and cost savings of this flexibility. However if you have databases that are regularly at the 100 DTU limit then you are going to be looking at less database per pool and more cost per database. If this is the case then pooling may not be for you.

All of that said, this is still in preview and prices could change, along with the introduction of more tiers. For a certain class of application the introduction of database pooling is likely to provide significant benefit.

Full step by step instructions on how to set-up a pool can be found in this MSDN article.