This month, Jorge Segarra (Blog | @SQLChicken) is running T-SQL Tuesday on the cloud. T-SQL Tuesday is a monthly blogging event where a number of us in the SQL Server community gets together to blog on a central topic. As mentioned, the topic is on the cloud, or as Jorge put it:
Cloud. It’s the juggernaut buzzword in IT for the last couple of years now. By now you’ve surely been exposed to some aspect of it: Azure Virtual Machines, Windows Azure SQL Databases, Amazon EC2, Rackspace, etc. At this point in the game the cloud solutions are fairly mature and constantly evolving to better serve their customer base.
This month’s topic is all about the cloud. What’s your take on it? Have you used it? If so, let’s hear your experiences. Haven’t used it? Let’s hear why or why not? Do you like/dislike recent changes made to cloud services? It’s clear skies for writing! So let’s hear it folks, where do you stand with the cloud?
So, have I used the cloud? That’s the easy question. I’ve used it for both my personal use and for client projects.
Business Intelligence Platform
Let’s start with the client project. In the past year, I had the opportunity to assist a client with deploying a data warehousing solution to Windows Azure. The project was extremely interesting and there was a lot more to it than just deploying a few Azure Virtual Machines. When it comes to deploying a solution to Windows Azure, you have to look at the virtual networking, domain, active directory, and storage that will be required for the solution. It’s more than just plug and play, but it’s easier than negotiating for resources from an IT department. Of course, since this is client work, I can’t detail too much about it. The biggest take away from the project, though, was the pain that I expected the firewalls and virtual networking to entail, which they followed through on quite well.
Personal Development Platform
Now when it comes to my personal use of the cloud, or Windows Azure, I make a lot of use of my MSDN Azure credit. In fact, I’ve burned through my credit a few times, which has been quite frustrating. But those frustrations are worth it considering what I’ve been able to accomplish.
One of the things that’s been a pain over the years is my desire to be able to build a database and then be able to access it from anywhere. Whether I am on my laptop, my desktop machine, or a client machine, I want to be able to access the data. I could setup a server at home and then work on the VPN connectivity required to make sure I could gain access to it whenever I needed. The problem is I’m a SQL Server guy, not an infrastructure guy. I want to focus on data architecture, not making sure my machines can be accessed through the internet. It turns out that I’ve been able to solve this heed through Windows Azure SQL Databases (WASD). I’ve got a few of them deployed and by just satisfying my own data needs, I’ve been steadily gaining an idea on how to build and deploy SQL Server databases through Platform as a Service (PaaS).
Of course, WASD doesn’t solve every need. In fact, most use cases call for a fully functional SQL Server instance. Windows Azure solves this with their virtual machine Infrastructure as a Service (IaaS) offering. For my development needs, I have Virtual Machines built for SQL Server 2005 through SQL Server 2014 CTP2. It takes minutes to build new machines and it’s easy to try out configurations to test one feature or another. Not everything is possible that could be done with an instance on local hardware, but I can get most of what I want done and done pretty easily.
One of the main goals on setting up the virtual machines on Windows Azure is to allow me to migrate from executing presentation demo scripts on my laptop to a cloud solution. This may seem like over engineering the demo environment. But I don’t want to have a big bulky laptop. In fact, I’m hoping to migrate over the next year from carrying a laptop to client engagements to a full migration to using my Surface Pro. By moving my development machines to Windows Azure, I can easily control the amount of resources allocated to control when the VMs become overwhelmed with poorly performing code, without a fear of the impact of the performance issue on my local machine. So no interruptions to my PowerPoint deck.
As a small success, I taught a performance tuning class in Boston last week and run more than 90% of the demos from my Windows Azure machines. One machine ran the SQL Server instance that I demoed and I used a second to run all of the workload scripts. I was impressed with how easy it worked and how well Zoomit worked within the VMs. No one really knew the difference, except that I mentioned it a couple times.
If you’re not using Windows Azure or some other cloud offering, get a subscription today and give it a whirl. Just try it for your fiddling around with SQL Server. You may just find that it fits for more scenarios than you originally thought. I’m completely sold and have found that it’s provided a lot of value just in playing around.