Amazon Web Services has evolved from a Linux-only domain into a domain that supports almost any operating system. AWS added support for Microsoft Windows Server, but many may still question why an enterprise would use AWS for Windows Server.
Many of the reasons for running Windows Server on AWS apply to all other server platforms. You can take advantage of the redundancy and elasticity in Amazon's cloud services. You can reduce dependency on a particular piece of hardware. You also can freely experiment with different memory sizes and processor configurations.
While all features associated with AWS are too extensive to cover here, it's worth mentioning a few major AWS features as they relate to a Windows Server instance.
The basics of AWS for Windows
If Windows Server admins plan to use AWS, the first thing they should do is get familiar with AWS as a system, especially with how virtual machines (VMs) are constituted, allocated and managed. Amazon's way of doing this is a breed apart from how VMs are managed in something like VMware's management console. Consequently, if you're new to AWS, take the time to understand how the system works. You should understand the way instances behave, how to control access to them and how machine instances are built from existing templates.
If you're electing to start completely from scratch, AWS has prepackaged instances of Windows Server in Amazon Machine Images (AMIs).
Various AMIs -- Amazon Machine Images, or premade virtual machines -- come outfitted with different editions of Windows Server as well as different preloaded editions of Microsoft SQL Server. Note that if you're using any version of SQL Server other than Express, the cost per instance-hour goes up due to the licensing costs for SQL Server.
If you have an existing Windows Server instance you want to migrate to the cloud, it's possible to import or export such an instance to AWS. AWS supports many VM-image formats, although you'll still want to do some homework to make sure the machine format you use is compatible with AWS. VMware vSphere appears to be the best-supported option.
For those with minimal usage requirements, AWS has a free usage tier that can host Windows Server instances. The hardware and storage for free-tier instances are minimal at 613 MB RAM for the lowest processing power. So while it's possible to run Windows Server in the free tier, don't expect to run anything terribly robust on it.
Software and applications in AWS for Windows
Apart from the Amazon-specific ways in which Windows Server instances are spun up and maintained, an AWS instance of Windows Server runs like its regular counterpart. All of the standard-issue Microsoft platform components, including IIS and the .NET platform, are available and in the places you'd expect to find them.
The full range of third-party applications can also be installed, but depending on the instance type you use, you may run into instance-specific constraints on CPU and I/O usage. Database applications, for instance, may be better suited to an instance with high I/O allotments. This includes SQL Server and any applications that rely on a database backend, such as Microsoft SharePoint or CMS applications like Drupal or Plone.
There's also another way to deploy software using the Microsoft stack (IIS, ASP.NET) in Amazon's cloud exists. Rather than setting up and deploying an entire server instance, app developers can use Amazon's AWS Elastic Beanstalk to deploy applications in their own containers, rather than in VMs. This might be a better choice for those who don't need a Windows Server instance but need enough of the environment to run a .NET or IIS-based app.
The cost of AWS for Windows
If you've used hosted instances of Windows Server, you should be familiar with how hosting providers charge a premium for Windows Server. The same goes for AWS.
Windows Server instances are slightly more expensive than their Linux counterparts, because of Microsoft's licensing. A single Linux "small" instance runs around $43 monthly, but running Windows Server on the same size instance costs about $66. You can calculate how much your instance will cost you.
Running an instance of AWS for Windows Server with SQL Server preloaded costs a little extra. This is due to the SQL Server licensing requirements. It's possible to deploy your own licensed copies of Microsoft products in AWS instances (SQL Server included), but you have to be using Microsoft's Software Assurance licensing program as well as eligible software products.
If you plan on running many AWS instances or plan to run them for a long time, you might be best served buying reserved instances, which provides a slight discount. Essentially, these instances are AWS's way to purchase instances in bulk. But be warned that reserved AWS instances don't have volume discounts for SQL Server Standard or Web installations, so you'll have to bring your own database.
Running Windows Server in an Amazon Web Services container can be far more efficient and cost-effective than provisioning a physical server. You'll need to do the research to find out if your applications, your system configuration and your licensing agreements are a good fit for what Amazon currently offers.
About the author:
Serdar Yegulalp has been writing about computers and information technology for more than 15 years for a variety of publications, including InformationWeek and Windows Magazine. Check out his blog at GenjiPress.com.