Microsoft RDS: Overcome Its Limitations

What is Microsoft RDS?

Users can access virtual desktops and applications from their endpoint devices via Remote Desktop Services (RDS), formerly known as Terminal Services. Remote connections can be accessed via the Internet or a corporate network.

Remote Desktop Session Host (RDSH) enables multiple users to access desktops and apps simultaneously on a single instance of Windows Server. In many deployments, organizations often use Remote Desktop Connection Brokers for Remote Desktop Connection (RDC) client software.

Remote Access Technologies

A large majority of the incoming workforce—younger Millennials and Gen Zers—prefer to telecommute or work remotely. Businesses that want to retain top talent are compelled to adapt. To prevent valuable employees from getting poached, companies are finding ways to provide secure remote working tools. Fortunately, there are several technologies that can help them achieve this. One of them is Microsoft RDS.

Microsoft RDS’s centralized architecture makes it possible for businesses to support telecommuting and remote work practices in a secure and cost-effective manner. Because it brings applications, desktops, and data into a central location, RDS makes it much easier for IT admins to manage, secure and maintain all these digital assets compared to when those assets had to be managed on the endpoint devices themselves.

When businesses turn to RDS, they initially have very high expectations—without considering the actual challenges. For instance, most businesses expect effortless administration of the backend servers and seamless user experience on the client-side, regardless of the device being used. Alas, once they try it out, they realize RDS has some serious limitations.

Challenges of Microsoft RDS

Like other technologies, Microsoft RDS has some weak points.

Interoperability Limitations

Interoperability limitations prohibit IT teams from combining different versions of Windows Server (the operating system that runs RDS) into one group.  RDS allows you to create groups of Windows Servers—more specifically, Remote Desktop Session Host (RDSH) servers, one of the architectural components of the RDS server framework—in a Session Collection, which is meant for load balancing purposes.

However, because different versions can’t interoperate in this configuration, you can’ migrate applications from one server version to another. Rather, you have to create a new server group and publish the same application from there. Consequently, this means you have to perform updates, upgrades, troubleshooting, and so on in (at least) two separate places.

These challenges are further aggravated by the fact that setting up network load balancing (NLB) for Microsoft RDS is complicated.

Lack of Support for Client Platforms

Another major limitation of Microsoft RDS is its lack of support for some client platforms. For example, the Remote Desktop client can be installed on Windows, Android, iOS, and macOS but not Linux. Although Linux currently has a small market share, that share is steadily growing, especially with the rising popularity of Google Chromebook (which runs on Chrome OS, a Linux-based operating system).

Legacy Apps

Businesses also need to support legacy applications. In order to do this with Microsoft RDS, you need to deploy Microsoft App-V, which is an entirely separate solution. This leads to additional integration complexity and costs. In addition, Microsoft RDS limits the application delivery by OS, making configuration and delivery complex to configure.

Benefits of Microsoft RDS 

Out of the box, Microsoft RDS does provide several benefits, including the following:

RDSH Hardware Selection

A remote desktop session host (RDSH) serves applications and desktops to multiple clients, so you need to build a powerful server. Processing power, random access memory(RAM), storage, and network configurations are vital components when sizing up an RDSH server.

Processing power

You need a faster CPU to support multiple sessions. For effective CPU configuration, you need to multiply the CPU required to support one session by the number of sessions you expect to support. While determining CPU usage, you should also maintain a buffer zone to handle unexpected spikes that are likely to occur.


Most RDSHs are memory-intensive tasks. As such, getting high-speed and error-correcting RAMs can help you add more users and applications to the RDS server without affecting the performance. You can estimate the amount of memory you need to support multiple sessions using the formula below:

Total Memory = OS Memory + Session Memory * Number of Sessions

In the above equation, OS memory is the memory required to run the operating system (OS), Session Memory is the memory that one session requires to execute. The number of Sessions is the total number of active sessions that you are targeting.


Besides the CPU and RAM, you should also consider disk configuration. In this regard, you should monitor the following disk activities:

Ideally, you need distinct storage devices to back up all the disk activities. Leveraging serial computer system interface (SCSI) disks can help you achieve higher performance. Using RAID configuration and other high-performance storage devices can enhance the performance of RDSHs.


There are two ways to determine network usage in RDSHs:

How Parallels RAS helps organizations overcome Microsoft RDS challenges

Parallels® Remote Application Server (RAS) is a virtual desktop and application delivery solution that builds on the capabilities of Microsoft RDS but avoids its shortcomings. It provides seamless access from anywhere and on any device, including HTML5 browsers.

Publish Apps from Different Server Versions

One great thing about Parallels RAS is that it allows you to publish the same application from different server versions. There’s no need to publish and manage multiple instances of the same application. This can save time and minimize administrative overhead.

Parallels RAS supports a wide range of Windows Server versions. This means your organization will have no problem publishing applications whether they’re the latest or legacy. Legacy applications are also readily supported from the get-go. That’s because Parallels RAS seamlessly integrates with Microsoft App-V.

Load Balancing and Multi-Tenancy

Load balancing in Parallels RAS is simple to set up and readily available out of the box, right after installation. There’s no need to perform complex network configurations or purchase expensive add-ons.

In a multi-tenancy environment, Parallels RAS allows you to effortlessly segregate resources (applications, desktops, and data) into sites and create an unlimited number of independent sites inside the same farm, all managed from a single Parallels RAS Console. Not only does this improve data security, but it also reduces the complexity of managing multi-tenant environments.

Support for Various Client Platforms

Parallels RAS supports numerous client platforms, even Linux-based ones like Chrome OS. You can use a Parallels RAS client that’s native to a given platform—or for wider compatibility, the HTML5 web client.

Avoid Vendor Lock-In

You can avoid vendor lock-ins because Parallels RAS can be deployed in all major public clouds—including Microsoft Azure, Amazon Web Services (AWS), and Google Cloud—as well as on-premises and hyper-converged infrastructures (HCIs). This also means you can adopt multi-cloud or hybrid-cloud strategies.

These are just a few of the many Microsoft RDS limitations that can be addressed by using Parallels RAS.

If you wish to learn more about the limitations of Microsoft RDS and how Parallels RAS solves them, read our whitepaper: How Parallels RAS Enhances Microsoft RDS.

Better yet, you can try Parallels RAS and see for yourself just how well it enhances Microsoft RDS. Download the 30-day trial.