Intimidating Databases and Code

It is absolutely not cool or fun to pay money to learn new technology. One of the main complaints people had for learning Azure (and AWS for that matter) is that they had to register with a credit card and actually put their own money on the line to try stuff out. One could argue that maybe a cost to learning isn’t necessarily a bad thing. However, there were a number of horror stories of people inadvertently being charged hundreds, or even thousands, of dollars because they didn’t track their usage. If you register your Azure account through MSDN, that problem is completely eliminated. No credit card at all, and a free account that can never cost you money. But, there is a budget, a cost limit, that you have stay within to operate, so it’s worth it to you to know how to monitor your usage.

To start with, when you’re logged into the Management Portal, if you look in the upper right of the screen you’ll see something like this:

If you click on the Subscriptions link you’ll get a drop down menu that allows you to filter your subscriptions. You can see some of my subscriptions here (none of these are production):

Down there at the bottom of the picture is a “Useful Action” called “Managed your subscriptions.” Click on that and a new tab will open in your browser. This will show you your accounts. Here is one of mine:

Heck, it even lets you know, this subscription has a spending limit. You can turn that off if you want (although, what would be the point of setting up your account). But we’re not done drilling down. You can click on the account itself and see how much of the allocations that you have you have used up this month. Here’s one of my accounts that has some interesting activity:

Click on the image to see how the amounts of different Azure services add up to your account. At the top of the screen you can see the green bar that shows how much “money” you have left in the account. Note the little icons on the right, you can click on these to get details of when the billing was accrued:

That’s it. That’s all you have to track your usage. I’ve been working with Azure for a couple of years and I’ve never paid a penny. Most of that time was when I had to register with a credit card and could have been charged. But I’ve easily avoided it by monitoring my usage. Now I just monitor the usage to ensure I stay below my spending limits.

Here’s where you go to link your MSDN and Azure accounts. If you’re interested in getting started with Azure relational data storage (that’s Azure VMs Infrastructure as a Service and Windows Azure SQL Database as Platform as a Service), I’m running an all day pre-conference session at the PASS Summit 2013.

My laptop is out for repair. I’m working currently on a Surface Pro instead. It’s spurred me to do something I’ve been meaning to do anyway. I’ve started setting up a full demo & testing VM on Azure. I already had the VM up and running (it takes 5 minutes for crying out loud), but I hadn’t bothered setting up Red Gate software on it and getting it fully prepped to support my work, demos, or whatever else I might need. But, I finally did. It’s working out surprisingly well. I just have to remember to shut the silly thing down when I’m done with it or it does start to bite into my MSDN credit. Anyway…

I was working on the VM for a big chunk of the day yesterday. I decided to shut down, so I opened the Management Portal tab on my browser when I saw a message I had never seen before. I didn’t think ahead far enough to get a screen capture, but paraphrasing and probably misquoting, it went something like this:

The Management Portal has been updated. To use the new Management Portal you must refresh your browser

COOL! I thought and clicked the button (then thought of my faithful blog readers, all six of you, Hi Mom!). But too late. I got a new portal that looked… Just like the old one. Luckily for me, Scott Guthrie posted the updates to his blog (subscribe if you haven’t).

Exciting stuff (assuming you read Scott’s blog), especially if you’re looking at Azure VMs as a mechanism for setting up Availability Groups with your on-premises machines. And if you’re not a giant shop that can afford to pay for multiple co-lo hosting systems, why would you not be? But, the really cool bit for me is that I think that’s the first time, that I know of, when I was online, connected, working, and they released an update. It demo’ed for me, in a really small way, how the release of these updates is a rolling thing. Meaning, if I were to immediately go and create a new VM, the functionality described by Scott would be available. But, while I was working, my VM was online, therefore not updated yet. One of two things will happen here. If I had left my server online, when I went back to it, it might be offline, or, have had a reboot event while I was gone because they updated it. Or, while it was offline it would get updated and when I bring it back online, it may need to get rebooted after the updates are applied (a lot like a local machine). Here, I thought ahead. I left the machine off until this morning so I could see if the update was put in place.

The new login screen is WAY too cheery for 6:30AM. Microsoft. Please fix that.

And nothing. No new updates. No indications that any have been applied. Hmmm… Maybe the machine where my server is hosted hasn’t been updated yet. I’ll have to keep an eye on it.

That’s the good news. The bad news is, I need to rebuild my demos and some of my slide deck (again) in preparation for the PASS Summit. Setting up Availability Groups between a local system and an Azure VM is one of the things we’ll be covering in the full day pre-conference seminar. If you’re interested and want to learn about this and a whole lot more about Azure Infrastructure and Platform services as they relate specifically to relational data storage, go here to register.

Let’s just hope there are no more changes to SQL Server in VMs or Windows Azure SQL Database between now and the Summit. Ha! Who am I kidding? They’re updating this platform all the time.

If you missed the 24 Hours of PASS Summit 2013 Preview, you missed some excellent sessions. I watched a few, but not all. But now, thanks to the wonders of modern technology, I can go back and catch the ones I missed. You can too.

You know you want to at least take a look at the new Client Technology Preview (CTP) of SQL Server 2014. I don’t blame you either. I want to spend hours swimming through it too. But, you’re thinking to yourself, “Heck, I’d have to download the silly thing, provision a new VM, walk through the install… Nah. Too much work.” I don’t blame you. I found myself on the road the day the software was released, so I was going to attempt to do all that work on a hotel wireless system. In short, I was going to have to wait, no options. Or were there? Actually, there is a much easier option. Azure Virtual Machines.

And no, it’s not that I can simply get a Windows Azure VM ready to go faster than I can a local one (and, depending on just how I set up and maintain my local servers, that might be true). No, it’s that I can immediately get a copy of SQL Server 2014, no download required. It’s that I can, within about five (5) minutes have a server up and running with SQL Server 2014 installed and ready to go. How? Microsoft maintains a gallery of images for quick setups of Azure Virtual Machines. A couple of those images include SQL Server 2014.

To get started on this, and not pay a penny, you need to make sure that you pass the MSDN permissions listed at that link. I know that some people won’t, and I’m sorry. However, get your MSDN subscription set up and link it to an Azure account, then you’re ready to go. Throughout this post, I’ll refer to paying for Azure, if you’re running through MSDN, just insert, “using up my credits” for “paying” and it should all make sense.

First, click on the Virtual Machines icon.

This will show a list of VMs on your account, if any. We’re going to add one, so we’ll click on the little plus sign in the lower left corner of your screen.

Clicking on the New button gives you options. Reading the screen you can tell that you have a list of different services that you can add; Compute, Data Services, App Services, Networks and Store. By default, if you’ve opened this listing from the VM list, you’re going to already have Compute selected. That provides a second list of options; Web Site, Virtual Machine, Mobile Service and Cloud Service. Again, if you’ve opened these options from the VM list you’re going to have the Virtual Machine selected. If not, make sure that is what gets selected. The final two options you have are Quick Create and From Gallery. For our purposes we’re going to use the Gallery, but let me first tell you what the difference here is. Your licenses for SQL Server, Windows Server, and most Microsoft products (so far as I know) are transferable between Azure and your on-premises machines. This means you can create an empty virtual machine on Azure and then load your software on to it. You don’t pay additional licensing fees. But, you can also use the images on the Gallery. Here you can set up a VM for whatever is listed and you get those machines and their software for additional cost, but no additional license required. In short, you can pay a little bit more to get access to SQL Server or what have you without having to buy an additional license. It’s a great deal.

Worry about paying for it all later. We’re going to click on the From Gallery selection. This opens up a new window showing all the different possibilities you have for your VMs. You can install anything from Ubuntu to Sharepoint to several different flavors of SQL Server. You can even add your own HyperV images to this listing (although that does mean paying for licensing on any created VMs). Scroll down until you see SQL Server 2014 CTP1. On my listing currently, there are two copies. One that runs on Wndows Server 2012 and one that runs on Windows Server 2012 R2. If you want a Start button on your screen, pick the second one. You’ll then be walked through the wizard to get this thing created. Click on the right arrow at the bottom of the screen after selecting a VM.

Now you need to supply a machine name. It needs to unique within your account. You’ll also have to pick the size of machine you want. This, and the size of the data you store, is what you pay for. You’ll need to decide how you want to test 2014, small or large. For my simple purposes, exploring 2014, I’m going with Medium. That currently means 2 cores and 3.5gb of memory. You can go all the way up to 8 cores and 56gb of memory, but you will be paying for that, just so we’re clear. You also have to create a user and password for the system. Strict password rules are enforced, so you’ll need a special character and a number in addition to your string.

You need to configure how this machine will behave on the network. You need to supply it with a DNS name, your storage account, and your region. I would strongly recommend making sure that your servers and your storage are all configured for exactly the same region. Otherwise, you pay extra for that extra processing power. Also, you may see somewhat slower performance.

Finally you have to, if you want to, add this server to an Availability Group. For our test purposes we’ll just leave that set to None. But, you can make this a part of an AG in Azure or with a mixed hybrid approach as an async secondary with your on-premises servers. Oh yes, the capabilities are pretty slick. I would suggest also leaving PowerShell remoting enabled so that you can take advantage of all that will offer to you in terms of managing your VMs and the processes running within them.

Click on the check mark and you’re done. You’ll go back to the VM window and at the bottom of the screen you’ll see a little green icon indicating activity. It will take about five minutes for your VM to complete. While it’s running, you can, if you choose, watch the process, but it’s a bit like watching paint dry. You’ll see the steps it takes to create your machine and provision it with the OS and SQL Server version you chose.

Once it’s completed, you’ll have a VM with a single disk, ready to go. But, you need to connect to it. Remember that user name and password? We’re going to use that to create a Remote Desktop connection to the server. When the process is completed, the server will be in a Running state. Click on that server in the Management Portal and click on the Dashboard selection at the top of the screen. This will show you some performance metrics about the machine and, at the bottom, give you some control over what is happening. The main thing we’re looking for is the Connect button.

Click on that button. You will download an RDP file from the Azure server. Open that file (and yes, your system may give you security warnings, click past them) and you’ll arrive at a login screen, configured for your Azure account. That’s not what you want. Instead, you’re going to click on “Use another account.” Then, in that window type in your machine name and user name along with the password. Once you click OK, you’ll be in an RDP session on your SQL Server 2014 CTP1 VM. Have fun!

Remember, you can stop the VM when you’re not using and you stop paying for it (or, using up your MSDN credits). Just go to the dashboard and use the “Shut Down” option at the bottom of your screen.

If you found this useful and you’d like to learn a lot more about the capabilities of using Azure within your environment, I’d like to recommend you sign up for my all day pre-conference seminar at PASS 2013 in Charlotte. I’ll cover this sort of thing and one heck of a lot more about the future of being a DBA working in the hybrid environment of Azure and on-premises servers.