Overview
To simplify the creation of a new Cloud Desktop deployment, itopia offers several predefined deployment types and helps you calculate the VM resources you'll need for your environment. This guide will help you understand what is created as part of each deployment type and how resources are calculated depending on the estimated number of users you specify for your deployment. This guide can also be helpful when creating an Advanced Deployment that requires you to set each component's size and configuration manually.
In both cases, it is important to note that the sizing provided by itopia is based on common usage scenarios. The sizing performed by CAS (and documented in this guide) should provide a good, cost-effective experience for most deployments; however, itopia recommends that you analyze and monitor your environment and adjust the sizing as necessary, particularly if your Cloud Desktops are running custom applications or workloads that are very sensitive to performance.
Understanding Sizing in Cloud Desktop Deployments
There are several aspects of a Cloud Desktop deployment that can be configured with different resources to accommodate the needs of your environment.
Infrastructure sizing refers to the underlying components of Microsoft Remote Desktop Services (RDS) and Microsoft Active Directory (AD). These components are responsible for supporting the Cloud Desktop environment, such as performing authentication, accepting end-user connections, and routing users to their respective resources. Generally speaking, these servers are sized only based on the number of concurrent users in the environment; what the users do in their Cloud Desktop environment does not affect the sizing requirements for these components. Sizing is relatively linear; as more users are added, the amount of required CPU and RAM resources increases in direct proportion.
Collection Pool sizing refers to the resources that actually host the Cloud Desktops for end users. These are the servers that run the desktops and applications that are delivered to end users. Sizing a Collection Pool depends on both the number of concurrent users and the types of workloads being performed by the users. Sizing is more complex and not necessarily linear; for example, while a single user may require ~1 vCPU for a workload, a host server with 4 vCPUs may be able to handle 6-8 users (or more) without a negative impact on performance.
Infrastructure Sizing
Basic Deployment
Cloud Desktop Basic Deployments are designed to provide the most cost-effective solution for your environment. A Basic Deployment includes the least number of servers to support the Remote Desktop Services (RDS) environment by consolidating certain roles on the same server.
Due to their nature, Basic Deployments have certain limitations; namely, the first Collection Pool that is created as part of the initial deployment cannot be a Dedicated Collection Pool (in which each user is assigned a distinct host server). With a Basic Deployment, the first Collection Pool must be a Shared Collection Pool (in which users can connect to any host server in the pool); however, subsequent Collection Pools that are created can be configured as Dedicated Collection Pools.
Also, because the RD Broker role resides on a host server in the first Collection Pool, the first Collection Pool cannot be deleted.
Basic Deployments do not leverage the Proxy Execution Service (PES). As such, all VMs are assigned public IPs, and CAS manages the VMs using an encrypted connection across the public internet.
Choose this for: very small environments, proofs-of-concept (POC), or secondary workloads that are not business-critical.
Be aware that: Because server roles are consolidated, Basic Deployments do not offer as much scalability as other deployment types. Basic Deployments also do not offer high availability of the infrastructure roles; if certain servers (such as the RD Gateway server or the combined Broker/Session Host server) suffer a failure, access to the entire environment will be affected until the server is recovered from backup.
Infrastructure Components
The following resources are deployed to support the core Remote Desktop Services (RDS) infrastructure in a Basic Deployment.
Resource | Quantity (Per Region) | Infrastructure Component | Type | Description |
RD Broker / RD Licensing | -- | RDS | VM Instance | The RD Broker and RD Licensing roles are installed on the first RD Session Host (User Session Server) of the first Collection Pool. |
RD Gateway / RD Web | 1 | RDS | VM Instance | A standalone RD Gateway server is created. This server includes the RD Web portal |
Active Directory Domain Controller
For deployments using New Domain - Microsoft Active Directory or Existing Domain | 1 | Active Directory | VM Instance | |
AD Domain
For deployments using New Domain - Google Managed Service for Microsoft Active Directory | 1 | Active Directory | Google Managed AD Domain Instance | Managed Microsoft AD includes native high availability and fault tolerance |
Standard Deployment
Cloud Desktop Standard Deployments are designed to provide a scalable, performant solution for your environment. A Standard Deployment provides greater role separation by assigning the RD Broker (and RD Licensing) roles to their own server. This offers additional flexibility as compared to a Basic Deployment: compute resources for the server roles can be scaled more granularly, there are no limitations on the first Collection Pool (see Basic Deployment above for more information), and there no risk that the failure of a host server will affect the entire deployment (as the critical RD Broker server is not running on a host server).
Standard Deployments include the Proxy Execution Service (PES). With the exception of the RD Gateway server, VMs are not assigned public IPs*; CAS manages the VMs using a private network route established via VPC peering.
* The RD Gateway server is assigned a public IP to allow encrypted end-user connectivity from the Internet.
Choose this for: Environments that need greater flexibility in configuration. Standard Deployments can be scaled easily and do not have limitations on configuration
Be aware that: Standard Deployments do not offer high availability (HA) of the infrastructure roles; if certain servers (such as the RD Gateway server or the RD Broker server) suffer a failure, access to the entire environment will be affected until the server is recovered from backup.
Infrastructure Components
The following resources are deployed to support the core Remote Desktop Services (RDS) infrastructure in a Standard Deployment.
Resource | Quantity (Per Region) | Infrastructure Component | Type | Description |
RD Broker / RD Licensing | 1 | RDS | VM Instance | A standalone RD Broker server is created. This server includes the RD Licensing role |
RD Gateway / RD Web | 1 | RDS | VM Instance | A standalone RD Gateway server is created. This server includes the RD Web portal |
Active Directory Domain Controller
For deployments using New Domain - Microsoft Active Directory or Existing Domain | 1 | Active Directory | VM Instance | |
AD Domain
Only when New Domain - Managed Microsoft AD is selected | 1 | Active Directory | Google Managed AD Domain Instance | Managed Microsoft AD includes native high availability and fault tolerance |
Enterprise Deployment
Cloud Desktop Enterprise Deployments are designed to provide a scalable, performant solution with full redundancy for load balancing, high availability, and fault tolerance. An Enterprise Deployment eliminates any single points of failure within the RDS infrastructure and has a greatly reduced chance of service disruption due to a server failure.
Enterprise Deployments include the Proxy Execution Service (PES). VMs in the deployment are not assigned public IPs*; CAS manages the VMs using a private network route established via VPC peering.
* The Google Load Balancer is assigned a public IP to allow encrypted end-user connectivity from the Internet.
Choose this for: Environments that run business-critical workloads that cannot sustain server-related outages.
Be aware that: Enterprise Deployments create a minimum of two servers for each role and also include additional supporting infrastructure for full redundancy; as such, the cost of an Enterprise Deployment can be significantly higher than a Standard Deployment.
Infrastructure Components
The following resources are deployed to support the core Remote Desktop Services (RDS) infrastructure in an Enterprise Deployment.
Resource | Quantity (Per Region) | Infrastructure Component | Type | Description |
RD Broker / RD Licensing | 2 | RDS | VM Instance | Two RD Broker servers are created and configured for high availability |
RD Gateway / RD Web | 2 | RDS | VM Instance | Two RD Gateway servers are created and configured in a load-balanced cluster. The RD Web server is deployed to both servers and is also load-balanced. |
SQL Server | 1 | RDS | Google Cloud SQL | To support RD Broker high availability, the Connection Broker Database must be deployed to a SQL server. CAS provisions a Google Cloud SQL instance to provide a highly-available, managed SQL database for a fraction of the cost of a standalone SQL cluster.
NOTE: Deployments created before January 2021 used a traditional SQL Server cluster deployed to 2 VM instances. |
RD Gateway Load Balancer | 1 | RDS | GCP Network Load Balancer | A network load balancer is created to provide a single connection point for end-users across multiple RD Gateway / RD Web servers |
Active Directory Domain Controller
For deployments using New Domain - Microsoft Active Directory or Existing Domain | 2 | Active Directory | VM Instance | Active Directory's multi-master design is leveraged to provide additional resiliency and load balancing |
AD Domain
Only when New Domain - Managed Microsoft AD is selected | 1 | Active Directory | Google Managed Service for Microsoft Active Directory Instance | Managed Microsoft AD includes native high availability and fault tolerance |
Advanced Deployment
Cloud Desktop Advanced Deployments allow you to define each aspect of the RDS infrastructure manually. This deployment option also exposes additional configurations such as being able to use an existing VPC network or providing a preconfigured GCP service account.
In an Advanced Deployment, CAS will pre-populate certain configurations based on the number of users you specify, but for each component you can specify whether to deploy the role on a shared server, dedicated server, or redundant servers. You can also specify the VM instance size, disk type, and disk size.
Sizing for the Number of Users
Regardless of the deployment type, CAS configures the initial resources for each infrastructure server according to the estimated number of users. In the event that the number of users for the deployment increases or decreases, these resources can be manually adjusted any time after the deployment is created.
Note that non-VM components such as the Managed Microsoft AD instance, the network load balancer, or the do not require scaling based on the number of users; these components natively support any practical number of users (well into the thousands).
Number of Users | RD Broker / RD Licensing* | RD Gateway / RD Web | Active Directory Domain Controller |
50 or fewer | e2-standard-2
| e2-standard-2
| e2-standard-2
|
51 - 250 | e2-standard-2
| e2-standard-4
| e2-standard-2
|
251 - 500 | e2-standard-4
| e2-standard-4
| e2-standard-2
|
501 - 1000 | e2-standard-4
| e2-standard-4
| e2-highmem-2
|
1001 or greater | e2-standard-4
| e2-standard-8
| e2-standard-4
|
* In a Basic Deployment, the RD Broker and RD Licensing roles are installed on the first host server of the first Collection Pool; sizing of this component is thus subject to the Collection Pool sizing defined below. |
File Server
In an itopia CAS deployment, a file server is required to store user profiles (using FSLogix profile containers) and shared network drives. Regardless of which Deployment type you select, you can choose what type of file server resource to deploy:
Standalone file server
NetApp Cloud Volume
File server role installed on a Session Host
Standalone file server
A Windows VM Instance is created to host your file shares for user profile data and shared network drives.
Number of Users | Standalone File Server |
Fewer than 1000 | e2-standard-2
|
1000 or greater | e2-standard-4
|
NetApp Cloud Volume
NetApp Cloud Volume Services is a managed service that provides SMB file shares without the cost or management overhead of a traditional Windows File Server. A Cloud Volume instance is created to host your file shares for user profile data and shared network drives.
Regardless of the deployment size or the number of users, the Cloud Volume is created with an initial size of 1 TB using NetApp's Standard performance tier. Both the volume size and the performance tier can be increased after the deployment is created.
File Server Role Installed on a Session Host
Similar to how the RD Broker and RD Licensing roles can be installed on the first Session Host, the file server role can also be installed on that same VM instance. In this scenario, sizing for the VM instance is dependent on the Collection Pool sizing for the first Collection Pool (see below).
A data disk is created with an initial size equal to 2 GB per user for the number of users specified for the deployment.
This file server option is recommended only for small Basic Deployments (fewer than 50 users).
SQL Server (for HA Connection Brokers)
When a deployment is configured with highly-available RD Connection Brokers, CAS provisions a Google Cloud SQL managed instance to host the Connection Broker database. This database is relatively small and does not require significant compute or I/O performance, even when hosting thousands of user connections.
As such, CAS provisions a single sized Cloud SQL instance for all deployments with HA Connection Brokers:
1 vCPU
3.75 GB RAM
SQL Server 2017 Express
Collection Pool Sizing
Collection Pool sizing is independent of the Infrastructure sizing defined above. Sizing a Collection Pool consists of two factors:
The resources of each Session Host VM instance
The number of users assigned to each Session Host
Determining the correct sizing for a Collection Pool requires an analysis of the workloads that users will perform in their Cloud Desktops. The key metrics for identifying the resources required for a workload are:
CPU requirements (estimated in terms of the number of vCPUs required to provide adequate performance)
RAM requirements (the amount of allocated memory to perform the workload)
Disk IOPS (the amount of read/write activity performed against data stored on the local disk)
The table below provides the preconfigured workload sizes that itopia CAS provides for Collection Pools. Administrators can choose one of the sizes below or set a custom configuration that defines both the host server size and the user density.
In order to maximize resource efficiency, itopia recommends creating different Collection Pools to support different workloads. Each Collection Pool can be configured with its own host server configuration, operating system image, and Cloud Desktop policies (such as allowing file transfers to and from the user's local device).
Shared Collection Pool
Light Workload | Medium Workload | Heavy Workload | |
Example of workload | Running Microsoft Office applications, general web browsing, running simple application | Heavy web browsing (multiple modern web apps), data processing | Media editing, code development and compiling |
Host server configuration | e2-standard-8
| e2-custom
| e2-custom
|
User density (users per host server) | 25 | 15 | 4 |
Adjusted resources per user* | 0.5 vCPU
1 GB RAM | 1.5 vCPU
3 GB RAM | 4 vCPU
8 GB RAM |
* Adjusted resources per user is calculated because compute resources do not scale linearly, thanks to CPU scheduling and memory reclaiming technologies in the microarchitecture, hypervisor, and the operating system. |
Dedicated Collection Pool
Light Workload | Medium Workload | Heavy Workload | |
Example of workload | Running Microsoft Office applications, general web browsing, running simple application | Heavy web browsing (multiple modern web apps), data processing | Media editing, code development and compiling |
Host server configuration | e2-standard-2
| e2-highmem-2
| e2-standard-4
|