AWS provides an unrivalled range of cloud services but can be complex to work with and difficult to budget for. Critically, it's more expensive than Azure for Microsoft shops, as Windows licenses on Azure are heavily subsidised.
Huge range of services; Generous free and trial options; Offers true cloud desktops
Complex pricing with some hidden costs; Less competitive than Azure for Microsoft products
In the cloud computing space, one name stands out, well above the rest; Amazon Web Services. Often referred to simply by its initialism, AWS is the software arm of the e-commerce giant that provides the backend infrastructure for pretty much half the online service you've most likely heard of.
Migrating networks and servers to the cloud has become the done thing for small and medium enterprise businesses. It's also AWS that really capitalised on this demand offering things like virtualised desktop workstations, as well as core infrastructure, long before any of its rivals.
AWS has layers upon layers of features for migration. That includes primarily core servers, directory services and virtual private clouds that handle virtual networking, and VPNs that connect physical machines to online infrastructure.
Amazon Workspaces cloud desktops are also particularly valuable to businesses with high numbers of remote workers. All of these options can lead to significant savings on capital expenditure and also provide a secure alternative to having employees work from their own machines.
AWS claims its strives for 99.99% uptime in each of its geographical regions and, if it should go down, the company provides credits that can be spent on the affected services. More importantly, you can choose which region to host your services in, which can be beneficial for both legal compliance and performance for the people connecting from that region.
Amazon Web Services: Deployment
AWS has a frankly dizzying array of features, from machine learning testbeds to augmented reality application development and Internet of Things connection kits, but we're interested in servers and networking to support a standard office.
For this, you'll want to deploy a Virtual Private Cloud and, on that, deploy any servers to handle whatever single sign-on, storage and database needs your business has. VPCs are easy to manage if you're already confident with network infrastructure, but to connect your office to your cloud-based network, you'll need a fast internet connection and a firewall router powerful enough to handle a high-throughput VPN connection.
When deploying VMs, you can't just upload an ISO of your choosing and install that - only a rather limited list of Windows and Linux versions are available to install. However, it is possible to upload a VMware, Citrix, Hyper-V or Azure virtual machine image via an Amazon S3 storage bucket or – easier still – via the AWS Server Migration Service and connector software installed on your existing platform.
Amazon Web Services: Pricing
No matter which data centre region you're based in, in the world of AWS, everything is in US dollars, right up until the point at which your final bill is calculated in your choice of currency, based on Amazon's internal exchange rate.
This can be rather annoying, particularly when the pound undergoes major fluctuations due to political events, as it makes your month-to-month costs less consistent than they otherwise would be.
The default option for your AWS deployments is its On-Demand pay-as-you-go pricing. However, as with Microsoft Azure, you can save money if you deploy longer-term reserved instances for any virtual infrastructure that you plan on leaving in operation for an extended period.
Needless to say, the exact costs of any deployments will vary widely depending on your exact needs. To provide a basic example, we use the AWS Simple Monthly Calculator to cost up a single general-purpose virtual machine running Windows Server on a two-core, 8GB VM with a 'moderate' connection - estimated by various third party tests at around 300Mbit/sec - costs $152.26 per month, plus $36.60 for a 1024GB HDD.
The speed of that network connection makes a great difference to pricing: two cores and 8GB RAM on an up-to-10GB/sec connection cost $282.56 per month. A little less variably, an Active Directory connector starts at $43.92 and a Virtual PrivateCloud at $36.60 per month for a single connection from your office router.
Critically, the estimation tool - unlike Azure's - won't generate a baseline estimate of how much data in and out a business might use every month. You'll have to estimate that manually: at an estimated 100GB per month in and out (only outbound traffic costs anything in this scenario), we'd pay $17.91 per month.
That adds up to $294.71 (242.53) per month, including a small free tier discount. For Windows servers, Microsoft's Azure platform is much more competitive at the moment: 196.68 per month will get you a similar setup.
A lot of that is to do with the cost of licencing Windows, which Microsoft can subsidise for Azure users. Switch that AWS server VM to Linux, and it'll cost $84.92 per month, rather than $152.26.
Amazon WorkSpaces virtual desktop computers start at $7.25 per month plus $0.17 per hour of active use (or a flat $21 per month) for a Linux desktop system and $7.25 per month and $0.22 per hour (or a flat $25 per month) for a Windows desktop, with one core, 2GB RAM, an 80GB root volume and 10GB of user storage.
AWS can sometimes spring unexpected costs on you, for example by billing hourly for IP addresses that were once attached to a terminated VM. Similarly, leftover key pairs and storage drives associated with virtual machine instances incur charges if they're not manually deleted when an instance is.
Data throughput and the sometimes arcane relationships between services can also add to the cost of AWS deployments, and you might miss out on its free intra-region data transfer fees if you don't set everything up correctly.
In the case of a Virtual Private Cloud, you'll have to create a specific subnet endpoint pointing at the AWS service you're trying to connect to in order to benefit from free throughput: connecting to a public IP address provided by the service will result in data transfer being billed as though it was going to a location on the wider internet, rather than inside AWS.
Like Microsoft and Google, AWS provides a wide range of free services intended to allow administrators to extensively prototype and test cloud-based systems and services for their business, from short-term free trials to always-free services and free 12-month subscriptions for new AWS subscribers.
In the latter category, new users can run up to 750 hours a month of Linux and Windows EC2 Micro virtual machine instances, 5GB of S3 storage, various Amazon WorkSpaces cloud desktop and AppSteam always-available desktop application streaming bundles, 750 hours of database services and more.
In the Always Free category, you'll get ten CloudWatch resource monitoring deployments, 62,000 outbound email messages, 10GB of Glacier cold storage, key and licence management, 100GB of hybrid cloud storage, and Amazon's Chime unified communications platform among other bits and pieces.
Amazon Web Services: User interface
The AWS Management Console is a lot nicer to look at and carry out day-to-day management and deployment tasks with than Microsoft's rival Azure platform. There's more white space and fewer immediately visible options, which helps to make it feel less cluttered.
Your most recently visited services are front and centre, and you can open a full list of every single one of AWS' vast catalogue of services. At the top of the page is a search interface, where you can search for services by name or function, so if you search for 'virtual desktop', you'll be directed to WorkSpace and if you search for 'cold storage', S3 Glacier pops up.
Below, a range of wizards and tutorials are available to help you deploy and work with popular services such as virtual machines, virtual servers and hosted web apps. Each service has its own management interface which, again, is a little more comfortable to use than Azure's.
However, there's a distinct design language at work here that you'll have to get used to, particularly if you're primarily familiar with Microsoft's Server and cloud products. We were pleased to find that free-tier eligible options were clearly marked when we used the VM deployment wizard, which also provides helpful guidance when it comes to keeping your deployments secure, such as locking access to specific IP addresses.
Amazon Web Services: AWS vs Azure
While AWS has dominated the cloud market for around the last 15 years, it is more competitive today than it has ever been. Three US companies sit comfortably at the top, with Google Cloud seen at the third best, and Microsoft's Azure a very close second to AWS. Google and Microsoft's platforms are less complex than AWS', in terms of the tiered options for features and pricing, though AWS' well-designed interface is effective at breaking down the different options for users.
AWS customers should make full use of Amazon's quote generator and cost management tools where they can keep tabs on what they're using to avoid running up unexpected costs. Data throughput costs are not bundled in here, so they will have to remember to include them in estimates.
The sheer breadth of features on AWS can make it a confusing experience, but it is number one for a reason; it's reliable, highly flexible and immensely cost-effective. Plus, it offers a wider range of services than any other cloud provider. However, for your business to get the best out of it, you'll need a dedicated expert to manage it – either staffed or freelance.
In comparison, Microsoft's Azure isn't much easier to use, though its management interface does feel a bit more familiar, particularly to Windows aficionados. What's more, Microsoft's pricing for Windows-based services is more affordable than AWS – essentially making it slightly better for most office infrastructure migrations.
Amazon Web Services review: Requirements
- Fast, ideally symmetric, internet connection
- Powerful firewall router with VPN support
K.G. is a journalist, technical writer, developer and software preservationist. Alongside the accumulated experience of over 20 years spent working with Linux and other free/libre/open source software, their areas of special interest include IT security, anti-malware and antivirus, VPNs, identity and password management, SaaS infrastructure and its alternatives.
You can get in touch with K.G. via email at firstname.lastname@example.org.