- Pip install Boto3 - Thu, Mar 24 2022
- Install Boto3 (AWS SDK for Python) in Visual Studio Code (VS Code) on Windows - Wed, Feb 23 2022
- Automatically mount an NVMe EBS volume in an EC2 Linux instance using fstab - Mon, Feb 21 2022
Only for MSDN subscribers ^
First of all, I should mention that Windows 7 and Window 8.1 virtual machines in Azure can only be used by MSDN subscribers. Microsoft’s intention is to allow developers to use these virtual machines for testing their applications. Perhaps they also want to prevent the impression that Azure has a Desktop as a Service (DaaS) offering. Nevertheless, if you are an admin without an MSDN subscription, but you would like to build your lab in Azure, you might consider complaining to Microsoft.
Windows 7 and Windows 8.1 in Azure
Install Windows 7 and Windows 8.1 in Azure ^
Let’s first look at how you can work with Windows 7 and Windows 8.1 in Azure. You launch Windows clients the same way you launch Windows servers. Once you log on to the Azure portal, click New in the command bar at the bottom, choose From Gallery, and then scroll down until you see the images for Windows 7 and Windows 8.1. Azure only allows you to run the 64-bit editions of Windows 7 Enterprise and Windows 8.1 Enterprise. You’ll also see the N editions, which have no Media Player installed. A wizard will guide you through the configuration process of the virtual machine. Essentially, you have to specify the name of the VM, a user name with password, and a cloud service (a container for your virtual machines).
Create new virtual machine
The main difference between installing Windows 8.1 in Azure and installing on premises is that the user account is a local account and not a Microsoft account. If you want to test features for which you need a Microsoft account, you can add new users after you log on to the Windows 8.1 machine. However, I wasn’t able to log on with a hotmail.com account or a Microsoft account with a custom domain. Both accounts worked fine on on-premises clients. I was only able to log on via RDP on the Azure VM when I created an outlook.com account in that VM.
You will probably want to work in an Active Directory account in your lab, anyway. You can use the Active Directory service in Azure or install your own domain controller. I recommend working with the second option because the Azure Active Directory differs from an on-premises Active Directory. You want to make sure that your test lab is as close as possible to your production environment.
All in all, building a lab in the cloud is not so different from working with an on-prem virtualization solution. However, running your lab in Azure has advantages and disadvantages. Let’s look at the advantages.
Pay-as-you-go pricing ^
One of the major advantages of the cloud is that you only pay for the resources you actually use. This is the reason why test environments are a perfect fit for the cloud. Actually, when Amazon first launched AWS, it was only used by developers who tested their applications in the cloud. The point is that you probably won’t use your lab 24 hours a day. Perhaps you only run tests once per week, which means that your lab is unused the rest of the time. Plus, the resources you need vary with every test. Sometimes you only need one VM, sometimes you need 100. Thus, in the long run, you can save a lot of money by running your lab in the cloud.
Perhaps even more important, from an admin’s point of view, is that you never have to ask your boss again when you need new hardware for your lab. Once you have your monthly budget for Azure, you no longer have to explain why some things have to be tested before they can be deployed.
I didn’t find any specific pricing for Windows 7 and Windows 8.1 in Azure. Thus, I assume that pricing is no different from Windows Server’s pricing. You might think that this is unfair because a Windows server license costs more than a Windows client license. However, when it comes to TCO, costs for software licenses were always more or less negligible. This is not different in the cloud.
The smallest virtual machine you can book in Azure has only 768MB, which is not enough to run a Windows client. However, the next bigger size (Small [A1]), with 1.5GB of RAM, is probably good enough for most testing scenarios. Prices start at $0.074 per hour. The next size up, Medium (A2), has 3.5GB of RAM and costs $0.148 per hour. If you want to estimate how much your lab will cost, you can use Microsoft’s Azure Pricing Calculator. Note that, in theory, you always have to take storage and bandwidth costs into account. However, in my experience, these additional costs are often negligible in the cloud.
Unlimited resources ^
Another plus of the cloud is that resources are essentially unlimited. One problem with test environments is that they usually represent only a small subset of your production environment. In most cases, this is not a problem. However, you might sometimes want to run a more realistic test. I think your on-prem lab is good enough for most cases but is not really suitable for large-scale tests. And, if your lab is really big enough for those exceptional cases, you most likely wasted your employer’s money.
If a large-scale test is unavoidable, you might have to order new hardware. This can take some time depending on your hardware vendor. In the cloud, “ordering new hardware” can be done in a matter of seconds. Thus, you’ll never have to postpone a project again just because you need to wait for new hardware for your lab.
I don’t have to tell you that postponing a large-scale deployment is sometimes not an option. How often did you deploy without previous tests because you simply didn’t have enough resources available for a realistic test in your on-prem lab?
If your organization has a responsible security policy, only servers that provide services for external users can be accessed through the Internet. Your lab probably doesn’t fit into this category. If you are one of those IT pros who can’t wait until the next day when you have a flash of inspiration in the shower, you will appreciate that you can access your lab easily from home.
If you know the guy who manages your corporate firewall, you might be able to access your on-prem lab from home. However, this exposes your lab servers to the bad guys on the Internet. And we both know that your lab doesn’t always meet the same security standards as your production systems do. By contrast, your lab in the cloud is physically separated from your on-prem production systems, which is why your Internet-accessible lab is no threat to your corporate network.
Cloud experience ^
If you belong to the vast majority of admins who have no experience in the cloud, running your lab in Azure is the perfect opportunity to get started. Perhaps your current employer has no plans to move systems to the cloud; however, adding cloud experience to your CV, could be helpful if you ever want to apply for a new job.
If your current employer decides to take advantage of the cloud in the near future (which is very likely), you belong to the group of admins who possess experience. I wouldn’t also rule out that once you notice how efficient cloud computing is, you can convince your boss to take a closer look at Azure. And let’s not forget that working in the cloud is simply fun.
In my next post I will have a look at some of the disadvantages of running a lab in Azure.