Application streaming is one of the emerging technologies I'm most bullish on. So far its full potential has flown under the radar, but there are companies doing impressive things with it:
- Xbox Cloud Gaming, currently in beta, streams Xbox games from cloud servers with low latency even on an LTE connection. It's powered by Rainway, whose streaming offering has pivoted from video games to fully-interactive streamed apps of every kind.
- Google Stadia is a similar service with a library of games you can buy and then play exclusively through the cloud.
- Amazon AppStream offers non-persistent desktops and apps in the cloud. It interfaces with identity and storage solutions to provide secure work environments for enterprise customers.
- Workspot was the first cloud workstation company. They began offering cloud Linux desktops in 1999, but shut down in the aftermath of the dotcom crash. Their domain and name were purchased by a company that now offers cloud Windows desktops, including high-end GPU solutions for graphics-intensive work.
- Shadow PC is a B2C offering of persistent high-end cloud PCs originally marketed to gamers. At $30 per user per month, it also has compelling potential for enterprise customers.
- Remote Desktop tools, while clearly behind the forefront of technology, have long been popular for work that must occur in a particular location or on a particular operating system.
Amazon AppStream, Workspot, and Shadow PC fall under the umbrella of Desktop-as-a-Service or DaaS. DaaS allows powerful workstations to be provisioned in the cloud and used for professional, performance-sensitive work via an endpoint---that is, any device with a screen. The advantages to using a cloud workstation instead of traditional hardware are strong enough that I predict it will eventually become a major player in enterprise work.
There are some barriers to be crossed, though. Most people would probably say they prefer to have their computing power inside their computer rather than connecting to a remote workstation every time they need to do something more demanding than sending an email. It's true that there are several potential downsides to remote computing as a way of life:
- Performance: Most people's experience with remote computing is limited to Remote Desktop on Windows. Remote Desktop is an awful experience, characterized by an ultralow frame rate and 100ms or more of latency as a baseline. When running a CPU-heavy process it quickly becomes unusable. If this is your only point of reference, a knee-jerk reaction against the category is completely understandable.
- Internet dependence: If your ISP isn't dependable, any blip in your connection could mean temporarily losing the ability to work. Internet dependence also makes travel more difficult. A connection that dips in and out every few minutes (e.g. on an airplane) is enough to drive anyone up the wall, so the idea of losing access to your entire computer when that happens is especially unpleasant.
- Versatility: As inadvisable as it may be, many people use their work computer for non-work activities like contracting on the side or playing video games. A workstation intended for remote computing would mean diminished capacity on one's physical endpoint for other things.
- Ownership: Some employers would abuse their access to remote workstations to install spyware on their employees' computers or delete files without permission. Beyond that, there's also a sense of pride involved in owning a high-performance computer (even if it's technically property of the company). Some employees may measure their value to the company by the class of computer allotted to them.
- Distance and complexity: If a physical computer breaks down there are things you can do to try to rescue it, like booting in Safe Mode or removing the battery. A remote workstation doesn't offer these possibilities. The physical distance between you and your primary computing environment can be a factor in how difficult it is to troubleshoot problems.
- Incentives: Dell, Apple, et. al. are incentivized to build the fastest computers possible. The first thing a power user (read: big spender) does when comparison shopping is look at the performance specs of each device. A cloud computing vendor's target market would be enterprise companies, not end users, so they may be incentivized to sacrifice performance for a variety of reasons. When many decision-makers are involved, performance almost always goes by the wayside.
So pushback from employees should be expected. Much of it is justified. Having a high-performance computer issued by your employer is a good experience most of the time, and Remote Desktop is a bad experience most of the time. However, Remote Desktop is not representative of the sector. With the right technology, there are considerable potential advantages to working in a cloud desktop environment:
- Performance: Processing power can be offered more cheaply and efficiently in the cloud. A cloud environment also has the ability to offer automatic scaling for CPU, GPU, RAM, and hard drive space. No employee uses all of their computer's resouces 24 hours a day---but many hit 100% now and then, suffering reduced productivity on power-intensive tasks. The ability to hot-swap cores and capacity between environments, making efficient use of hardware and employee time, is possible if they all exist in the same cloud.
- Theft mitigation: Stolen computers are estimated to cost the corporate world 2.1 billion dollars per year. The actual computer hardware is only a fraction of the total cost per incident. It can take a week or longer to procure and ship a replacement computer and then for the employee to install the applications they need and restore their files and settings. There’s also a significant security cost for an IT team to investigate the incident, roll over compromised tokens and passwords, and mitigate any associated data loss and regulatory risks. On the other hand, if the employee’s computer is a cheap and naive portal to a cloud system, it can be replaced without incurring setup time and few if any files will have been compromised. Under ideal circumstances mitigation would consist of resetting the employee’s cloud password and ending any active sessions. As long as employees practice good internet hygiene, many of the security risks of laptop theft can be avoided entirely.
- Emergency access: In the event of a breach or zero-day a company would have the means to audit, patch or update every employee’s workstation overnight without waiting for them to respond to a notification or even turn on their computer. Of course any back door into cloud workstations would be a major part of the company’s risk profile, and many would prefer not to do this, but for less privileged systems there are security-conscious ways to allow limited access for urgent concerns.
- Easy upgrades and repairs: Upgrading an employee’s workstation involves several of the same costs and delays as replacing a stolen machine. If their primary work environment is in the cloud, however, all the hardware components they rely on can be upgraded without their direct involvement. No productive time needs to be lost. Their disk can even be imaged and moved to a new configuration or a whole new cloud with minimal disruption. And if there’s a problem with their cloud workstation, there’s no need for them to ship it to the company’s IT department and wait for it to be returned. Their physical endpoint may still break down, but since one endpoint is as good as another, the cost of replacement is marginal.
- Form factor: Cloud desktops offer everyone the ability to use the endpoint that best meets their needs regardless of the amount of computing power they require, whether that’s an iPad with a keyboard cover for frequent flyers or a dual-monitor station with a mechanical keyboard for those who work from a home office. In a pinch you can even stream your workstation to a smartphone or smart TV.
As a software engineer that works in technology throughout the stack---data visualization, compiled code, ETL processes, performance-sensitive queries and so on---my response to a Desktop-as-a-Service offering at work would depend heavily on the technology powering it. The advantages are clear: the power and freedom to work without disruptions and never have to think about my hardware. But the potential downsides do give me pause. To get buy-in, I think most employees would need some assurances:
- Performance: Beyond a simple uptime SLA, streaming performance should be part of the contract so that incentives are aligned. Any network latency or framerate reduction that can be detected by a human is too much. A cloud workstation has to replicate the responsiveness and smoothness of a native workstation to be a suitable replacement. There's ample evidence that video games, the most latency-sensitive applications there are, can perform admirably over streaming---even on Stadia, a service criticized on release for its latency issues, I found Destiny 2 to be perfectly playable. Better technology and closer data centers should keep latency in the single-digit millisecond range or close to it, but if poor corporate decision-making and technical bloat lead to slowdowns, clients should have contractual recourse.
- Choice: Employees should know that DaaS is being offered for their convenience and productivity, not as a cost-cutting measure. Most companies understand that giving up even one percent of their workforce's productivity to save a few bucks on workstations would be shooting themselves in the foot. But to avoid any misunderstanding, DaaS should be opt-in with the ability to opt out at any time and trade in one's cloud workstation for traditional hardware.
- Privacy: The exact circumstances and conditions of corporate access to an employee's cloud workstation should be specified in clear and simple terms. For example, if an employee uses a picture of their family as a desktop background, they should know that the picture is their own private file and won't ever be accessed, copied, or used by anyone else. If their workstation ever has to be accessed without their advance permission they should be notified immediately.
- Backups: Every employee's cloud storage should be backed up at least daily. An incident at the data center should never result in loss of work.
- Scalability: Since CPU cores and memory can be offered more cheaply in a data center than in individual hardware endpoints, employees should be aware that they'll have access to more computing power via DaaS than they could reasonably have in a traditional workstation. Where possible, automatic server scaling should also be offered. The prospect of being able to scale up to supercomputer levels of processing power will be very appealing to data engineers, video and audio producers, and other power users. But this has to come with a guaranteed minimum (never less than x CPU cores, y GHz of processing power, and z GBs of RAM per workstation) so there's no concern of bottlenecking during peak hours.
- Ease of access: Although it's reasonable to ask employees to be protective of their cloud password and use multi-factor authentication, accessing their cloud workstation shouldn't be a hassle. To use a device via Remote Desktop it's sometimes necessary to pass two or three login screens as well as open an Authenticator app to get a generated token or wait for a one-time code via text message. Logging into a cloud workstation should involve a single login screen: username, password, 2FA code.
These caveats granted, I would jump at the chance to use a cloud workstation versus my current work computer. No more week-long setup process when I upgrade my hardware, no more carrying around a heavy and costly work laptop when I go on vacation, no more trying to explain complicated fixes over the phone if something breaks while I'm away from my computer. If you tack on the benefits of increased processing power for intensive queries and tasks, the decision is easy.
I don't expect everyone to agree with me. Travelers, people who don't have access to reliable internet, and hardware enthusiasts will always prefer to keep their processing power on their desk. But all in all I think it's inevitable that cloud workstations will play a bigger and bigger role in our work lives.