Azure Virtual Machine Blog Series – Changing the size of a VM


I’m starting a new blog series on Microsoft Azure Virtual Machines, and my goal is to write blog posts exclusively on Azure VM/SQL Server related topics.Here is the 1st post –

“Changing the size of a VM”

When creating an Azure VM to host your SQL Server, you have an option to select the pricing tier. This pricing tier states what will be your VM configuration in terms with CPU cores,memory,No of disks, IOPS etc.

Azure provides plenty of pricing tier options,and you have the power to create a VM with the least amount of configuration or pick a monster like below –

AzureVM1

Gone are those days where you had to think twice to move your SQL Server workload to the cloud because of the lack of compute power. 32 cores, 448 GB, 64 disks with 80,000 ! Can’t get better than this !

What if I created a VM with a standard pricing tier like DS1 Standard, and after running it for a while realize that it’s not meeting my needs, and my SQL instance starts freaking out.

AzureVM2

Hmm, bad planning isn’t? Yeah, it’s definitely bad planning, however Azure will cover you pretty well.

If I check the VM configuration, I can see its current configuration as 1 Core and 3.5 GB of memory. AzureVM3

If I go to the portal and choose the settings option for the VM and the select size, I have multiple selection options for pricing tier-

AzureVM4

If I scroll down on the selection options, I can see that the G series are not available. This means that you cannot scale up from a D series to a G series directly. Again, not planning ahead can give you trouble.

AzureVM5

 

What if I select DS3-Standard. Will it change my VM configuration on the fly?  Lets check it out –

On the portal I’m selecting the DS3 option which is 4 cores and 14 GB memory.

Note – This will restart your VM behind the scenes.If you are following this article and trying to change the pricing tier of a critical production server, then stop and plan to do this activity during a planned downtime.

AzureVM7

Within few seconds, I got an alert which says –

AzureVM6

 

Neat ! Lets check the configuration –

AzureVM8

Indeed the new configuration is applied after a quick reboot.

Conclusion – 

Flexibility to change the VM size pretty easy can come handy sometimes,however carefully analyzing the workload compute demands and choosing the correct sized VM is always the recommended approach.

Thanks for reading and keep watching this space for more Azure VM related posts.

Exploring AlwaysOn Availability Group Template in Azure


This is one of those posts which is due for a long time. I was really excited when Microsoft announced the release of an AlwaysOn AG template for the Azure Portal back in August 2014.

I had decided to explore this AG template soon after the launch, and this post will explain how easy it is to deploy a 2 node AlwaysOn AG deployment in Azure. Trust me, it’s just a matter of few clicks.

Sit back and relax,we are now going to deploy AG in Azure.Here are the steps :

After you login to the Azure portal, you can access the Market Place

AGTemplate1

You will be surprised to see the number of options which are available in market place now.

AGTemplate2

Search for AlwaysOn ( I really hope MSFT will correct this, it should be rather be AlwaysOn AG) in the search box.

AGTemplate3

 

Choose SQL Server 2014 AlwaysOn and proceed by clicking Create.

AGTemplate4

 

Enter details for the required fields and also select the details needed for SQL Server settings. For the purpose of this post, I will be choosing default settings for the domain controller,virtual network,storage etc.

AG6

Note : Ignore the warning messages in the picture above.Warning for Resource Group is shown as I already have a RG with the same name.

That’s it, and you click create.

It takes around 40 – 45 minutes for the whole process to complete and once it was completed, I had the below set of virtual machines.

AG5

 

2 machines for the domain controllers, 1 for the file share witness and 2 for the AG nodes.

Here is a view of the Resource Group and its resources :

AG4

If you login to one of the SQL nodes and open up SSMS, you can see that AG is fully configured and its ready for use.

AG1

Here is the dashboard view and the quorum info :

AG2

AGQ

Conclusion :

Templates are interesting, and this is an excellent way of deploying AGs in large-scale. I’m pretty sure that MSFT will be working more to optimize this, and will add more and features to it.Looking forward to it.

Thanks for reading, and keep watching this space for more.

Checking out Windows Server Technical Preview on Azure !


I’m a great fan of running the latest version of Windows Server whenever I deploy SQLServer. I always try to push the latest and greatest windows server builds along with latest SQLServer builds because of many reasons (That can be a whole different post altogether).

I was all excited when I heard that Microsoft released the Technical preview of Windows Server (They might eventually call it Windows Server 10,but not sure for now), and decided to set this up.

I just went to Azure and see if there is any template which is made available, and it was indeed available. Way to go Microsoft (Yep, I do praise good things !)

Win Server Tech

 

Gave it a name, sized it as I need and added few more details

Win Server Tech1

 

Win Server Tech2

Got little surprised to see all these new additions

Win Server Tech3

 

And there you go….Started provisioning my VM

Win Server Tech4

Once it was created. I downloaded the RDP file and got connected to it. When connecting to the server you need to make sure to use the ID and Password which was used while creating the VM.

As soon as I logged in I realized that there are no major UI changes, but what Microsoft did here is re-touch everything and made sure that a proper Start Menu is back.

Win Server tech1

 

You have an option to choose Start Menu or Start Screen(I’m not a fan of Start screen ! ) and that flexibility is nice.

Win Server tech4

Windows Server Failover Clustering is one of the most important feature which I deal with Windows Server as its one of the pre-requisites for AlwaysOn Availability groups, so I decided to just add that feature(Not going to configure clustering now).

Nothing new here. Its all old story with same UI.

Win Server tech12PNG

Win Server tech3PNG

Once it was installed, I went to Start menu to launch it. This is kind of neat and I like this way rather than using charm bar and searching for it.

Win Server tech5

Win Server tech6

You can also search failover cluster manager using the search option available in the start menu. There are the small things which I care about and like. Nice !

Win Server tech7

And well if you like Tiles, then you definitively have an option to pin it. I like to pin things like Cluster Manager etc.

So here you go

Win Server tech8

You also have an option to add multiple desktops. That’s kind of neat as I tend to open multiple windows and I can switch between desktop.

Win Server tech9

Conclusion :

That’s it for the UI changes for now. Nothing dramatically new and fancy,but I liked the way things look now. In the next few days I will configure clustering and will come with more updates.

Thanks for reading, and keep watching this space for more !

Building a Virtual Machine within Azure (IaSS) – Improvements !


Those Dev’s/UX designers out there at Microsoft seems to be pretty busy as they releasing back to back updates to windows azure portal over the last couple of months.

I had to create a VM in Azure to do some testing, and this time I decided to try out the new portal. Apparently, I’m not a great fan of Windows 8 styled tiles, but on Azure portal these tile like options are not that bad.

I selected virtual machine from the add button(+) and the portal gave a nice view of the available options  :

Create VM

I’m pretty impressed with the amount of flavors you have now for the VMs. Oracle Linux, Open SUSE ! Cool !

I picked SQL2014 standard, and started the create process. When you start entering the details like host name, user name etc. everything looks same as before but as you click the pricing tier, there comes some improvements.

You now have an option to check all the pricing tiers and can get an idea on the approx. monthly costs pretty easily.

Click the image for better resolution.

Create VM2
Icing on the cake is the Max IOPS numbers. This is way cool and handy to know and have.

Create VM3

I chose something small and started exploring more. I gave the hostname and all other required things and chose check box, “Add to Startboard”. This will just add the new VM to azure portal home page.

Portal started giving me cool visualization when the VM was getting created, and the current actions were getting displayed in the notifications area.

Create VM4

As soon as the VM was created its details were made available in the startboard. There are some cool data like Disk, CPU, Network etc. which definitely will come handy for everyone.

Create VM5

The process to add an alert for a specific matric looks pretty straight forward within the portal. I tried to set an alert for disk, and here is what the portal has to offer.

Create VM6

Overall, I’m really glad the way Microsoft Azure has improved over the last couple of years and now this is shaping up to be one of the trusted platforms to host critical workloads with great management capabilities.

Thanks for reading and keep watching this space for more! (Hint: Some cool SQL2014 related posts are on the way !)

Journey of an On-Premises DB to Azure VM – SQL Server 2014 makes it easier!


SQL Server 2014 is deeply integrated with Windows Microsoft Azure and moving an On-prem database to a Microsoft Azure VM is much easier and seamless now.

This post talks about the journey of a database named “MoveMeToCloud” which is hosted on SQLServer 2014 RTM on-prem instance to a SQL Instance which is hosted on an Azure VM.

Here are the steps (Can’t get easier than this)  –

1. Right click database “MoveMeToCloud” and choose tasks and then Deploy Database to Windows Azure VM (Oops, that named needs to be changed too!)

Move1

2.  As soon as we complete the first step, we will get the intro screen. Pretty straight forward information made available here.

Move2

Once we go pass the intro screen we will get the option to connect to the local SQL Instance.  We can then choose the db which we want to move, and also a location for the backup files.

Move3

3. Next up will be security related settings. We will need a management certificate to proceed here.

Move4

By using the Sign in option we can get the required certificate. This is a smart wizard and it will pull the certificate details for you.

Move5

We will proceed by clicking next.

4. Next up is the deployment settings part. This part is little tricky as we will have to do some authentication.

Move6

As you can see in the above screen the Cloud service name, Virtual Machine name and the Storage acct is already available as we have done a sign-in in the earlier step.

We will need to access the settings button to do an authentication again. There should be a VM end point for the specific port for this to work.

Move7

Once the authentication is done, we will get the target database details which will be automatically populated.

Move8

5. Final step is to check the summary and initiate this by saying finish. The wizard will do rest of the job for you.

Move9

Move10

 

If we check the SQL Instance on Azure we can see the database is available there, Viola !

Move11

Conclusion

This is a very smart wizard and I’m really happy that Microsoft have made great efforts to make this simple to ensure that cloud movements are seamless.

Thanks for reading and keep watching this space for more !

Folks,Know your Outbound Data Transfer Costs – Windows Azure


The cost associated with Outbound Data Transfer is very important when you consider bridging your On-premise network with Windows Azure.

Yes, when I said cost I indeed meant the $ amount which is involved. The good news however is that all the Inbound Data sent to Azure is free. The outbound data is all what really matters.

As per Microsoft

Outbound data is charged based on the total amount of data moving out of the Windows Azure datacenters via the Internet in a given billing cycle. Data transfers between Windows Azure services located within the same datacenter are not subject to any charge. The first 5 GB of outbound data transfers per billing month are also free.

Lets talk about this simple scenario – You have deployed SQLServer on a Windows Azure Virtual Machine. Data out of the SQLServer database will be accessed by clients which are located in your On-premise data center. Below diagram will explain the scenario.

Note – This is a high level diagram and doesn’t explain the actual network intricacies which are involved while bridging your network with Azure.

Outbound Azure

All the outbound data which is flowing out of the Azure data center is a cost ($) factor for you and inbound data sent is free.

How much should I pay?  Well,that really depends on your usage.

First 5 GB a month is free and beyond that cost is like(As of today) –

Outbound Azure2

Ref – http://www.windowsazure.com/en-us/pricing/details/data-transfers/

Note – Always ref http://www.windowsazure.com for any pricing estimates as these numbers($) tend to change.

Conclusion

Analyzing and understanding various cost factors which are involved with Windows Azure is one of the key areas an Architect should focus on and comparing this costs with ongoing on premise operational costs will help management get a clear picture.

Thanks for reading and keep watching this space for more !

Microsoft + Oracle = New opportunity…Windows Azure is a happening place !


Couple of months back(To be specific in June) Microsoft and Oracle announced their partnership to help enterprise customers embrace the cloud.

It was almost clear that Oracle was going to be available in Windows Azure under the IaSS platform(Virtual Machines’),and today during one of the Oracle Open World keynotes this was officially announced to be available.

I guess Brad Anderson(Corporate Vice President, Cloud and Enterprise Engineering, Microsoft) will be the first Non Oracle person to deliver a keynote during an Oracle Conference(Read Cloud is changing the game).

MSORA2

 

MSORA3

 

As of today our Oracle friends can configure and deploy their databases on Windows Azure. Here is what the Azure VM gallery looks like –

MSORA

 

MSORA1

 

Note  – Some of them are on preview though.

This is really an exciting news. Giants like Microsoft and Oracle teaming up is definitely going to benefit enterprise business, and I’m really positive about that.

Are you excited about this ? Please share your thoughts on the comments section.

Thanks for reading and keep watching this space for more !

Windows Azure Service Dashboard – Checkout the health of Azure Services


Windows Azure Service Dashboard is an excellent way to know the health/availability of your Windows Azure Services.

Azure Doctor

You might always want to know if any of the service is down or having some performance degradation, and with windows azure service dashboard this information is just few clicks away.

All you need to do is access http://www.windowsazure.com/en-us/support/service-dashboard/

This portal is available to all, irrespective of your account availability.

To me this is a great initiative by Microsoft to report service availability details as this is super useful from user perspective.

The portal is really impressive with the amount of information it provides. It will help you understand if

1. The service availability is normal

2. There is a performance degradation

3. There is a service interruption

4.There is any specific information(FYI type) regarding a service

WindowsAzureDash1

You can drill down each of the service and see what’s the status for each region

WindowsAzureDash2

Incase there is a problem, then drilling down the problem description will help you understand what is the current status of the fix, and how the support team is acting on the problem.

WindowsAzureDash3

I’m really impressed with this level of details. This will come handy when you have production deployments in azure and you need to keep your business users informed when there is a problem.

Now comes the icing of the cake –

Historical data ! Yes, you have the flexibility to see historical data and understand if there was a problem

WindowsAzureDash4

Conclusion

These are cool facilities made available to you by the Azure team and this will definitely prove helpful to you.

Thanks for reading and keep watching this space for more !

High Availability within Windows Azure VMs – An exciting opportunity !


Windows Azure Virtual Machines is a real game changer as it gives us ability to spin up VMs in no time to setup a full blown SQL Server.

The topic of High Availability(HA) will come to your mind in case you are planning to deploy a mission critical SQLServer on Windows Azure VMs and you cannot afford any downtime.

Do Microsoft take the VMs in Azure down for maintenance ? Yes, they do that. There are scheduled windows when MSFT will do maintenance for their data centers, host machines and they will restart the VMs which are part of the host.

What does this mean to your mission critical application which utilizes SQLServer deployed on this VM ?

“Outage”

Though Microsoft is really careful planning and scheduling these maintenance to occur during non business hours,it might still impact your SLAs(How much time your server will be up and running).

Is there a way to override this ?

Yes,there are ways to avoid this and there comes the concept of Availability Sets.

In a nut shell, you will have to have 2 or more VMs for the application to be highly available and you configure them on the same Availability Set.

When you configure 2 VMs in an availability set, Microsoft will never take them down at the same time during maintenance windows(Related to update domains), and also it can overcome single point of failures within the racks(Fault domains).

The below picture should help to understand the concept well.

AzureVMHA

VM2 and VM8 are part of an availability set and with these VMs your application can be highly available.  During a maintenance window these 2 VMs wont go down at the same time.

You can create an availability set when configuring your 1st VM.

AlwaysONHA1

When creating the 2nd VM,you have the option to add it to the availability set.

Azure VM Availability Set

Always ON Availability Groups can be configured to ensure that outages are reduced or avoided.

Conclusion

Windows Azure is gaining traction and with the inclusion of HA features, your move up to the cloud is more reliable now.

Thanks for reading and keep watching this space for more !

Deleting a Storage Account from Windows Azure – The right way !


I like to clean up things after I’m done with my testing and this morning I decided to clean up my VM’s, Databases which were created under Windows Azure.

Everything went smooth till I tried to delete my storage account. As soon as I tried a delete there was an exception.

Azure Storage Delete1

The ‘Details’ section gave me more details on why this action cant be completed.

Azure Storage Delete2

The error message is quite self explanatory. This was telling me that the storage account which I was trying to delete was having a container which was holding an active image.

This was indeed true. I decided to go ahead and explore the container for the account. I had created multiple files under this container before.Azure Storage Delete3

Then I decided to go ahead and check the blobs under the container, and there was indeed a blob available. As a matter of fact even the container itself is a blob.

Azure Storage Delete4

I decided to delete this blob, and then successfully deleted the storage account from the portal.

To sum up, the right way to delete a storage account from windows azure is to check if you have any active blobs under the container and remove that blob well before you try and remove the storage account.

Conclusion

Hope this short explanation helps you understand how storage is handled within Azure and how things are categorized with respect to Accounts, Container Blobs and Blobs within the containers.