A crucial step in establishing a company's IT infrastructure is choosing the appropriate hardware server. This server should support a remote work system and be easily adaptable to address specific challenges. Terminal servers fit this requirement seamlessly as they are designed for the efficient establishment of remote work systems and provide computing resources to users in colocations within data centers, dedicated server rooms, or from hosting providers.
What is a terminal server? Definition of terminal server
A terminal server is a robust hardware and software system boasting significant CPU power, disk space, RAM, GPU, and permanent storage capabilities. It also comes with requisite software. Its primary function is not just data storage, but also to facilitate connections for terminal clients. These clients, often lightweight workstations, connect to terminal servers via local or global networks.
Historically, terminal servers evolved from systems designed for centralized information processing. These systems combined a high-performance server, known as a mainframe, with connected terminals. Specialists primarily used these setups. Mainframes were accessed by users in a time-sharing mode, often through standard telephone lines or other communication channels.
Today's terminal servers function similarly. They transmit pre-processed images to terminals (akin to screen sharing) and can monitor interactions made through I/O devices. Moreover, users operate in discrete environments, ensuring they don't alter the preset configurations.
What is a terminal server used for?
The primary function of a terminal server is to provide remote users with access to desktop environments. In addition, terminal servers allow for the following:
- Resource-Intensive Application Use: Terminal servers are powerful and highly scalable, enabling them to run applications that demand specific hardware specifications. This makes such applications available to all users without duplicating data.
- Remote Workspace Access: Terminal servers enable access to your workspace from anywhere. They can also restrict terminated employees from accessing corporate data.
- Cost Savings: Maintaining terminal servers is often more cost-effective than maintaining high-end PCs. Furthermore, terminal servers tend to be more energy-efficient, leading to savings on electricity.
- Centralized Infrastructure with Enhanced Security: Terminal servers facilitate a centralized infrastructure with heightened security measures. This is accomplished by filtering network traffic through network firewalls and controlling remote users' access rights.
- System Reliability: With the terminal server acting as the sole potential point of failure, its deployment helps reduce system breakdown risks. Additionally, it can be bolstered with backup systems like diesel generators, uninterrupted power supplies (UPS), backbone internet providers, geo-distribution systems, and failover clusters.
Advantages and disadvantages
Benefits of using terminal servers:
- Licensing Savings: By transitioning from per-workstation licenses to a general license, companies can achieve cost savings;
- Resource Availability: Digital resources of the organization are accessible anytime, from any device and location;
- Centralized Application Management: Applications are installed just once on the terminal server, facilitating regular centralized updates;
- Infrastructure Control: Terminal servers allow control over the entire infrastructure from a single point.
In addition to obvious advantages, it should be said about disadvantages of using terminal servers:
- Licensing Complications: Shared server usage might not be permitted for some applications, leading to potential licensing challenges;
- Software Errors: Significant mistakes in software configuration and operation can hinder user productivity;
- Potential Downtime: Users might experience downtime due to communication interruptions between the server and terminals.
Architecture and licensing of terminal servers
A terminal server system comprises three primary components:
- Client Program: Installed on each user's device, this program facilitates connection to the server via the RDP (Remote Desktop Protocol);
- Centralized Server: Typically equipped with multiple processors, this server centralizes resource hosting;
- Remote Desktop Protocol (RDP): RDP governs the data transfer between the client and the server.
Supporting the terminal server system are additional services, including:
- Sessions Directory Service: This service maintains a session list indexed by usernames, ensuring users have a consistent connection to a specific server;
- TS CALs (Terminal Services Client Access Licenses): Necessary for user connections, these are managed through the Terminal Services Licensing Service.
Licensing for Terminal Services is facilitated using RDS CALs, which fall into two categories:
- * Device CALs: Intended for remote desktop installation on servers, these licenses are issued without regard to the number of clients connecting through a given device.
- * User CALs: These licenses allow for the initiation of a remote desktop session on the server without considering the number of devices used for connection.
Choosing the right terminal server
When selecting a terminal server, consider the following factors:
- Scalability: Opt for servers that can scale both horizontally and vertically;
- Application Deployment: Avoid deploying multiple systems on a single server node. A node failure can disrupt multiple systems, so it's wise to place the terminal server and database on separate nodes;
- Performance Margin: Ensure there's a sufficient performance margin, ideally around 20-30%, to accommodate peak loads;
- User Capacity and Growth: Anticipate the number of potential users and future growth. If you expect an increase in employees, select a server that can accommodate multiple processors and allows for RAM and storage expansion;
- Disk Subsystem: The disk subsystem should offer high read/write speeds and efficiency. A large cache in the disk controller will enhance data exchange speeds and improve fault tolerance in RAID arrays..
For high server fault tolerance, it is better to create a cluster with a load balancer. This will reduce reputational damage and the risk of not receiving full profits. Moreover, downtime compensation costs will be reduced to zero.
Given the demanding requirements of RDS software solutions, a robust, resource-intensive, and fault-tolerant server is essential. The server should fully cater to user and business needs. We recommend platforms like Dell EMC PowerEdge R640/R740 or HPE Proliant DL360 Gen 10/DL380 Gen10.
Our team of experts is on hand to help you select the optimal configuration based on these platforms and answer any questions you may have.