Deciding which type of SQL Server configuration to deploy can be a challenging process. The addition of Windows Azure creates an additional possibility to consider versus an in-house configuration. Microsoft offers a cloud option for SQL Server as part of the Windows Azure product. The two general options are the “SQL Database” service or “SQL Server in Windows Azure Virtual Machines” (referenced as SQL-AzVM in this document). There are two other options offered called “Blob Storage” and “Table Storage” which are out-of-scope for this blog post.
For simplicity, consider SQL Database as the basic cloud SQL Server option with some unsupported features fully managed by Microsoft (Platform as a Service, PaaS) from a physical perspective (servers and storage). And consider SQL-AzVM as the more robust option containing a fully featured SQL Server product running on the Windows Azure VM platform which requires you to fulfill administration and management work. SQL-AzVM can also be added to your own domain to extend your infrastructure.
In-House or Cloud
When deciding to deploy SQL Server in-house or in the Windows Azure cloud, consider these basic questions. Of course, there are many more questions that need to be answered before making a decision. However, answering these will get you started in the right direction.
- Can you afford and support an in-house SQL Server system? Consider the following examples:
- Datacenter costs, Server hardware costs, SQL Server licensing costs, High Availability costs, DBA personnel
- Windows Azure offers several pricing plans
- How much control do you need over the SQL Server system? Examples include:
- Control over high availability failovers
- Control over file group placement
- Control over backups and restores
- What are your scalability needs?
- There are limitations to SQL Database versus SQL-VzVM. Depending on your environment/infrastructure, in-house configurations may provide greater flexibility.
- When considering SQL Database or SQL-VzVM, are you willing to re-architect your existing database design (ie: large databases greater than 150GB)?
- Do you need any of the features not supported by SQL Database? If so, then in-house or SQL-AzVM will be your platform.
- Replication, Full Text Searching, etc
- Do your SQL Server configuration needs exceed the limitations that the Azure cloud can provide?
- Database size requirements
- RAM requirements
- Can your existing or future application(s) work with the Windows Azure cloud?
Whether you are extending your existing infrastructure or designing a new application, Windows Azure may be exactly what you need at a cost you can afford. Microsoft has developed SQL Server in the cloud real option to consider. For more information on SQL Database, visit http://www.windowsazure.com/en-us/services/data-management/.