DEV Community

RGEv1L
RGEv1L

Posted on • Updated on

Virtual WorkSpaces for Remote Teams: Match your team’s needs without buying hardware

Intro:

Building and managing remote teams can be painful if you are not fully equipped with the right tools for it. Matching the computer and storage needs for your team members has always been challenging, and one of the worst parts is that it is constantly changing, and the other being providing IT support for the remote laptops that have gone bad. The big-fat laptops that you just bought for the worst-case scenario aren’t going to keep up with the resource demand for long, and your IT administrator won’t be happy traveling to remote resource's homes to fix their laptops. So, how can you avoid buying expensive hardware and still equip your team with the ability to handle the changing resources demands and have IT provide support? Moving to Virtual Environments is your best option.

Options:

All the premier cloud-services providers provide virtual workspaces in order to help remote teams in provisioning scalable resources on-demand and monthly/yearly reserved. You can spin up a remote Windows or Linux environment in minutes and quickly scale it up and down based on what your team requires. AWS provides Linux powered Workspaces, starting from 21$/month, and Windows Powered Workspaces, starting from 25$/month. The cheapest, workable, browsing-capable laptops that won’t lift the top of your head while working starts from 250$. You get a cloud-environment that is manageable by your IT guy and can scale it up and down based on your team’s demand. However, there is more to that.

Benefits:

  • Secure authorization
  • Managed accounts
  • Scale CPU/MEM/STORAGE on demand
  • Automated backups
  • Return Workspaces if not needed

Limitations:

If your team is low in count per region, example if you have 3 people joining from Middle-East, 2 people joining from South-America, 5 people from North-America and 3 people joining from India, Spinning up domain controllers in each region will sky-rocket the price crazy. To avoid it:

  • Go with AWS WorkDocs for directory service wherever it is available.

  • If WorkDocs is not available, spin Active directory service if the number of users is greater than 5 for that region.

  • If both of the above conditions are not met, your are far better with spinning up an EC2.

Deep Dive:

Managed Workspaces, provided by cloud services providers, are a great choice if you don’t want to manage Virtual Workspaces. Also, you can expect everything from increasing CPUs, memory, and storage to automated-backups, secure-logins, etc. should be a click away. But if you really want to double-down on cost and performance, you can move to provision your own Virtual Machine by setting up remote procedures, setup users and their resource quotas, and you are good to go.

Stacked Workspaces vs Single user Workspace:

Setting up a single workspace for each team member is certainly more easily manageable and less of an administrative hurdle. However, it tends to waste resources as well. Each single workspace you provision is going to have its own boiler-plate resources that are inevitable. If you provision 50 managed workspaces, that would be 50 cores and ~100 GB of RAM wasted to run the individual operating system on each workspace. On the other hand, the lesser-known fact is that not all the users are going to use 100% of the provisioned CPU and Memory all the time. Most of the time, the resources will sit idle. It is a common practice to provision a 16 core VM and assign 20 users to it. This works fine because 1 core is spared for OS, and 15 cores is still an overkill for 20 users working on excel or browsing etc. So, in order to stack a team of 50, a 48 core VM is more than enough to host 50 users if building for worst-case scenario.

Let's discuss requirements:

  • AWS Workspace for Linux with 2 cores / 4 GB / 90 GB is about 29$ per user. Keep in mind that only 2.5 – 3 GB of RAM and 1 core is fully available to the end user only. For 50 users, that would be 1450$/month.
  • AWS EC2 with 32 cores / 128 GB RAM / 5 TB ~ 1200$/month.
  • Most budget-friendly laptop with $250 price tag for 50 users is 12500$

Additional Options:

What to do with VM after working hours? With your own managed VM, working hours are usually 8-10 hours out of 24 hours. So, still you are going to waste your Managed / Un-managed workspace for 2/3 of the day that you already paid for. With a single instance with a huge core count, you can put it to good use. You can use the same VM for rendering, conversion, compression, ML, DL, and many more jobs that require huge resources stacked in a single VM. You can’t do that with your managed workspaces. So, here is the additional, not-so-talked advantage of having your own instance at your disposal.

Conclusion:

At the end, it depends on what your exact requirement is, and how much responsibility you want to take while managing resources for your remote teams. Assigning laptops is still fine if you don’t care about budget, and your team is good enough to take care of their devices. Managed workspaces are for ease of use with flexibility and no up-front. Managing your own VM is when you want to utilize your money properly and extracting almost everything you are paying for.

Additional Life-Saver Notes:
-Prepare a base-line for Windows-Server and Linux with GUI (XFCE4) with common packages like firefox, 7zip, vscode etc and dont add any users. Create an AMI and you can take it to whatever region for re-deployment. Install additional packages later as per users requirements.

Top comments (0)