Working with AWS Workspaces

pexels-photo-356056.jpeg

 

A bad workman always blames his tools” – Someone in history

 

Amazon Workspaces is a fully managed secure Desktop-as-a-service (DaaS as they call it) solution that runs on the AWS cloud. They provide virtual cloud based Microsoft Windows desktops with the configuration you require. The AWS console lets you provision any number of virtual desktops that you may need for your daily use or for focused use such as product testing. Once you configure one workspace with the necessary software and settings, you can create it as an image and provision the remaining required virtual workspaces as a clone of this image. This will save you a lot of time and money when you need to configure a large number of desktops.

There are two billing modes in which these workspaces can be configured:

  1. ‘Always on’ mode where the workspaces will always be online and you pay a fixed monthly fee for unlimited usage during the month
  2. ‘Auto-stop’ mode where the workspaces will go to stopped (hibernate) state when there is no activity for a preconfigured duration (can be changed at any point) and you pay a small fixed monthly fee per WorkSpace to cover infrastructure costs and storage, and a low hourly rate for each hour the WorkSpace is used during the month

You can mix monthly and hourly billing within your AWS account, and you can also switch between billing options at any time during a billing period to optimize your AWS bill. For more details on pricing you can visit the AWS pricing page.

Given below is a simple comparison of cost associated with the commissioning of 1000 on premise virtual desktops and AWS workspaces

Number of Users 1000
TCO for 1 Month (Amortized) VDI Solution
Costs Items On-Premises Amazon WorkSpaces
Hardware Costs
Server Hardware For Compute Hosts  $      19,018  $           –
Server Hardware For Management Hosts  $       1,698  $           –
Server Hardware For Database Hosts  $       2,312  $           –
Storage Hardware  $      24,325  $           –
Network Hardware  $       4,606  $           –
Hardware Maintenance  $       4,735  $           –
Power and Cooling  $      10,814  $           –
Data Center Space  $       6,026  $           –
Software Costs
Load Balancer/Access Gateways  $       1,875  $           –
Virtual Desktop Software  $       2,948  $           –
Client Access Licenses  $       3,000  $           –
Administration Costs
Hardware Admin Costs  $       8,333 n/a
VDI Admin Costs  $       8,333 n/a
Desktop Management Admin Costs  $       8,333  $      8,333
Cloud Resources  $            –  $    35,000
Total Costs  $    106,356    $    43,333
Savings Over On-Premises Option 59.26%

 

(Source: https://aws.amazon.com/blogs/aws/tco-comparison-amazon-workspaces-and-traditional-virtual-desktop-infrastructure-vdi/ )

AWS also provides a cloud console which you can use to control the workspaces. It provides options to start, stop or reboot workspaces. The GUI interface can be a bit frustrating at times as you will not be able to restart/stop/start more than twenty workspaces at a time. Fortunately, however, AWS provides its own command line interface (CLI) which can be downloaded, installed and configured to work with your AWS workspaces. There are various Windows Power Shell commands which you can use to make your life easier. Once CLI has been installed, create JSON files with all the workspace IDs in this format.

 

JSON
[
    {
        "WorkspaceId": "xx-xxxxxxxxx"
    }, 
    {
        "WorkspaceId": "yy-yyyyyyyy"
    } 
]

You can add a maximum of twenty workspace IDs per JSON file. Create as many JSON files as needed to accommodate all the workspaces you have purchased.

To run the commands, open a windows power shell window and CD to the directory where you have saved your JSON files.

  1. To start workspaces: aws workspaces start-workspaces –start-workspace-requests file://WS-set1.json
  2. To stop workspaces: aws workspaces stop-workspaces –stop-workspace-requests file://WS-set1.json
  3. To reboot workspaces: aws workspaces reboot-workspaces –reboot-workspace-requests file://WS-set1.json

This command will only work on the twenty workspaces whose details are entered in the json file. In order to run the command for more than twenty workspaces, create a batch file and add the command for each workspace in a separate line. You will only need to run the batch file once. You can create a separate batch file for each action.

You may also need to modify the properties to hibernate or stop the workspace after a preconfigured duration. The power shell command to perform this action is

aws workspaces modify-workspace-properties –workspace-id yy-yyyyyyyy –workspace-properties RunningModeAutoStopTimeoutInMinutes=mmm

*yy-yyyyyyyy is your workspace ID and mmm is the duration in minutes after which the Autostop workspaces will go into hibernation if there is no activity.

Complete documentation for Command line interface commands can be accessed here.

The AWS workspaces can be used for a wide range of applications. It can be accessed via mobile devices for users who wish to access their desktops using their iPad, Kindle Fire or Android tablets. You can use it to run high performance graphics applications as you have the option to include a high-end GPU. You can use AWS workspaces to scale the use of generative design to run hundreds of simulations in one hour instead of several hours or days. Going with the trend of creating virtual teams and remote employees, AWS Workspaces provides the best possible infrastructure to keep your team future ready. It can help you by keeping intellectual property safe as developers will not be able to save the source code locally on developers’ devices and is secure.

While AWS can only provide the infrastructure, it is upto the individual to use it as creatively as possible as Amazon have now made it near-impossible for the workman to blame his tools.

 

 

 

One thought on “Working with AWS Workspaces

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s