<?xml version="1.0"?>
<rss version="2.0"><channel><title>TechZone: Reference Architectures</title><link>https://community.citrix.com/tech-zone/design/reference-architectures/?d=6</link><description>TechZone: Reference Architectures</description><language>en</language><item><title>Citrix Integration for Windows 365</title><link>https://community.citrix.com/tech-zone/design/reference-architectures/citrix-integration-for-windows-365/</link><description><![CDATA[<h1>Audience</h1><p>The Citrix Integration for Windows 365 Reference Architecture is intended for Citrix practitioners—including administrators, engineers, architects, partners, and consultants—who design, build, and maintain Citrix platform deployments for enterprises of all sizes.</p><h1>Overview</h1><p>Citrix Desktops-as-a-Service (DaaS) enables you to deliver high-performance virtual apps and desktops securely to any device. Managed by a Citrix-hosted service, this solution securely grants end-users access to Windows, Linux, and macOS (limited to desktop) applications and desktops from a central location, regardless of the operating system on their endpoints. The Citrix Integration for Windows 365 combines Citrix DaaS<sup><span class="ipsEmoji">™</span></sup> with Windows 365 to provide a high-performance, secure, and easy-to-manage solution. This integration enables organizations to offer a seamless hybrid work experience, supporting a variety of use cases beyond standard Windows 365 features.</p><p>The Citrix Integration for Windows 365 Reference Architecture provides an overview of the Windows 365 service, a conceptual architecture of the Citrix DaaS<sup><span class="ipsEmoji">™</span></sup> and Windows 365 integration, traffic flow diagrams for the integration, and use cases for the integration.</p><h1>Windows 365 Overview</h1><p><a rel="external nofollow" href="https://learn.microsoft.com/en-us/windows-365/enterprise/architecture">Microsoft Windows 365</a> is a fully managed desktop virtualization SaaS platform hosted in Microsoft Azure. Windows 365 provides dedicated, persistent, turn-key desktops for a flat-rate price. Windows 365 is available in four editions as detailed here:</p><div class="ipsRichText__table-wrapper"><table style="width: 936px;"><colgroup><col style="width:278px;"><col style="width:658px;"></colgroup><tbody><tr><th colspan="1" rowspan="1"><p>Edition</p></th><th colspan="1" rowspan="1"><p>Description</p></th></tr><tr><td colspan="1" rowspan="1"><p>Windows 365 Business<strong><sup>1</sup></strong></p></td><td colspan="1" rowspan="1"><p>Geared towards smaller companies with up to 300 seats that need a ready-to-use solution with easy management options and is only available within a fully Microsoft-managed Azure subscription.</p></td></tr><tr><td colspan="1" rowspan="1"><p>Windows 365 Enterprise</p></td><td colspan="1" rowspan="1"><p>Provides enterprises with unlimited seats and full integration with Microsoft Intune, allowing for custom image creation, connection to enterprise networks, and additional management options.</p></td></tr><tr><td colspan="1" rowspan="1"><p>Windows 365 Government<strong><sup>2</sup></strong></p></td><td colspan="1" rowspan="1"><p>Provides Cloud PCs within the regulated US Government Azure cloud, providing a regulated and secure environment. *Please note that Windows 365 Government is currently not supported by Citrix.</p></td></tr><tr><td colspan="1" rowspan="1"><p>Windows 365 Frontline Dedicated</p></td><td colspan="1" rowspan="1"><p>Provides enterprises with a single Windows 365 license that provisions up to three Cloud PCs for nonconcurrent use.</p></td></tr><tr><td colspan="1" rowspan="1"><p>Windows 365 Frontline Shared <sup>2</sup></p></td><td colspan="1" rowspan="1"><p>Provides enterprises with the ability to provision a single Cloud PC that can be shared non-concurrently among a group of users.</p></td></tr></tbody></table></div><p><strong><em><sup><span data-ips-font-size="80">1</span></sup><span data-ips-font-size="80"> This edition does not apply to the Citrix DaaS + Windows 365 Reference Architecture. Any references to Windows 365 from now on will only pertain to the Enterprise or Frontline Dedicated editions.</span></em></strong></p><p><strong><em><sup><span data-ips-font-size="80">2</span></sup><span data-ips-font-size="80"> Please note that these editions are currently not supported by Citrix.</span></em></strong></p><p>Windows 365 supports four identity and two device join types:</p><div class="ipsRichText__table-wrapper"><table style="width: 943px;"><colgroup><col style="width:210px;"><col style="width:733px;"></colgroup><tbody><tr><th colspan="1" rowspan="1"><p>Identity Type</p></th><th colspan="1" rowspan="1"><p>Description</p></th></tr><tr><td colspan="1" rowspan="1"><p>Hybrid</p></td><td colspan="1" rowspan="1"><p>Users are created in an on-premises Active Directory and synchronized to Microsoft Entra ID with the Microsoft Entra ID Connector.</p></td></tr><tr><td colspan="1" rowspan="1"><p>Cloud-only</p></td><td colspan="1" rowspan="1"><p>Users are created directly in Microsoft Entra ID, and the cloud service handles authentication.</p></td></tr><tr><td colspan="1" rowspan="1"><p>Federated</p></td><td colspan="1" rowspan="1"><p>Provides support for users created in a third-party identity provider other than Active Directory or Entra ID, and then federated with Entra ID.</p></td></tr><tr><td colspan="1" rowspan="1"><p>External</p></td><td colspan="1" rowspan="1"><p>Users who are created and managed outside of Entra ID are invited into the Entra ID tenant to access resources.</p></td></tr></tbody></table></div><p></p><div class="ipsRichText__table-wrapper"><table style="width: 947px;"><colgroup><col style="width:212px;"><col style="width:735px;"></colgroup><tbody><tr><th colspan="1" rowspan="1"><p>Device Join Type</p></th><th colspan="1" rowspan="1"><p>Description</p></th></tr><tr><td colspan="1" rowspan="1"><p>Microsoft Entra hybrid joined</p></td><td colspan="1" rowspan="1"><p>Joins the Cloud PC to the on-premises Active Directory and Microsoft Entra ID via Microsoft Entra Connect.</p></td></tr><tr><td colspan="1" rowspan="1"><p>Microsoft Entra joined</p></td><td colspan="1" rowspan="1"><p>Joins the Cloud PC directly to Entra ID.</p></td></tr></tbody></table></div><p>Microsoft Intune manages provisioning, software installs, updates, patching, and policy enforcement for all Cloud PCs.</p><p>Users connect to Cloud PCs over the Remote Desktop Protocol (RDP) through the Windows 365 Gateway, which is provided by the Azure Virtual Desktop (AVD) service. The AVD service also provides connection brokering and web client service.</p><p><img class="ipsImage ipsRichText__align--block" data-fileid="39333" src="//media.invisioncic.com/m329563/monthly_2025_11/IntuneDeploymentW365.png.9567415b5bf6a6763dd6bd7c31314479.png" alt="IntuneDeploymentW365.png" title="IntuneDeploymentW365.png" width="960" height="344" loading="lazy"></p><h1>Citrix Integration for Windows 365 Conceptual Architecture</h1><p>The conceptual architecture for integrating Citrix DaaS with Windows 365 brings together Citrix’s high-performance application and desktop delivery capabilities with Microsoft’s Windows 365 platform, all under a unified identity and management framework.</p><p><img class="ipsImage ipsRichText__align--block" data-fileid="39334" src="//media.invisioncic.com/m329563/monthly_2025_11/CitrixW365.png.99aa97c4e873459d72559d95113f23fa.png" alt="CitrixW365.png" title="CitrixW365.png" width="960" height="395" loading="lazy"></p><p> The Citrix Integration for Windows 365 supports both Microsoft Entra joined and Microsoft Entra Hybrid joined Cloud PCs. The supported architectures are illustrated at a high level here.</p><div class="ipsRichTextBox ipsRichTextBox--alwaysopen" data-i-background-color="blue"><div class="ipsRichTextBox__title"><p>Note:</p></div><p>Citrix supports connecting multiple Windows 365 tenants to a single Citrix DaaS tenant. This is not detailed here in this architecture.</p></div><h2>Microsoft Entra Joined Devices</h2><p><img class="ipsImage ipsRichText__align--block" data-fileid="39266" src="//media.invisioncic.com/m329563/monthly_2025_10/image.png.8ad82a77038e6c3bb0997ad515c010a4.png" alt="image.png" title="image.png" width="957" height="538" loading="lazy"></p><p>Following the standard Citrix architecture layer method, the conceptual architecture for Microsoft Entra joined devices consists of five layers.</p><p><strong>User Layer</strong></p><p>The User Layer includes Citrix Workspace<span class="ipsEmoji">™</span> app endpoints on all supported devices, such as Windows, Linux, macOS, iOS, Android, and browser-based clients. Users access a single Workspace interface to view both Citrix-delivered applications and desktops, as well as access their Windows 365 Cloud PCs. Microsoft Intune handles endpoint management, configuration, application deployment, and compliance reporting, ensuring that devices meet security standards. Citrix real-time deviceTrust checks verify a device's compliance and context (such as location, security status, or the presence of unauthorized USB devices) to enforce granular, contextual access policies.</p><p><strong>Access Layer</strong></p><p>In the Microsoft Entra Joined architecture, Citrix Workspace and the Citrix Gateway Service provide the Access Layer. All users authenticate with Citrix Workspace, with Microsoft Entra ID set as the identity provider (IdP). At the same time, the Citrix Gateway service provides VPN-less access to their Windows 365 Cloud PCs alongside other Citrix desktop and application resources (virtual desktops, published applications, Web/SaaS applications). Connections to Windows 365 Cloud PCs use <a rel="external nofollow" href="https://docs.citrix.com/en-us/citrix-hdxplus-w365/entra-hybrid-joined-deployments#connector-less-vda-registration">connector-less</a> connections with the Citrix Rendezvous protocol, so Citrix Cloud<sup><span class="ipsEmoji">™</span></sup> Connectors are not required within the Windows 365 Resource Locations.</p><p><strong>Control Layer</strong></p><p>In the Control Layer, Citrix DaaS orchestrates brokering, policy enforcement, resource aggregation, and monitoring for the Windows 365 Cloud PCs. The Citrix Windows 365 Connector is enabled in Intune, allowing a connection between the Windows 365 service and Citrix Cloud. The Citrix DaaS VDA Upgrade service is used to upgrade the Citrix Virtual Delivery Agent on each Cloud PC. From the user’s perspective, all resources, whether hosted in Citrix infrastructure or delivered via Windows 365, appear side by side in a single workspace. The Windows 365 platform is akin to other virtual desktop hosting platforms like Azure, AWS, and on-premises hypervisors, and is viewed by Citrix DaaS as a <a rel="external nofollow" href="https://docs.citrix.com/en-us/citrix-daas/install-configure/resource-location.html">Resource Location</a>.</p><p><strong>Resource Layer</strong></p><p>In the Resource Layer, the Microsoft tenant provides the core Windows 365 Cloud PCs. When a Windows 365 Cloud PC is launched from Citrix Workspace<span class="ipsEmoji">™</span>, the user is seamlessly directed through the Citrix Gateway service and optimized with HDX<span class="ipsEmoji">™</span>. This layered approach ensures that each platform is used for what it does best—Citrix for rich, virtualized applications and complex, multi-session environments, and Windows 365 for personal, always-available cloud desktops—while still delivering a unified and secure user experience.</p><p><strong>Observability Layer</strong></p><p>The Observability Layer includes all other layers, providing end-to-end visibility, diagnostics, and user experience analytics. Citrix DaaS Monitor offers detailed insights into Citrix sessions, logon performance, HDX<span class="ipsEmoji">™</span> bandwidth, and application responsiveness. This enables administrators to identify issues in real-time, analyze trends, and enhance performance across the entire Citrix environment. For endpoint-level telemetry, uberAgent<span class="ipsEmoji">®</span> is installed on Workspace app endpoints to collect comprehensive performance and UX metrics, such as logon duration breakdowns, application load times, and resource usage—covering both Citrix virtual sessions and local workloads. These tools create a unified observability framework that links Citrix-hosted resources, Windows 365 Cloud PCs, and endpoint devices, supporting a proactive approach to troubleshooting and performance improvement.</p><h2>Microsoft Entra hybrid joined Devices</h2><p>Following the standard Citrix architecture layer method, the conceptual architecture for Microsoft Entra hybrid joined devices consists of the same five layers noted above. However, with the Hybrid Entra ID Join architecture, new options are available for the Access Layer, as multiple on-premises components are introduced.</p><h4>Citrix Cloud Access Layer</h4><p><img class="ipsImage ipsRichText__align--block" data-fileid="39267" src="//media.invisioncic.com/m329563/monthly_2025_10/image.png.d265b767806ba273bd50ac0dc1699059.png" alt="image.png" title="image.png" width="975" height="548" loading="lazy"></p><p>Changes to the Microsoft Entra hybrid joined architecture using the Citrix Cloud Access Layer include:</p><ul><li><p>Within the Control Layer, an on-premises site has been added. This site includes Microsoft Entra ID Connect, which enables synchronization between Active Directory and Entra ID. Cloud Connectors are also deployed, enabling Active Directory integration with Citrix and Windows 365 Cloud PCs. Finally, Citrix Federated Authentication Service (FAS) servers are set up to provide Single Sign-On (SSO) access to Windows 365 Cloud PCs.</p></li><li><p>Citrix Workspace and Citrix Gateway continue to manage user authentication; however, in the Hybrid Entra ID join model, any of the supported identity platforms by Citrix Workspace can be used. In this architecture, Hybrid Entra ID authentication is employed.</p></li></ul><h4>On-Premises Access Layer</h4><p><img class="ipsImage ipsRichText__align--block" data-fileid="39268" src="//media.invisioncic.com/m329563/monthly_2025_10/image.png.5e4701285bc11d51d0372f8b6d6799c7.png" alt="image.png" title="image.png" width="975" height="548" loading="lazy"></p><p>Changes to the Microsoft Entra hybrid joined architecture using an on-premises Access Layer include:</p><ul><li><p>Within the Control Layer, an on-premises location has been added. This location includes Microsoft Entra ID Connect, which enables synchronization between Active Directory and Entra ID. Cloud Connectors are also deployed, enabling Active Directory integration with Citrix and Windows 365 Cloud PCs. By default, the Windows 365 Cloud PCs are connector-less, and the cloud connectors are only needed to connect Citrix Cloud to the AD domain. However, you can choose to have the VDAs register via cloud connectors if required. More details can be found in the <a rel="external nofollow" href="https://docs.citrix.com/en-us/citrix-hdxplus-w365/entra-hybrid-joined-deployments#cloud-connector-vda-registration">product documentation</a>. Lastly, Citrix Federated Authentication Service (FAS) is implemented to provide Single Sign-On (SSO) access to the Windows 365 Cloud PCs.</p></li><li><p>The Access Layer has been moved to the on-premises location, and Citrix StoreFront and NetScaler Gateway are now used for user access, authentication, and enumeration of the Windows 365 Cloud PCs.</p></li></ul><h1>Citrix Integration for Windows 365 Configuration</h1><p><img class="ipsImage ipsRichText__align--block" data-fileid="39269" src="//media.invisioncic.com/m329563/monthly_2025_10/image.png.d2ed9566a1ed33622c7cd21486fe50ab.png" alt="image.png" title="image.png" width="743" height="418" loading="lazy"></p><p>Configuring the integration between Citrix DaaS and Windows 365 involves several components that administrators should be familiar with, including Citrix Cloud<sup><span class="ipsEmoji">™</span></sup> and the Citrix DaaS service, as well as the Microsoft Windows 365 service and Windows 365 Cloud PCs.</p><p>Citrix Cloud handles the integration of the Citrix DaaS and Windows 365 services by registering and assigning Cloud PC licenses within Citrix DaaS. A Cloud PC registration token is generated to establish trust between the Cloud PCs and the Citrix Cloud services.</p><p>Microsoft Entra ID manages user and Cloud PC identities. It also enables authentication and authorization between Windows 365 and Citrix Cloud services.</p><p>The process of integrating Citrix DaaS and Windows 365 involves several workflows that Citrix administrators must initiate, as well as background service-related workflows.</p><p><strong>Windows 365 Connect Flow</strong></p><p>A one-time operation, Windows 365 Connect Flow provides consent for Citrix Cloud to obtain the necessary permissions. Following the Azure consent framework, an Azure application is registered within the customer's Entra ID tenant. A Global Administrator must grant these permissions, as Citrix Cloud will perform all tasks on behalf of administrators. When consent is granted, a new service principal is created using the Citrix application template with the required permissions. Citrix Cloud is granted an access token on behalf of the customer's tenant and is used to communicate with the Windows 365 service. Once consent is complete, Citrix Cloud stores the connection information in a database that includes the Windows 365 tenant ID. It lets the Windows 365 service know that a new Citrix customer is connected to the tenant. The Citrix Integration for Windows 365 supports connecting to multiple Entra ID tenants.</p><p><strong>License Assignment Flow</strong></p><p>The License Assignment Flow begins when the Citrix administrator assigns a Citrix license to a Windows 365 user or group. Citrix Cloud provides a registration token begins the Cloud PC registration process, which includes installation of the Citrix Virtual Delivery Agent (VDA), Cloud PC registration with Citrix DaaS, creation of the Machine Catalog and Delivery Group, adding the Cloud PC to the Machine Catalog and Delivery Group, assign the user to the Cloud PC, and create a Citrix policy enabling the rendezvous protocol for the Delivery Group.</p><p>It is worth noting that the Citrix DaaS Windows 365 license assignment is per-user rather than per-machine.</p><p><strong>License Removal Flow</strong></p><p>The License Removal Flow begins when a Citrix administrator removes a license assignment from a user or group. As a result, each Cloud PC assigned to that user is removed from Citrix DaaS, and Citrix Cloud notifies the Windows 365 service of the license removal, triggering the uninstallation of the Citrix VDA. After the VDA is uninstalled, the Cloud PC can be accessed via the Windows 365 portal or the Windows App using RDP.</p><p><strong>Windows 365 Disconnect Flow</strong></p><p>Citrix administrators initiate the Windows 365 Disconnect Flow to completely disconnect their Citrix Cloud tenant from the Windows 365 service. This is only possible when all Citrix licenses have been unassigned from users or groups. When executed, Citrix Cloud notifies the Windows 365 service to offboard the customer, and once confirmed, Citrix Cloud will remove the connection information from the Citrix customer.</p><p><strong>Citrix Workspace URL Update</strong></p><p>Running every hour, this task monitors any changes to the Workspace URL used for Windows 365 Cloud PC access. This ensures that the Windows 365 portal has the correct URL for Citrix Workspace if users use this method to access their Cloud PC.</p><p><strong>Ghost Cloud PC Removal</strong></p><p>This daily task checks and verifies that each Cloud PC in each Cloud PC Machine Catalog still exists within the Windows 365 service and removes the Cloud PC from the catalog if it no longer exists. When machines are reprovisioned, a real-time cleanup of the old machine is performed before the new machine is created.</p><h1>Citrix Integration for Windows 365 Authentication</h1><p>The Citrix Integration for Windows 365 supports Windows 365 deployments with Entra ID-joined and Entra Hybrid-joined Cloud PCs. For user authentication, this table provides details on the supported identity providers for both Entra ID join and Hybrid Entra ID join machine identity types.</p><div class="ipsRichText__table-wrapper"><table style="width: 920px;"><colgroup><col style="width:171px;"><col style="width:82px;"><col style="width:104px;"><col style="width:106px;"><col style="width:79px;"><col style="width:74px;"><col style="width:118px;"><col style="width:186px;"></colgroup><tbody><tr><th colspan="1" rowspan="1"><p>Machine Identity</p></th><th colspan="1" rowspan="1"><p>Entra ID</p></th><th colspan="1" rowspan="1"><p>Active Directory</p></th><th colspan="1" rowspan="1"><p>Active Directory + Token</p></th><th colspan="1" rowspan="1"><p>Okta</p></th><th colspan="1" rowspan="1"><p>SAML</p></th><th colspan="1" rowspan="1"><p>Citrix Gateway</p></th><th colspan="1" rowspan="1"><p>Adaptive Authentication</p></th></tr><tr><td colspan="1" rowspan="1"><p>Microsoft Entra join</p></td><td colspan="1" rowspan="1"><p style="text-align:center;">√</p></td><td colspan="1" rowspan="1"><p style="text-align:center;">X</p></td><td colspan="1" rowspan="1"><p style="text-align:center;">X</p></td><td colspan="1" rowspan="1"><p style="text-align:center;">X</p></td><td colspan="1" rowspan="1"><p style="text-align:center;">√</p></td><td colspan="1" rowspan="1"><p style="text-align:center;">X</p></td><td colspan="1" rowspan="1"><p style="text-align:center;">X</p></td></tr><tr><td colspan="1" rowspan="1"><p>Microsoft Entra Hybrid join</p></td><td colspan="1" rowspan="1"><p style="text-align:center;">√</p></td><td colspan="1" rowspan="1"><p style="text-align:center;">√</p></td><td colspan="1" rowspan="1"><p style="text-align:center;">√</p></td><td colspan="1" rowspan="1"><p style="text-align:center;">√</p></td><td colspan="1" rowspan="1"><p style="text-align:center;">√</p></td><td colspan="1" rowspan="1"><p style="text-align:center;">√</p></td><td colspan="1" rowspan="1"><p style="text-align:center;">√</p></td></tr></tbody></table></div><p><span data-ips-font-size="80">√: Supported  X: Not Supported</span></p><h3>Microsoft Entra Join with Citrix Workspace</h3><p>When using Microsoft Entra join with the Citrix Integration for Windows 365, end users' Entra IDs are used for authentication into the Cloud PC.</p><p><img class="ipsImage ipsRichText__align--block" data-fileid="39270" src="//media.invisioncic.com/m329563/monthly_2025_10/image.png.651e5eb241482146500afe56f58a4994.png" alt="image.png" title="image.png" width="975" height="548" loading="lazy"></p><p>In the diagram above, you see a typical Citrix Integration for a Windows 365 deployment with Microsoft Entra joined Cloud PCs. The user authentication flow to the Cloud PC is as follows:</p><ol><li><p>The end user opens the Citrix Workspace app or a web browser and navigates to their organization's Citrix Workspace URL.</p></li><li><p>Citrix Workspace, configured to use Microsoft Entra ID as the identity provider, redirects the user's browser to the Microsoft login page (<a rel="external nofollow" href="https://login.microsoftonline.com">login.microsoftonline.com</a>).</p></li><li><p>The user enters their Entra ID username and password.</p></li><li><p>Microsoft Entra ID processes the credentials, performs the authentication, and applies any relevant Conditional Access policies.</p></li><li><p>Upon successful authentication, Entra ID issues an authentication token (e.g., SAML assertion or OpenID Connect ID token) back to Citrix Workspace.</p></li><li><p>Citrix Workspace validates the received token and communicates with Citrix DaaS to enumerate the list of available Windows 365 Cloud PCs configured for the user.</p></li><li><p>The user selects the desired Windows 365 Cloud PC from the Workspace interface.</p></li><li><p>The Citrix HDX protocol initiates the connection to the selected Windows 365 Cloud PC.</p></li><li><p>The user is presented with their Windows 365 Cloud PC desktop login screen.</p></li></ol><h3>Microsoft Entra Hybrid Join with Citrix Workspace and Gateway Service</h3><p>When using the Microsoft Entra Hybrid join option to integrate Citrix with Windows 365, all identity providers supported in Citrix Workspace are available. In this case, authentication into the Cloud PC is performed using Active Directory credentials rather than Entra ID credentials. Although Cloud PCs are assigned to a user's Entra ID by default, the machines are assigned to the corresponding Active Directory user so that connections can be brokered for those users.   </p><p><img class="ipsImage ipsRichText__align--block" data-fileid="39271" src="//media.invisioncic.com/m329563/monthly_2025_10/image.png.183e6974eda914ee90197a07339795f2.png" alt="image.png" title="image.png" width="975" height="548" loading="lazy"></p><p>In this diagram, you see a typical Citrix Integration for a Windows 365 deployment with Microsoft Entra Hybrid joined Cloud PCs. As shown, Entra ID Connect is required to synchronize your Active Directory and Entra ID Directory domains, and it is essential for the hybrid join model. Additionally, a VPN or ExpressRoute is set up to provide connectivity between the Azure virtual networks (vNets) and the Citrix Cloud Resource location, allowing the Cloud PCs to join the Active Directory domain. A Citrix Cloud Connector<sup><span class="ipsEmoji">™</span></sup> is necessary for Citrix Cloud to connect to the Active Directory domain.</p><ol><li><p>The user authentication flow to the Cloud PCs is as follows:</p></li><li><p>Microsoft Entra ID Connect synchronizes the on-premises Active Directory and Microsoft Entra ID tenant.</p></li><li><p>The end user opens the Citrix Workspace app or a web browser and navigates to their organization's Citrix Workspace URL.</p></li><li><p>In this case, Citrix Workspace is configured to use Active Directory as the identity provider, so users enter their Active Directory username and password.</p></li><li><p>The credentials are securely transmitted via the established secure tunnel provided by the Cloud Connectors to the Active Directory domain controller to process the credentials and perform the authentication.</p></li><li><p>Upon successful authentication, the successful result is sent back to Cloud Connector, which relays the result to Citrix Workspace.</p></li><li><p>Citrix Workspace establishes the user's session and presents a list of available Windows 365 Cloud PCs configured for the user.</p></li><li><p>The user selects the desired Windows 365 Cloud PC from the Workspace interface.</p></li><li><p>The Citrix HDX protocol initiates the connection to the selected Windows 365 Cloud PC.</p></li><li><p>The user is presented with their Windows 365 Cloud PC desktop via HDX, ready for use.</p></li></ol><h3>Microsoft Entra Hybrid Join with Citrix Workspace (3<sup>rd</sup> Party IdP)</h3><p>For environments using an identity provider (IdP) other than Active Directory, the deployment described above still applies. However, in this case, the Citrix Federated Authentication Service (FAS) provides Single Sign-On (SSO) for sessions. In the scenario below, Okta is used as the primary IdP for Citrix Workspace.</p><p>Okta's role in this scenario is to serve as the primary authentication provider for Citrix Workspace. When a user logs into Citrix Workspace, Okta verifies their credentials and issues a token to Citrix Workspace.</p><p>However, Okta does not replace the underlying user directory that Windows 365 Cloud PC and its management use. The user account that the Cloud PC recognizes and the identity that FAS uses to issue a certificate for desktop logon still reside in on-premises Active Directory, which is then synced to Entra ID.</p><p><img class="ipsImage ipsRichText__align--block" data-fileid="39272" src="//media.invisioncic.com/m329563/monthly_2025_10/image.png.52eb56ca8d1fba7efa68a7f6f42be7d4.png" alt="image.png" title="image.png" width="975" height="548" loading="lazy"></p><ol><li><p>Microsoft Entra ID Connect synchronizes the on-premises Active Directory and Microsoft Entra ID tenant.</p></li><li><p>The end user opens the Citrix Workspace app or a web browser and navigates to their organization's Citrix Workspace URL.</p></li><li><p>Citrix Workspace is configured in Citrix Cloud to use Okta as its primary identity provider, and it redirects the user to the Okta login page. The user enters their Okta username and password.</p></li><li><p>Okta processes the credentials, performs the authentication against its user store (which might be Okta's own directory, an integrated Active Directory, or another source), and applies any relevant Okta policies.</p></li><li><p>Upon successful authentication, Okta issues an authentication token back to Citrix Workspace.</p></li><li><p>Citrix Workspace validates the received token from Okta, establishes the user's session, and presents the list of available Windows 365 Cloud PCs that the user is entitled to access.</p></li><li><p>The user selects the desired Windows 365 Cloud PC from the Workspace interface.</p></li><li><p>The Citrix HDX protocol initiates the connection to the selected Windows 365 Cloud PC.</p></li><li><p>In the background, Citrix Federated Authentication Service (FAS) leverages the user's successful authentication to Citrix Workspace to issue a short-lived, digitally signed certificate specifically for that user.</p></li><li><p>The Citrix Virtual Delivery Agent (VDA) on the Hybrid Entra ID joined Windows 365 Cloud PC uses this certificate provided by FAS to perform a "certificate logon" to the on-premises Active Directory Domain Services (AD DS).</p></li><li><p>This process automatically logs the user into their Cloud PC's Windows desktop session, eliminating the need for them to re-enter their credentials.</p></li></ol><h3>Microsoft Entra Hybrid Join with Citrix StoreFront and NetScaler Gateway</h3><p><img class="ipsImage ipsRichText__align--block" data-fileid="39273" src="//media.invisioncic.com/m329563/monthly_2025_10/image.png.757dabd77de9889a0aa331f8b3b740c3.png" alt="image.png" title="image.png" width="975" height="548" loading="lazy"></p><ol><li><p>Microsoft Entra ID Connect synchronizes the on-premises Active Directory and Microsoft Entra ID tenant.</p></li><li><p>The end user opens the Citrix Workspace app or a web browser and navigates to their organization’s NetScaler Gateway URL.</p></li><li><p>The user connects to the NetScaler Gateway, which is configured to use Active Directory in this case as the identity provider, so users enter their Active Directory username and password.</p></li><li><p>Upon successful authentication, the NetScaler Gateway establishes a secure SSL/TLS tunnel (often DTLS for ICA traffic) from the user's device into your network. This tunnel secures all subsequent communication.</p></li><li><p>The NetScaler Gateway forwards the authenticated user's session information to the internal Citrix StoreFront server. This is often configured for pass-through authentication, meaning StoreFront recognizes the user as already authenticated by the Gateway and does not prompt for credentials again.</p></li><li><p>Upon successful authentication, the successful result is sent back to Cloud Connector, which relays the result to Citrix DaaS.</p></li><li><p>The Citrix DaaS control plane queries your on-premises Active Directory (via the Cloud Connectors) to determine the user's group memberships and entitlements. It then compiles a list of virtual applications and desktops that the user is authorized to access. This list is sent back to StoreFront (via Cloud Connectors). StoreFront then presents the users with the list of available resources, including Cloud PCs</p></li><li><p>The user selects the desired Windows 365 Cloud PC from the Workspace interface.</p></li><li><p>The Citrix HDX protocol initiates the connection to the selected Windows 365 Cloud PC.</p></li><li><p>The user is presented with their Windows 365 Cloud PC desktop via HDX, ready for use.</p></li><li><p>In the background, Citrix Federated Authentication Service (FAS) leverages the user's successful authentication to Citrix Workspace to issue a short-lived, digitally signed certificate specifically for that user.</p></li><li><p>The Citrix Virtual Delivery Agent (VDA) on the Hybrid Entra ID joined Windows 365 Cloud PC uses this certificate provided by FAS to perform a "certificate logon" to the on-premises Active Directory Domain Services (AD DS).</p></li><li><p>This process automatically logs the user into their Cloud PC's Windows desktop session, eliminating the need for them to re-enter their credentials.</p></li></ol><h1>Citrix + Windows 365 Business Continuity</h1><p>The right approach to business continuity during a Citrix Cloud outage depends on how your Cloud PCs are joined:</p><p>For Entra ID joined Cloud PCs using connector-less VDA registration, users can leverage Service Continuity. Service Continuity caches Workspace subscription data locally in the Citrix Workspace app, allowing users to reconnect to existing sessions during a Citrix Cloud outage without any Cloud Connector involvement.</p><p>For Entra hybrid joined Cloud PCs, Service Continuity is not available. To provide resilience for your Cloud PCs, use <a rel="external nofollow" href="https://docs.citrix.com/en-us/citrix-daas/manage-deployment/local-host-cache.html">Local Host Cache</a> (LHC), which runs on the Cloud Connector and allows session brokering to continue locally during a Citrix Cloud outage. If you are deploying Entra hybrid-joined Cloud PCs and require brokering continuity during a Citrix Cloud outage, you must deploy <a rel="external nofollow" href="https://docs.citrix.com/en-us/citrix-hdxplus-w365/entra-hybrid-joined-deployments#cloud-connector-vda-registration">Cloud Connectors</a> in the Windows 365 resource location and configure VDA registration through them. Cloud Connectors in other resource locations provide LHC coverage only for machines registered in those locations. They do not provide LHC coverage for Cloud PCs in the Windows 365 resource location.</p><h1>Monitoring Citrix + Windows 365</h1><p>When integrating Citrix with Windows 365, the user experience (UX) relies on several control planes and hops, including Microsoft Entra ID, Microsoft Intune, Citrix Gateway service, Citrix Workspace, and the endpoint. Comprehensive, correlated monitoring is therefore crucial to:</p><ul><li><p>Detect and triage issues in real time (enumeration, brokering, logon phases, session failures) and verify impact across users/sites. Citrix DaaS Monitor offers a live troubleshooting dashboard for DaaS workloads, featuring failure surfacing and site health panels.</p></li><li><p>Quantify UX and identify the root cause (such as network latency, policy issues, codec choice, or bandwidth constraints) at the HDX session layer; Installing Citrix uberAgent on the Windows 365 Cloud PC provides protocol-level and session configuration metrics that explain why a session feels fast or slow.</p></li><li><p>Close visibility gaps caused by spanning Microsoft’s Cloud PC fabric and Citrix services; The Citrix Integration for Windows 365 connects Citrix Cloud with Windows 365 to implement HDX technologies and policies—observability must cover both sides.</p></li></ul><h3>What To Monitor</h3><div class="ipsRichText__table-wrapper"><table style="width: 954px;"><colgroup><col style="width:193px;"><col style="width:302px;"><col style="width:277px;"><col style="width:182px;"></colgroup><tbody><tr><th colspan="1" rowspan="1"><p>Area</p></th><th colspan="1" rowspan="1"><p>Description</p></th><th colspan="1" rowspan="1"><p>Why It Matters</p></th><th colspan="1" rowspan="1"><p>Primary Source</p></th></tr><tr><td colspan="1" rowspan="1"><p><strong>Site health &amp; failures</strong> (enumeration, brokering, launch)</p></td><td colspan="1" rowspan="1"><p>Watch the live failures panel and site/region health. Pivot from spikes to impacted users; drill into failure reasons (auth, brokering, STA/gateway). Set alerts on sudden changes.</p></td><td colspan="1" rowspan="1"><p>Catches widespread issues fast; validates the end-to-end launch flow for Cloud PCs via HDX.</p></td><td colspan="1" rowspan="1"><p>Citrix DaaS Monitor</p></td></tr><tr><td colspan="1" rowspan="1"><p><strong>Logon duration breakdown</strong> (GPO, profile, shell)</p></td><td colspan="1" rowspan="1"><p>Use the phase breakdown to see where time is spent (e.g., GPO processing, profile attach, shell init). Compare outliers to baselines and correlate them with profile/storage health.</p></td><td colspan="1" rowspan="1"><p>Speeds root cause for slow logon complaints</p></td><td colspan="1" rowspan="1"><p>Citrix DaaS Monitor</p></td></tr><tr><td colspan="1" rowspan="1"><p><strong>Session performance</strong> (ICA/HDX RTT, jitter, bandwidth)</p></td><td colspan="1" rowspan="1"><p>Track HDX RTT, network jitter, and throughput per session. Overlay with user reports and time of day; flag links or sites with unstable latency.</p></td><td colspan="1" rowspan="1"><p>Differentiates network vs host bottlenecks</p></td><td colspan="1" rowspan="1"><p>Citrix uberAgent</p></td></tr><tr><td colspan="1" rowspan="1"><p><strong>HDX policy &amp; codec settings</strong> (EDT/Thinwire, video, QoS</p></td><td colspan="1" rowspan="1"><p>Capture <em>active</em> HDX policy/codec per session and compare to your standards. Watch for unintended policy drift after changes.</p></td><td colspan="1" rowspan="1"><p>Confirms runtime behavior matches design (e.g., EDT enabled, proper codec for task/knowledge worker).</p></td><td colspan="1" rowspan="1"><p>Citrix uberAgent</p></td></tr><tr><td colspan="1" rowspan="1"><p><strong>Gateway path health</strong> (Citrix Gateway / CGS)</p></td><td colspan="1" rowspan="1"><p>Correlate gateway VIP health, auth latency, and throughput with session UX. Identify overloaded gateways or GEO issues.</p></td><td colspan="1" rowspan="1"><p>Ties the access tier to user experience and explains intermittent launch/performance issues.</p></td><td colspan="1" rowspan="1"><p>Citrix uberAgent</p></td></tr><tr><td colspan="1" rowspan="1"><p><strong>Teams &amp; collaboration experience</strong></p></td><td colspan="1" rowspan="1"><p>Track call join times, jitter, packet loss, device redirection state, and optimization mode. Compare optimized vs. fallback sessions.</p></td><td colspan="1" rowspan="1"><p>Collaboration quality is a top UX driver for hybrid workers.</p></td><td colspan="1" rowspan="1"><p>Citrix uberAgent</p></td></tr><tr><td colspan="1" rowspan="1"><p><strong>Cloud PC resource saturation (CPU, RAM, disk, GPU)</strong></p></td><td colspan="1" rowspan="1"><p>Trend per-session and per-SKU utilization; watch for CPU-ready, RAM pressure, disk queue spikes, and GPU headroom (if present)</p></td><td colspan="1" rowspan="1"><p>Right-sizes Windows 365 SKUs and prevents chronic contention.</p></td><td colspan="1" rowspan="1"><p>Citrix uberAgent</p></td></tr><tr><td colspan="1" rowspan="1"><p><strong>App performance &amp; hangs</strong></p></td><td colspan="1" rowspan="1"><p>Monitor app start times, responsiveness, crashes, and slow I/O paths. Tie app events to the affected sessions/users.</p></td><td colspan="1" rowspan="1"><p>Moves troubleshooting from “the desktop is slow” to the exact app/process.</p></td><td colspan="1" rowspan="1"><p>Citrix DaaS Monitor, Citrix uberAgent</p></td></tr><tr><td colspan="1" rowspan="1"><p><strong>Usage &amp; capacity trends</strong> (concurrency, duration)</p></td><td colspan="1" rowspan="1"><p>Review daily/weekly concurrency, session duration, and license consumption. Identify peak windows and idle time.</p></td><td colspan="1" rowspan="1"><p>Informs scaling policies and cost optimization for Cloud PCs + HDX.</p></td><td colspan="1" rowspan="1"><p>Citrix DaaS Monitor, Citrix uberAgent</p></td></tr></tbody></table></div><h1>References</h1><p><a rel="" href="https://community.citrix.com/tech-zone/learn/tech-briefs/citrix-for-windows-365">Tech Brief: Citrix for Windows 365</a></p><p><a rel="" href="https://community.citrix.com/tech-zone/learn/poc-guides/citrix-for-windows-365">POC Guide: Citrix for Windows 365</a></p><p><a rel="" href="https://community.citrix.com/tech-zone/learn/poc-guides/windows-365-citrix-session-recording-service/">POC Guide:  Integrating Windows 365 with Citrix Session Recording</a></p><p><a rel="external nofollow" href="https://learn.microsoft.com/en-us/windows-365/enterprise/architecture">Microsoft Windows 365 Architecture</a></p><p><a rel="external nofollow" href="https://learn.microsoft.com/en-us/office365/servicedescriptions/windows-365-service-description/windows-365-service-description#service-responsibility">Microsoft Windows 365 Service Description</a></p>]]></description><guid isPermaLink="false">368</guid><pubDate>Fri, 31 Oct 2025 04:04:00 +0000</pubDate></item><item><title>Citrix Provisioning on Azure</title><link>https://community.citrix.com/tech-zone/design/reference-architectures/pvs-on-azure/</link><description><![CDATA[<h1 style="margin-top:16px; margin-bottom:8px">
	<span style="font-size:18pt"><span style='font-family:"Public Sans"'><span style="color:black">Audience</span></span></span>
</h1>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Citrix customers have relied on Citrix Provisioning (PVS) technology for many years to provide best-in-class image management solutions for Citrix environments. Many of these customers have added Azure workloads to their Citrix solutions and want to integrate Citrix Provisioning on Azure with their on-premises solutions.  Many other Citrix customers who have not used Citrix Provisioning on-premises before are interested in what Citrix Provisioning on Azure will offer regarding operational agility and cost optimization.  This reference architecture is intended to provide both of these groups a blueprint for how and why to implement Citrix Provisioning on Azure.</span></span>
</p>

<h1 style="margin-top:16px; margin-bottom:8px">
	<span style="font-size:18pt"><span style='font-family:"Public Sans"'><span style="color:black">Objectives of this document</span></span></span>
</h1>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>This reference architecture provides a blueprint for the design of a Citrix Provisioning on Azure solution based on several overriding tenets or “Design Pillars”:</span></span>
</p>

<ul style="margin-bottom:11px">
	<li class="CitrixListDefault" style="margin-bottom:11px; margin-left:8px">
		<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Resiliency</span></span>
	</li>
	<li class="CitrixListDefault" style="margin-bottom:11px; margin-left:8px">
		<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Security</span></span>
	</li>
	<li class="CitrixListDefault" style="margin-bottom:11px; margin-left:8px">
		<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Cost optimization</span></span>
	</li>
	<li class="CitrixListDefault" style="margin-bottom:11px; margin-left:8px">
		<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Operational Excellence</span></span>
	</li>
	<li class="CitrixListDefault" style="margin-bottom:11px; margin-left:8px">
		<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Performance Efficiency</span></span>
	</li>
</ul>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Citrix Provisioning on Azure can be architected in many ways. In the following sections, an earnest attempt will be made to define an example architecture based on a set of requirements and assumptions while explaining the reasons major decisions were made and where customers can make different design decisions based on differing requirements.</span></span>
</p>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>This document will provide information pertinent to deploying Citrix Provisioning on Azure.  It will not provide exhaustive documentation on all aspects of Citrix Provisioning, as there is a large base of information already documented for this purpose.  The following list of documentation should also be referenced for those new to Citrix Provisioning:</span></span>
</p>

<ul style="margin-bottom:11px">
	<li class="CitrixListDefault" style="margin-bottom:11px; margin-left:8px">
		<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'><a href="%E2%80%A2%09https:/community.citrix.com/tech-zone/learn/tech-briefs/citrix-provisioning/" rel="" style="color:#0563c1; text-decoration:underline">Tech Brief: Citrix Provisioning</a></span></span>
	</li>
	<li class="CitrixListDefault" style="margin-bottom:11px; margin-left:8px">
		<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'><a href="https://community.citrix.com/tech-zone/design/reference-architectures/image-management/" rel="" style="color:#0563c1; text-decoration:underline">Reference Architecture: Image Management</a></span></span>
	</li>
	<li class="CitrixListDefault" style="margin-bottom:11px; margin-left:8px">
		<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'><a href="https://docs.citrix.com/en-us/tech-zone/design/reference-architectures/virtual-apps-and-desktops-azure" rel="external nofollow" style="color:#0563c1; text-decoration:underline">Reference Architecture: Citrix DaaS – Azure</a></span></span>
	</li>
	<li class="CitrixListDefault" style="margin-bottom:11px; margin-left:8px">
		<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'><a href="https://docs.citrix.com/en-us/provisioning/current-release/configure/citrix-provisioning-catalog-in-studio" rel="external nofollow" style="color:#0563c1; text-decoration:underline">Create Citrix Provisioning catalogs in Citrix Studio</a></span></span>
	</li>
	<li class="CitrixListDefault" style="margin-bottom:11px; margin-left:8px">
		<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'><a href="https://docs.citrix.com/en-us/provisioning/current-release/configure/configure-azure.html" rel="external nofollow" style="color:#0563c1; text-decoration:underline">Official Documentation - Citrix Provisioning on Microsoft Azure</a></span></span>
	</li>
	<li class="CitrixListDefault" style="margin-bottom:11px; margin-left:8px">
		<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'><a href="https://docs.citrix.com/en-us/citrix-daas/migrate-workloads" rel="external nofollow" style="color:#0563c1; text-decoration:underline">Migrate workloads between Resource Locations using Image Portability Service</a></span></span>
	</li>
</ul>

<h1 style="margin-top:16px; margin-bottom:8px">
	<span style="font-size:18pt"><span style='font-family:"Public Sans"'><span style="color:black">Advantages of the Citrix Provisioning Architecture</span></span></span>
</h1>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Customers love to see Citrix Provisioning in their Citrix Solutions for many reasons.  The highlights of this architecture include:</span></span>
</p>

<ul style="margin-bottom:11px">
	<li class="CitrixListDefault" style="margin-bottom:11px; margin-left:8px">
		<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Ability to manage non-persistent images quickly and efficiently</span></span>

		<ul style="list-style-type:circle">
			<li class="CitrixListDefault" style="margin-left:8px; margin-bottom:11px">
				<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Full Image Versioning</span></span>
			</li>
			<li class="CitrixListDefault" style="margin-left:8px; margin-bottom:11px">
				<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Simple Image Replication</span></span>
			</li>
			<li class="CitrixListDefault" style="margin-left:8px; margin-bottom:11px">
				<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Near instant rollout and rollback</span></span>
			</li>
		</ul>
	</li>
	<li class="CitrixListDefault" style="margin-bottom:11px; margin-left:8px">
		<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Very Highly Available solution based on Active/Active Server Technology</span></span>
	</li>
	<li class="CitrixListDefault" style="margin-bottom:11px; margin-left:8px">
		<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Fully automatable using PowerShell</span></span>
	</li>
	<li class="CitrixListDefault" style="margin-bottom:11px; margin-left:8px">
		<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>High-Performance Storage solution using Cache in RAM technology</span></span>
	</li>
	<li class="CitrixListDefault" style="margin-bottom:11px; margin-left:8px">
		<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Easy to integrate into a hybrid cloud model using Citrix App Layering or the Citrix Image Portability Service</span></span>
	</li>
	<li class="CitrixListDefault" style="margin-bottom:11px; margin-left:8px">
		<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Advantages of Citrix Provisioning within Azure</span></span>
		<ul style="list-style-type:circle">
			<li class="CitrixListDefault" style="margin-left:8px; margin-bottom:11px">
				<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Azure provides standard, well-tested, high-performance networking on which to build the Citrix Provisioning infrastructure</span></span>
			</li>
			<li class="CitrixListDefault" style="margin-left:8px; margin-bottom:11px">
				<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Citrix Provisioning requires less storage than most other solutions</span></span>
			</li>
			<li class="CitrixListDefault" style="margin-left:8px; margin-bottom:11px">
				<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Citrix Provisioning provides nearly instant scaling of resources when used in Azure</span></span>
			</li>
		</ul>
	</li>
</ul>

<h1 style="margin-top:16px; margin-bottom:8px">
	<span style="font-size:18pt"><span style='font-family:"Public Sans"'><span style="color:black">Citrix Provisioning on Azure Design Considerations</span></span></span>
</h1>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>As stated above, this architecture will be developed based on the above Design Pillars.  For an overview of how the architecture maps to these pillars, you can jump to the Design Pillars section of the document.</span></span>
</p>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>To illustrate design options and recommended solutions, two different environments will be discussed: one at scale and one of more modest size.</span></span>
</p>

<h3 style="margin-top: 3px; margin-bottom: 8px;">
	<span style="font-size:16pt"><span style='font-family:"Public Sans"'><span style="color:black">VDI at Scale</span></span></span>
</h3>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>The first design to be addressed is VDI at scale.  This architecture is based on PODs and can be used for solutions from 5K desktops to 100K desktops or more.</span></span>
</p>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>The components of the solution include:</span></span>
</p>

<ul style="margin-bottom:11px">
	<li class="CitrixListDefault" style="margin-bottom:11px; margin-left:8px">
		<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>One or more Azure Tenants</span></span>
	</li>
	<li class="CitrixListDefault" style="margin-bottom:11px; margin-left:8px">
		<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>An Azure Landing Zone or Hub Zone for Citrix workloads</span></span>
	</li>
	<li class="CitrixListDefault" style="margin-bottom:11px; margin-left:8px">
		<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>One Azure Subscription per 5K VDI Desktops </span></span>
	</li>
	<li class="CitrixListDefault" style="margin-bottom:11px; margin-left:8px">
		<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>At least two Azure Availability Zones per Azure Region</span></span>
	</li>
	<li class="CitrixListDefault" style="margin-bottom:11px; margin-left:8px">
		<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>One or more Azure vNets per Azure Subscription</span></span>
	</li>
	<li class="CitrixListDefault" style="margin-bottom:11px; margin-left:8px">
		<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>vNet Peering from workload vNets to Landing Zone/Hub vNets</span></span>
	</li>
	<li class="CitrixListDefault" style="margin-bottom:11px; margin-left:8px">
		<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>One Citrix Provisioning Farm per Azure Region</span></span>
	</li>
	<li class="CitrixListDefault" style="margin-bottom:11px; margin-left:8px">
		<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>One Citrix Provisioning Site per Availability Zone</span></span>
	</li>
	<li class="CitrixListDefault" style="margin-bottom:11px; margin-left:8px">
		<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>One Citrix Provisioning server for every 1500-2000 Targets</span></span>
	</li>
	<li class="CitrixListDefault" style="margin-bottom:11px; margin-left:8px">
		<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>N+1 Citrix Provisioning Servers Per Site</span></span>
	</li>
	<li class="CitrixListDefault" style="margin-bottom:11px; margin-left:8px">
		<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Appropriate naming conventions</span></span>
	</li>
	<li class="CitrixListDefault" style="margin-bottom:11px; margin-left:8px">
		<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>One Citrix Cloud Resource Location per 10K Desktops per Azure Region</span></span>
	</li>
</ul>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>The following diagram illustrates the major components of the Citrix Provisioning on Azure architecture for VDI at scale.</span></span>
</p>

<p style="margin-bottom:11px">
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="png" data-fileid="34985" href="//media.invisioncic.com/m329563/monthly_2024_06/image.png.37862635408a90d150b17171a9bcc5c7.png" rel=""><img alt="image.png" class="ipsImage ipsImage_thumbnailed" data-fileid="34985" data-unique="oicaknjnh" style="height: auto;" width="1000" src="//media.invisioncic.com/m329563/monthly_2024_06/image.thumb.png.38c230e353d161d743825bac34cb3caf.png" loading="lazy" height="600"></a>
</p>

<p align="center" style="text-align:center; margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'><i><span style="font-size:8.0pt">High-Level Citrix Provisioning on Azure Architecture for VDI at Scale</span></i></span></span>
</p>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>In the following sections, each component of the architecture will be discussed.</span></span>
</p>

<h3 style="margin-top: 3px; margin-bottom: 8px;">
	<span style="font-size:16pt"><span style='font-family:"Public Sans"'><span style="color:black">Azure Tenants and Subscriptions</span></span></span>
</h3>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>While using a multi-tenant Azure design for Citrix within Azure is possible, customers usually choose to manage all Citrix components within a single Azure tenant. From a Citrix Provisioning perspective, this is not a requirement.</span></span>
</p>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>For a large-scale deployment, multiple Azure subscriptions will be required. Typically, a separate subscription is used for the Azure Landing Zone, which can be considered the hub in a hub and spoke topology where the Citrix workload subscriptions are deployed as spokes. Currently, Citrix supports up to 5K targets per Azure subscription.  These limits are based on several factors, but power management is usually the limiting factor based on the number of API calls that can be made into the Azure infrastructure at the subscription level.   Citrix is constantly working with Microsoft to increase these limits, so always check the DaaS limits page to see if this has changed.</span></span>
</p>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>For customers that need to scale past 10K VDI desktops per Azure Region, multiple Resource Locations would be provisioned in the same region, conforming to the POD design shown here.</span></span>
</p>

<h3 style="margin-top: 3px; margin-bottom: 8px;">
	<span style="font-size:16pt"><span style='font-family:"Public Sans"'><span style="color:black">Landing Zone/Hub Site</span></span></span>
</h3>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>The Landing Zone is where shared components will be deployed in this solution.  This includes services like:</span></span>
</p>

<ul style="margin-bottom:11px">
	<li class="CitrixListDefault" style="margin-bottom:11px; margin-left:8px">
		<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Citrix Cloud Connectors</span></span>
	</li>
	<li class="CitrixListDefault" style="margin-bottom:11px; margin-left:8px">
		<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Active Directory Domain Controllers</span></span>
	</li>
	<li class="CitrixListDefault" style="margin-bottom:11px; margin-left:8px">
		<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>File Services</span></span>
	</li>
	<li class="CitrixListDefault" style="margin-bottom:11px; margin-left:8px">
		<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Citrix Provisioning Servers</span></span>
	</li>
</ul>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>The Landing Zone will be provisioned with one or more vNets.  The critical aspect of this to the Citrix design is that there should be direct vNet peering between the Citrix worker vNets and the vNets used for Citrix Provisioning servers as the Citrix Provisioning servers need direct high bandwidth low latency network connections to the targets (VDAs)</span></span>
</p>

<h3 style="margin-top: 3px; margin-bottom: 8px;">
	<span style="font-size:16pt"><span style='font-family:"Public Sans"'><span style="color:black">Networks</span></span></span>
</h3>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>The virtual networks used for Citrix workloads could be separated by Availability Zone (AZ) or stretched between Availability Zones.  In this architecture, they are stretched to make management more effortless.  Since the design is for 5K desktops per subscription, a /19 network can be used as it can accommodate up to 8K addresses. For customers that plan to grow very large in the future, and based on the fact that Citrix keeps increasing the number of desktops that can be managed in a single subscription, it may make sense to provision a /17 vNet that can accommodate up to 32K addresses so that the solution can support future growth without being rebuilt.</span></span>
</p>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Within the vNet in each Availability Zone, a /20 subnet will be created to accommodate the 2.5K desktops deployed in that zone.</span></span>
</p>

<h3 style="margin-top: 3px; margin-bottom: 8px;">
	<span style="font-size:16pt"><span style='font-family:"Public Sans"'><span style="color:black">Citrix Resource Locations</span></span></span>
</h3>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>A Citrix Resource Location defines the boundaries of a Zone in Citrix Cloud.  It is defined by a set of Cloud Connectors that act as gateways for information between the “Resource Locations” and Citrix Cloud, including the communications between VDAs and Delivery Controllers, StoreFront servers and Delivery Controllers, Citrix Cloud, and Active Directory, etc.  Cloud Connectors within the same Resource Location share the same scope of resources used to provide Local Host Cache functionality, which offers high availability services if the cloud connectors are disconnected from the Citrix Cloud Resources.  It is the Local Host Cache services that govern the limit of the number of desktops that can be provisioned within a single Resource Location.  This number is 10K VDI desktops or 1K virtual app servers with up to 25K multisession sessions.</span></span>
</p>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Therefore, for every 10K desktops required in an Azure Region one Citrix Cloud Resource Location will be provisioned.  For more information on these limits, see the local host cache <a href="https://docs.citrix.com/en-us/citrix-virtual-apps-desktops/manage-deployment/local-host-cache.html" rel="external nofollow" style="color:#0563c1; text-decoration:underline">documentation</a>.</span></span>
</p>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>The number of Cloud Connectors to provision in a Resource Location will depend on several factors, including:</span></span>
</p>

<ul style="margin-bottom:11px">
	<li class="CitrixListDefault" style="margin-bottom:11px; margin-left:8px">
		<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Access Method</span></span>

		<ul style="list-style-type:circle">
			<li class="CitrixListDefault" style="margin-left:8px; margin-bottom:11px">
				<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Gateway/StoreFront</span></span>
			</li>
			<li class="CitrixListDefault" style="margin-left:8px; margin-bottom:11px">
				<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Gateway Service/Workspace</span></span>
			</li>
		</ul>
	</li>
	<li class="CitrixListDefault" style="margin-bottom:11px; margin-left:8px">
		<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Connection Method</span></span>
		<ul style="list-style-type:circle">
			<li class="CitrixListDefault" style="margin-left:8px; margin-bottom:11px">
				<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Cloud Connectors</span></span>
			</li>
			<li class="CitrixListDefault" style="margin-left:8px; margin-bottom:11px">
				<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Rendezvous </span></span>
			</li>
		</ul>
	</li>
	<li class="CitrixListDefault" style="margin-bottom:11px; margin-left:8px">
		<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Risk Tolerance</span></span>
	</li>
</ul>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Three Cloud Connectors per Resource Location are recommended, along with using Rendezvous for Gateway Service customers.  Three connectors allow for a failed upgrade without losing high availability for the Resource Location. If Gateway Service will be used and Rendezvous will not be used, then more Cloud Connectors may be required to handle the load of routing the HDX traffic from the Gateway Service to the VDAs.</span></span>
</p>

<h3 style="margin-top: 3px; margin-bottom: 8px;">
	<span style="font-size:16pt"><span style='font-family:"Public Sans"'><span style="color:black">Citrix Provisioning Farms, Sites and Servers</span></span></span>
</h3>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>One of the primary considerations for this architecture is the Citrix Provisioning Farm and Site architecture.  While it is technically possible in Azure to stream targets across availability zones, here, we do not want to do that because, of course, it is likely that Availability Zones could be disconnected from each other, and high availability is one of our core tenets.  Citrix Provisioning will be designed with a Farm per Azure Region with separate sites per Availability Zone to keep the traffic local to each Availability Zone. By having one Farm in the Primary region and one Farm in the DR Region, configurations can be updated even if one of the Farm databases is down.  Of course, Citrix Provisioning will also be configured to “Enable offline database support” so that targets will keep working even if the database is down.</span></span>
</p>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Citrix Provisioning is fairly flexible when designing the number of servers.  The most significant load on Citrix Provisioning servers is when many targets are booted at the same time.  If there is more load, some targets must wait while others boot.  Therefore, the tradeoff is between the cost of servers and the time it takes to boot targets at scale.  A good rule of thumb is to limit Citrix Provisioning server to between 1500 and 2000 targets per server.  In this design, we have included four servers for 5K desktops.  This allows for the typical case where there will be 1,250 targets per server; if there is a server failure, there will be 1,667 targets per server.  </span></span>
</p>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>The servers here will be configured with four cores and 32 GB of RAM.  The amount of RAM required is based on the number of vDisks that will be streamed.  The general rule of thumb is to provision 2 GB for the OS and 2 GB for every vDisk to be streamed.  That means that an Azure instance that is 4x32 can handle streaming up to 15 vDisks. This is more than enough for most Citrix Provisioning on Azure deployments.</span></span>
</p>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Of course, in Azure, choosing the best instance type for your Citrix Provisioning server is critical. It is essential to look at not only CPU and memory but, more importantly, network and disk throughput. Citrix Provisioning servers on Azure require premium storage, so only instance types that support it should be considered.</span></span>
</p>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>If we compare the following two instance types, they have 4x16 instances and the same pricing, but the D4s_v5 has better network throughput.</span></span>
</p>

<p style="margin-bottom:11px">
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="png" data-fileid="34986" href="//media.invisioncic.com/m329563/monthly_2024_06/image.png.18ac87733461ad30cc3856c62d77cb1e.png" rel=""><img alt="image.png" class="ipsImage ipsImage_thumbnailed" data-fileid="34986" data-unique="0jsmft76n" style="height: auto;" width="1000" src="//media.invisioncic.com/m329563/monthly_2024_06/image.thumb.png.a8d017f905f1fd56daa43a330073d10b.png" loading="lazy" height="440"></a>
</p>

<p style="margin-bottom:11px">
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="png" data-fileid="34987" href="//media.invisioncic.com/m329563/monthly_2024_06/image.png.6d1802fc2c489183c03d891f1161495d.png" rel=""><img alt="image.png" class="ipsImage ipsImage_thumbnailed" data-fileid="34987" data-unique="z6v0wn7q8" style="height: auto;" width="1000" src="//media.invisioncic.com/m329563/monthly_2024_06/image.thumb.png.99de42cdc84a75f8ff3af3fe81d5837e.png" loading="lazy" height="440"></a>
</p>

<p style="margin-bottom:11px">
	 
</p>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>If more memory is required, Azure has memory-optimized images, and the same is true here, where the newer instance type has more network throughput. </span></span>
</p>

<p style="margin-bottom:11px">
	 
</p>

<div style="border-left:solid #0968d7 4.5pt; padding:0in 0in 0in 4.0pt">
	<p class="NoteHeader" style="border:none; padding:0in; margin-bottom:11px">
		<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'><span style="color:#0968d7">Note:</span></span></span>
	</p>

	<p class="NoteBody" style="border:none; padding:0in; margin-bottom:11px">
		<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'><span style="color:black">When compared to Pay-As-You-Go Pricing on the day this document was written, these memory-optimized instances were about $70 more expensive per month.</span></span></span>
	</p>
</div>

<p style="margin-bottom:11px">
	 
</p>

<p style="margin-bottom:11px">
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="png" data-fileid="34988" href="//media.invisioncic.com/m329563/monthly_2024_06/image.png.9fcf60c0fe8848a3e06a8cf02da5293d.png" rel=""><img alt="image.png" class="ipsImage ipsImage_thumbnailed" data-fileid="34988" data-unique="eie0w58eh" style="height: auto;" width="1000" src="//media.invisioncic.com/m329563/monthly_2024_06/image.thumb.png.6a83261ab5eb5ba2839879afeb0a8b77.png" loading="lazy" height="310"></a>
</p>

<p style="margin-bottom:11px">
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="png" data-fileid="34989" href="//media.invisioncic.com/m329563/monthly_2024_06/image.png.945cfc3fa9204c95dda2c3618e4671bb.png" rel=""><img alt="image.png" class="ipsImage ipsImage_thumbnailed" data-fileid="34989" data-unique="vf5g6fcp7" style="height: auto;" width="1000" src="//media.invisioncic.com/m329563/monthly_2024_06/image.thumb.png.dee8bbcd6c91050757a625d85193f9ca.png" loading="lazy" height="370"></a>
</p>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>It’s worth noting that the pricing increases linearly in Azure as you go up in CPU and memory.  In our examples, the 8x32 instances cost exactly double what the 4x16 instances cost. </span></span>
</p>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>To decide on an instance type, determine how much memory your Citrix Provisioning servers will need based on the number of vDisks to stream. Then, find an appropriate instance with the best network performance. The following table lists memory requirements based on the number of vDisks streamed. These instances were chosen based on memory, price, and network throughput.</span></span>
</p>

<table class="MsoTableGrid" style="border-collapse:collapse; border:none">
	<tbody>
		<tr>
			<td style="border-bottom:1px solid black; width:125px; padding:0in 7px 0in 7px; height:46px; background-color:#003098; border-top:1px solid black; border-right:1px solid black; border-left:1px solid black" valign="top">
				<p class="CitrixTableHeader">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'><span style="color:white">#vDisks Required &lt;=</span></span></span>
				</p>

				<p class="CitrixTableHeader">
					 
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:125px; padding:0in 7px 0in 7px; height:46px; background-color:#003098; border-top:1px solid black; border-right:1px solid black; border-left:none" valign="top">
				<p class="CitrixTableHeader">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'><span style="color:white">Mem Req’d (GB)</span></span></span>
				</p>

				<p class="CitrixTableHeader">
					 
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:125px; padding:0in 7px 0in 7px; height:46px; background-color:#003098; border-top:1px solid black; border-right:1px solid black; border-left:none" valign="top">
				<p class="CitrixTableHeader">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'><span style="color:white">Instance</span></span></span>
				</p>

				<p class="CitrixTableHeader">
					 
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:125px; padding:0in 7px 0in 7px; height:46px; background-color:#003098; border-top:1px solid black; border-right:1px solid black; border-left:none" valign="top">
				<p class="CitrixTableHeader">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'><span style="color:white">Price Per Month*</span></span></span>
				</p>

				<p class="CitrixTableHeader">
					 
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:125px; padding:0in 7px 0in 7px; height:46px; background-color:#003098; border-top:1px solid black; border-right:1px solid black; border-left:none" valign="top">
				<p class="CitrixTableHeader">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'><span style="color:white">Net Throughput (Mb/s)</span></span></span>
				</p>

				<p class="CitrixTableHeader">
					 
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-bottom:1px solid black; width:125px; padding:0in 7px 0in 7px; border-top:none; border-right:1px solid black; border-left:1px solid black" valign="top">
				<p class="CitrixTableBody">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>7</span></span>
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:125px; padding:0in 7px 0in 7px; border-top:none; border-right:1px solid black; border-left:none" valign="top">
				<p class="CitrixTableBody">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>16</span></span>
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:125px; padding:0in 7px 0in 7px; border-top:none; border-right:1px solid black; border-left:none" valign="top">
				<p class="CitrixTableBody">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>D4s_v5</span></span>
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:125px; padding:0in 7px 0in 7px; border-top:none; border-right:1px solid black; border-left:none" valign="top">
				<p class="CitrixTableBody">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>$51.86</span></span>
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:125px; padding:0in 7px 0in 7px; border-top:none; border-right:1px solid black; border-left:none" valign="top">
				<p class="CitrixTableBody">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>12500</span></span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-bottom:1px solid black; width:125px; padding:0in 7px 0in 7px; border-top:none; border-right:1px solid black; border-left:1px solid black" valign="top">
				<p class="CitrixTableBody">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>15</span></span>
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:125px; padding:0in 7px 0in 7px; border-top:none; border-right:1px solid black; border-left:none" valign="top">
				<p class="CitrixTableBody">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>32</span></span>
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:125px; padding:0in 7px 0in 7px; border-top:none; border-right:1px solid black; border-left:none" valign="top">
				<p class="CitrixTableBody">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>E4ds_v5</span></span>
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:125px; padding:0in 7px 0in 7px; border-top:none; border-right:1px solid black; border-left:none" valign="top">
				<p class="CitrixTableBody">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>$79.89</span></span>
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:125px; padding:0in 7px 0in 7px; border-top:none; border-right:1px solid black; border-left:none" valign="top">
				<p class="CitrixTableBody">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>12500</span></span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-bottom:1px solid black; width:125px; padding:0in 7px 0in 7px; border-top:none; border-right:1px solid black; border-left:1px solid black" valign="top">
				<p class="CitrixTableBody">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>31</span></span>
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:125px; padding:0in 7px 0in 7px; border-top:none; border-right:1px solid black; border-left:none" valign="top">
				<p class="CitrixTableBody">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>64</span></span>
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:125px; padding:0in 7px 0in 7px; border-top:none; border-right:1px solid black; border-left:none" valign="top">
				<p class="CitrixTableBody">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>E8ds_v5</span></span>
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:125px; padding:0in 7px 0in 7px; border-top:none; border-right:1px solid black; border-left:none" valign="top">
				<p class="CitrixTableBody">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>$159.78</span></span>
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:125px; padding:0in 7px 0in 7px; border-top:none; border-right:1px solid black; border-left:none" valign="top">
				<p class="CitrixTableBody">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>12500</span></span>
				</p>
			</td>
		</tr>
	</tbody>
</table>

<p style="margin-bottom: 11px;">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'><span style="font-size:9.0pt">* Pricing based on 3-year reserved pricing in East US</span></span></span>
</p>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Azure pricing can change based on the day and the Region.  All of these instances would be suitable for Citrix Provisioning servers, and checking for pricing and availability should be mandatory when provisioning your Citrix Provisioning servers. Pricing should be checked periodically throughout the life of the Citrix Provisioning services.</span></span>
</p>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Storage costs are another factor to consider when designing the number of servers based on CPU and Memory.  Storage costs will depend on the type of storage used and the number of stores required.  See the storage section for more details.</span></span>
</p>

<h3 style="margin-top: 3px; margin-bottom: 8px;">
	<span style="font-size:16pt"><span style='font-family:"Public Sans"'><span style="color:black">Citrix Provisioning vDisk Stores</span></span></span>
</h3>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Citrix Provisioning supports vDisk storage on a local file system or a network share.  In this design, we recommend using disk stores deployed on local SSD disks attached to each Citrix Provisioning server.  This provides a very high level of redundancy because each server has its own copy of the vDisk store.  If a network share is used, then that share becomes a single point of failure for the Citrix Provisioning site.  While Citrix Provisioning supports Azure Files and Azure Netapp Files, both of which have good to very good redundancy, a vDisk could still be corrupted or deleted by accident, causing an outage.  This is less likely to be a significant issue if replicated local storage is used for the Citrix Provisioning stores.  If shared storage is used, it should be split into availability zones so there is at least redundancy between AZs in the design.</span></span>
</p>

<h3 style="margin-top: 3px; margin-bottom: 8px;">
	<span style="font-size:16pt"><span style='font-family:"Public Sans"'><span style="color:black">Citrix Provisioning vDisk Replication</span></span></span>
</h3>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>In the section above, using local vDisk stores was recommended.  If that choice is followed, then the vDisks in the stores added to each Citrix Provisioning server must be synchronized.  Many articles and processes have been developed to synchronize vDisks over the years.  This includes using DFS commercial replication solutions and any number of scripted solutions that have primarily relied on Microsoft's robocopy utility to synchronize the stores.  The vDisk Replication Utility documented here can replicate vDisks between servers within the same site or farm and across sites and farms.  It will also add the vDisk into Citrix Provisioning in a different Farm.  That said, the various solutions can replicate vDisks between local Stores.</span></span>
</p>

<h3 style="margin-top: 3px; margin-bottom: 8px;">
	<span style="font-size:16pt"><span style='font-family:"Public Sans"'><span style="color:black">Smaller Deployment Site Options</span></span></span>
</h3>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'><i>What if only one to two thousand VDAs are required? </i></span></span>
</p>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>There are several options here.  The first option is to follow the same design as the large-scale design above, just lowering the number of Citrix Provisioning servers required for each Zone.</span></span>
</p>

<p style="margin-bottom:11px">
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="png" data-fileid="34990" href="//media.invisioncic.com/m329563/monthly_2024_06/image.png.211c46def30eea70ec0933162609de5b.png" rel=""><img alt="image.png" class="ipsImage ipsImage_thumbnailed" data-fileid="34990" data-unique="aj41ra90y" style="height: auto;" width="1000" src="//media.invisioncic.com/m329563/monthly_2024_06/image.thumb.png.0704e212ee4acd153555c7ef73dd6d87.png" loading="lazy" height="450"></a>
</p>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>This provides a high degree of redundancy but with a higher cost as more Citrix Provisioning servers are provisioned than required for the number of VDAs to maintain high availability within each Availability Zone.</span></span>
</p>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Another option is to use a single Citrix Provisioning site across Availability Zones with a single Citrix Provisioning server per Availability Zone. This option trades off the localization of network access against the cost of additional Citrix Provisioning servers.</span></span>
</p>

<p style="margin-bottom:11px">
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="png" data-fileid="34991" href="//media.invisioncic.com/m329563/monthly_2024_06/image.png.86a5909314236e50c230efcd5c2cc641.png" rel=""><img alt="image.png" class="ipsImage ipsImage_thumbnailed" data-fileid="34991" data-unique="avposknnu" style="height: auto;" width="850" src="//media.invisioncic.com/m329563/monthly_2024_06/image.thumb.png.d29afdebf998c603e4d856ca75f8b410.png" loading="lazy" height="748"></a>
</p>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>The cost of the Citrix Provisioning servers when using an E4ds_v5 instance with 2TB of Standard SSD storage is approximately $340 per month, so adding two servers would add $680 per month to the solution.</span></span>
</p>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Supporting a single Citrix Provisioning site will also be easier operationally than supporting multiple, and each organization must decide how much redundancy is required to meet its high availability needs.</span></span>
</p>

<h3 style="margin-top: 3px; margin-bottom: 8px;">
	<span style="font-size:16pt"><span style='font-family:"Public Sans"'><span style="color:black">Citrix Provisioning Database Options</span></span></span>
</h3>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>There are many options for providing SQL services to Citrix Provisioning within Azure. While designing for SQL, remember that Citrix Provisioning has an option to “enable offline database support.” This allows the servers to keep streaming vDisks if the database goes down. It is still a best practice to provide a highly available database for Citrix Provisioning to maintain management operations using an HA design.  </span></span>
</p>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>The following SQL choices are available when using Citrix Provisioning in Azure.</span></span>
</p>

<ul style="margin-bottom:11px">
	<li class="CitrixListDefault" style="margin-bottom:11px; margin-left:8px">
		<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Azure SQL Database</span></span>
	</li>
	<li class="CitrixListDefault" style="margin-bottom:11px; margin-left:8px">
		<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Azure SQL Managed Instance</span></span>
	</li>
	<li class="CitrixListDefault" style="margin-bottom:11px; margin-left:8px">
		<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Microsoft SQL Server 2017, 2019, and 2022.</span></span>
		<ul style="list-style-type:circle">
			<li class="CitrixListDefault" style="margin-left:8px; margin-bottom:11px">
				<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Standalone</span></span>
			</li>
			<li class="CitrixListDefault" style="margin-left:8px; margin-bottom:11px">
				<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Database mirroring</span></span>
			</li>
			<li class="CitrixListDefault" style="margin-left:8px; margin-bottom:11px">
				<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Always on failover with or without multi-subnet failover</span></span>
			</li>
		</ul>
	</li>
</ul>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Most of these are well documented elsewhere, but if your organization wants to move to a more cloud service-centric approach, Azure SQL Database may be a good choice for Citrix Provisioning on Azure as it can provide a cost-effective way to provision a highly available, local SQL instance that adds minimal requirements for maintenance and upkeep.</span></span>
</p>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Azure SQL comes in two forms—one where you pay by cores and one by transactions (DTU).  If only the Citrix Provisioning database were provisioned in Azure, the solution that would make the most sense would be an Azure SQL Database, which provides a fully Microsoft-managed, highly available service for a single database.  Also, if you only use Azure SQL for Citrix Provisioning, using the DTU model for the service will probably make sense.  Check with your DBA team to determine the best approach for using Azure SQL in your organization.</span></span>
</p>

<h3 style="margin-top: 3px; margin-bottom: 8px;">
	<span style="font-size:16pt"><span style='font-family:"Public Sans"'><span style="color:black">Citrix License Server</span></span></span>
</h3>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Citrix Provisioning currently relies on an on-premises license and requires a Citrix License Server. If your organization already has an on-premises license server that will remain in the environment, it can be used for licensing in Azure.  Citrix Provisioning servers will continue to work without interruption for 30 days if they cannot contact the license server for any reason.  If the license server is only used in Azure and only for Citrix Provisioning, then the virtual machine instance used for the license server can be configured modestly.  Consider something like the D2_v4 instance type, a 2-core 4 GB RAM instance with a minimal monthly cost.</span></span>
</p>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Always use the latest version of the license server.  Open port 27000 from the Citrix Provisioning servers to the license server.  The license server requires telemetry to be enabled so that the license server will require internet access open to port 443 for <a href="https://cis.citrix.com" rel="external nofollow" style="color:#0563c1; text-decoration:underline">https://cis.citrix.com</a>.</span></span>
</p>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>The license server should be backed up or replicated for recovery. If the server fails, there is a 30-day grace period for recovery.</span></span>
</p>

<h1 style="margin-top:16px; margin-bottom:8px">
	<span style="font-size:18pt"><span style='font-family:"Public Sans"'><span style="color:black">Migration Options</span></span></span>
</h1>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Many organizations moving to Azure are already using Citrix Provisioning on-premises.  Depending on the technology you use to deploy Citrix Provisioning images, Citrix has a solution to ease the migration to Azure.  Several options exist for architecting the new solution in Azure if Citrix App Layering is used.  See the blog <a href="https://www.citrix.com/blogs/2023/03/29/app-layering-in-azure-2023-and-beyond/" rel="external nofollow" style="color:#0563c1; text-decoration:underline">App Layering in Azure 2023 and Beyond</a> for more details.</span></span>
</p>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>If you use a different method of managing Citrix Provisioning images, the Citrix Image Portability Service (IPS) can convert an on-premises image into an image appropriate for Citrix Provisioning in Azure. IPS is a scripted process that can be used for a one-time migration of vDisks into Azure or as a means to synchronize on-premises images to Azure regularly. See the standard documentation in the <a href="https://docs.citrix.com/en-us/citrix-daas/migrate-workloads.html" rel="external nofollow" style="color:#0563c1; text-decoration:underline">Image Portability Service</a> and the <a href="https://developer-docs.citrix.com/en-us/citrix-daas-service-apis/image-portability-service/overview.html" rel="external nofollow" style="color:#0563c1; text-decoration:underline">APIs to Manage the Image Portability Service</a>.</span></span>
</p>

<h1 style="margin-top:16px; margin-bottom:8px">
	<span style="font-size:18pt"><span style='font-family:"Public Sans"'><span style="color:black">General Notes</span></span></span>
</h1>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Many pieces of information are essential to know when designing and deploying Citrix Provisioning on Azure that did not apply to the architecture sections of this document, but they are nevertheless critical.  These will be listed here:</span></span>
</p>

<ul style="margin-bottom:11px">
	<li class="CitrixListDefault" style="margin-bottom:11px; margin-left:8px">
		<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Citrix Provisioning on Azure Limitations (Not Supported)</span></span>

		<ul style="list-style-type:circle">
			<li class="CitrixListDefault" style="margin-left:8px; margin-bottom:11px">
				<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Supported with 2203 LTSR, 2402 LTSR, Current Release</span></span>
			</li>
			<li class="CitrixListDefault" style="margin-left:8px; margin-bottom:11px">
				<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Windows Server 2012R2 and earlier Targets are not supported</span></span>
			</li>
			<li class="CitrixListDefault" style="margin-left:8px; margin-bottom:11px">
				<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Generation 1 VMs are not supported</span></span>
			</li>
			<li class="CitrixListDefault" style="margin-left:8px; margin-bottom:11px">
				<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>vDisk Update Management</span></span>
			</li>
			<li class="CitrixListDefault" style="margin-left:8px; margin-bottom:11px">
				<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Printer Management</span></span>
			</li>
			<li class="CitrixListDefault" style="margin-left:8px; margin-bottom:11px">
				<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>When Citrix Provisioning is integrated with a customer-managed Delivery Controller, removing VMs, catalogs, or AD accounts from the console is not supported.</span></span>
			</li>
			<li class="CitrixListDefault" style="margin-left:8px; margin-bottom:11px">
				<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Trusted Launch (Secure Boot and vTPM)</span></span>
			</li>
		</ul>
	</li>
	<li class="CitrixListDefault" style="margin-bottom:11px; margin-left:8px">
		<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Only BDM Boot Disks disks are supported</span></span>
		<ul style="list-style-type:circle">
			<li class="CitrixListDefault" style="margin-left:8px; margin-bottom:11px">
				<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>No PXE or ISO</span></span>
			</li>
		</ul>
	</li>
	<li class="CitrixListDefault" style="margin-bottom:11px; margin-left:8px">
		<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>An Azure Feature Flag for “ReserveMacOnCreateNic” is required to be set on the Azure subscription.  This feature tells Azure to bind the Mac Address to the VM sooner.</span></span>
	</li>
	<li class="CitrixListDefault" style="margin-bottom:11px; margin-left:8px">
		<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>The Azure machine size used when creating the master VM must be compatible with that used when creating target VMs. Only Generation 2 VMs are supported. This includes the following:</span></span>
		<ul style="list-style-type:circle">
			<li class="CitrixListDefault" style="margin-left:8px; margin-bottom:11px">
				<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>The presence or absence of a temporary disk must be the same</span></span>
			</li>
			<li class="CitrixListDefault" style="margin-left:8px; margin-bottom:11px">
				<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>The presence or absence of a GPU must be the same</span></span>
			</li>
		</ul>
	</li>
	<li class="CitrixListDefault" style="margin-bottom:11px; margin-left:8px">
		<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>When using a Citrix Provisioning wizard to create targets, if the VMs have a temporary disk, creating new targets can use batch sizes of 200 VMs created in parallel.  However, if no temp disk is available on the targets, only 20 targets can be created simultaneously.  If no temp disk is available, set the following REG_DWORD to 10</span></span>
		<ul style="list-style-type:circle">
			<li class="CitrixListDefault" style="margin-left:8px; margin-bottom:11px">
				<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>HKCU\Software\Citrix\ProvisioningServices\VdiWizard\MAX_VM_CREATE_THREADS</span></span>
			</li>
		</ul>
	</li>
	<li class="CitrixListDefault" style="margin-bottom:11px; margin-left:8px">
		<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>For targets provisioned using the new Studio provisioning, the default deployment size will be 10 targets in parallel, but this will soon be increased to 500.</span></span>
	</li>
	<li class="CitrixListDefault" style="margin-bottom:11px; margin-left:8px">
		<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Master Image cannot include “Plan Information”</span></span>
		<ul style="list-style-type:circle">
			<li class="CitrixListDefault" style="margin-left:8px; margin-bottom:11px">
				<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Meaning that a Citrix Provisioning Image cannot be made from a third-party Marketplace image</span></span>
			</li>
		</ul>
	</li>
	<li class="CitrixListDefault" style="margin-bottom:11px; margin-left:8px">
		<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>If using Hybrid Entra ID/AD targets, also use Studio provisioning; otherwise, targets must wait up to 90 minutes to join the Entra ID after boot.  Studio provisioning will store the Entra ID join in the Identity Disk, making it available immediately.</span></span>
	</li>
	<li class="CitrixListDefault" style="margin-bottom:11px; margin-left:8px">
		<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>The Citrix Provisioning console only supports Active Directory integration for Admins.</span></span>
	</li>
	<li class="CitrixListDefault" style="margin-bottom:11px; margin-left:8px">
		<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Both IPv4 and IPv6 are supported.  However, IPv6 is supported on 2311 and is newer for streaming only, and it can’t be used yet with studio provisioning.</span></span>
	</li>
	<li class="CitrixListDefault" style="margin-bottom:11px; margin-left:8px">
		<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Accelerated Networking should be used on both the Citrix Provisioning server and Targets</span></span>
	</li>
</ul>

<h1 style="margin-top: 3px; margin-bottom: 8px;">
	<span style="font-size:24px;"><span style='font-family:"Public Sans"'><span style="color:black">Virtual Machine Costs Comparison</span></span></span>
</h1>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>To help customers understand the differences in storage requirements between Citrix Provisioning in Azure and various configurations of MCS, we have outlined the options below for different types of provisioned systems.  The costs defined here were obtained using the Azure pricing when this document was written.  The costs below are based on 3-year reserved and pay-as-you-go pricing in Azure US East that can change at any time, but it should provide an understanding of the cost categories involved in the overall solution.  Since SQL would not be required if using MCS, we have also included base pricing for Azure SQL, assuming the least costly DTU-based pricing plan will be used. </span></span>
</p>

<p style="margin-bottom:11px">
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="png" data-fileid="34992" href="//media.invisioncic.com/m329563/monthly_2024_06/image.png.4f9a462610f1b64e9c12648d5ab715fd.png" rel=""><img alt="image.png" class="ipsImage ipsImage_thumbnailed" data-fileid="34992" data-unique="fr738l4hq" style="height: auto;" width="1000" src="//media.invisioncic.com/m329563/monthly_2024_06/image.thumb.png.7d99b638fedb0738dba03276a4323c4d.png" loading="lazy" height="600"></a>
</p>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>The model compares VDAs deployed using different settings in Citrix Provisioning and MCS. Next, we will explain the main assumptions and overall differences between each deployment type. This </span></span><a class="ipsAttachLink" data-fileid="37008" href="https://community.citrix.com/applications/core/interface/file/attachment.php?id=37008&amp;key=090aa81dd14a1b8ba9ce7c033619bf58" data-fileext="xlsx" rel="">Storage Cost Analysis V2.xlsx</a><span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>spreadsheet can be downloaded and used to perform what-if analysis by changing the assumptions.</span></span>
</p>

<h3 style="margin-top: 3px; margin-bottom: 8px;">
	<span style="font-size:16pt"><span style='font-family:"Public Sans"'><span style="color:black">Main Assumptions</span></span></span>
</h3>

<ul style="margin-bottom:11px">
	<li class="CitrixListDefault" style="margin-bottom:11px; margin-left:8px">
		<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Pricing assumes Windows costs are paid using the Hybrid Rights Benefit</span></span>
	</li>
	<li class="CitrixListDefault" style="margin-bottom:11px; margin-left:8px">
		<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Compute Gallery Images will use 80 GB of disk space</span></span>
	</li>
	<li class="CitrixListDefault" style="margin-bottom:11px; margin-left:8px">
		<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>70% of VDAs will use 3-Year Reserved Instance Pricing while 30% will use Pay as you Go Pricing</span></span>
	</li>
	<li class="CitrixListDefault" style="margin-bottom:11px; margin-left:8px">
		<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>VDAs will be either D4D_V4 or D4_V4</span></span>
	</li>
	<li class="CitrixListDefault" style="margin-bottom:11px; margin-left:8px">
		<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Citrix Provisioning Sites with 2K or fewer targets will use a single Citrix Provisioning site spread across Availability Zones</span></span>
	</li>
	<li class="CitrixListDefault" style="margin-bottom:11px; margin-left:8px">
		<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Citrix Provisioning Servers use 3-Year Reserved Instance Pricing with E4ds_V5 Instance</span></span>
	</li>
	<li class="CitrixListDefault" style="margin-bottom:11px; margin-left:8px">
		<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Citrix Provisioning servers will be provisioned with a 2 TB store</span></span>
	</li>
	<li class="CitrixListDefault" style="margin-bottom:11px; margin-left:8px">
		<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>A Citrix Provisioning server is deployed for every 1,667 targets.  This number is rounded up, and then one server is added per site for higher availability.</span></span>
	</li>
</ul>

<h1 style="margin-top: 3px; margin-bottom: 8px;">
	<span style="font-size:16pt"><span style='font-family:"Public Sans"'><span style="color:black">Deployment Types</span></span></span>
</h1>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>The following sections discuss the differences between provisioning options.</span></span>
</p>

<h3 style="margin-top:3px; margin-bottom:8px">
	<span style="font-size:12pt"><span style='font-family:"Public Sans"'><span style="color:black">MCS without Ephemeral Disk or MCSIO</span></span></span>
</h3>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>No disk optimization solution is used in this MCS option, meaning the OS disk must be at least a Standard SSD, as defined in the model. MCS also provides an identity disk for each VDA that is always present and an E1 disk is used because it is the least expensive option, as standard disks have a minimum size of 32 GB versus 4 GB for SSD.</span></span>
</p>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>We assume that Compute Gallery disks are used for disk hydration at a 40-1 ratio and that the VDAs will be used for an average of 10 hours per day and shut down by Autoscale at other times.</span></span>
</p>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>The Compute instance defined here is the D4s_v4, which is the same price as the D4_v4 but allows SSD disks to be attached. From a performance perspective, the disk performance here will not be as good as that with ephemeral disks or MCSIO, but the cost is a little less than that of using ephemeral disks and about the same as MCSIO.</span></span>
</p>

<h3 style="margin-top:3px; margin-bottom:8px">
	<span style="font-size:12pt"><span style='font-family:"Public Sans"'><span style="color:black">MCS with Ephemeral Disk</span></span></span>
</h3>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>In this MCS option, an ephemeral disk is used for the OS Disk to increase performance and lower the storage costs. Ephemeral disks are on-host SSDs that provide very high IOPS for VDA storage. However, the instances that support ephemeral disks must provide temporary storage big enough to store the VDA's full image. Generally, these instance types are more expensive than instances that don’t have this requirement.  In our example, the instance that can support ephemeral disks costs $9 a month more than the same configuration without this support.</span></span>
</p>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>As mentioned earlier, we also have the identity (E1) and Compute Gallery disks. We are likewise assuming here that the VDAs will be used for an average of 10 hours per day and shut down by Autoscale at other times.</span></span>
</p>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>The Compute instance defined here is the D4d_v4, which is the same price as the D4_v4, but it has a 150GB temp disk and supports ephemeral disks.</span></span>
</p>

<h3 style="margin-top:3px; margin-bottom:8px">
	<span style="font-size:12pt"><span style='font-family:"Public Sans"'><span style="color:black">MCS with MCSIO</span></span></span>
</h3>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>In this option, we use MCSIO to provide excellent disk performance using less expensive storage in conjunction with a RAM cache.  Remember that this option will use 1-2 GB of RAM to obtain the higher level of performance provided.  Since the RAM cache works so well, standard HDD storage can be used for the OS and cache disks.  As with all the MCS options, this option uses an identity disk and the Compute Gallery for disk hydration.</span></span>
</p>

<h3 style="margin-top:3px; margin-bottom:8px">
	<span style="font-size:12pt"><span style='font-family:"Public Sans"'><span style="color:black">Citrix Provisioning Provisioned by Citrix Provisioning</span></span></span>
</h3>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>The cost makeup of Citrix Provisioning has a few more items to include in the analysis.  When deployed using the Citrix Provisioning process (meaning not using MCS as in the next section), there are:</span></span>
</p>

<ul style="margin-bottom:11px">
	<li class="CitrixListDefault" style="margin-bottom:11px; margin-left:8px">
		<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>OS/Boot Disk (E1) – A 1 GB managed disk used to boot the VDA.  This disk is always provisioned whether the VDA is running or not.</span></span>
	</li>
	<li class="CitrixListDefault" style="margin-bottom:11px; margin-left:8px">
		<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Cache Disk (E4)—A 32 GB managed disk used as a disk cache for the RAM cache with overflow to disk. This disk is always provisioned whether the VDA is running or not. Currently, the RAM cache uses Standard SDD, which is not configurable like it is in MCS.</span></span>
	</li>
	<li class="CitrixListDefault" style="margin-bottom:11px; margin-left:8px">
		<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Citrix Provisioning Servers – See main assumptions</span></span>
	</li>
	<li class="CitrixListDefault" style="margin-bottom:11px; margin-left:8px">
		<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Azure SQL</span></span>
	</li>
</ul>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Citrix Provisioning, like MCSIO, uses cache in RAM with overflow to disk technology to increase the solution's overall performance.  In this model, the Citrix Provisioning servers are amortized over the cost of the VDAs.  We are using a 1667:1 ratio for Citrix Provisioning targets to servers with HA built into each Citrix Provisioning site.  If you have a very low VDA count environment, the cost ratio for the Citrix Provisioning server infrastructure will be higher.</span></span>
</p>

<h3 style="margin-top:3px; margin-bottom:8px">
	<span style="font-size:12pt"><span style='font-family:"Public Sans"'><span style="color:black">Citrix Provisioning Provisioned by Studio</span></span></span>
</h3>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>The makeup of costs when using MCS to deploy Citrix Provisioning is slightly different:</span></span>
</p>

<ul style="margin-bottom:11px">
	<li class="CitrixListDefault" style="margin-bottom:11px; margin-left:8px">
		<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Identity Disk (E1)—This disk stores the machine's identity and Domain Trust information. It is always provisioned, whether the VDA is running or not.</span></span>
	</li>
	<li class="CitrixListDefault" style="margin-bottom:11px; margin-left:8px">
		<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>OS/Boot Disk (E1) – A 1 GB managed disk used to boot the VDA.  This disk is always provisioned whether the VDA is running or not.</span></span>
	</li>
	<li class="CitrixListDefault" style="margin-bottom:11px; margin-left:8px">
		<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Cache Disk (S4)—A 32 GB managed disk used as a disk cache for the RAM cache with overflow to the disk. This disk is always provisioned, whether the VDA is running or not.</span></span>
	</li>
	<li class="CitrixListDefault" style="margin-bottom:11px; margin-left:8px">
		<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Citrix Provisioning Servers – See main assumptions</span></span>
	</li>
	<li class="CitrixListDefault" style="margin-bottom:11px; margin-left:8px">
		<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Azure SQL</span></span>
	</li>
</ul>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>You can see here that there is a new disk to capture the machine identity, and MCS allows us to create a cache disk that is Standard HDD rather than Standard SSD.  These changes allow for a slightly lower overall cost.</span></span>
</p>

<h3 style="margin-top:3px; margin-bottom:8px">
	<span style="font-size:12pt"><span style='font-family:"Public Sans"'><span style="color:black">Cost Comparison Summary</span></span></span>
</h3>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>The main takeaway from this analysis is that the overall costs of the different available Citrix provisioning solutions are relatively similar. </span></span>
</p>

<p style="margin-bottom:11px">
	<img alt="image.png" class="ipsImage ipsImage_thumbnailed" data-fileid="34993" data-unique="r2enqodma" style="height: auto;" width="688" src="//media.invisioncic.com/m329563/monthly_2024_06/image.png.94f1cf5834254e075b3803eaf318edbb.png" loading="lazy" height="268.32">
</p>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Excluding the solution that uses ephemeral disks, the cost estimates range from $56.72 to $59 a month per VDA.  Compute makes up more than 93% of the cost, while the non-compute portion is relatively low in all cases, ranging from $2.12 to $4.40 per VDA per month.</span></span>
</p>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>The least costly option at scale is Citrix Provisioning, provisioned by Studio. However, all the options are similar at scale except for using ephemeral disks, which are less expensive for disks but cost $9 a month more for computing.</span></span>
</p>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>This does not mean you should not consider MCS with ephemeral disks, as it is a very high-performance solution that should still be considered if performance is critical.</span></span>
</p>

<h1 style="margin-top:16px; margin-bottom:8px">
	<span style="font-size:18pt"><span style='font-family:"Public Sans"'><span style="color:black">Design Pillars</span></span></span>
</h1>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Citrix reference architectures are designed with respect to the following critical tenets or “Pillars”:</span></span>
</p>

<ul style="margin-bottom:11px">
	<li class="CitrixListDefault" style="margin-bottom:11px; margin-left:8px">
		<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Resiliency</span></span>
	</li>
	<li class="CitrixListDefault" style="margin-bottom:11px; margin-left:8px">
		<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Security</span></span>
	</li>
	<li class="CitrixListDefault" style="margin-bottom:11px; margin-left:8px">
		<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Cost optimization</span></span>
	</li>
	<li class="CitrixListDefault" style="margin-bottom:11px; margin-left:8px">
		<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Operational Excellence</span></span>
	</li>
	<li class="CitrixListDefault" style="margin-bottom:11px; margin-left:8px">
		<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Performance Efficiency</span></span>
	</li>
</ul>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>The options chosen to support the pillars within the design are discussed in the next several sections.</span></span>
</p>

<h3 style="margin-top: 3px; margin-bottom: 8px;">
	<span style="font-size:16pt"><span style='font-family:"Public Sans"'><span style="color:black">Resiliency</span></span></span>
</h3>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Resiliency is the cornerstone of any architecture that supports mission-critical operations.  Each infrastructure component is designed to support local and regional failure in this design. Incorporating multiple Availability Zones per region means that both VDAs and Citrix Provisioning servers are spread across physical data centers within the region. If desired, this configuration can be replicated to another Azure region.  Even within each Availability Zone, multiple Citrix Provisioning servers are deployed, providing N+1 availability.  Citrix Provisioning supports failing overall streaming targets automatically, from one server to another, if one fails without downtime to targets/VDAs.  The SQL database provided using Azure SQL is highly redundant, and Citrix Provisioning is configured to provide “offline database support” if the database becomes unavailable.  This feature allows vDisk streaming to continue if the SQL database is unavailable by caching the database locally, but management is not possible when running offline.</span></span>
</p>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Citrix Provisioning requires storage for vDisks that must be accessed by the Citrix Provisioning servers. In this design, we recommend local storage for Citrix Provisioning because it becomes very highly available. Every server keeps a copy of all the vDisks, and there are then no shared components required to stream the vDisk. This requires more management as the vDisks must be replicated between servers, but the redundancy is worth the extra management.</span></span>
</p>

<h3 style="margin-top: 3px; margin-bottom: 8px;">
	<span style="font-size:16pt"><span style='font-family:"Public Sans"'><span style="color:black">Security</span></span></span>
</h3>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Using Citrix Provisioning in Azure allows organizations to use the more secure desktop computing model where non-persistent images are used for end-user workloads.  The advantage of this model is that the deployments are centralized and highly managed, and upon reboot, the workload desktops or servers are reset back to the known good configuration. Azure-specific security practices can be implemented at the subnet level to ensure that the desktop can only communicate from the “Citrix Subnets” up to the landing zone and not traverse vertically amongst the other workload desktops/servers.</span></span>
</p>

<h3 style="margin-top: 3px; margin-bottom: 8px;">
	<span style="font-size:16pt"><span style='font-family:"Public Sans"'><span style="color:black">Cost optimization</span></span></span>
</h3>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>When migrating to Azure, designing the Citrix infrastructure with cost in mind is important.  For example, it’s typically much less expensive to deploy hosted shared desktops on Windows Servers than non-persistent VDI desktops or persistent VDI desktops, which tend to be the most costly choice.  In the financial modeling within the cost comparison section, we showed some decisions that significantly affect the overall cost of the solution.  These include:</span></span>
</p>

<ul style="margin-bottom:11px">
	<li class="CitrixListDefault" style="margin-bottom:11px; margin-left:8px">
		<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Using 3-year reserved instances for Citrix Provisioning infrastructure servers that will run 24/7</span></span>
	</li>
	<li class="CitrixListDefault" style="margin-bottom:11px; margin-left:8px">
		<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Using 3-year reserved instances for a percentage of targets that will always be used, then using pay-as-you-go instances with Citrix Autoscale to manage the variable usage that can change from day to day or month to month.  In our model, this was a 70/30 split, but since reserved instances are, say, 60% cheaper than pay-as-you-go, the breakeven point in hours per day is approximately 9.5 hours of usage a day.</span></span>
	</li>
	<li class="CitrixListDefault" style="margin-bottom:11px; margin-left:8px">
		<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Using Citrix Provisioning is less costly from a storage perspective than other designs because there is no large OS disk required while the target is running.  A smaller cache disk is used to provide higher performance at a lower cost.</span></span>
	</li>
	<li class="CitrixListDefault" style="margin-bottom:11px; margin-left:8px">
		<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>See the next section as operational excellence has an associated effect on cost</span></span>
	</li>
</ul>

<h3 style="margin-top: 3px; margin-bottom: 8px;">
	<span style="font-size:16pt"><span style='font-family:"Public Sans"'><span style="color:black">Operational Excellence</span></span></span>
</h3>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Organizations dedicated to using Citrix Provisioning say that the most significant benefit of using the technology is the speed and flexibility of changing the environment.  Citrix Provisioning allows for updates to an existing image or deployment of a new image very rapidly.  Targets must be rebooted to apply changes with the new vDisk or vDisk version.  On a similar note, adding targets to an environment is also a very quick and easy task, as in Citrix Provisioning, a target is just a deployment VM with an associated boot disk.  Also, Citrix Provisioning has been used for many years, and there is a lot of knowledge capital in the industry on managing it.</span></span>
</p>

<h3 style="margin-top: 3px; margin-bottom: 8px;">
	<span style="font-size:16pt"><span style='font-family:"Public Sans"'><span style="color:black">Performance Efficiency</span></span></span>
</h3>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Performance efficiency is the ability of a solution to adapt to changes in demand. Citrix Provisioning in Azure, along with Citrix AutoScale, provides a scalable solution that is difficult to match with an on-premises deployment, where capacity increases normally require capital purchases and very long lead times.</span></span>
</p>

<h1 style="margin-top:16px; margin-bottom:8px">
	<span style="font-size:18pt"><span style='font-family:"Public Sans"'><span style="color:black">Conclusion</span></span></span>
</h1>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Citrix supports several different provisioning methods when using Azure workloads, including Citrix Provisioning (Citrix Provisioning), Machine Creation Services (MCS), and what we would call “manual” provisioning, which means using a provisioning method outside of Citrix where the VDA gets installed using a separate manual or automated workflow.  These are all valid ways to manage Citrix environments.  For those customers who love and see the many advantages of Citrix Provisioning, this reference architecture provides a primer on how to architect a Citrix Provisioning solution in Azure based on the five critical Design Pillars, and it intends to help customers deploy a secure, robust, available, performant environment to delivery Citrix workloads in Azure.</span></span>
</p>
]]></description><guid isPermaLink="false">290</guid><pubDate>Mon, 17 Jun 2024 13:08:00 +0000</pubDate></item><item><title>Mergers and Acquisitions</title><link>https://community.citrix.com/tech-zone/design/reference-architectures/mergers-acquisitions/</link><description><![CDATA[<h1 style="margin-top:16px; margin-bottom:8px">
	<span style="font-size:18pt"><span style='font-family:"Public Sans"'><span style="color:black">Overview</span></span></span>
</h1>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>CompanyA is a food manufacturer located in the northern plains of the United States. CompanyA plans to acquire additional food manufacturers across different climates to continue growing and expanding into new types of food. As part of the acquisition process, CompanyA needs a repeatable strategy to integrate acquired company systems into a single, unified experience.</span></span>
</p>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>The integration across multiple independent organizations introduces many technical challenges. The challenges mostly focus on granting external users (CompanyA users) access to private resources (CompanyB applications) that separate, independent identity providers authorize.</span></span>
</p>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Company A used Citrix Workspace as the cornerstone of its mergers and acquisition strategy. It is looking to use the same strategy for acquiring Companies C, D, and E.</span></span>
</p>

<h1 style="margin-top:16px; margin-bottom:8px">
	<span style="font-size:18pt"><span style='font-family:"Public Sans"'><span style="color:black">Success Criteria</span></span></span>
</h1>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>As part of the acquisition strategy, CompanyA needs a solution that can quickly and securely allow users access to CompanyA and CompanyB resources. To be successful, CompanyA defined a list of success criteria that forms the basis for the overarching design.</span></span>
</p>

<h2 style="margin-top:3px; margin-bottom:8px">
	<span style="font-size:16pt"><span style='font-family:"Public Sans"'><span style="color:black">User Experience<a name="bookmark=id.gjdgxs" rel=""></a></span></span></span>
</h2>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>The first aspect of a mergers and acquisitions solution is meeting the user’s needs. CompanyA identified the following user-related criteria for a successful design.</span></span>
</p>

<table class="Table" style="border-collapse: collapse; border: none; width: 850px;" width="623">
	<tbody>
		<tr>
			<td style="border-bottom:1px solid black; width:208px; padding:0in 7px 0in 7px; background-color:#003098; border-top:1px solid black; border-right:1px solid black; border-left:1px solid black" valign="top">
				<p style="border:none">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'><span style="color:white">Success Criteria</span></span></span>
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:208px; padding:0in 7px 0in 7px; background-color:#003098; border-top:1px solid black; border-right:1px solid black; border-left:none" valign="top">
				<p style="border:none">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'><span style="color:white">Description</span></span></span>
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:208px; padding:0in 7px 0in 7px; background-color:#003098; border-top:1px solid black; border-right:1px solid black; border-left:none" valign="top">
				<p style="border:none">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'><span style="color:white">Solution</span></span></span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-bottom:1px solid black; width:208px; padding:0in 7px 0in 7px; border-top:none; border-right:1px solid black; border-left:1px solid black" valign="top">
				<p style="border:none">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'><span style="color:black">Application Library</span></span></span>
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:208px; padding:0in 7px 0in 7px; border-top:none; border-right:1px solid black; border-left:none" valign="top">
				<p style="border:none">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'><span style="color:black">Company A and Company B users need a centralized way to access resources from the other company.</span></span></span>
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:208px; padding:0in 7px 0in 7px; border-top:none; border-right:1px solid black; border-left:none" valign="top">
				<p style="border:none">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'><span style="color:black">Citrix Workspace</span></span></span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-bottom:1px solid black; width:208px; padding:0in 7px 0in 7px; border-top:none; border-right:1px solid black; border-left:1px solid black" valign="top">
				<p style="border:none">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'><span style="color:black">Web App Single Sign-On</span></span></span>
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:208px; padding:0in 7px 0in 7px; border-top:none; border-right:1px solid black; border-left:none" valign="top">
				<p style="border:none">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'><span style="color:black">When accessing private web resources from another company, users are not required to remember and enter another user's accounts or passwords.</span></span></span>
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:208px; padding:0in 7px 0in 7px; border-top:none; border-right:1px solid black; border-left:none" valign="top">
				<p style="border:none">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'><span style="color:black">Citrix Secure Private Access service</span></span></span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-bottom:1px solid black; width:208px; padding:0in 7px 0in 7px; border-top:none; border-right:1px solid black; border-left:1px solid black" valign="top">
				<p style="border:none">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'><span style="color:black">Virtual App Single Sign-On</span></span></span>
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:208px; padding:0in 7px 0in 7px; border-top:none; border-right:1px solid black; border-left:none" valign="top">
				<p style="border:none">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'><span style="color:black">When accessing virtual Windows apps from another company, users are not required to remember and enter another user's accounts or passwords.</span></span></span>
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:208px; padding:0in 7px 0in 7px; border-top:none; border-right:1px solid black; border-left:none" valign="top">
				<p style="border:none">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'><span style="color:black">Citrix DaaS – Federated Authentications Service</span></span></span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-bottom:1px solid black; width:208px; padding:0in 7px 0in 7px; border-top:none; border-right:1px solid black; border-left:1px solid black" valign="top">
				<p style="border:none">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'><span style="color:black">Unified Experience</span></span></span>
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:208px; padding:0in 7px 0in 7px; border-top:none; border-right:1px solid black; border-left:none" valign="top">
				<p style="border:none">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'><span style="color:black">Regardless of the user’s original company, all users have the same authentication experience.</span></span></span>
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:208px; padding:0in 7px 0in 7px; border-top:none; border-right:1px solid black; border-left:none" valign="top">
				<p style="border:none">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'><span style="color:black">NetScaler – nFactor authentication policies</span></span></span>
				</p>
			</td>
		</tr>
	</tbody>
</table>

<h2 style="margin-top:3px; margin-bottom:8px">
	<span style="font-size:16pt"><span style='font-family:"Public Sans"'><span style="color:black">Security<a name="bookmark=id.30j0zll" rel=""></a></span></span></span>
</h2>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>The second aspect of a mergers and acquisitions solution is meeting security needs. CompanyA identified the following security-related criteria for a successful design.</span></span>
</p>

<table class="Table" style="border-collapse: collapse; border: none; width: 850px;" width="623">
	<tbody>
		<tr>
			<td style="border-bottom:1px solid black; width:208px; padding:0in 7px 0in 7px; background-color:#003098; border-top:1px solid black; border-right:1px solid black; border-left:1px solid black" valign="top">
				<p style="border:none">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'><span style="color:white">Success Criteria</span></span></span>
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:208px; padding:0in 7px 0in 7px; background-color:#003098; border-top:1px solid black; border-right:1px solid black; border-left:none" valign="top">
				<p style="border:none">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'><span style="color:white">Description</span></span></span>
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:208px; padding:0in 7px 0in 7px; background-color:#003098; border-top:1px solid black; border-right:1px solid black; border-left:none" valign="top">
				<p style="border:none">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'><span style="color:white">Solution</span></span></span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-bottom:1px solid black; width:208px; padding:0in 7px 0in 7px; border-top:none; border-right:1px solid black; border-left:1px solid black" valign="top">
				<p style="border:none">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'><span style="color:black">Identity Providers</span></span></span>
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:208px; padding:0in 7px 0in 7px; border-top:none; border-right:1px solid black; border-left:none" valign="top">
				<p style="border:none">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'><span style="color:black">Each acquired organization maintains a separate identity provider until it can be integrated with CompanyA’s primary identity provider.</span></span></span>
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:208px; padding:0in 7px 0in 7px; border-top:none; border-right:1px solid black; border-left:none" valign="top">
				<p style="border:none">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'><span style="color:black">NetScaler</span></span></span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-bottom:1px solid black; width:208px; padding:0in 7px 0in 7px; border-top:none; border-right:1px solid black; border-left:1px solid black" valign="top">
				<p style="border:none">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'><span style="color:black">Multifactor authentication</span></span></span>
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:208px; padding:0in 7px 0in 7px; border-top:none; border-right:1px solid black; border-left:none" valign="top">
				<p style="border:none">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'><span style="color:black">Security is a top concern, so MFA is required to ensure another layer of authentication protection of corporate resources.</span></span></span>
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:208px; padding:0in 7px 0in 7px; border-top:none; border-right:1px solid black; border-left:none" valign="top">
				<p style="border:none">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'><span style="color:black">Integrate currently deployed solution or require Time-Based One-Time Password with Push</span></span></span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-bottom:1px solid black; width:208px; padding:0in 7px 0in 7px; border-top:none; border-right:1px solid black; border-left:1px solid black" valign="top">
				<p style="border:none">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'><span style="color:black">VPN-less Access</span></span></span>
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:208px; padding:0in 7px 0in 7px; border-top:none; border-right:1px solid black; border-left:none" valign="top">
				<p style="border:none">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'><span style="color:black">Corporate resources must be protected from untrusted and unsecured locations. Devices are not allowed direct access to the internal network to help prevent malware intrusion.</span></span></span>
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:208px; padding:0in 7px 0in 7px; border-top:none; border-right:1px solid black; border-left:none" valign="top">
				<p style="border:none">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'><span style="color:black">Citrix Secure Private Access service and Citrix DaaS</span></span></span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-bottom:1px solid black; width:208px; padding:0in 7px 0in 7px; border-top:none; border-right:1px solid black; border-left:1px solid black" valign="top">
				<p style="border:none">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'><span style="color:black">Internal Threats</span></span></span>
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:208px; padding:0in 7px 0in 7px; border-top:none; border-right:1px solid black; border-left:none" valign="top">
				<p style="border:none">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'><span style="color:black">There are documented cases where internal users who are unhappy with the acquisition steal customer data and intellectual property. Data capture and storage must be restricted.</span></span></span>
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:208px; padding:0in 7px 0in 7px; border-top:none; border-right:1px solid black; border-left:none" valign="top">
				<p style="border:none">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'><span style="color:black">Enhanced Security Policies, App Protection Policies, and Security Analytics</span></span></span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-bottom:1px solid black; width:208px; padding:0in 7px 0in 7px; border-top:none; border-right:1px solid black; border-left:1px solid black" valign="top">
				<p style="border:none">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'><span style="color:black">External Threats</span></span></span>
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:208px; padding:0in 7px 0in 7px; border-top:none; border-right:1px solid black; border-left:none" valign="top">
				<p style="border:none">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'><span style="color:black">NetScaler presents Workspace with an authentication web app to handle multi-directory authentication. CompanyA must add extra layers of protection for public-facing web apps.</span></span></span>
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:208px; padding:0in 7px 0in 7px; border-top:none; border-right:1px solid black; border-left:none" valign="top">
				<p style="border:none">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'><span style="color:black">NetScaler with Bot Management and Web App Firewall</span></span></span>
				</p>
			</td>
		</tr>
	</tbody>
</table>

<h1 style="margin-top:16px; margin-bottom:8px">
	<span style="font-size:18pt"><span style='font-family:"Public Sans"'><span style="color:black">Conceptual Architecture</span></span></span>
</h1>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>CompanyA created the following high-level conceptual architecture based on the requirements defined by its acquisition strategy. The conceptual architecture meets all of the requirements and gives CompanyA the foundation to expand to additional use cases as identified in the future.</span></span>
</p>

<p style="margin-bottom:11px">
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="png" data-fileid="35671" href="//media.invisioncic.com/m329563/monthly_2024_08/image.png.122bcbd775efb5b3d98b5e10ebef58d3.png" rel=""><img alt="image.png" class="ipsImage ipsImage_thumbnailed" data-fileid="35671" data-unique="b87gk07ai" style="height: auto;" width="1000" src="//media.invisioncic.com/m329563/monthly_2024_08/image.thumb.png.650ef2de593e5e42aab432d63aa49061.png" loading="lazy" height="430"></a>
</p>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>The architecture framework is divided into multiple layers. The framework provides a foundation for understanding the technical architecture of the mergers and acquisitions scenario. All layers flow together to create a complete, end-to-end solution.</span></span>
</p>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>At a high level:</span></span>
</p>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'><b>User Layer</b>: The user layer describes the end-user environment and end-point devices used to connect to resources.</span></span>
</p>

<ul style="margin-bottom:11px">
	<li style="margin-left:8px; margin-bottom:11px">
		<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Users access resources from the Workspace app regardless of device, resulting in an identical experience across every form factor and device platform.</span></span>
	</li>
</ul>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'><b>Access Layer</b>: The access layer describes how users authenticate to their Workspace and secondary resources.</span></span>
</p>

<ul style="margin-bottom:11px">
	<li style="margin-left:8px; margin-bottom:11px">
		<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Users continue to authenticate with their pre-acquisition primary identity.</span></span>
	</li>
	<li style="margin-left:8px; margin-bottom:11px">
		<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Users continue to use their pre-acquisition multifactor authentication solution. If the company does not currently utilize multifactor authentication, CompanyA provides phone-based TOTP tokens that support push-based authentication.</span></span>
	</li>
</ul>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'><b>Resource Layer</b>: The resource layer authorizes specific SaaS, web, and virtual resources for defined users and groups and their associated security policies.</span></span>
</p>

<ul style="margin-bottom:11px">
	<li style="margin-left:8px; margin-bottom:11px">
		<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Regardless of a user’s originating company, the user must be allowed seamless access to any authorized resource hosted by other companies.</span></span>
	</li>
	<li style="margin-left:8px; margin-bottom:11px">
		<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>To better protect data, CompanyA requires policies that disable the ability to print, download, and copy/paste content from the managed resource to and from the endpoint. CompanyA also requires restricting screen scraping\capturing applications and keylogging malware.</span></span>
	</li>
	<li style="margin-left:8px; margin-bottom:11px">
		<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Due to the unknown nature of the endpoint security status, CompanyA requires VPN-less access to resources using a managed enterprise browser with file encryption on unmanaged endpoints.</span></span>
	</li>
</ul>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'><b>Control Layer</b>: The control layer defines how the underlying solution adjusts based on the user's activities.</span></span>
</p>

<ul style="margin-bottom:11px">
	<li style="margin-left:8px; margin-bottom:11px">
		<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>With the policies in place to protect the users and company data, there are still risks. CompanyA uses the Security Analytics service to identify compromised users or insider threats and automatically take actions to maintain a secure environment.</span></span>
	</li>
	<li style="margin-left:8px; margin-bottom:11px">
		<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>The platform unifying multi-directory authentication must be secured from external threats and attacks. CompanyA enables the integrated Web App Firewall and Bot Management to protect the authentication point in the environment.</span></span>
	</li>
</ul>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'><b>Compute Layer:</b> The Compute layer details how components are deployed on hardware, whether on-premises, in the cloud, or in a hybrid cloud.</span></span>
</p>

<ul style="margin-bottom:11px">
	<li style="margin-left:8px; margin-bottom:11px">
		<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Citrix Workspace must be able to access every company’s identity provider, whether an on-premises Active Directory domain or a cloud-based offering from Okta, via a single Workspace site.</span></span>
	</li>
</ul>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>The subsequent sections provide greater detail into specific design decisions for CompanyA’s mergers and acquisitions strategy reference architecture.</span></span>
</p>

<h1 style="margin-top:16px; margin-bottom:8px">
	<span style="font-size:18pt"><span style='font-family:"Public Sans"'><span style="color:black">Access Layer</span></span></span>
</h1>

<h2 style="margin-top:3px; margin-bottom:8px">
	<span style="font-size:16pt"><span style='font-family:"Public Sans"'><span style="color:black">Authentication<a name="bookmark=id.1fob9te" rel=""></a></span></span></span>
</h2>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>One of the challenges CompanyA experienced with previous acquisitions was integrating identity providers. Merging identity providers can take a significant amount of time. CompanyA utilizes a NetScaler to handle all authentication requests with the new strategy.</span></span>
</p>

<p style="margin-bottom:11px">
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="png" data-fileid="35672" href="//media.invisioncic.com/m329563/monthly_2024_08/image.png.1192ebf7ec543694787073fa039480fe.png" rel=""><img alt="image.png" class="ipsImage ipsImage_thumbnailed" data-fileid="35672" data-unique="wefjs0pmk" style="height: auto;" width="1000" src="//media.invisioncic.com/m329563/monthly_2024_08/image.thumb.png.14ca1b57a9ad8c99e3f5432adb461031.png" loading="lazy" height="700"></a>
</p>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>The authentication process works by the NetScaler evaluating the user’s company and then applying the correct authentication request. As CompanyA has standardized on Okta for primary authentication, the request is forwarded to Okta. Once Okta completes user authentication, Okta replies to the NetScaler with a token identifying successful authentication.</span></span>
</p>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>However, not every company that CompanyA acquires uses Okta. Instead, if the NetScaler identifies the user as from CompanyB, the user is asked for their Active Directory username and password. Those credentials are validated against CompanyB’s Active Directory domain. If CompanyB has already integrated a multifactor authentication solution, users will continue to use their registered tokens.</span></span>
</p>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Because strong authentication is a critical first step to security, CompanyA wants a solution that is ready for organizations not using multifactor authentication. In this instance, after the user authenticates with their company’s Active Directory domain, the NetScaler uses the native time-based one-time password engine to provide multifactor authentication for the user. Once registered to the user’s device, the user can enter the code manually or use the push notification service. Push notifications require users to select “Yes” from their registered mobile device to fulfill multifactor authentication.</span></span>
</p>

<h2 style="margin-top:3px; margin-bottom:8px">
	<span style="font-size:16pt"><span style='font-family:"Public Sans"'><span style="color:black">nFactor Policy<a name="bookmark=id.3znysh7" rel=""></a></span></span></span>
</h2>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>NetScaler plays a critical role in primary authentication. A nFactor policy is utilized to make authentication decisions.</span></span>
</p>

<p style="margin-bottom:11px">
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="png" data-fileid="35673" href="//media.invisioncic.com/m329563/monthly_2024_08/image.png.e51a9899a6c6afac6b1d60f5a3cd8ad9.png" rel=""><img alt="image.png" class="ipsImage ipsImage_thumbnailed" data-fileid="35673" data-unique="zzofbpbt0" style="height: auto;" width="1000" src="//media.invisioncic.com/m329563/monthly_2024_08/image.thumb.png.e43524adc4944c84bfd39d6ea8f46be2.png" loading="lazy" height="660"></a>
</p>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>To process authentication requests properly, the nFactor policy must know what company the user belongs to. Once the correct company identifier is selected, nFactor forwards the request to the correct branch of the authentication policy.</span></span>
</p>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Once the nFactor policy is defined, CompanyA can continue to expand it to incorporate additional organizations it acquires in the future. The nFactor policy allows CompanyA to create additional flows utilizing authentication standards, including LDAP, RADIUS, SAML, client certificates, OAuth OpenID Connect, Kerberos, and more. The nFactor policy engine allows CompanyA to continue integrating additional acquisitions without a redesign.</span></span>
</p>

<h2 style="margin-top:3px; margin-bottom:8px">
	<span style="font-size:16pt"><span style='font-family:"Public Sans"'><span style="color:black">Zero Trust Network Access<a name="bookmark=id.2et92p0" rel=""></a></span></span></span>
</h2>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>To provide access to internal resources like private web apps, virtual apps, and virtual desktops, CompanyA plans to use the Citrix Enterprise Browser with Secure Private Access service and Citrix DaaS. These two services utilize a zero-trust network access solution, a more secure alternative to traditional VPNs.</span></span>
</p>

<p style="margin-bottom:11px">
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="png" data-fileid="35674" href="//media.invisioncic.com/m329563/monthly_2024_08/image.png.b58f6b2c8fa9d8bcd2dc425dd268b217.png" rel=""><img alt="image.png" class="ipsImage ipsImage_thumbnailed" data-fileid="35674" data-unique="91xgtob5u" style="height: auto;" width="1000" src="//media.invisioncic.com/m329563/monthly_2024_08/image.thumb.png.d4c1b374fd00785ab52b3ddfacdb9f5c.png" loading="lazy" height="620"></a>
</p>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>The Secure Private Access service and Citrix DaaS use the outbound control channel connections established by the cloud connectors and connector appliances. Those connections allow the user to access internal resources remotely. However, those connections are</span></span>
</p>

<ul style="margin-bottom:11px">
	<li style="margin-left:8px; margin-bottom:11px">
		<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Limited in scope so that only the defined resource is accessible</span></span>
	</li>
	<li style="margin-left:8px; margin-bottom:11px">
		<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Based on the user’s primary, secured identity</span></span>
	</li>
	<li style="margin-left:8px; margin-bottom:11px">
		<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Only for specific protocols that disallow network traversal</span></span>
	</li>
</ul>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Company A wants to ensure the security of the devices connecting to the environment. To this end, they will implement compliance checks of all devices' security posture, including antivirus status, OS updates, and other necessary compliance requirements.</span></span>
</p>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Citrix Enterprise Browser will access all private web and SaaS applications. As a baseline, the following restrictions have been defined:</span></span>
</p>

<table class="Table" style="border-collapse: collapse; border: none; width: 850px;" width="623">
	<tbody>
		<tr>
			<td style="border-bottom:1px solid black; width:166px; padding:0in 7px 0in 7px; background-color:#003098; border-top:1px solid black; border-right:1px solid black; border-left:1px solid black" valign="top">
				<p style="border:none">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'><span style="color:white">Category</span></span></span>
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:156px; padding:0in 7px 0in 7px; background-color:#003098; border-top:1px solid black; border-right:1px solid black; border-left:none" valign="top">
				<p style="border:none">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'><span style="color:white">Web Apps</span></span></span>
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:156px; padding:0in 7px 0in 7px; background-color:#003098; border-top:1px solid black; border-right:1px solid black; border-left:none" valign="top">
				<p style="border:none">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'><span style="color:white">SaaS Apps</span></span></span>
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:145px; padding:0in 7px 0in 7px; background-color:#003098; border-top:1px solid black; border-right:1px solid black; border-left:none" valign="top">
				<p style="border:none">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'><span style="color:white">External URL</span></span></span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-bottom:1px solid black; width:166px; padding:0in 7px 0in 7px; border-top:none; border-right:1px solid black; border-left:1px solid black" valign="top">
				<p style="margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Clipboard Access</span></span>
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:156px; padding:0in 7px 0in 7px; border-top:none; border-right:1px solid black; border-left:none" valign="top">
				<p style="margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'><sdt id="176557099" sdttag="goog_rdk_1"><sdt id="506030093" sdttag="goog_rdk_2"></sdt>Restrict between managed browser apps</sdt><sdt id="-2088449557" sdttag="goog_rdk_3" showingplchdr="t">     </sdt></span></span>
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:156px; padding:0in 7px 0in 7px; border-top:none; border-right:1px solid black; border-left:none" valign="top">
				<p style="margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'><sdt id="-25946328" sdttag="goog_rdk_5"><sdt id="-1822025234" sdttag="goog_rdk_6"></sdt>Restrict between managed browser apps</sdt><sdt id="-2075422987" sdttag="goog_rdk_7" showingplchdr="t">     </sdt></span></span>
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:145px; padding:0in 7px 0in 7px; border-top:none; border-right:1px solid black; border-left:none" valign="top">
				<p style="margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Enabled</span></span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-bottom:1px solid black; width:166px; padding:0in 7px 0in 7px; border-top:none; border-right:1px solid black; border-left:1px solid black" valign="top">
				<p style="margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Printing</span></span>
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:156px; padding:0in 7px 0in 7px; border-top:none; border-right:1px solid black; border-left:none" valign="top">
				<p style="margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Disabled</span></span>
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:156px; padding:0in 7px 0in 7px; border-top:none; border-right:1px solid black; border-left:none" valign="top">
				<p style="margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Disabled</span></span>
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:145px; padding:0in 7px 0in 7px; border-top:none; border-right:1px solid black; border-left:none" valign="top">
				<p style="margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Enabled</span></span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-bottom:1px solid black; width:166px; padding:0in 7px 0in 7px; border-top:none; border-right:1px solid black; border-left:1px solid black" valign="top">
				<p style="margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Downloads</span></span>
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:156px; padding:0in 7px 0in 7px; border-top:none; border-right:1px solid black; border-left:none" valign="top">
				<p style="margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Disabled</span></span>
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:156px; padding:0in 7px 0in 7px; border-top:none; border-right:1px solid black; border-left:none" valign="top">
				<p style="margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Disabled</span></span>
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:145px; padding:0in 7px 0in 7px; border-top:none; border-right:1px solid black; border-left:none" valign="top">
				<p style="margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Enabled</span></span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-bottom:1px solid black; width:166px; padding:0in 7px 0in 7px; border-top:none; border-right:1px solid black; border-left:1px solid black" valign="top">
				<p style="margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Uploads</span></span>
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:156px; padding:0in 7px 0in 7px; border-top:none; border-right:1px solid black; border-left:none" valign="top">
				<p style="margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Disabled</span></span>
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:156px; padding:0in 7px 0in 7px; border-top:none; border-right:1px solid black; border-left:none" valign="top">
				<p style="margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Disabled</span></span>
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:145px; padding:0in 7px 0in 7px; border-top:none; border-right:1px solid black; border-left:none" valign="top">
				<p style="margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Enabled</span></span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-bottom:1px solid black; width:166px; padding:0in 7px 0in 7px; border-top:none; border-right:1px solid black; border-left:1px solid black" valign="top">
				<p style="margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Watermark</span></span>
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:156px; padding:0in 7px 0in 7px; border-top:none; border-right:1px solid black; border-left:none" valign="top">
				<p style="margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Enabled</span></span>
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:156px; padding:0in 7px 0in 7px; border-top:none; border-right:1px solid black; border-left:none" valign="top">
				<p style="margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Enabled</span></span>
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:145px; padding:0in 7px 0in 7px; border-top:none; border-right:1px solid black; border-left:none" valign="top">
				<p style="margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Disabled</span></span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-bottom:1px solid black; width:166px; padding:0in 7px 0in 7px; border-top:none; border-right:1px solid black; border-left:1px solid black" valign="top">
				<p style="margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Restrict Keylogging</span></span>
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:156px; padding:0in 7px 0in 7px; border-top:none; border-right:1px solid black; border-left:none" valign="top">
				<p style="margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Enabled</span></span>
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:156px; padding:0in 7px 0in 7px; border-top:none; border-right:1px solid black; border-left:none" valign="top">
				<p style="margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Enabled</span></span>
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:145px; padding:0in 7px 0in 7px; border-top:none; border-right:1px solid black; border-left:none" valign="top">
				<p style="margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Enabled</span></span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-bottom:1px solid black; width:166px; padding:0in 7px 0in 7px; border-top:none; border-right:1px solid black; border-left:1px solid black" valign="top">
				<p style="margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Restrict Screen Capture</span></span>
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:156px; padding:0in 7px 0in 7px; border-top:none; border-right:1px solid black; border-left:none" valign="top">
				<p style="margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Enabled</span></span>
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:156px; padding:0in 7px 0in 7px; border-top:none; border-right:1px solid black; border-left:none" valign="top">
				<p style="margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Enabled</span></span>
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:145px; padding:0in 7px 0in 7px; border-top:none; border-right:1px solid black; border-left:none" valign="top">
				<p style="margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Disabled</span></span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-bottom:1px solid black; width:166px; padding:0in 7px 0in 7px; border-top:none; border-right:1px solid black; border-left:1px solid black" valign="top">
				<p style="margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Data Masking</span></span>
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:156px; padding:0in 7px 0in 7px; border-top:none; border-right:1px solid black; border-left:none" valign="top">
				<p style="margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Enabled</span></span>
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:156px; padding:0in 7px 0in 7px; border-top:none; border-right:1px solid black; border-left:none" valign="top">
				<p style="margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Enabled</span></span>
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:145px; padding:0in 7px 0in 7px; border-top:none; border-right:1px solid black; border-left:none" valign="top">
				<p style="margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Enabled</span></span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-bottom:1px solid black; width:166px; padding:0in 7px 0in 7px; border-top:none; border-right:1px solid black; border-left:1px solid black" valign="top">
				<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'><sdtpr></sdtpr><sdt id="-1849319915" sdttag="goog_rdk_11"></sdt></span></span>
				<p style="margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'><sdtpr></sdtpr><sdt id="-1783022736" sdttag="goog_rdk_10">Browser cache &amp; download encryption</sdt></span></span>
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:156px; padding:0in 7px 0in 7px; border-top:none; border-right:1px solid black; border-left:none" valign="top">
				<sdt id="1216849509" sdttag="goog_rdk_13">
				<p style="margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'><sdtpr></sdtpr><sdt id="-124698045" sdttag="goog_rdk_12">Enabled</sdt></span></span>
				</p>
				</sdt>
			</td>
			<td style="border-bottom:1px solid black; width:156px; padding:0in 7px 0in 7px; border-top:none; border-right:1px solid black; border-left:none" valign="top">
				<sdt id="-467432048" sdttag="goog_rdk_15">
				<p style="margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'><sdtpr></sdtpr><sdt id="-730542121" sdttag="goog_rdk_14">Enabled</sdt></span></span>
				</p>
				</sdt>
			</td>
			<td style="border-bottom:1px solid black; width:145px; padding:0in 7px 0in 7px; border-top:none; border-right:1px solid black; border-left:none" valign="top">
				<sdt id="101462793" sdttag="goog_rdk_17">
				<p style="margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'><sdtpr></sdtpr><sdt id="976884919" sdttag="goog_rdk_16">Enabled</sdt></span></span>
				</p>
				</sdt>
			</td>
		</tr>
	</tbody>
</table>

<h1 style="margin-top:16px; margin-bottom:8px">
	<span style="font-size:18pt"><span style='font-family:"Public Sans"'><span style="color:black">Resource Layer</span></span></span>
</h1>

<h2 style="margin-top:3px; margin-bottom:8px">
	<span style="font-size:16pt"><span style='font-family:"Public Sans"'><span style="color:black">Federated Authentication Services</span></span></span>
</h2>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Users authenticate to Citrix Workspace with a primary identity. The primary identity is based on the company’s identity provider. One of the challenges with mergers and acquisitions is access to secondary resources based on a secondary identity. For example, CompanyA allows certain users from CompanyB and CompanyC to access virtual Windows applications. To access a virtual Windows application, the user must have a user account (secondary identity) within the virtual resource domain. A CompanyB user’s account (primary identity) will not authenticate to a CompanyA resource (secondary identity). To translate credentials between a primary and secondary identity and provide single sign-on to virtual Windows applications, CompanyA uses the Federated Authentication Service within Citrix Cloud.</span></span>
</p>

<p>
	 
</p>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>The <a href="https://docs.citrix.com/en-us/tech-zone/learn/tech-briefs/workspace-sso#sso-virtual-apps-and-desktops" rel="external nofollow"><b><span style="color:#0563c1">Workspace Single Sign-On Tech Brief</span></b></a> contains additional information related to the Federated Authentication Service.<sdtpr></sdtpr><sdt id="1769962917" sdttag="goog_rdk_18" showingplchdr="t">     </sdt></span></span>
</p>

<p>
	 
</p>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Web and SaaS applications must be configured to accept authentication information coming from either NetScaler or identity provider for users from Companies B and C to access. </span></span>
</p>

<h2 style="margin-top:3px; margin-bottom:8px">
	<span style="font-size:16pt"><span style='font-family:"Public Sans"'><span style="color:black">Resource Security Policies<a name="bookmark=id.tyjcwt" rel=""></a></span></span></span>
</h2>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>CompanyA wants to limit the risk of data loss due to an insider threat. Therefore, it incorporates numerous restrictions within the different application types to prevent users from copying, downloading, or printing data.</span></span>
</p>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'><sdt id="1358627138" sdttag="goog_rdk_33"></sdt>As a baseline policy, CompanyA defined the following (with the ability to relax policies as needed based on user and application).</span></span>
</p>

<table class="Table" style="border-collapse: collapse; border: none; width: 850px;" width="623">
	<tbody>
		<tr>
			<td style="border-bottom:1px solid black; width:156px; padding:0in 7px 0in 7px; background-color:#003098; border-top:1px solid black; border-right:1px solid black; border-left:1px solid black" valign="top">
				<p style="border:none">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'><span style="color:white">Category</span></span></span>
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:156px; padding:0in 7px 0in 7px; background-color:#003098; border-top:1px solid black; border-right:1px solid black; border-left:none" valign="top">
				<p style="border:none">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'><span style="color:white">SaaS Apps</span></span></span>
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:156px; padding:0in 7px 0in 7px; background-color:#003098; border-top:1px solid black; border-right:1px solid black; border-left:none" valign="top">
				<p style="border:none">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'><span style="color:white">Web Apps</span></span></span>
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:156px; padding:0in 7px 0in 7px; background-color:#003098; border-top:1px solid black; border-right:1px solid black; border-left:none" valign="top">
				<p style="border:none">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'><span style="color:white">Virtual Apps/Desktops</span></span></span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-bottom:1px solid black; width:156px; padding:0in 7px 0in 7px; border-top:none; border-right:1px solid black; border-left:1px solid black" valign="top">
				<p style="margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Clipboard access</span></span>
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:156px; padding:0in 7px 0in 7px; border-top:none; border-right:1px solid black; border-left:none" valign="top">
				<p style="margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Denied</span></span>
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:156px; padding:0in 7px 0in 7px; border-top:none; border-right:1px solid black; border-left:none" valign="top">
				<p style="margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Denied</span></span>
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:156px; padding:0in 7px 0in 7px; border-top:none; border-right:1px solid black; border-left:none" valign="top">
				<p style="margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Client to Server only</span></span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-bottom:1px solid black; width:156px; padding:0in 7px 0in 7px; border-top:none; border-right:1px solid black; border-left:1px solid black" valign="top">
				<p style="margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Printing</span></span>
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:156px; padding:0in 7px 0in 7px; border-top:none; border-right:1px solid black; border-left:none" valign="top">
				<p style="margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Denied</span></span>
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:156px; padding:0in 7px 0in 7px; border-top:none; border-right:1px solid black; border-left:none" valign="top">
				<p style="margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Denied</span></span>
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:156px; padding:0in 7px 0in 7px; border-top:none; border-right:1px solid black; border-left:none" valign="top">
				<p style="margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Denied</span></span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-bottom:1px solid black; width:156px; padding:0in 7px 0in 7px; border-top:none; border-right:1px solid black; border-left:1px solid black" valign="top">
				<p style="margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Downloads</span></span>
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:156px; padding:0in 7px 0in 7px; border-top:none; border-right:1px solid black; border-left:none" valign="top">
				<p style="margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Denied</span></span>
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:156px; padding:0in 7px 0in 7px; border-top:none; border-right:1px solid black; border-left:none" valign="top">
				<p style="margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Denied</span></span>
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:156px; padding:0in 7px 0in 7px; border-top:none; border-right:1px solid black; border-left:none" valign="top">
				<p style="margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Denied</span></span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-bottom:1px solid black; width:156px; padding:0in 7px 0in 7px; border-top:none; border-right:1px solid black; border-left:1px solid black" valign="top">
				<p style="margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Watermark</span></span>
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:156px; padding:0in 7px 0in 7px; border-top:none; border-right:1px solid black; border-left:none" valign="top">
				<p style="margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Enabled</span></span>
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:156px; padding:0in 7px 0in 7px; border-top:none; border-right:1px solid black; border-left:none" valign="top">
				<p style="margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Enabled</span></span>
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:156px; padding:0in 7px 0in 7px; border-top:none; border-right:1px solid black; border-left:none" valign="top">
				<p style="margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Enabled</span></span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-bottom:1px solid black; width:156px; padding:0in 7px 0in 7px; border-top:none; border-right:1px solid black; border-left:1px solid black" valign="top">
				<p style="margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Keylogging Prevention</span></span>
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:156px; padding:0in 7px 0in 7px; border-top:none; border-right:1px solid black; border-left:none" valign="top">
				<p style="margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Enabled</span></span>
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:156px; padding:0in 7px 0in 7px; border-top:none; border-right:1px solid black; border-left:none" valign="top">
				<p style="margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Enabled</span></span>
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:156px; padding:0in 7px 0in 7px; border-top:none; border-right:1px solid black; border-left:none" valign="top">
				<p style="margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Enabled</span></span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-bottom:1px solid black; width:156px; padding:0in 7px 0in 7px; border-top:none; border-right:1px solid black; border-left:1px solid black" valign="top">
				<p style="margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Screenshot Prevention</span></span>
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:156px; padding:0in 7px 0in 7px; border-top:none; border-right:1px solid black; border-left:none" valign="top">
				<p style="margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Enabled</span></span>
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:156px; padding:0in 7px 0in 7px; border-top:none; border-right:1px solid black; border-left:none" valign="top">
				<p style="margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Enabled</span></span>
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:156px; padding:0in 7px 0in 7px; border-top:none; border-right:1px solid black; border-left:none" valign="top">
				<p style="margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Enabled</span></span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-bottom:1px solid black; width:156px; padding:0in 7px 0in 7px; border-top:none; border-right:1px solid black; border-left:1px solid black" valign="top">
				<p style="margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Data Masking</span></span>
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:156px; padding:0in 7px 0in 7px; border-top:none; border-right:1px solid black; border-left:none" valign="top">
				<p style="margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Enabled</span></span>
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:156px; padding:0in 7px 0in 7px; border-top:none; border-right:1px solid black; border-left:none" valign="top">
				<p style="margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Enabled</span></span>
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:156px; padding:0in 7px 0in 7px; border-top:none; border-right:1px solid black; border-left:none" valign="top">
				<p style="margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Enabled</span></span>
				</p>
			</td>
		</tr>
	</tbody>
</table>

<h1 style="margin-top:16px; margin-bottom:8px">
	<span style="font-size:18pt"><span style='font-family:"Public Sans"'><span style="color:black">Control Layer</span></span></span>
</h1>

<h2 style="margin-top:3px; margin-bottom:8px">
	<span style="font-size:16pt"><span style='font-family:"Public Sans"'><span style="color:black">Web App Firewall<a name="bookmark=id.3dy6vkm" rel=""></a></span></span></span>
</h2>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>When users authenticate to Citrix Workspace, they access a custom authentication form that supports the mergers and acquisitions strategy. The authentication form, hosted on NetScaler, is a public webpage that must be protected from bots and attacks. CompanyA uses the Bot Management and Web App Firewall components of the NetScaler solution to protect the public web app better.</span></span>
</p>

<p style="margin-bottom:11px">
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="png" data-fileid="35675" href="//media.invisioncic.com/m329563/monthly_2024_08/image.png.1d9fc1fe2e67af8ca4a118794f185b83.png" rel=""><img alt="image.png" class="ipsImage ipsImage_thumbnailed" data-fileid="35675" data-unique="58b1ibskp" style="height: auto;" width="1000" src="//media.invisioncic.com/m329563/monthly_2024_08/image.thumb.png.e30c9d62c66896c3d45eee72bed3d051.png" loading="lazy" height="410"></a>
</p>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>The first line of defense is Bot Management. Bots can crash or slow a public web app by overwhelming the service with fraudulent requests. The NetScaler's bot management component detects a bot request and prevents it from inundating the system.</span></span>
</p>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>The second line of defense is the Web App Firewall. The Web App Firewall protects the policy engine that handles the submitted credentials from attack. These attacks typically include buffer overflow, SQL injection, and cross-site scripting. Web App Firewall detects and denies these attacks from impacting the authentication policy engine.</span></span>
</p>

<h2 style="margin-top:3px; margin-bottom:8px">
	<span style="font-size:16pt"><span style='font-family:"Public Sans"'><span style="color:black">Security Analytics<a name="bookmark=id.1t3h5sf" rel=""></a></span></span></span>
</h2>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>CompanyA must identify and stop insider threats to the environment before the impact is too great.</span></span>
</p>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>To help protect the environment, CompanyA uses Citrix Analytics for Security to identify insider threats, compromised users, and compromised endpoints. In many cases, a single instance of a threat does not warrant drastic action, but a series of threats can indicate a security breach.</span></span>
</p>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>CompanyA developed the following initial security policies:</span></span>
</p>

<table class="Table" style="border-collapse: collapse; border: none; width: 850px;" width="666">
	<tbody>
		<tr>
			<td style="border-bottom:1px solid black; width:125px; padding:0in 7px 0in 7px; background-color:#003098; border-top:1px solid black; border-right:1px solid black; border-left:1px solid black" valign="top">
				<p style="border:none">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'><span style="color:white">Name</span></span></span>
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:145px; padding:0in 7px 0in 7px; background-color:#003098; border-top:1px solid black; border-right:1px solid black; border-left:none" valign="top">
				<p style="border:none">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'><span style="color:white">Conditions</span></span></span>
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:104px; padding:0in 7px 0in 7px; background-color:#003098; border-top:1px solid black; border-right:1px solid black; border-left:none" valign="top">
				<p style="border:none">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'><span style="color:white">Action</span></span></span>
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:292px; padding:0in 7px 0in 7px; background-color:#003098; border-top:1px solid black; border-right:1px solid black; border-left:none" valign="top">
				<p style="border:none">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'><span style="color:white">Reason</span></span></span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-bottom:1px solid black; width:125px; padding:0in 7px 0in 7px; border-top:none; border-right:1px solid black; border-left:1px solid black" valign="top">
				<p style="margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Unusual access</span></span>
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:145px; padding:0in 7px 0in 7px; border-top:none; border-right:1px solid black; border-left:none" valign="top">
				<p style="margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Log on from a suspicious IP and access from an unusual location</span></span>
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:104px; padding:0in 7px 0in 7px; border-top:none; border-right:1px solid black; border-left:none" valign="top">
				<p style="margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Lock user</span></span>
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:292px; padding:0in 7px 0in 7px; border-top:none; border-right:1px solid black; border-left:none" valign="top">
				<p style="margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>If a user logs in from an unusual location and a suspicious IP, there is a strong indication the user was compromised.</span></span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-bottom:1px solid black; width:125px; padding:0in 7px 0in 7px; border-top:none; border-right:1px solid black; border-left:1px solid black" valign="top">
				<p style="margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Unusual app behavior</span></span>
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:145px; padding:0in 7px 0in 7px; border-top:none; border-right:1px solid black; border-left:none" valign="top">
				<p style="margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Unusual time of app usage and access from unusual location</span></span>
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:104px; padding:0in 7px 0in 7px; border-top:none; border-right:1px solid black; border-left:none" valign="top">
				<p style="margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Start session recording</span></span>
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:292px; padding:0in 7px 0in 7px; border-top:none; border-right:1px solid black; border-left:none" valign="top">
				<p style="margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>If a user accesses a virtual app at a strange time and location, the user's security could be compromised. Security analytics records the session to have the admin verify its legitimacy.</span></span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-bottom:1px solid black; width:125px; padding:0in 7px 0in 7px; border-top:none; border-right:1px solid black; border-left:1px solid black" valign="top">
				<p style="margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Potential credential exploits</span></span>
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:145px; padding:0in 7px 0in 7px; border-top:none; border-right:1px solid black; border-left:none" valign="top">
				<p style="margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Excessive authentication failures and access from an unusual location</span></span>
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:104px; padding:0in 7px 0in 7px; border-top:none; border-right:1px solid black; border-left:none" valign="top">
				<p style="margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Add to watchlist</span></span>
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:292px; padding:0in 7px 0in 7px; border-top:none; border-right:1px solid black; border-left:none" valign="top">
				<p style="margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>If a user has many authentication failures from an unusual location, it can indicate someone is trying to break into the system. However, the attacker has yet to succeed. You only need to add the user to the watchlist.</span></span>
				</p>
			</td>
		</tr>
	</tbody>
</table>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>The <a href="https://docs.citrix.com/en-us/security-analytics/risk-indicators.html" rel="external nofollow"><b><span style="color:#0563c1">Citrix User Risk Indicators</span></b></a> document contains additional information regarding the various risk indicators provided to Citrix Security Analytics.</span></span>
</p>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>The <a href="https://docs.citrix.com/en-us/security-analytics/policies-and-actions.html" rel="external nofollow"><b><span style="color:#0563c1">Citrix Policies and Actions</span></b></a> page contains information about the remediation steps Citrix Security Analytics can perform.</span></span>
</p>

<h1 style="margin-top:16px; margin-bottom:8px">
	<span style="font-size:18pt"><span style='font-family:"Public Sans"'><span style="color:black">Sources</span></span></span>
</h1>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>We want to provide you with source diagrams that you can adapt to help you plan a mergers and acquisition strategy. These source diagrams are found here: </span></span><a class="ipsAttachLink" data-fileext="vsdx" data-fileid="35670" href="https://community.citrix.com/applications/core/interface/file/attachment.php?id=35670&amp;key=2f2e61702502bd9ab3e5ed38b94c456e" rel="">Ref Architecture - M and A.vsdx</a>
</p>
]]></description><guid isPermaLink="false">305</guid><pubDate>Tue, 27 Aug 2024 14:15:00 +0000</pubDate></item><item><title>Reference Architecture - Citrix Virtualization on Google Cloud</title><link>https://community.citrix.com/tech-zone/design/reference-architectures/citrix-google-virtualization/</link><description><![CDATA[
<h2>Introduction</h2>
<p>In this guide, we walk you through designing a Citrix virtualization system on GCP. As the journey progresses, we discuss the implications of the decisions you need to make, and curating more reference resources along the way. This guide is a living document. Be sure to bookmark it and check back periodically to see how things change over time.</p>
<p>We start by reviewing the common <a href="#design-patterns-for-citrix-virtualization-on-google-cloud">design patterns</a> for Citrix virtualization technologies on Google Cloud. Some think of these 'design patterns' as ‘reference architectures', but when we're working with infrastructure as code and cloud services, ‘design patterns' make a lot more sense.</p>
<p>Next we explore the <a href="#solution-components-and-requirements">Solution Components and Requirements</a>. We lay out the solution prerequisites and give you an overview of what services/components are required to create a Citrix Cloud ‘<a href="https://docs.citrix.com/en-us/citrix-virtual-apps-desktops-service/install-configure/resource-location.html">resource location</a>'.</p>
<p>We then revisit and dig more <a href="#design-patterns---going-deeper">deeply into the design patterns</a>, armed with a greater understanding of the services/components of a Citrix virtualization system on Google Cloud. Finally, we dive deeper into specific topic areas, including <a href="#vda-design-and-management-considerations">Virtual Delivery Agent (VDA) Design and Management</a>, <a href="#citrix-adcgateway-vpx-on-google-cloud">Citrix ADC/Gateway on Google Cloud</a>, and <a href="#citrix-storefront-on-google-cloud">Citrix StoreFront on Google Cloud</a>.</p>
<h2>Design Patterns for Citrix virtualization on Google Cloud</h2>
<p>We recognize that different customers are at different stages on their journey to "the cloud". As such, we outline three design patterns that represent a spectrum from "we are all in" to "we will get there but it can take us a while". Observant technologists see the common elements between all three. They start to see how they can mix and match customer managed and cloud services to meet different business needs and environmental influences. We explore this modularity of subsystems when we revisit these <a href="#design-patterns---going-deeper">three design patterns later</a> in this guide.</p>
<h3>The Cloud Forward Design Pattern</h3>
<p>Organizations of all shapes and sizes are making the move to "the cloud" and subscription based managed services. For customers who are all in on "the cloud" (or interested in experiencing the best of what the cloud has to offer), the Cloud Forward design pattern is a great match. The Cloud Forward design pattern:</p>
<ul>
<li>Uses state of the art, cloud-delivered services from Citrix and Google.</li>
<li>Is commonly used for new deployments, in addition to technology evaluation, proofing, training, and other use cases that value simplicity, flexibility, and speed of deployment.</li>
<li>Requires no existing infrastructure or licenses, and can be built in less than 30 minutes using Google Deployment Manager templates such as the <a href="https://github.com/GoogleCloudPlatform/citrix-on-gcp">Citrix on GCP GitHub project</a>.</li>
<li>Provides high availability of all critical services.</li>
<li>Creates a Citrix Cloud "<a href="https://docs.citrix.com/en-us/citrix-virtual-apps-desktops-service/install-configure/resource-location.html">resource location</a>" - the foundation of the other two patterns outlined here.</li>
</ul>
<p>All you need to get started is a GCP Project and access to a Citrix <a href="https://www.citrix.com/products/citrix-daas/">Desktops-as-a-Service</a> (DaaS) subscription. Evaluation subscriptions to Citrix Cloud are available through Citrix and Citrix authorized resellers. Google also offers new customers a <a href="https://cloud.google.com/free">free trial</a> which includes $300 of Google Cloud credit.</p>
<blockquote class="ipsQuote">
<p><strong>Note:</strong></p>
<p>The GCP free trial does not include the use of Windows Server images, as noted in the <a href="https://cloud.google.com/free/docs/gcp-free-tier#free-trial">Google Cloud Free Tier document</a>. To use Windows Server images you must upgrade to a paid account in GCP. Your free credits still apply when you upgrade to a paid account as noted in the <a href="https://cloud.google.com/free/docs/gcp-free-tier#how-to-upgrade">Upgrading to a paid account section</a> Google Cloud Free Tier document.</p>
</blockquote>
<p></p><p><a href="//media.invisioncic.com/m329563/monthly_2024_02/reference-architectures_citrix-google-virtualization_cloud-forward-design-pattern.png.5c511e18b6b87868d60f8748489920db.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="2708" src="//media.invisioncic.com/m329563/monthly_2024_02/reference-architectures_citrix-google-virtualization_cloud-forward-design-pattern.png.5c511e18b6b87868d60f8748489920db.png" width="1594" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_citrix-google-virtualization_cloud-forward-design-pattern.png" loading="lazy" height="844.82"></a></p>
<p>This design pattern uses more than one of all key resources (➊) deployed in separate zones in a given Google Cloud region for high availability.</p>
<p>Citrix Cloud Connectors (❷) are responsible for communications to and from Citrix Cloud (❻), using outbound TLS connections to Citrix Cloud services over the Internet. Once installed on domain-joined Windows Server VM instances, the Cloud Connector software is automatically updated and maintained by Citrix Cloud.</p>
<p>Apps and desktops are provided by Windows or Linux VM instances, or both running Citrix's Virtual Delivery Agent (VDA) software (❸). The Citrix VDA software uses Citrix's sophisticated <a href="https://www.citrix.com/glossary/what-is-hdx.html">HDX technology</a> to provide the best possible user experience with virtualized applications and desktops. VDAs register with Citrix Cloud Connectors, which are responsible for brokering HDX session connections to the VDAs. HDX sessions are proxied into the VPC through the Cloud Connectors by default, or optionally through the Citrix Gateway Service by configuring the 'rendezvous' policy. VM instances can be optionally backed by <a href="https://cloud.google.com/gpu">Google Cloud GPUs</a> to create virtual workstations, in turn accelerating graphics intensive applications.</p>
<p>Citrix VDAs are most commonly deployed close to the infrastructure required by the applications being delivered (❹). As such, the application infrastructure is typically deployed or migrated into the same region as the Citrix VDAs.</p>
<p>End-users use the <a href="https://www.citrix.com/downloads/workspace-app/">Citrix Workspace app</a> (❺) (CWA) to connect to and interact with virtualized applications and desktops using Citrix's innovative <a href="https://www.citrix.com/glossary/what-is-hdx.html">HDX session remoting protocol</a>. The CWA is available for almost any device or operating system, including Chrome OS, Windows, OSX, iOS, Android, and Linux.</p>
<p>This pattern uses the following cloud services (❻) from Citrix, which are secure and highly available by design:</p>
<ul>
<li><a href="https://www.citrix.com/products/citrix-virtual-apps-and-desktops/">Citrix DaaS:</a> provides session brokering, load management, single instance image management, monitoring, and cost/capacity management services.</li>
<li><a href="https://www.citrix.com/products/citrix-workspace/">Citrix Workspace service:</a> the user interface of the solution. This web service provides multifactor authentication, content presentation, and launching services for the Citrix Workspace app. This service consolidates access to virtualized applications and desktops, web, and SaaS applications, in addition to Enterprise file stores.</li>
<li><a href="https://www.citrix.com/products/citrix-gateway/">Citrix Gateway Service:</a> provides secure access to virtualized applications and desktops, in addition to Enterprise web applications, to devices on public networks.</li>
<li><a href="https://www.citrix.com/products/citrix-analytics-security/">Citrix Analytics Service:</a> uses advanced machine learning technologies to provide enterprise-grade security, performance, and user behavioral analytics and reporting.</li>
</ul>
<p>This design pattern can also be paired with a Google Cloud VPN/Interconnect to extend existing Active Directory investments (❽) into Google Cloud or to provide access to traditional, on-premises, customer managed applications and infrastructure.</p>
<p>It ought to be clear that the architecture of the cloud forward design pattern creates a Citrix Cloud resource location. This is the common foundation shared across all three patterns presented here. The differences between the patterns lie in which technologies are used to service the five components of a Citrix virtualization system outlined in the following table. With the cloud forward design pattern, cloud services are used for all five components:</p>
<table>
<thead>
<tr>
<th>Session brokering and administration</th>
<th>Citrix Desktops-as-a-Service - (DaaS) (cloud service)</th>
</tr>
</thead>
<tbody>
<tr>
<td>User interface (UI) services</td>
<td>Citrix Workspace service (cloud service)</td>
</tr>
<tr>
<td>Authentication</td>
<td>Citrix Workspace service, Active Directory as IdP</td>
</tr>
<tr>
<td>HDX session proxy</td>
<td>Citrix Gateway Service (cloud service)</td>
</tr>
<tr>
<td>Analytics</td>
<td>Citrix Analytics Service (cloud service)</td>
</tr>
</tbody>
</table>
<p>The cloud forward design pattern can be replicated, using the same Active Directory (or not) in different Google Cloud regions. This makes the pattern useful for deployments with geographically distributed applications and data. This pattern, for production deployments, is often extended by connecting the resource location in GCP to customer managed data centers using <a href="https://cloud.google.com/network-connectivity/docs/vpn/concepts/overview">Google Cloud VPN</a>, <a href="https://cloud.google.com/network-connectivity/docs/interconnect/concepts/overview">Google Cloud Interconnect</a>. Such a private network connection allows you to extend key services (such as Microsoft Active Directory) up into Google Cloud. This can provide VDAs with access to applications and resources that have not yet been migrated. It can also act as a conduit to migrate apps and data up into Google Cloud. While not shown in the preceding diagram, the <a href="https://docs.citrix.com/en-us/workspace-environment-management/service.html">Citrix Workspace Environment Management service</a> is commonly used, especially as systems make their way to production. The Workspace Environment Management service uses intelligent resource management and Profile Management technologies to deliver the best possible performance, desktop logon, and application response times for Citrix Virtual Apps and Desktops deployments. See <a href="#user-environmentsettings-management">User Environment/Settings Management</a> later in this guide for more details.</p>
<h3>The Hybrid Design Pattern</h3>
<p>The Hybrid design pattern builds upon the Cloud Forward design pattern. It introduces customer-managed access layer components from Citrix (➊) to flexibly meet the needs of specific customer demographics and use cases. These customer-managed components include the following:</p>
<ul>
<li><a href="https://www.citrix.com/networking/">Citrix ADC/Gateway</a>(❷): deployed as virtual appliances on GCP, this component is often used for use cases requiring one or more of the following:
<ul>
<li>Advanced authentication scenarios, such as SAML/OAUTH 2/OpenID federation, RADIUS, smart card, and conditional access requirements.</li>
<li>Highly optimized and flexible session access for end user devices on public networks.</li>
<li>Advanced networking services such as content switching, web app firewall, integrated web caching, attack mitigation, application load balancing, and SSL offload.</li>
<li>Ability to direct specific users/devices to specific ‘stores' based on advanced, highly flexible, and contextually aware policies. Policy decisions can be based on user profile attributes, location, device type, device health, authentication results, and more.</li>
</ul></li>
<li><a href="https://www.citrix.com/products/citrix-virtual-apps-and-desktops/citrix-storefront.html">Citrix StoreFront</a>(❸): The predecessor of the Citrix Workspace service, StoreFront is Citrix's ‘classic' provider of UI services. Installed on customer-managed Windows Server instances, StoreFront is often used for use cases requiring one or more of the following:
<ul>
<li>Extreme high availability, capable of surviving a broader range of failure scenarios, particularly when deployed in a highly available configuration.</li>
<li>Flexible session routing, with the ability to route internal user session traffic directly to VDAs while sending external users through Citrix Gateways.</li>
<li>Single sign-on from customer-managed, on-premises devices.</li>
<li>The need to provide multiple ‘stores' with different configuration properties to support diverse use cases on the same system.</li>
<li>The need for highly customized or branded, HTML based user interfaces.</li>
</ul></li>
</ul>
<p></p><p><a href="//media.invisioncic.com/m329563/monthly_2024_02/reference-architectures_citrix-google-virtualization_hybrid-design-pattern.png.9defeec9a6339d3ae796b6f0c90a2313.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="2709" src="//media.invisioncic.com/m329563/monthly_2024_02/reference-architectures_citrix-google-virtualization_hybrid-design-pattern.png.9defeec9a6339d3ae796b6f0c90a2313.png" width="1594" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_citrix-google-virtualization_hybrid-design-pattern.png" loading="lazy" height="828.88"></a></p>
<p>With the Hybrid design pattern, Citrix access layer components are deployed in the customer's Google Cloud environment (➊). The components are typically deployed in pairs spread across multiple zones for high availability.</p>
<p>This pattern uses Citrix's ADC/Gateway VPX (virtual) appliances to securely proxy HDX sessions into the VDAs in the customer's environment (❷). Citrix ADC/Gateway appliances can be used with the Citrix Workspace service for simple session proxy services or complex authentication scenarios, or both (UI option A). It can also be paired with Citrix StoreFront (UI option B).</p>
<p>This pattern optionally uses Citrix StoreFront (❸) for UI services, allowing the system to meet the requirements for more complex use cases as outlined above. It pairs with Citrix ADC/Gateway, which handles authentication in addition to UI and HDX session proxy services.</p>
<p>To put the hybrid design pattern into the context of the five components of a Citrix virtualization system:</p>
<table>
<thead>
<tr>
<th>Virtualization system function:</th>
<th>Provided by:</th>
</tr>
</thead>
<tbody>
<tr>
<td>Session brokering and administration</td>
<td>Citrix DaaS (cloud service)</td>
</tr>
<tr>
<td>User interface (UI) services</td>
<td>Citrix Workspace service (cloud service) OR Citrix StoreFront (customer managed)</td>
</tr>
<tr>
<td>Authentication</td>
<td>Many combinations available to Citrix Workspace service (cloud service) OR Citrix StoreFront by introducing Citrix ADC/Gateway (customer managed)</td>
</tr>
<tr>
<td>HDX session proxy</td>
<td>Citrix Gateway Service (cloud service) OR Citrix ADC/Gateway (customer managed)</td>
</tr>
<tr>
<td>Analytics</td>
<td>Citrix Analytics Service (cloud service)</td>
</tr>
</tbody>
</table>
<p>There are many other functional items you may also find important to consider before choosing between the cloud service or customer managed components. We provide you with a deeper dive into Citrix ADC/Gateway and Citrix StoreFront on GCP in later sections. You can use different combinations of technologies at each layer to achieve specific outcomes or meet specific needs - at the expense of simplicity.</p>
<p>For example: Citrix ADC/Gateway VPX appliances can be added to a system and used for Authentication or HDX proxy functionality while using Citrix Workspace for UI services. This gives the system the ability to support almost any identity and authentication strategy (including federation scenarios), plus the ability to use HDX's <a href="https://docs.citrix.com/en-us/citrix-virtual-apps-desktops/technical-overview/hdx/adaptive-transport.html">Enlightened Data Transport</a> for the best session performance over suboptimal networks.</p>
<p>You can also introduce Citrix StoreFront to use for UI services, in parallel to or instead of Citrix Workspace. StoreFront requires Citrix ADC/Gateway for most use cases, but this combination would serve use cases with extreme high availability requirements, heavy UI customization requirements, and the ability to create multiple different ‘stores', with different properties, for different groups of users, device properties, physical locations, and so on.</p>
<h3>The Cloud Migration Design Pattern</h3>
<p>The Cloud Migration design pattern further builds upon the Hybrid design pattern. It allows customers with existing investments in Citrix technologies to systematically modernize their infrastructure, while seamlessly migrating workloads to the cloud. This migration can be done at a pace that doesn't disrupt existing/critical systems and use cases. It allows technologically conservative customers to ‘wade' into the Cloud, workload by workload, mitigating risk along the way on the customer's terms. It also allows the customer to systematically reskill staff on the latest, most capable technologies from Citrix and Google, and build their organizational cloud readiness at a manageable pace while using their existing investments in technology, infrastructure, knowledge, processes, and operationalization procedures.</p>
<p>One common example: an existing Citrix customer, with a substantial investment in a customer managed deployment of Citrix Virtual Apps and Desktops wants to begin running their app and desktop workloads on GCP. Perhaps they've also got multiple ‘Citrix farms' they currently manage on-premises. The customer has deployed Citrix StoreFront and most likely Citrix ADC/Gateway appliances to provide authentication, UI services, and HDX proxy services.</p>
<p>In this scenario, the customer is probably already using StoreFront's ability to aggregate apps and desktops from their multiple ‘Citrix farms' into one UI. To begin ‘moving in' to Google Cloud, they'd start by creating a Citrix Cloud resource location in a region of their choice. Assuming they're all on the same network, they can simply add the new ‘Citrix farm' to StoreFront and deploy their first virtualized workload on Google Cloud. This gives them the ability to run Citrix workloads in two environments, side by side - some on-premises, some on GCP - and migrate workloads to GCP as business priorities allow.</p>
<p>The cloud migration design pattern starts with the hybrid pattern described in the preceding section. The system built with the hybrid pattern becomes the new, state of the art environment where new workloads are deployed. The cloud migration pattern uses Citrix StoreFront(➊) or the Citrix Workspace (❷) user interface, or both to connect legacy Citrix environments (❸) to the new environment, as both UIs can present multiple brokering environments in a single view with a single login. This provides users with a single UI (❹) they can use to access both environments. This allows the customer to deploy new workloads onto Google Cloud (❺), while systematically migrating existing workloads to Google Cloud as the businesses opportunities and constraints dictate.</p>
<p></p><p><a href="//media.invisioncic.com/m329563/monthly_2024_02/reference-architectures_citrix-google-virtualization_cloud-migration-design-pattern.png.47033bd8d23ab545220c181c1023c297.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="2710" src="//media.invisioncic.com/m329563/monthly_2024_02/reference-architectures_citrix-google-virtualization_cloud-migration-design-pattern.png.47033bd8d23ab545220c181c1023c297.png" width="1594" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_citrix-google-virtualization_cloud-migration-design-pattern.png" loading="lazy" height="828.88"></a></p>
<p>This same customer can also run Citrix Workspace side by side with StoreFront, and add the legacy ‘Citrix farms' to the Workspace UI using the Citrix Cloud <a href="https://docs.citrix.com/en-us/citrix-workspace/add-on-premises-site.html">Site Aggregation</a> feature. Both UIs would provide access to the same resources for the same users. End-users can be gradually migrated to the Citrix Workspace service UI as business priorities allow.</p>
<p></p><p><a href="//media.invisioncic.com/m329563/monthly_2024_02/reference-architectures_citrix-google-virtualization_site-aggregation.png.d4aa047dbea8e409d17f610dd4c092ed.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="2711" src="//media.invisioncic.com/m329563/monthly_2024_02/reference-architectures_citrix-google-virtualization_site-aggregation.png.d4aa047dbea8e409d17f610dd4c092ed.png" width="767" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_citrix-google-virtualization_site-aggregation.png" loading="lazy" height="398.84"></a></p>
<p>The benefit of the Cloud Migration approach is that IT can migrate the app and desktop workloads from the legacy on-premises infrastructure to Google Cloud at a pace that suits them. Users can continue to access their applications and desktops in the same way, regardless of whether the workload is being delivered on-premises or from Google Cloud.</p>
<p>Using <a href="https://docs.citrix.com/en-us/citrix-workspace/add-on-premises-site.html">Site Aggregation</a>, customers are also able to use Citrix Analytics, giving them insights into security, performance, and operations of both their on-premises and cloud-hosted infrastructure. This can help in the decision-making process of when a workload ought to be moved from on-premises to Google Cloud Platform. Citrix Security Analytics can also be used to ensure that as workloads become distributed across on-premises infrastructure and Google Cloud, the customer's security posture can be enforced.</p>
<h3>Migration with Google VMware Engine</h3>
<p>If you are considering the Cloud Migration design pattern, there's probably a good chance you're running Citrix on VMware today. For some customers, the option of extending their existing VMware based infrastructure to Google Cloud can be appealing. For these customers, this path promises to expedite workload migrations, using existing knowledge and process investments to get there sooner. With <a href="https://cloud.google.com/vmware-engine">Google Cloud VMware Engine</a>, customers can provision and run <a href="https://www.vmware.com/products/cloud-foundation.html">VMware Cloud Foundation</a> (VCF) based Software-Defined data centers (<a href="https://www.vmware.com/solutions/software-defined-datacenter/in-depth.html#compute">SDDCs</a>) on Google Cloud.</p>
<p>Citrix DaaS enables provisioning and image management of VDAs on VMware VCF-based public clouds. Before launch, Google Cloud VMware Engine underwent a comprehensive compatibility test to become <a href="https://www.citrix.com/blogs/2020/07/30/accelerate-your-move-to-cloud-with-citrix-and-google-cloud/">Citrix Ready Verified</a>. Both Citrix Provisioning platforms (MCS and PVS) were tested and functioned as expected. For more information, see <a href="https://citrixready.citrix.com/google-inc/google-cloud-vmware-engine.html">Google Cloud VMware Engine on Citrix Ready</a>.</p>
<p>When customers spin up a VCF based SDDC using Google VMware Engine, the SDDC (which includes compute, storage, and networking plus management) is peered to VPC networks on Google Compute Engine. This allows you to run workloads on the SDDC or Google Compute Engine, providing customers with options for various workloads. The following logical diagram depicts the relationship between Google Cloud, Citrix Cloud, and a managed SDDC instance:</p>
<p></p><p><a href="//media.invisioncic.com/m329563/monthly_2024_02/reference-architectures_citrix-google-virtualization_cloud.png.540890edeed28f610b849b37185c8858.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="2712" src="//media.invisioncic.com/m329563/monthly_2024_02/reference-architectures_citrix-google-virtualization_cloud.png.540890edeed28f610b849b37185c8858.png" width="1632" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_citrix-google-virtualization_cloud.png" loading="lazy" height="1060.8"></a></p>
<blockquote class="ipsQuote">
<p><strong>Note:</strong></p>
<p>Customers who have a firm requirement for full Citrix App Layering or PVS support ought to consider running their Citrix Cloud resource location on Google Cloud VMware Engine. Both Citrix App Layering and PVS are currently available on VMware-based platforms.</p>
</blockquote>
<p>While a design and implementation of a Citrix virtualization solution on Google Cloud VMware Engine is outside the scope of this design guide, most of the concepts and components described in this guide still apply. For more information regarding setting up a Citrix Cloud resource location on VMware (Cloud Foundation), see <a href="https://docs.citrix.com/en-us/citrix-daas/install-configure/resource-location/vmware.html">Citrix DaaS documentation</a>.</p>
<h2>Solution Components and Requirements</h2>
<h3>Virtualization System Prerequisites</h3>
<p>To build a Citrix virtualization system on Google Cloud, you need a minimum of two things to get started:</p>
<ul>
<li>A Google Cloud Project</li>
<li>A Citrix DaaS subscription</li>
</ul>
<blockquote class="ipsQuote">
<p><strong>Note:</strong></p>
<p>The GCP free trial does not include the use of Windows Server images, as noted in the <a href="https://cloud.google.com/free/docs/gcp-free-tier#free-trial">Google Cloud Free Tier document</a>. To use Windows Server images, you must upgrade to a paid account in GCP. Your free credits still apply when upgrading to a paid account as noted in the <a href="https://cloud.google.com/free/docs/gcp-free-tier#how-to-upgrade">Upgrading to a paid account section</a> within the Google Cloud Free Tier document.</p>
</blockquote>
<p>Got your pre-requisites lined up? Good! Now let's introduce you to what you're building.</p>
<blockquote class="ipsQuote">
<p><strong>Tip:</strong></p>
<p>The Citrix DaaS documentation is relevant as this service is at the core of the solution. Be sure to give it a read before you start building, and keep it handy for when you need more information. It can be found on <a href="https://docs.citrix.com/en-us/citrix-daas.html">the Citrix docs site</a>.</p>
</blockquote>
<h3>The Citrix Cloud Resource Location</h3>
<p>The foundation of a Citrix virtualization system on Google Cloud is a Citrix Cloud construct called a "resource location". A resource location, in Citrix speak, is roughly analogous to a region on GCP. It's a well-connected grouping of resources, on a private network with an Active Directory, Internet egress (to utilize secure cloud services from Citrix and Google), and some applications and data you want to virtualize and securely deliver to any device in the world. Virtualized apps and desktops are delivered from VM instances on GCP called "VDAs". These are Windows or Linux VM instances running Citrix's VDA software which enables the desktop or application user interfaces to be remoted to client devices using Citrix's HDX display protocol. VDAs register with Cloud Connectors, which securely proxy communications with Citrix Cloud Services.</p>
<blockquote class="ipsQuote">
<p><strong>Tip:</strong></p>
<p>One key rule of thumb for delivering virtualized applications to be aware of. You want to put the apps (running on the Citrix VDAs) near the data (infrastructure required for the apps). Not having apps and data local to each other can result in increased latency and slower applications, which can ultimately cause a degraded user experience.</p>
</blockquote>
<p>Resource locations are typically built to be highly available, meaning your key services are spread across zones in the GCP region. Where applicable, more than one VM instance for key services are deployed for availability and manageability purposes. The key services you need to have in a resource location are:</p>
<ul>
<li>*Microsoft Active Directory</li>
<li>*Citrix Cloud Connectors</li>
<li>*A method for reliable Internet egress, such as Cloud NAT</li>
<li>*Citrix VDAs (GCP VM instances with Citrix's VDA software installed underneath the applications being delivered)</li>
<li>Other infrastructure, as needed, to support the applications being delivered</li>
</ul>
<p>Let's further explore some of these services* in more detail as they're required to have a functional Citrix Cloud resource location on Google Cloud.</p>
<h3>Microsoft Active Directory</h3>
<p>All design patterns for Citrix virtualization systems on Google Cloud require Microsoft Active Directory. For a compelling user experience, Active Directory services ought to be available in every GCP region where you've got VDAs deployed, hence it's considered a core component of a Citrix Cloud resource location. AD is used for configuration management (group policy) in addition to authentication, though as we learn later, AD does not need to be the identity provider for the system. Many customers extend their existing AD into Google Cloud, though Citrix virtualization can flexibly integrate into various AD designs and servicing models.</p>
<p>When deploying Active Directory on Google Cloud, customers can build/maintain their own Active Directory Domain Controllers using Windows Server instances, use Google's <a href="https://cloud.google.com/managed-microsoft-ad">Managed Service for Microsoft Active Directory</a>, or a combination of the two. Active Directory trusts can also be used to connect two or more AD forests/domains depending upon the customer's needs.</p>
<p>For customers looking to minimize the administrative overhead required to build and maintain functional Active Directory services, the Google <a href="https://cloud.google.com/managed-microsoft-ad">Managed Service for Microsoft Active Directory</a> (Managed Microsoft AD for short) is an option worth considering. This service provides you with a fully functional Active Directory forest/domain without the overhead of building and maintaining Windows Server VM instances. The Managed Microsoft AD service is built on highly available, Google-managed infrastructure, and delivered as a managed service. Each directory is deployed across multiple GCP zones, and monitoring automatically detects and replaces domain controllers that fail. You do not have to install software, and Google handles all patching and software updates. With Google's Managed Service for Microsoft Active Directory, you can use native Microsoft administrative tools, manage Windows machines and users with Microsoft Group Policy. You can also join VM instances to it, and even setup Active Directory trusts with existing AD instances to support various complex Enterprise scenarios.</p>
<p>Customers who choose to use Google's Managed AD Service with Citrix virtualization technologies can expect these technologies to work, with a few important things to consider before doing so. For starters - you won't have Domain Administrator, Enterprise Administrator, or other 'super user' type access to the AD instance. You do, however, have full control of your own container at the root of the directory where you can create users, computers, groups, OU's, and group policies. You can also set up and use various types of trust relationships with other directories.</p>
<p>A few other things you CAN NOT do:</p>
<ul>
<li>Create AD objects in any of the default containers (such as /Computers): they're read-only. This brings up a common mistake some customers make when using Citrix's Machine Creation Services (MCS) provisioning technology: you must choose to create the machine accounts for your MCS managed VDAs in a container/OU that's writeable. If you don't choose such a location, MCS is not able to create the machine accounts.</li>
<li>Install and configure some AD integrated features such as Certificate Services. As such, this impacts customers who plan to use Citrix's Federated Authentication Services (FAS) technology, which requires AD integrated Certificate Services. These customers must build and manage their own Active Directory on Google Cloud using Windows Server VM instances.</li>
<li>Have local Server Administrator equivalence by default. In an 'out of the box' Active Directory installation, the Domain Administrators group is added to the local Server Administrators group by default. If you're using the Google Managed Service for Microsoft AD, you may have to create your own server administrators' group, add your own users to it, create and apply a group policy to add your group to the built-in Server Administrators group on member servers/workstations.</li>
</ul>
<p>While trust relationships, site/service configuration, replication, and other AD related topics are not covered here, Citrix has provided extensive documentation on these topics applicable to all three deployment models.</p>
<blockquote class="ipsQuote">
<p><strong>Note:</strong></p>
<p>For more information on Active Directory requirements for Citrix virtualization on Google Cloud, see <a href="https://docs.citrix.com/en-us/citrix-cloud/citrix-cloud-resource-locations/citrix-cloud-connector/technical-details.html">Citrix Cloud Connector Technical Details</a>. Besides covering <a href="https://docs.citrix.com/en-us/citrix-cloud/citrix-cloud-resource-locations/citrix-cloud-connector/technical-details.html#supported-active-directory-functional-levels">supported Active Directory functional levels</a>, this article also covers <a href="https://docs.citrix.com/en-us/citrix-cloud/citrix-cloud-resource-locations/citrix-cloud-connector/technical-details.html#deployment-scenarios-for-cloud-connectors-in-active-directory">deployments scenarios for Cloud Connectors in Active Directory</a>.</p>
</blockquote>
<!-- -->
<blockquote class="ipsQuote">
<p><strong>Important:</strong></p>
<p>DNS name resolution is important for a properly functioning system. DHCP on GCP always uses Google's name servers. For VM instances to ‘find' and join your Active Directory instance on GCP, you want to implement private managed DNS zones, though not necessary if using the Managed Microsoft AD service. See Google <a href="https://cloud.google.com/dns/docs/overview">Cloud DNS overview</a> for more information.</p>
<p>DNS name resolution is also important when implementing Citrix's Rendezvous feature for HDX session proxy, including usage of <a href="https://docs.citrix.com/en-us/citrix-virtual-apps-desktops-service/hdx/adaptive-transport.html">EDT/Citrix adaptive transport</a>. See <a href="https://docs.citrix.com/en-us/citrix-virtual-apps-desktops-service/hdx/rendezvous-protocol.html">Rendezvous protocol</a> documentation for more details.</p>
</blockquote>
<h3>Citrix Cloud Connectors</h3>
<p>Citrix Cloud Connectors function as a secure, cloud managed proxy for the Citrix virtualization system. Cloud Connectors are dedicated, domain joined Windows Server instances in separate zones within a region. It also functions as an offline session broker if Internet access is interrupted ("local host cache mode') - useful for mission critical deployments with extreme availability requirements. We discuss this function in more detail as we get into the Hybrid design pattern later on in this document.</p>
<p>Cloud Connectors are typically deployed as an N+1 resource, using VM instances spread across multiple zones in a given region. This enables a resource location to scale and facilitates the automatic update of the Cloud Connector software.</p>
<blockquote class="ipsQuote">
<p><strong>Note:</strong></p>
<p>For more information on instance sizing for Citrix Cloud Connectors, see <a href="https://docs.citrix.com/en-us/citrix-virtual-apps-desktops-service/install-configure/resource-location/cc-scale-and-size.html">scale and size considerations for Cloud Connectors</a>.</p>
</blockquote>
<p>Cloud Connectors can sit on any VPC where they can reach Active Directory and the Citrix VDAs, and they need reliable Internet egress to function properly. One simple, highly available method for providing Internet egress is Google Cloud NAT, though many other methods are supported as well. For use cases with strict egress controls or auditing requirements, egress traffic from the Cloud Connectors to Citrix Cloud <a href="https://docs.citrix.com/en-us/citrix-cloud/citrix-cloud-resource-locations/citrix-cloud-connector/proxy-firewall-configuration.html">can be proxied</a>.</p>
<blockquote class="ipsQuote">
<p><strong>Note:</strong></p>
<p>For more information on ports and protocols used by Citrix virtualization technologies, see <a href="/en-us/tech-zone/build/tech-papers/citrix-communication-ports.html">Communication Ports Used by Citrix Technologies</a>. This document provides the foundation for the firewall rules you establish on Google Cloud.</p>
</blockquote>
<h3>Citrix VDAs</h3>
<p>The last resource type you need to have a functional Citrix virtualization system are called VDAs - and they're the actual workload you're delivering. As mentioned earlier, these are Windows or Linux VM instances running Citrix's "Virtual Delivery Agent" software, which enables the desktop or application user interfaces to be remoted to client devices using Citrix's HDX display protocol. VDAs can be created and managed outside of the system using any provisioning mechanism you'd like. For example, you can use Google Deployment Manager templates, but for any type of scale, you want to use Citrix's MCS technology.</p>
<p>MCS automates the creation of ‘machine catalogs' - groups of identically configured VDAs built from one or more ‘golden master' VM instances. MCS uses snapshots of the persistent disk to capture the state of the operating system and application stack installed. It also uses the instance attributes of your ‘golden master' VM instance to create instance templates, which apply these attributes to VDAs under MCS management. MCS also automates the updating of the system disk on the VDAs using similar snapshots of the ‘golden master' disk, and orchestrates the Autoscale feature's efforts to automatically manage cost and capacity.</p>
<p>There's a lot more to know about VDAs, but we dig deeper later on in this guide. Can't wait? Head straight to <a href="#vda-design-and-management-considerations">VDA Design and Management Considerations</a>.</p>
<blockquote class="ipsQuote">
<p><strong>Note:</strong></p>
<p>See <a href="/en-us/tech-zone/build/tech-papers/citrix-communication-ports.html">Communication Ports Used by Citrix Technologies</a> to identify the firewall rules you establish on Google Cloud.</p>
</blockquote>
<!-- -->
<blockquote class="ipsQuote">
<p><strong>Additional note:</strong></p>
<p>VDAs do not have to have Internet egress - and for certain use cases they don't by design. If, however, the VDAs do have Internet egress, the "<a href="https://docs.citrix.com/en-us/citrix-virtual-apps-desktops/technical-overview/hdx/rendezvous-protocol.html">rendezvous protocol</a>" feature can be <a href="https://docs.citrix.com/en-us/citrix-virtual-apps-desktops/policies/reference/ica-policy-settings.html#rendezvous-protocol">enabled via Citrix policy</a>, allowing client devices (which run the Citrix Workspace app) and the VDA to securely connect via the Citrix Gateway Service. This improves the scalability of the Cloud Connectors, who are often responsible for proxying the HDX connections into the VDAs. The other option for proxying HDX connections over public networks - deploy customer managed Citrix ADC/Gateway instances at the perimeter of the VPC.</p>
</blockquote>
<h2>VDA Design and Management Considerations</h2>
<p>The most dynamic part of a Citrix virtualization system is the VDA. Remember that VDAs are where the actual work is happening - the apps and desktops you provide users on a Citrix virtualization system run from VM instances on GCP. You want to make sure you get this layer right, but don't let perfection get in the way of progress! Do your homework up front. Set the expectation with users that the system will change over time. ...and build simple and effective processes to handle change: it's inevitable! With the power and flexibility of Citrix virtualization tech, managing change doesn't have to be a major burden.</p>
<p>In this section, we've attempted to logically break the topic up such that we can dive deep without losing context. We do our best to provide the details you need in each section and call out leading practices and recommendations along the way.</p>
<p>We start by examining the different VDA related options for delivering your mix of apps and desktops, and there are quite a few! We then dive into how to configure and use Citrix Cloud's VDA fleet and image management technologies, including MCS and the Autoscale feature. We then introduce user environment management (registry settings, drive/printer mappings, and so on) and user settings management (user profiles, personalization layers, home drives, and so on) options, dive into cost optimization and capacity management, and wrap up the section with more performance tuning considerations.</p>
<p>This is an ambitious amount of knowledge to distill - let's get after it!</p>
<h3>Workload Delivery Options and Considerations</h3>
<p>As you begin your workload delivery journey, it's important we start it on the right foot. That means touching on a couple non-VDA specific elements that need to be considered first. One of the most important conversations a good Citrix consultant has with a new customer is about the use cases you're going to be servicing. These conversations (more than one, because customer needs, business climate, and technology evolve over time) typically lead to the definition of reasonably well-defined groups of users and apps - we call them Delivery Groups. Most of the options we're going to break down in this section are re-evaluated for each Delivery Group and use case. It's common for customers to have quite a bit of variation and even overlap between Delivery Groups. At the end of the day, however, the most foundational element of each Delivery Group is the mix of applications, data, and services to be provided. Once you have that defined, you can begin to evaluate the decisions laid out in this section.</p>
<blockquote class="ipsQuote">
<p><strong>Important:</strong></p>
<p>For each use case/Delivery Group, start by defining the mix of apps, data, and services needed, then work your way through the following considerations to decide what delivery options can best serve each.</p>
</blockquote>
<!-- -->
<blockquote class="ipsQuote">
<p><strong>Tip:</strong></p>
<p>VDAs are managed in a resource grouping called <a href="https://docs.citrix.com/en-us/citrix-virtual-apps-desktops-service/install-configure/machine-catalogs-create.html">machine catalogs</a>. Machine catalogs are groups of virtual machine instances which serve a common use case for a group of users. They're typically based off the same ‘golden master' VM instance template, and inherit VM instance properties and a generalized copy of the persistent disk.</p>
</blockquote>
<h3>VDA Operating Systems</h3>
<h4>Windows or Linux</h4>
<p>Now that you've defined the apps, data, and services required for each Delivery Group/use case, you can begin to consider what operating system is best suited for your VDAs. The most basic question: do you need Windows or Linux? This decision is often forced by the requirements of the application or set of applications you're delivering. If the app only runs on Windows, then Windows it is! The same obviously applies if the app only runs on Linux.</p>
<p>Business applications are often built upon Windows, so a large percentage of Citrix virtualized apps run on Windows based VM instances on GCP. Sometimes Windows is chosen because it's what the IT team knows, and the cost of spinning up operational competencies on a new OS like Linux is deemed too high, so Windows is used even if the application set can run on Linux. If, however, the app set can be run on Linux, it's worth considering - much of the complexity and a good portion of the costs (Windows OS and client licenses) can be avoided.</p>
<h4>Server or desktop OS</h4>
<p>If you can use Linux as the OS, the choice of ‘server or desktop' is relatively simple. You must pick a version that has a GUI, can run <a href="https://cloud.google.com/compute/docs/images">on Google Cloud</a>, and is supported by the <a href="https://docs.citrix.com/en-us/linux-virtual-delivery-agent/current-release/system-requirements.html">Citrix Linux VDA</a>.</p>
<p>If you deploy Windows, the choice of server vs. desktop OS gets a bit more complicated. Both options share a common GUI, and both can present users with a virtual desktop. In fact, most Windows applications run on both Windows Server and Windows 10 desktop operating systems, though often application vendors won't call out Windows Server support in their documentation. The most major implication of Windows Server vs. Windows 10 desktop is licensing - and it's a large one.</p>
<p>Microsoft's licensing policies are restrictive when running Windows 10 (or any other ‘desktop' operating system) on public clouds. These policy-based restrictions can make it more expensive to run a Windows desktop OS on any public cloud, including GCP. For more information on Microsoft's licensing policies, consult your Microsoft licensing specialist, but the following gets you started on this complex topic:</p>
<ul>
<li><a href="https://www.microsoftvolumelicensing.com/Downloader.aspx?DocumentId=16407">Microsoft Volume Licensing Product Terms (April 1, 2020)</a> - for Windows Client, Windows Server, and Windows Services.</li>
<li><a href="https://www.microsoft.com/en-us/licensing/product-licensing/office">Microsoft Office Licensing page</a> - get the <a href="https://download.microsoft.com/download/3/D/4/3D42BDC2-6725-4B29-B75A-A5B04179958B/Licensing_Office365_ProPlus_in_Volume_Licensing.pdf">licensing brief</a>.</li>
</ul>
<p>If you're running Windows on GCP, Windows Server serves most use cases and application mixes, and you simply pay for the license usage along with instance usage. It's often more cost effective than a Windows desktop and ends up being the choice for many virtualization systems on Google Cloud.</p>
<h3>Shared OS (multi-user) or single user ("VDI")</h3>
<p>One common misconception is that Windows Server cannot serve desktop use cases, regardless of whether you are sharing the OS between multiple users or have one OS/VM instance per user. This misconception is false! When deployed in Multi-user mode (that is, RDSH role is installed), Windows Server can present users with a ‘hosted shared' desktop. Windows Server can also be used for "VDI" use cases, and while not as cost effective or scalable as the multi-user/shared OS option, it's a legitimate option for a single user desktop. We call this delivery model "Server VDI".</p>
<p>To summarize, the following combinations of options/operating systems can be used depending upon the use case:</p>
<table>
<thead>
<tr>
<th>Delivery Model</th>
<th>Single or multi-user</th>
<th>Common OS versions/components</th>
<th>Relative cost to run on Google Cloud</th>
</tr>
</thead>
<tbody>
<tr>
<td>Hosted Shared</td>
<td>Multi-user</td>
<td>Windows Server (2016 or 2019), RDSH role and Desktop Experience enabled.</td>
<td>⭐</td>
</tr>
<tr>
<td>Server VDI</td>
<td>Single user</td>
<td>Windows Server (2016 or 2019), Desktop Experience enabled.</td>
<td>⭐⭐⭐</td>
</tr>
<tr>
<td>Desktop VDI</td>
<td>Single user</td>
<td>Windows 10 (BYO licensing and STN required)</td>
<td>⭐⭐⭐⭐⭐</td>
</tr>
</tbody>
</table>
<p>Another common mis-conception is that Google Cloud's sole-tenant nodes (STN) are required to serve ‘desktop' use cases. Sole tenant nodes are required to comply with Microsoft's BYO licensing scenarios such as Windows 10 (desktop) OS. As mentioned above, Windows Server can be used to deliver a single-user desktop ("Server VDI") in addition to a multi-user desktop (Hosted Shared). Sole tenant nodes can also be used for Windows Server instances when you're bringing your own Windows Server licensing.</p>
<p>Most flavors of Linux are multi-user capable out of the box. As such, they can be deployed in either Hosted Shared or "Server VDI" models, with similar relative cost implications.</p>
<blockquote class="ipsQuote">
<p><strong>Note:</strong></p>
<p>To help with the decision making process, the following decision tree compares <a href="/en-us/tech-zone/design/design-decisions/application-delivery-methods.html#hosted-shared-vs-vdi-desktop-overview">Hosted Shared Desktops (Server OS multi-user desktops) to VDI Desktops</a>. The tree doesn't explicitly differentiate between client VDI and server VDI models, but the decisions presented are valid for both. When a use case suggests VDI is the appropriate delivery model for your workload, Server VDI ought to be considered wherever possible for running on Google Cloud.</p>
</blockquote>
<h3>Published desktops or published apps</h3>
<p>At the end of the day, the virtualized apps you deliver to users in a Citrix virtualization system run on VDAs. You have options for how you present them, which determines how users interact with them. You can present the user with, or "publish" individual applications and files. You can also present them with a desktop on which they interact with applications and data.</p>
<p></p><p><a href="//media.invisioncic.com/m329563/monthly_2024_02/reference-architectures_citrix-google-virtualization_published-desktops-published-apps.png.63a4cad90c4d328396232621c9b35c5c.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="2713" src="//media.invisioncic.com/m329563/monthly_2024_02/reference-architectures_citrix-google-virtualization_published-desktops-published-apps.png.63a4cad90c4d328396232621c9b35c5c.png" width="1629" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_citrix-google-virtualization_published-desktops-published-apps.png" loading="lazy" height="1026.27"></a></p>
<p>Example: a hosted shared desktop, being presented as a windowed app in Citrix Workspace app for Windows.</p>
<p>There's more to this choice (and many customers use both), but here's an attempt to summarize:</p>
<p><strong>Published desktops</strong> (both hosted shared and VDI):</p>
<table>
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td>+</td>
<td>Give users a familiar metaphor for interacting with the apps and data on the system. Can be simpler for users to grasp and get productive using. Great for delivering flexible environments with many applications.</td>
</tr>
<tr>
<td>-</td>
<td>Users expect things to work like they do on a desktop. You are working harder to balance security with access and functionality, and you are managing a Windows desktop. User profiles, application settings, data storage, and desktop configuration management become critical. Doubly so if users expect settings to roam between regions.</td>
</tr>
<tr>
<td>-</td>
<td>Require more VM instance resources - the Windows Desktop services consume more resources for each user vs. published apps.</td>
</tr>
</tbody>
</table>
<p><strong>Published applications:</strong></p>
<table>
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td>+</td>
<td>Published apps are often easier to secure, require less resources to deliver, and can provide users with a simpler user experience. Citrix calls this "seamless windows".</td>
</tr>
<tr>
<td>-</td>
<td>User experience can get complicated with larger numbers of published apps.</td>
</tr>
<tr>
<td>+</td>
<td>Still requires management of user profiles, application settings, and data storage, but often simpler and with more flexibility in execution relative to published desktops.</td>
</tr>
<tr>
<td>+</td>
<td>Require less VM instance resources vs. Windows Desktop presentation. Multiple published apps usually run inside the same session - a feature Citrix calls session sharing.</td>
</tr>
</tbody>
</table>
<h3>Pooled or persistent</h3>
<p>This choice is another property of the machine catalog and is defined upon catalog creation. The hosted shared delivery model usually uses pooled/non-persistent VDAs, but both VDI models can use either pooled or persistent machine catalogs. With the pooled model, OS instances are reset by MCS on logoff or reboot of the VDA. This model ensures that users get a ‘clean' system image, which is in turn based on your template or ‘golden image' VM instance(s) and snapshots of it's persistent disk. They're referred to as ‘pooled' as a pool of VDAs are maintained and users are dynamically connected to an available/unused VDA in the pool. User settings and data can be managed several different ways. With pooled VDAs, they're handled such that the user gets the same configuration and experience regardless of which VDA they're logged into. See user environment/settings management in this document for more details on this topic.</p>
<p>Persistent machine catalogs contain VDA instances which are assigned to individual users, and they persist between reboots. This model is useful for scenarios where users need to install their own applications (such as developer environments) and use cases where necessary applications are not multi-user compatible.</p>
<p>Pooled instances tend to be the easiest to manage over time since Citrix's MCS can update the system disks attached to pooled instances with a few clicks. Capacity and cost management also tends to be more effective since an idle pool of instances can serve many users. Pooled instances are a bit less flexible than dedicated since changes to pooled instances don't usually persist between reboots. Technologies such as <a href="https://docs.citrix.com/en-us/citrix-virtual-apps-desktops-service/install-configure/user-personalization-layer.html">Citrix User Personalization Layer</a> can be used to persist user initiated changes across sessions on different pooled VDAs, though it's only compatible with single user "VDI" use cases.</p>
<p>Persistent instances can be simpler to deploy, but tougher to manage over time since you have to handle OS/application patching, upgrading, and maintenance inside the VM. It can also be more expensive from a cost/capacity perspective as it is often tough to predict when a user will log on. This means that users must wait while their instance is started, or administrators must keep them running during time windows where each user is expected to log on.</p>
<h3>Managed or unmanaged</h3>
<p>Catalogs created and managed by MCS can contain persistent or non-persistent clones of template (or ‘golden master') VM instances. Machine catalogs can also be provisioned with another process or technology. Either way, you want to make sure they're created as power managed:</p>
<p></p><p><a href="//media.invisioncic.com/m329563/monthly_2024_02/reference-architectures_citrix-google-virtualization_managed-unmanaged.png.6a6dc0ba1ac227632a0bfed0596f9007.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="2714" src="//media.invisioncic.com/m329563/monthly_2024_02/reference-architectures_citrix-google-virtualization_managed-unmanaged.png.6a6dc0ba1ac227632a0bfed0596f9007.png" width="1920" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_citrix-google-virtualization_managed-unmanaged.png" loading="lazy" height="998.4"></a></p>
<p>If you don't use power managed machine catalogs, key features such as Citrix Autoscale will not work, and you won't have help managing costs and capacity. Using MCS for VDA fleet provisioning and management brings a host of useful benefits to administrators, but ‘unmanaged' VDAs - those provisioned outside of Citrix - can also be used. We cover those benefits in <a href="#fleet-and-image-management">Fleet and Image Management</a> later in this guide.</p>
<h3>GPU Acceleration</h3>
<p>Certain types of applications deployed on VDAs can benefit from GPU resources if they're available to the VM instance. All three delivery models (hosted shared, server VDI, and desktop VDI, for both Linux and Windows) can use NVIDIA accelerated <a href="https://cloud.google.com/compute/docs/gpus#gpu-virtual-workstations">GPU instances for graphics workloads on Google Cloud</a>. These Virtual Workstation GPUs can be attached to general-purpose N1 machine types for graphics intensive workloads such as 3D visualization, chip design, CAD/CAM, graphics and video editing, and include the required GRID license.</p>
<p>With the appropriate NVIDIA GRID driver installed on the instance, Citrix's VDA software detects GPU presence and configures itself appropriately.</p>
<blockquote class="ipsQuote">
<p><strong>Tip:</strong></p>
<p>Citrix's HDX display protocol stack does lots of auto-detecting and adapting on the fly to provide the best possible user experience. However, it also tries to balance performance, responsiveness, and richness of the UX with bandwidth consumption. As such, graphics intensive workloads often benefit from some fine-tuning to get the balance right. See <a href="/en-us/tech-zone/design/design-decisions/hdx-graphics.html">HDX Graphics Overview</a> for more information. Note that Citrix does provide a policy template called "Very High Definition User Experience" (as outlined in <a href="/en-us/tech-zone/design/design-decisions/baseline-policy-design.html">Baseline Policy Design</a>). This template can be used as the starting point for fine-tuning to your specific environment.</p>
</blockquote>
<h3>Cost Optimization and Capacity Management</h3>
<p>When running VDAs on Google Cloud, you're paying for the compute, storage, and networking resources you use. This means there's a direct correlation between the amount of capacity you consume and the costs you incur. The choices you make and the practices you adopt have a direct correlation to the operational cost of the virtualization system.</p>
<p>First off, make sure you choose the right <a href="#workload-delivery-options-and-considerations">workload delivery options</a> - the topics you just read through if you're reading this front to back. These can have a dramatic impact on the total cost of the solution! Here are a few other recommendations and topics to consider as you work to balance cost with capacity and optimize the user experience.</p>
<h3>On-demand Provisioning</h3>
<p>When you use MCS to create non-persistent machine catalogs in Compute Engine, MCS uses on-demand provisioning to reduce your storage costs, provide faster catalog creation, and provide faster instance power operations. With on-demand provisioning, Compute Engine instances are created only when Citrix DaaS initiates a power-on action. On-demand provisioning is used for non-persistent machine catalogs.</p>
<blockquote class="ipsQuote">
<p><strong>Note:</strong></p>
<p>Some administrators find on-demand provisioning confusing initially, as VDA instances do not show up in the Google Cloud console until MCS powers them on. Also, since the instances receive a new virtual NIC and MAC address, it can take some time for Active Directory DNS entries to update/replicate successfully. VDA identity disks DO persist between reboots and creation/deletion events.</p>
</blockquote>
<h3>Rightsizing VDA Instances</h3>
<p>Now that you've gotten some insight into the important decisions related to workload delivery options, let's dig into right-sizing your VDA instances. For <a href="#shared-os-multi-user-or-single-user-vdi">VDI based delivery models</a>, selecting the right instance type is straightforward. Assuming you've done some homework and have a decent understanding of the resource requirements of the OS, apps, and users of the VDI instances, you can simply map these requirements to the <a href="https://cloud.google.com/compute/docs/regions-zones#available">instance types available in the Google Cloud region</a> of your choice. Don't worry if you don't have a perfect match between available instance types and workload requirements. Google Cloud supports <a href="https://cloud.google.com/custom-machine-types">custom instance types</a>, which allow you to tweak the shape of your VDA instances as you go. Sustained use and committed use discounts still apply to custom instance types, so don't let that deter you from adjusting as needed to get the right size up front.</p>
<p>Also - Google Cloud's <a href="https://cloud.google.com/compute/docs/instances/apply-sizing-recommendations-for-instances">sizing recommendations</a> feature can be used to identify adjustments to VDA shapes you may want to make over time.</p>
<p></p><p><a href="//media.invisioncic.com/m329563/monthly_2024_02/reference-architectures_citrix-google-virtualization_rightsizing-vda-instances.png.231ff2200970fff47f0fd5123153251c.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="2715" src="//media.invisioncic.com/m329563/monthly_2024_02/reference-architectures_citrix-google-virtualization_rightsizing-vda-instances.png.231ff2200970fff47f0fd5123153251c.png" width="970" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_citrix-google-virtualization_rightsizing-vda-instances.png" loading="lazy" height="552.9"></a></p>
<blockquote class="ipsQuote">
<p><strong>Note:</strong></p>
<p>One important thing to note - workload resource consumption can change over time. Sometimes events/activities reduce resource requirements - like when an administrator applies optimizations to the environment. Conversely, sometimes these requirements go up, like when an OS or app vulnerability is patched, or an update is applied. Find your baseline, but it's important to monitor consumption trends over time and adjust as necessary to find the optimal balance between user performance and costs.</p>
</blockquote>
<p>When selecting the right instance size for hosted shared VDAs, things get a bit more complicated. What you're ultimately searching for is a moving target - the right balance of performance, cost, and manageability. To further complicate things, every workload is different. Variances between OS, applications, settings, tuning, and user expectations make it tough to nail down the right shapes for your VDAs. It also tends to change over time as well.</p>
<p>Fortunately, the tools and techniques for finding that ‘goldilocks' balance between performance, cost, and manageability are well known and thoroughly documented. One excellent article we'd recommend starting with is <a href="https://www.citrix.com/blogs/2018/08/16/citrix-scalability-in-a-cloud-world-2018-edition/">Citrix Scalability in a Cloud World 2018 Edition</a>. This article is still relevant today as it discusses leading practices regarding instance selection based on performance, manageability, cost, available pricing models, and LoginVSI scalability testing. These concepts and considerations are still valid today, even though instance choices and pricing have likely changed since its initial publication.</p>
<p>Another article worth mentioning is <a href="https://www.citrix.com/blogs/2018/07/23/right-sizing-citrix-xenapp-on-google-cloud-platform/">Right-sizing Citrix on Google Cloud Platform</a>. Although a bit dates, this article digs even deeper into the considerations and provides an example of how to find the most cost effective instance type based on single VDA scaling and your instance costs.</p>
<p>Finally, for extra insight into strategies for optimizing VDA costs, see this <a href="/en-us/tech-zone/learn/tech-briefs/autoscale.html">Autoscale tech brief</a> on Citrix TechZone. It helps align your instance cost estimates with the capabilities of the <a href="https://docs.citrix.com/en-us/citrix-virtual-apps-desktops-service/manage-deployment/autoscale.html">Citrix Autoscale</a> feature, including the use of vertical load balancing.</p>
<p>Speaking of Citrix Autoscale - read up on it and use it: with a bit of thought and clever design, you are able to cost optimize your VDA fleet while ensuring you've got capacity available to handle expected and unexpected fluctuations in system demand.</p>
<p>Speaking of demand patterns - you want to invest some time and resources into understanding the unique patterns of each workload. Expect them to change and evolve over time, and be prepared to adjust your capacity management strategy and tactics to accommodate.</p>
<h3>Performance Tuning</h3>
<p>Many factors can contribute to the perception of performance users get on your Citrix virtualization system. Besides selecting the right shape of VM instance for your VDAs, other key areas to investigate for performance optimization include the following:</p>
<p><strong>User environment and settings management choices</strong>: Policies are your friend when managing and optimizing performance for your users. Policies control the configuration of Windows, applications, sessions, and much more. To further complicate things, there are multiple policy engines you can potentially use, each with their own impact on the user experience. Choosing the right policy engine and establishing consistent baselines are important, and fortunately are covered in depth in <a href="/en-us/tech-zone/design/design-decisions/baseline-policy-design.html">Baseline Policy Design</a>. Also, the <a href="https://docs.citrix.com/en-us/workspace-environment-management/service.html">Citrix Workspace Environment Management service</a> can be used to optimize the user experience and simplify management in a diverse environment.</p>
<p><strong>Optimizing Windows</strong>: Windows is a general purpose operating system, and is designed to cover a broad variety of use cases, hardware types, and so on. Many of the default settings in Windows are unnecessary in a Citrix virtualization environment. Fortunately <a href="https://support.citrix.com/article/CTX224676">Citrix Optimizer</a> is available to help, and includes many comprehensive templates you can apply to your VDAs to get the best possible performance and lowest overall resource utilization.</p>
<p><strong>Antivirus tuning</strong>: Running antivirus software on Citrix VDAs and supporting infrastructure is a solid and recommended practice. However if incorrectly installed/configured, it can wreak havoc on the user experience. See <a href="/en-us/tech-zone/build/tech-papers/antivirus-best-practices.html">Endpoint Security and Antivirus Best Practices</a> for a great primer on how to get it right.</p>
<p><strong>HDX Protocol Optimization</strong>: Citrix's HDX display protocol stack does many auto-detecting and adapting on the fly to provide the best possible user experience. It attempts to balance performance, responsiveness, and richness of the UX with bandwidth consumption. For some use cases (such as graphics intensive workloads, or low/poor quality network connections) often benefit from some fine-tuning to get the balance right. See <a href="/en-us/tech-zone/design/design-decisions/hdx-graphics.html">HDX Graphics Overview</a> for more information.</p>
<p>Also, Citrix provides several pre-built session policy templates which can be used to flexibly match settings to your specific use cases. These policies are configured and managed in Citrix Cloud Studio, and can be applied using various filters. These filters allow you to make sure the right policy is applied to optimize specific scenarios.</p>
<p></p><p><a href="//media.invisioncic.com/m329563/monthly_2024_02/reference-architectures_citrix-google-virtualization_hdx-protocol-optimization.png.4da6ee2844ec916270749b125da67b89.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="2716" src="//media.invisioncic.com/m329563/monthly_2024_02/reference-architectures_citrix-google-virtualization_hdx-protocol-optimization.png.4da6ee2844ec916270749b125da67b89.png" width="1920" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_citrix-google-virtualization_hdx-protocol-optimization.png" loading="lazy" height="998.4"></a></p>
<h3>Choosing the right Pricing Models</h3>
<p>Google Cloud offers various different <a href="https://cloud.google.com/pricing">pricing</a> models customers can use for the different types of workloads you run there. Understanding the demand patterns for different use cases can help you choose the right model for each resource to balance cost and service availability/performance. In a Citrix virtualization system, customers commonly consider sustained use vs. committed use discount models for the resources that run on GCP. Sustained use discounts can vary between instance types (N1 vs. N2, for example) and some instance types (such E2) don't offer sustained use discounts. See <a href="https://cloud.google.com/compute/vm-instance-pricing#general-purpose_machine_type_family">VM instance pricing</a> for more details.</p>
<p>The following is a simplified chart illustrating sustained use vs committed use discounts <strong>for N1 instance types:</strong></p>
<p></p><p><a href="//media.invisioncic.com/m329563/monthly_2024_02/reference-architectures_citrix-google-virtualization_optimizing-cost.png.6c3be9d95fbb9ebd885e218497926da0.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="2717" src="//media.invisioncic.com/m329563/monthly_2024_02/reference-architectures_citrix-google-virtualization_optimizing-cost.png.6c3be9d95fbb9ebd885e218497926da0.png" width="800" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_citrix-google-virtualization_optimizing-cost.png" loading="lazy" height="448"></a></p>
<p>Some resources are unique, highly scalable, and must be available for a Citrix virtualization system to function. As such, they're commonly run 24/7 and deployed N+1 for availability, and are great candidates for committed use discounting. This includes Active Directory, Citrix Cloud Connectors, Citrix ADC/Gateway VPX, and Citrix StoreFront VM instances.</p>
<p>For VDA instances, the choice isn't quite as simple, but the more clearly you understand your demand patterns, the clearer the choice is. It all boils down to how long the VDA needs to be powered on for. Consider the following chart (specific to <strong>N1 instance types</strong>), which is reproducible with a bit of back-of-the-envelope math:</p>
<p></p><p><a href="//media.invisioncic.com/m329563/monthly_2024_02/reference-architectures_citrix-google-virtualization_break-even.png.6ab557b3e60ab77fdc10097dcebde38d.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="2718" src="//media.invisioncic.com/m329563/monthly_2024_02/reference-architectures_citrix-google-virtualization_break-even.png.6ab557b3e60ab77fdc10097dcebde38d.png" width="800" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_citrix-google-virtualization_break-even.png" loading="lazy" height="448"></a></p>
<p>This diagram shows that if a resource (running on an N1 instance type) will be on for over 50% of the time during a given billing cycle, you start saving money if you can apply 3 year committed use discounting. The break even point on a 1 year committed use discount is approximately 82%. If a resource is going to be powered on for more than that during a billing cycle, and 3 year committed use isn't available, then a 1 year committed use makes sense.</p>
<h3>File Storage and Data Replication</h3>
<p>Most Citrix virtualization systems on GCP require at least basic access to a Windows compatible file share to persist user settings, user data, and application data. Windows file shares are also used to store <a href="https://docs.citrix.com/en-us/citrix-virtual-apps-desktops-service/install-configure/user-personalization-layer.html">Citrix user personalization layers</a>. When these shares are not available, the user experience and application functionality suffer. It is important to ensure that whatever solution you choose to provide, Windows compatible file shares are highly available and data is regularly backed up.</p>
<p>For multi-site deployments, reliable and performant data replication may also be necessary to meet availability, RPO, and RTO needs. This is especially true for environments where users can connect to desktops/apps in 2 or more regions, and application data/user settings must be available in the region where the apps/desktops run. The following section describes some solutions to consider for providing file storage and data replication services on GCP.</p>
<p>While non-Windows solutions for providing Windows file shares exist, most of these solutions cannot deliver the indexing capabilities required for search functionality inside a Windows desktop or applications such as Microsoft Outlook running on Windows. As such, most customers turn to Windows-based file server solutions, at least for storing user profiles and persistent application data. Fortunately, both customer managed and cloud service options are available for use when Citrix virtualization systems are run on GCP.</p>
<h3>Customer Managed: Windows File Servers on Google Compute Engine</h3>
<p>The first solution many customers consider for providing Windows compatible file services on GCP is building their own Windows file servers on Compute Engine to serve each resource location on GCP. Since Windows file servers are needed by various different types of applications and workloads, many IT shops can gravitate towards building and managing their own since this is something they know how to do. At the most basic level, the customer creates one or more Windows instances, attaches more persistent disks, joins the instances to their Active Directory, and finishes configuring Windows File Services.</p>
<p>This option, as you might imagine, provides customers with the most control and flexibility. While this is very appealing to certain types of customers and certain verticals, it also comes at a cost: the responsibility to size, scale, build, manage, patch, secure, and maintain everything from the Windows OS up. Customers electing to go this route ought to also ensure these file servers are highly available. This is often accomplished using file servers in multiple zones, and using Windows DFS-N/DFS-R, <a href="https://cloud.google.com/compute/docs/tutorials/running-windows-server-failover-clustering">Windows failover clusters</a>, or storage spaces direct. It's easy to end up in an unsupported configuration (per Microsoft) if you're not careful.</p>
<blockquote class="ipsQuote">
<p><strong>Note:</strong></p>
<p>Customers considering this option ought to review <a href="https://support.microsoft.com/en-ca/help/2533009/information-about-microsoft-support-policy-for-a-dfs-r-and-dfs-n-deplo">Microsoft's support statement</a> regarding using DFS-R and DFS-N for roaming profile shares and folder redirection shares.</p>
</blockquote>
<h3>Third Party</h3>
<p>An alternative solution is using third party solutions such as <a href="https://cloud.netapp.com/ontap-cloud">NetApp Cloud Volumes ONTAP</a> or the <a href="https://cloud.google.com/solutions/partners/netapp-cloud-volumes">Cloud Volumes Services for GCP</a>. Both solutions allow you to create compatible SMB shares that can be used for your storage needs. There are benefits to using third party storage solutions as opposed to managing your own Windows File Servers, such as less administrative overhead when managing storage. See <a href="https://cloud.google.com/solutions/filers-on-compute-engine">File servers on Compute Engine</a> for more information.</p>
<h2>Citrix NetScaler VPX on Google Cloud</h2>
<p>Deploying the Citrix NetScaler Gateway on GCP is different than deploying it on-premises, though in the end you're managing them yourself. Fortunately deploying Citrix NetScaler on GCP is thoroughly documented. We recommend reviewing the following resources before you solidify your design and begin implementation:</p>
<ul>
<li><a href="https://docs.citrix.com/en-us/citrix-adc/13/deploying-vpx/deploy-vpx-google-cloud.html">Citrix NetScaler VPX on GCP in Citrix Docs</a>: Provides a comprehensive overview of Citrix NetScaler on GCP, including supported VPX models, GCP regions, Computer Engine instance types, and other resource references.</li>
<li><a href="https://console.cloud.google.com/marketplace/partners/citrix-public">Citrix NetScaler VPX GCP Marketplace Deployments</a>: All available Citrix networking deployment solutions available in the GCP Marketplace. Functional and relevant for Citrix Gateway deployments with Citrix Virtual Apps and Desktops and Citrix DaaS also.</li>
<li><a href="https://github.com/citrix/citrix-adc-gdm-templates/blob/master/README.md">Citrix NetScaler GDM Templates</a>: A GitHub repository for Citrix NetScaler GDM templates. This is an excellent reference for a repository that hosts Citrix NetScaler templates for deploying a Citrix ADC VPX instance on the Google Cloud Platform.</li>
</ul>
<p>As discussed in <a href="https://docs.citrix.com/en-us/citrix-adc/13/deploying-vpx/deploy-vpx-google-cloud.html">Citrix NetScaler VPX on GCP</a> on Citrix Docs, there are two primary deployment options available. They are:</p>
<ul>
<li><a href="https://docs.citrix.com/en-us/citrix-adc/13/deploying-vpx/deploy-vpx-google-cloud.html">Standalone</a>: Individual instances of Citrix NetScaler Gateway can be deployed and managed as separate entities. This is commonly used for smaller scale or POC deployments where high availability is not a requirement.</li>
<li><a href="https://docs.citrix.com/en-us/citrix-adc/13/deploying-vpx/deploy-vpx-google-cloud-ha.html">High Availability</a>: This is the most commonly deployed model for production environments: pairs of Citrix NetScaler Gateway VPX instances can be deployed using an HA configuration within the same zone or across multiple zones in the same region. We dig into this option more deeply later in this section.</li>
</ul>
<blockquote class="ipsQuote">
<p><strong>Best practice:</strong></p>
<p><strong>When you deploy Citrix NetScaler Gateway appliances on GCP, we recommend using Premium tier (regional) external IP addresses.</strong> When using premium tier external IP's, traffic ingresses and egresses at the Edge network location nearest the user. Traffic then traverses Google's private network to get to the region where the resource is deployed. This provides better throughput, lower latency, and more consistent performance (lower jitter) as compared to Standard tier external IP addresses. For more information, see Google Cloud <a href="https://cloud.google.com/network-tiers/docs/overview">Network Service tiers</a>.</p>
</blockquote>
<h3>NetScaler Standalone</h3>
<p>While Citrix NetScaler VPX generally supports single, dual, or multiple NIC deployment types, Citrix recommends using at least three VPC networks for each NetScaler when deployed on GCP, with a network interface in each VPC for optimum throughput and data separation. When deployed to support Citrix Virtual Apps and Desktops, the management interface (<a href="https://docs.citrix.com/en-us/citrix-adc/current-release/networking/ip-addressing/configuring-citrix-adc-owned-ip-addresses/configuring-citrix-adc-ip-address.html">NSIP</a>) is typically attached to the "Private Citrix Infrastructure Subnet," the subnet IP (<a href="https://docs.citrix.com/en-us/citrix-adc/current-release/networking/ip-addressing/configuring-citrix-adc-owned-ip-addresses/configuring-subnet-ip-addresses-snips.html">SNIP</a>) is attached to the "Private Citrix VDA Subnet," and the Citrix Gateway virtual IP (<a href="https://docs.citrix.com/en-us/citrix-adc/current-release/networking/ip-addressing/configuring-citrix-adc-owned-ip-addresses/configuring-and-managing-virtual-ip-addresses-vips.html">VIP</a>) to the "Public Subnet." The following simplified conceptual diagram depicts this configuration. It shows a single VPX instance in a single zone - this design pattern would be duplicated (likely in a second zone) for a High Availability configuration:</p>
<p></p><p><a href="//media.invisioncic.com/m329563/monthly_2024_02/reference-architectures_citrix-google-virtualization_adc-standalone.png.220a897af5a4bc4944c47b7172069e96.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="2719" src="//media.invisioncic.com/m329563/monthly_2024_02/reference-architectures_citrix-google-virtualization_adc-standalone.png.220a897af5a4bc4944c47b7172069e96.png" width="1178" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_citrix-google-virtualization_adc-standalone.png" loading="lazy" height="589"></a></p>
<p>The following is a table showcasing the purpose of each NIC along with the associated VPC network:</p>
<table>
<thead>
<tr>
<th>NIC</th>
<th>Purpose</th>
<th>Associated VPC network</th>
</tr>
</thead>
<tbody>
<tr>
<td>NIC 0</td>
<td>Serves management traffic (NSIP)</td>
<td>(❶) Management network</td>
</tr>
<tr>
<td>NIC 1</td>
<td>Serves client-side traffic (VIP)</td>
<td>(❷) Public network</td>
</tr>
<tr>
<td>NIC 2</td>
<td>Communicates with back-end servers (SNIP)</td>
<td>(❸) Back-end server network</td>
</tr>
</tbody>
</table>
<blockquote class="ipsQuote">
<p><strong>Important:</strong></p>
<p>Citrix NetScaler VPX instances with three NICs require a minimum of 4 vCPUs when running on GCP. See <a href="https://cloud.google.com/vpc/docs/create-use-multiple-interfaces#max-interfaces">maximum number of network interfaces</a> for more information.</p>
</blockquote>
<h3>NetScaler High Availability across Zones</h3>
<p>As mentioned earlier, this is the most common deployment model for Citrix virtualization systems. This model uses a pair of Citrix NetScaler VPXs in a single region deployed across multiple zones. High availability (active/passive) can be achieved multiple ways. You can use a GCP HTTPS Load Balancer with the NetScalers configured independent of each other or by using Citrix NetScalerss HA configured in Independent Network Configuration (INC) mode. The latter option/architecture is expected to be popular for public cloud deployments, so we focus on that here.</p>
<p>While there are potential variants for a Citrix NetScaler Gateway VPX architecture on GCP, the following diagram depicts a three NIC Citrix NetScaler HA solution. This solution can be deployed by the <a href="https://github.com/citrix/citrix-adc-gdm-templates/tree/master/high-availability-templates/3nic">Google Deployment Manager template</a> with pre-configured VPC networks and subnets:</p>
<p></p><p><a href="//media.invisioncic.com/m329563/monthly_2024_02/reference-architectures_citrix-google-virtualization_conceptual-architecture.png.54bae7773e0a49043a282f19d30e8bd0.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="2720" src="//media.invisioncic.com/m329563/monthly_2024_02/reference-architectures_citrix-google-virtualization_conceptual-architecture.png.54bae7773e0a49043a282f19d30e8bd0.png" width="1173" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_citrix-google-virtualization_conceptual-architecture.png" loading="lazy" height="586.5"></a></p>
<p>When using the Google Deployment Manager template, you must configure the VPC networks before deploying the Citrix NetScaler appliances. The three VPC networks ought to consist of the (❶) management network, (❷) public network, and (❸) backend-server network and appropriate subnets within each VPC network.</p>
<p></p><p><a href="//media.invisioncic.com/m329563/monthly_2024_02/reference-architectures_citrix-google-virtualization_traffic-flow.png.87f4a0a753675ec960fc38404384f977.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="2721" src="//media.invisioncic.com/m329563/monthly_2024_02/reference-architectures_citrix-google-virtualization_traffic-flow.png.87f4a0a753675ec960fc38404384f977.png" width="1176" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_citrix-google-virtualization_traffic-flow.png" loading="lazy" height="588"></a></p>
<p>In the preceding diagram, we can see that each NetScaler has a different Gateway virtual IP (VIP). This is a characteristic of an <a href="https://docs.citrix.com/en-us/citrix-gateway/13/high-availability/ng-ha-routed-networks-con.html">Independent Network Configuration (INC)</a>. When VPXs in an HA pair reside in different zones, the secondary NetScaler must have an INC, as they cannot share mapped IP addresses, virtual LANs, or network routes. The NSIP and SNIP are different for each NetScaler in this configuration, while the Citrix Gateway VIP uses a <a href="https://docs.citrix.com/en-us/citrix-adc/13/load-balancing/load-balancing-customizing/multi-ip-virtual-servers.html">Citrix NetScaler feature called IPset</a>, or Multi-IP virtual servers. This feature can be used for clients in different subnets to connect to the same set of servers. With IPset, you can associate a private IP to each of the primary and secondary instances. A public IP can then be mapped to the primary ADC in the pair. In the case of failover, the public IP mapping changes dynamically to the new primary.</p>
<p>For more information on adding a remote node to an NetScaler to create an INC-based HA pair, see <a href="https://docs.citrix.com/en-us/citrix-gateway/13/high-availability/ng-ha-routed-networks-con/ng-ha-add-remote-node-tsk.html">Citrix docs</a>. For general HA deployment information for NetScaler on Google cloud, see <a href="https://docs.citrix.com/en-us/citrix-adc/current-release/deploying-vpx/deploy-vpx-google-cloud/deploy-vpx-google-cloud-ha.html">Deploy a VPX high-availability pair on Google Cloud Platform</a>.</p>]]></description><guid isPermaLink="false">78</guid><pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate></item><item><title>Reference Architecture: App Layering</title><link>https://community.citrix.com/tech-zone/design/reference-architectures/app-layering/</link><description><![CDATA[<h1 style="margin-top:16px; margin-bottom:8px">
	<span style="font-size:18pt"><span style='font-family:"Public Sans"'><span style="color:black">Audience </span></span></span>
</h1>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>This document is intended for technical professionals, IT decision-makers, partners, and system integrators. It allows the administrator to explore and adopt Citrix App Layering to aid with managing the delivery of images and applications to their end users. The reader must have a basic understanding of Citrix products, image management services, and application virtualization concepts. For more information on image management, refer to the reference architectures on Citrix <a href="https://community.citrix.com/tech-zone/design/reference-architectures/" rel=""><span style="color:#1155cc">Tech Zone</span></a>. </span></span>
</p>

<h1 style="margin-top:16px; margin-bottom:8px">
	<span style="font-size:18pt"><span style='font-family:"Public Sans"'><span style="color:black">Objective of this document </span></span></span>
</h1>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>This document provides a technical overview and architectural concepts for managing and delivering applications using Citrix App Layering technologies. This document includes how app layering works and how to integrate it with Citrix virtual apps and desktops on different platforms. </span></span>
</p>

<h1 style="margin-top:16px; margin-bottom:8px">
	<span style="font-size:18pt"><span style='font-family:"Public Sans"'><span style="color:black">Citrix App Layering Overview </span></span></span>
</h1>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Citrix App Layering is a flexible solution for providing a complex set of Windows applications to a diverse set of users on any non-persistently supported platform. </span></span>
</p>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Citrix App Layering uniquely performs image management. The operating system and applications are split into different containers called “Layers.” Layers are created and updated independently, then compiled into “published images” to be distributed using any supported provisioning system. </span></span>
</p>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Once the application libraries are created, different sets of images are deployed to many platforms using any combination of layers. </span></span>
</p>

<p style="border:none; margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'><span style="font-size:12.0pt"><span style='font-family:"Times New Roman",serif'><span style="color:black">  </span></span></span></span></span><a class="ipsAttachLink ipsAttachLink_image" data-fileext="png" data-fileid="34941" href="//media.invisioncic.com/m329563/monthly_2024_06/image.png.435698a2e45c4222b4bd025d166f594a.png" rel=""><img alt="image.png" class="ipsImage ipsImage_thumbnailed" data-fileid="34941" data-unique="0dsh2qzz6" style="height: auto;" width="1000" src="//media.invisioncic.com/m329563/monthly_2024_06/image.thumb.png.21d4eb55cdbcb6c0947625cb07ebe7c9.png" loading="lazy" height="370"></a>
</p>

<p style="border:none; margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>  </span></span>
</p>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>The primary goal of Citrix App Layering is to simplify Windows application management using a single interface. It allows the administrator to create and manage enterprise applications regardless of the underlying hypervisors or cloud infrastructure. </span></span>
</p>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>The OS and applications are separated into discrete, manageable units. Even if many images are required to control application access properly, each operating system and its applications are managed as a single instance. In this approach, updates don’t have to be performed on every image in the environment. Simplifies the environment while reducing management time, complexity, and costs associated with operating systems and app management. </span></span>
</p>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>The OS and applications are stored as a virtual disk that contains files and registry entries for a specific layer. There are two ways to include applications within virtual machines: </span></span>
</p>

<ul style="margin-bottom:11px">
	<li style="border:none; margin-left:8px; margin-bottom:11px">
		<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'><b><span style="color:black">Published image:</span></b><span style="color:black"> This method combines the OS layer, a platform layer, and a set of application layers to create an image for provisioning systems like Citrix Provisioning or Citrix Machine Creation Services. App Layering can publish images to multiple provisioning systems and multiple hypervisors from the same set of layers. </span></span></span>
	</li>
</ul>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Learn more about Citrix image management, refer to the <a href="https://community.citrix.com/tech-zone/design/reference-architectures/image-management/" rel=""><span style="color:#1155cc">reference architecture</span></a> document. </span></span>
</p>

<ul style="margin-bottom:11px">
	<li style="border:none; margin-left:8px; margin-bottom:11px">
		<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'><b><span style="color:black">Elastic Layers:</span></b><span style="color:black"> Here </span>A<span style="color:black">pplication layers are dynamically attached to a virtual machine during the log-on based on AD group membership and application assignment. This </span>a<span style="color:black">llows for greater flexibility in application assignment by allowing dynamic delivery of applications to standardized images. </span></span></span>
	</li>
</ul>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Separating the applications and personalization from the operating system provides a flexible and manageable solution to non-persistent image management. </span></span>
</p>

<h1 style="margin-top:16px; margin-bottom:8px">
	<span style="font-size:18pt"><span style='font-family:"Public Sans"'><span style="color:black">Why Citrix App Layering </span></span></span>
</h1>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Citrix App Layering provides a cost-effective solution to manage a complex set of applications across multiple environments with different packaging requirements. Almost all applications that are embedded with kernel drivers, OS, and system service dependencies are compatible with App Layering technology. </span></span>
</p>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>There are many advantages to adopting the Citrix App Layering approach for image management: </span></span>
</p>

<ul style="margin-bottom:11px">
	<li style="border:none; margin-left:8px; margin-bottom:11px">
		<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'><b><span style="color:black">Simplifies master image management for PVS and MCS:</span></b><span style="color:black"> Citrix App Layering is a single image management solution that supports both provisioning models used with Citrix and third-party hypervisors. Using App Layering both management and upgrades for images are simplified with no direct editing or reverse imaging of images. </span></span></span>
	</li>
	<li style="border:none; margin-left:8px; margin-bottom:11px">
		<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'><b><span style="color:black">Azure support:</span></b><span style="color:black"> Citrix App Layering supports Microsoft Azure and makes it simple for App Layering customers to migrate to an Azure platform. </span></span></span>
	</li>
	<li style="border:none; margin-left:8px; margin-bottom:11px">
		<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'><b><span style="color:black">Decouple the apps and provisioning systems from the image:</span></b><span style="color:black"> Citrix App Layering separates packaging from the image. In normal image management updates to an image are performed for each image separately. Using App Layering a layer can be part of many images. To update all the images the layer might be updated once, and the images regenerated. Upgrades to components like hypervisor tools, Virtual Delivery Agents (VDA), and Citrix Provisioning tools become easy. </span></span></span>
	</li>
	<li style="border:none; margin-left:8px; margin-bottom:11px">
		<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'><b><span style="color:black">Supports complex use cases:</span></b><span style="color:black"> Complex applications with kernel drivers, systems services, third-party drivers, and console access can all be supported using Citrix App Layering. Due to App Layering’s two modes for app layer deployment almost all applications are compatible. </span></span></span>
	</li>
	<li style="border:none; margin-left:8px; margin-bottom:11px">
		<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'><b><span style="color:black">Non-persistence desktop User Layer:</span></b><span style="color:black"> The User Layer is a writable Elastic Layer</span> that provides users with a persistent type experience while using a non-presistent image<span style="color:black">. </span>The user layer<span style="color:black"> allows a user to install applications and save configuration settings that are outside the user profile. </span></span></span>
	</li>
	<li style="border:none; margin-left:8px; margin-bottom:11px">
		<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'><b><span style="color:black">Reduces the number of required images:</span></b><span style="color:black"> Elastic Layering can significantly reduce the number of required images by dynamically delivering applications to only assigned users at logon. Elastic Layers are compatible with both Citrix Virtual Apps and Citrix Virtual Desktops. </span></span></span>
	</li>
</ul>

<h1 style="margin-top:16px; margin-bottom:8px">
	<span style="font-size:18pt"><span style='font-family:"Public Sans"'><span style="color:black">Citrix App Layering Use Cases </span></span></span>
</h1>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>App Layering is an important addition to the Citrix technology portfolio that provides many benefits listed previously. Though it provides many benefits, App Layering is not meant to be used for all the use cases. In this section, several of the most relevant use cases are outlined to show the benefits of App Layering technology. </span></span>
</p>

<h2 style="margin-top:3px; margin-bottom:8px">
	<span style="font-size:16pt"><span style='font-family:"Public Sans"'><span style="color:black">1-Too Many Images to Manage </span></span></span>
</h2>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Many Citrix customers must support a significant number of applications and a complex set of user requirements. When using an image-based provisioning technology, meeting these requirements often requires a high number of images to manage. These images have to support different user groups or different sets of conflicting applications. Often there is some overlap in the applications deployed to each image as well. </span></span>
</p>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Citrix App Layering simplifies the management of this complex scenario. </span></span>
</p>

<p style="border:none; margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'><span style="font-size:12.0pt"><span style='font-family:"Times New Roman",serif'><span style="color:black">  </span></span></span></span></span><a class="ipsAttachLink ipsAttachLink_image" data-fileext="png" data-fileid="34942" href="//media.invisioncic.com/m329563/monthly_2024_06/image.png.1dfdc324ab916416918504e954c586af.png" rel=""><img alt="image.png" class="ipsImage ipsImage_thumbnailed" data-fileid="34942" data-unique="f5f92e3gg" style="height: auto;" width="1000" src="//media.invisioncic.com/m329563/monthly_2024_06/image.thumb.png.01c5c299b0b29a4d81a6ed83e3312b07.png" loading="lazy" height="500"></a>
</p>

<p style="border:none; margin-bottom:11px">
	 
</p>

<p style="border:none">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>  </span></span>
</p>

<p style="border:none">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'><span style="color:black">App Layering allows the administrators to manage the operating system and applications as individual entities using layers. For example, Windows needs to be patched, the patch is made to the OS layer once and all the images that use the OS layer can be updated by the App Layering appliance at the same time. If Microsoft Office is used in 10 images, upgrading this Office is simpler by adding a version to the Office layer. Eventually all those 10 images are updated automatically. </span></span></span>
</p>

<p style="border:none">
	 
</p>

<p style="border:none">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'><span style="color:black">When Elastic Layering is added, it is also possible to significantly decrease the number of required images. Elastic Layers allow admins to dynamically deliver applications during log-on. For applications that are not used by everyone, Elastic Layer</span>ing<span style="color:black"> allows the image to be created more generically while providing customization for each user. </span></span></span>
</p>

<p style="border:none">
	 
</p>

<h2 style="margin-top:3px; margin-bottom:8px">
	<span style="font-size:16pt"><span style='font-family:"Public Sans"'><span style="color:black">2-Support for Multiple Hypervisors and Cloud Providers</span></span></span>
</h2>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Many organizations are moving to a hybrid multi-cloud environment mixing on-premises and cloud resources to enhance the user experience. Citrix App Layering provides image portability by supporting most hypervisors plus Microsoft Azure and Google Cloud by simply by creating a different Platform Layer for each desired environment. </span></span>
</p>

<p style="border:none; margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'><span style="font-size:12.0pt"><span style='font-family:"Times New Roman",serif'><span style="color:black">  </span></span></span></span></span><a class="ipsAttachLink ipsAttachLink_image" data-fileext="png" data-fileid="34943" href="//media.invisioncic.com/m329563/monthly_2024_06/image.png.3d7120f255bd25ae24c58c28fd15c2d7.png" rel=""><img alt="image.png" class="ipsImage ipsImage_thumbnailed" data-fileid="34943" data-unique="a4ht1k6lz" style="height: auto;" width="1000" src="//media.invisioncic.com/m329563/monthly_2024_06/image.thumb.png.585ffedbeb62c2767b7f515b2f62e3ac.png" loading="lazy" height="500"></a>
</p>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Normally a mixed hypervisor and hybrid cloud configuration forces the administrators to maintain multiple different sets of images and applications in multiple different management platforms. With App Layering technology, the same OS and applications used on-premises can be pushed to the cloud or to another hypervisor with little to no extra work. </span></span>
</p>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>To understand App Layering cross-platform functionality, refer to the <b>Citrix App Layering Cross-Platform Support</b> section below. </span></span>
</p>

<h2 style="margin-top:3px; margin-bottom:8px">
	<span style="font-size:16pt"><span style='font-family:"Public Sans"'><span style="color:black">3- Hypervisor Portability for Migration </span></span></span>
</h2>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Organizations often get “stuck” with a vendor’s technology simply because it is prohibitively expensive to migrate to new technology. Also, companies often merge with other organizations that have made different technology choices. One of the distinct advantages of App Layering is the ability to move from one platform to another simply by creating a different Platform Layer and migrating the App Layering appliance using import/export to the new platform. </span></span>
</p>

<p style="border:none; margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'><span style="font-size:12.0pt"><span style='font-family:"Times New Roman",serif'><span style="color:black">  </span></span></span></span></span><a class="ipsAttachLink ipsAttachLink_image" data-fileext="png" data-fileid="34944" href="//media.invisioncic.com/m329563/monthly_2024_06/image.png.6d4d98b69341d7eb67e471ad12cd832d.png" rel=""><img alt="image.png" class="ipsImage ipsImage_thumbnailed" data-fileid="34944" data-unique="22i9pu2dj" style="height: auto;" width="1000" src="//media.invisioncic.com/m329563/monthly_2024_06/image.thumb.png.41efc2b44c90a2ac69d11e09da3482e1.png" loading="lazy" height="560"></a>
</p>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>This allows for a seamless migration, for example, from vSphere to Citrix Hypervisor or from an on-premises hypervisor to Azure. </span></span>
</p>

<h2 style="margin-top:3px; margin-bottom:8px">
	<span style="font-size:16pt"><span style='font-family:"Public Sans"'><span style="color:black">4-Persistence for shared VDI Desktops </span></span></span>
</h2>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Many organizations have several users that require a high level of persistence on desktops. Including power users in any group, developers, engineers, architects, and so on. App Layering User Layers provide a significant amount of persistence on top of a pooled desktop architecture. </span></span>
</p>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>The User Layer is mounted on logon and any subsequent writes on the desktop are written to the User Layer. Most applications can be installed in the User Layer. The rules for what works in the User Layer are the same as for Elastic Layering. As long as the application does not install kernel drivers, third-party drivers, and the services that are dependencies to other services during boot, they will most likely work in the user Layer. </span></span>
</p>

<p style="border:none; margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'><span style="font-size:12.0pt"><span style='font-family:"Times New Roman",serif'><span style="color:black">  </span></span></span></span></span><a class="ipsAttachLink ipsAttachLink_image" data-fileext="png" data-fileid="34945" href="//media.invisioncic.com/m329563/monthly_2024_06/image.png.566938b4b0ed083c94b726fc1331c543.png" rel=""><img alt="image.png" class="ipsImage ipsImage_thumbnailed" data-fileid="34945" data-unique="thbfs6x5f" style="height: auto;" width="1000" src="//media.invisioncic.com/m329563/monthly_2024_06/image.thumb.png.6fbb3c380769629013f06bb9019e2191.png" loading="lazy" height="530"></a>
</p>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>For use cases that require persistence, the User Layer is the best choice. For use cases to support just Microsoft Outlook OST files and index files, the User Layer may not be the best choice. The User Layer is intended to handle all writes to the VDI desktop after the user logs on. Other technologies like the Citrix Profile Management Outlook Container or FSLogix Profile or Office 365 Container handle the Outlook OST and indexes in a much more targeted manner so that the amount of I/O handled by the container is smaller. All of these solutions now handle managing the Outlook OST, Outlook streaming files and Outlook index files so that supporting indexing is no longer a reason to choose one technology over another. </span></span>
</p>

<h1 style="margin-top:16px; margin-bottom:8px">
	<span style="font-size:18pt"><span style='font-family:"Public Sans"'><span style="color:black">Technical Overview of Citrix App Layering </span></span></span>
</h1>

<h2 style="margin-top:3px; margin-bottom:8px">
	<span style="font-size:16pt"><span style='font-family:"Public Sans"'><span style="color:black">Types of Layers </span></span></span>
</h2>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>A Layer is a virtual disk containing the files and registry entries that are changed or added during packaging. Excluding the first version of the Operating System layer, layers are created by the App Layering appliance integrated with the hypervisor. An administrator creates a layer, the appliance dynamically provisions a packaging machine with a boot disk and a layer disk stored on the App Layering appliance and accessed using iSCSI. When packaging is complete, this disk is finalized and all the files and registry changes are written into the new layer and stored in the layer repository in VHD format. </span></span>
</p>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>App Layering uses these different types of layers: </span></span>
</p>

<ul style="margin-bottom:11px">
	<li style="border:none; margin-left:8px; margin-bottom:11px">
		<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'><span style="color:black">Operating System Layers </span></span></span>
	</li>
	<li style="border:none; margin-left:8px; margin-bottom:11px">
		<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'><span style="color:black">Platform Layers </span></span></span>
	</li>
	<li style="border:none; margin-left:8px; margin-bottom:11px">
		<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'><span style="color:black">Application Layers </span></span></span>
	</li>
	<li style="border:none; margin-left:8px; margin-bottom:11px">
		<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'><span style="color:black">Full User Layers </span></span></span>
	</li>
</ul>

<p style="border:none; margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'><span style="font-size:12.0pt"><span style='font-family:"Times New Roman",serif'><span style="color:black">    </span></span></span></span></span><img alt="reference-architectures_app-layering_007.png" width="1000" src="https://content.invisioncic.com/r328636/monthly_2024_02/reference-architectures_app-layering_007.png.a9514a98b0aea4745d288fed1e4b8356.png" loading="lazy" height="630">
</p>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'><b>OS Layer:</b> The operating system like Windows 10 or Windows Server 2019. Built from a “Gold Image” VM in the hypervisor. </span></span>
</p>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'><b>Platform Layer:</b> The platform layer includes the software required to support a particular platform. Including the broker agent, provisioning system, and hypervisor tools if the hypervisor is different from the default hypervisor. The platform layer is also the highest priority layer and sometimes software is installed here so that it is compiled at the highest priority. </span></span>
</p>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'><b>App Layers:</b> The main layer type. Used for most application software. </span></span>
</p>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'><b>User layers:</b> An elastic (see next section) writable layer. User Layers are mounted at logon and once mounted almost all the desktop writes go to the user layer. This layer gives users the ability to significantly customize their VDI experience even though they are using a shared desktop model. </span></span>
</p>

<h2 style="margin-top:3px; margin-bottom:8px">
	<span style="font-size:16pt"><span style='font-family:"Public Sans"'><span style="color:black">Citrix App Layering appliance </span></span></span>
</h2>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>The Citrix App Layering appliance (appliance) provides both the administrative interface for App Layering and the engine for all App Layering processes. </span></span>
</p>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>The App Layering appliance is deployed as a virtual machine into the data center where application packaging and image publishing take place. The App Layering appliance is built on CentOS, configured with 4 vCPUs and 8 GB of RAM. These settings are not to be changed as the appliance is designed to work in that configuration. </span></span>
</p>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>The appliance is built with two disks. The first disk is a 30 GB boot disk for the operating system. The second disk is the 300 GB layer repository. This disk can be extended or expanded as necessary if more space is required. </span></span>
</p>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>During the process of layer creation and image publishing, the Citrix App Layering appliance saves virtual disk files in VHD format to its layer repository within the appliance. The appliance interfaces with an SMB share to support the appliance upgrade process and store Elastic Layers. </span></span>
</p>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>The appliance is used only to manage layers, images, and Elastic Layer assignments. Virtual Desktops and Virtual App servers do not interface directly with the appliance. When a layer is assigned elastically, the appliance copies the layer to the Elastic Layer share. The share holds these VHD files plus a set of JSON files that provide the layer assignments to users. </span></span>
</p>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>The Citrix App Layering appliance also hosts the App Layering management console. Deploying the App Layering appliance is the first step in the installation process. After installing the appliance, the management console is accessed to complete the installation steps. </span></span>
</p>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Learn more about installing the Citrix App Layering appliance, refer to the <a href="https://docs.citrix.com/en-us/citrix-app-layering/4/install-appliance.html" rel="external nofollow"><span style="color:#0563c1">product documentation</span></a>. </span></span>
</p>

<p style="border:none; margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>   </span></span><a class="ipsAttachLink ipsAttachLink_image" data-fileext="png" data-fileid="34947" href="//media.invisioncic.com/m329563/monthly_2024_06/image.png.4326681fada2bbc98e86960f92a3263b.png" rel=""><img alt="image.png" class="ipsImage ipsImage_thumbnailed" data-fileid="34947" data-unique="572n0f8eu" style="height: auto;" width="1000" src="//media.invisioncic.com/m329563/monthly_2024_06/image.thumb.png.5541ca235c4bc2efd184ca21f9271f49.png" loading="lazy" height="630"></a>
</p>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>The Citrix App Layering management console is a web-based application hosted on the App Layering appliance. The App Layering management console provides the interface to: </span></span>
</p>

<ul style="margin-bottom:11px">
	<li style="border:none; margin-left:8px; margin-bottom:11px">
		<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'><span style="color:black">Create and manage Operating System, Platform, and Application layers </span></span></span>
	</li>
	<li style="border:none; margin-left:8px; margin-bottom:11px">
		<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'><span style="color:black">Create published image templates </span></span></span>
	</li>
	<li style="border:none; margin-left:8px; margin-bottom:11px">
		<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'><span style="color:black">Publish and manage Layered Images </span></span></span>
	</li>
	<li style="border:none; margin-left:8px; margin-bottom:11px">
		<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'><span style="color:black">Assign App Layering the administrator roles to users </span></span></span>
	</li>
	<li style="border:none; margin-left:8px; margin-bottom:11px">
		<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'><span style="color:black">Manage the appliance and system settings such as task and log retention, security settings, and network file shares </span></span></span>
	</li>
</ul>

<h2 style="margin-top:3px; margin-bottom:8px">
	<span style="font-size:16pt"><span style='font-family:"Public Sans"'><span style="color:black">Compositing Engines </span></span></span>
</h2>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Compositing Engines offload most of the packaging and publishing tasks that can also be performed by the App Layering Appliance. By offloading these tasks the packaging and publishing processes scale better and due to the advantages of the technologies used, the performance of the process is also enhanced. </span></span>
</p>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>A Compositing Engine is built by a Hypervisor connector as a Windows PE virtual machine that carries out a set of publishing tasks, then reboots itself into a packaging machine or published image. The Compositing Engine is used to create cached layer disks, create packaging machines and publish images. Currently all supported hypervisors have support for offload compositing connectors. </span></span>
</p>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Compositing Engines have the following characteristics: </span></span>
</p>

<ul style="margin-bottom:11px">
	<li style="border:none; margin-left:8px; margin-bottom:11px">
		<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'><span style="color:black">Lightweight, ephemeral appliance running Windows PE </span></span></span>
	</li>
	<li style="border:none; margin-left:8px; margin-bottom:11px">
		<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'><span style="color:black">Self-compositing </span></span></span>
	</li>
	<li style="border:none; margin-left:8px; margin-bottom:11px">
		<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'><span style="color:black">Controlled via REST API </span></span></span>
	</li>
	<li style="border:none; margin-left:8px; margin-bottom:11px">
		<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'><span style="color:black">Hypervisor disk formats supported (VHD, VHDX, and VMDK) </span></span></span>
	</li>
	<li style="border:none; margin-left:8px; margin-bottom:11px">
		<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'><span style="color:black">UEFI support (Gen2) </span></span></span>
	</li>
	<li style="border:none; margin-left:8px; margin-bottom:11px">
		<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'><span style="color:black">Secure boot on published images (only if no Elastic Layering or User Layers are used) </span></span></span>
	</li>
	<li style="border:none; margin-left:8px; margin-bottom:11px">
		<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'><span style="color:black">iSCSI is used to attach disks hosted on the App Layering Appliance </span></span></span>
	</li>
	<li style="border:none; margin-left:8px; margin-bottom:11px">
		<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'><span style="color:black">No Limit on the Number of simultaneous publishing jobs (there is a practical limit) </span></span></span>
	</li>
</ul>

<h3 style="margin-top:3px; margin-bottom:8px">
	<span style="font-size:12pt"><span style='font-family:"Public Sans"'><span style="color:black">Advantages of Compositing Engines </span></span></span>
</h3>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>While the use of Compositing Engines is a choice they offer such significant advantages that they should always be used. The significant advantage to the Compositing Engine is that it is running on a Windows device with direct access to hypervisor disks. This provides the mechanisms to support GEN2 machines in HyperV, native ESX VMDK formats with Thin Provisioning in vSphere and UEFI in both. Packaging and Publishing performance is enhanced because the large layer files are processed less and written directly into disks on the hypervisor by the Compositing Engine which attaches back to the App Layering Appliance to access the layers using iSCSI connections. </span></span>
</p>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Note: Even the ability to support VHDX disks in PVS is made possible by integrating the composting engine connector with the PVS connector. </span></span>
</p>

<h3 style="margin-top:3px; margin-bottom:8px">
	<span style="font-size:12pt"><span style='font-family:"Public Sans"'><span style="color:black">Connectors and Connector Configurations </span></span></span>
</h3>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>The App Layering appliance integrates with hypervisors and provisioning systems using connectors. </span></span>
</p>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>There are two types of connectors - hypervisor and provisioning: </span></span>
</p>

<ul style="margin-bottom:11px">
	<li style="border:none; margin-left:8px; margin-bottom:11px">
		<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'><b><span style="color:black">Hypervisor connectors</span></b><span style="color:black"> provide the mechanism to interface with a hypervisor. Currently, there are hypervisor connectors for </span>XenServer<span style="color:black">, vSphere, Hyper-V, Nutanix AHV, Azure,</span> <span style="color:black">Azure Gov, and Google Cloud Plat</span>form<span style="color:black">. </span></span></span>
	</li>
	<li style="border:none; margin-left:8px; margin-bottom:11px">
		<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'><b><span style="color:black">Provisioning System connectors</span></b><span style="color:black"> allow the admin to publish an image to the provisioning system. Currently, there is a Provisioning System Connector for Citrix Provisioning, and </span>a <span style="color:black">Citrix Machine Creation Services on each hypervisor. </span></span></span>
	</li>
</ul>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>A single appliance can connect to any number of hypervisors or provisioning systems by having more connectors defined. Connector configurations define the settings required to integrate with the hypervisor or provisioning system. A configuration typically includes credentials for authentication, a storage location, a VM template, and any other information required to interface with the environment where the administrators are creating layers or publishing images. The administrator can create multiple connector configurations, each configured to access a unique location in the environment. Connectors are used for: </span></span>
</p>

<ul style="margin-bottom:11px">
	<li style="border:none; margin-left:8px; margin-bottom:11px">
		<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'><span style="color:black">Importing a Gold Image when creating an OS layer </span></span></span>
	</li>
	<li style="border:none; margin-left:8px; margin-bottom:11px">
		<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'><span style="color:black">Creating layers and layer versions </span></span></span>
	</li>
	<li style="border:none; margin-left:8px; margin-bottom:11px">
		<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'><span style="color:black">Publish layered images to a hypervisor or </span>p<span style="color:black">rovisioning </span>s<span style="color:black">ervice. </span></span></span>
	</li>
</ul>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Reference: <a href="https://docs.citrix.com/en-us/citrix-app-layering/4/connect.html" rel="external nofollow"><span style="color:#0563c1">Connector Configurations</span></a> </span></span>
</p>

<h1 style="margin-top:16px; margin-bottom:8px">
	<span style="font-size:18pt"><span style='font-family:"Public Sans"'><span style="color:black">Connector Types </span></span></span>
</h1>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>This section defines the connector types available in Citrix App Layering. </span></span>
</p>

<h2 style="margin-top:3px; margin-bottom:8px">
	<span style="font-size:16pt"><span style='font-family:"Public Sans"'><span style="color:black">Hypervisor Connectors </span></span></span>
</h2>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Hypervisor connectors are used when creating layers or importing a Gold Image to create the OS layer. When packaging dynamically, they create a packaging machine on the storage and host defined by the connector configuration. A hypervisor connection can also be used to create a virtual machine in the hypervisor. </span></span>
</p>

<h2 style="margin-top:3px; margin-bottom:8px">
	<span style="font-size:16pt"><span style='font-family:"Public Sans"'><span style="color:black">Citrix Provisioning </span></span></span>
</h2>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Citrix Provisioning connector integrates with an App Layering Agent on a Citrix Provisioning server to publish an image directly to the Provisioning server as a virtual disk. The prerequisites for Citrix Provisioning are: </span></span>
</p>

<ol style="margin-bottom:11px">
	<li style="border:none; margin-left:8px; margin-bottom:11px">
		<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'><span style="color:black">The connector service account must be a domain account with the administrator permission within PVS. </span></span></span>
	</li>
	<li style="border:none; margin-left:8px; margin-bottom:11px">
		<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'><span style="color:black">The connector service account must also be a local administrator on the Citrix Provisioning server. </span></span></span>
	</li>
	<li style="border:none; margin-left:8px; margin-bottom:11px">
		<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'><span style="color:black">A Citrix App Layering Agent must be installed on each Citrix Provisioning server defined in a connector. Only one agent can be defined per connector. </span></span></span>
	</li>
</ol>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Reference: <a href="https://docs.citrix.com/en-us/citrix-app-layering/4/connect/citrix-provisioning.html" rel="external nofollow"><span style="color:#0563c1">Citrix Provisioning</span></a> </span></span>
</p>

<h2 style="margin-top:3px; margin-bottom:8px">
	<span style="font-size:16pt"><span style='font-family:"Public Sans"'><span style="color:black">Machine Creation Services </span></span></span>
</h2>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>The Citrix App Layering appliance can directly provision and publish layered images to hypervisors as virtual machines that are used as the Master Image for MCS. Connectors allow layered images to publish directly to the hypervisor. The MCS connector is almost identical to the Hypervisor connectors except that the MCS connector starts the published virtual machine which allows any scripts defined in layers to run on the Master Image before it is deployed by MCS. The Master Image shutdown and a VM snapshot taken as part of this process. </span></span>
</p>

<h2 style="margin-top:3px; margin-bottom:8px">
	<span style="font-size:16pt"><span style='font-family:"Public Sans"'><span style="color:black">Published Image Templates </span></span></span>
</h2>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>When using App Layering, OS, Platform, and Application layers are merged by the App Layering appliance to create published Images. Images are published and then created in a format required by the target provisioning system. For example, in case the administrators are publishing to Citrix Provisioning, the appliance creates a VHD or VHDX and uploads it to the defined provisioning server as a virtual disk. For Machine Creation Services on Citrix Hypervisor, the appliance creates a VHD, uploads it to Citrix Hypervisor and creates a Master Image VM using the VHD. </span></span>
</p>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>To define the configuration of a published Image, an Image Template is used. The image template defines which OS, Platform, and Application layers are included in the image. It also defines the connector used to publish the image, how large the resulting image is in GB, whether the image has Elastic Layering enabled or if it includes a User layer. The image templates are a point-in-time snapshot of the image configuration, they do not support versioning. However, Image Templates can be cloned and modified if slightly different versions of the same image are required. </span></span>
</p>

<h2 style="margin-top:3px; margin-bottom:8px">
	<span style="font-size:16pt"><span style='font-family:"Public Sans"'><span style="color:black">App Layering Agent </span></span></span>
</h2>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>The Citrix App Layering agent provides communications between the App Layering appliance and either a Citrix Provisioning server, or a Hyper-V server. The Citrix App layering agent details can be found in the Citrix documentation. </span></span>
</p>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Reference: <a href="https://docs.citrix.com/en-us/citrix-app-layering/4/install-agent.html" rel="external nofollow"><span style="color:#0563c1">Install Agent</span></a> </span></span>
</p>

<h2 style="margin-top:3px; margin-bottom:8px">
	<span style="font-size:16pt"><span style='font-family:"Public Sans"'><span style="color:black">Active Directory </span></span></span>
</h2>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>The App Layering appliance connects to Active Directory for both authentication to the appliance and assignment of Elastic Layers. When an administrator logs into the appliance it attempts to log on to Active Directory with the same credentials. If that logon works, the user is allowed into the appliance. </span></span>
</p>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Access to directory services is required for the following purposes: </span></span>
</p>

<ul style="margin-bottom:11px">
	<li style="border:none; margin-left:8px; margin-bottom:11px">
		<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'><span style="color:black">Role-based access control (RBAC) </span></span></span>
	</li>
	<li style="border:none; margin-left:8px; margin-bottom:11px">
		<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'><span style="color:black">Assignment of Elastic and User Layer </span></span></span>
	</li>
</ul>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>The App Layering appliance is compatible with SSL 3.0 Secure Socket Layer and TLS 1.1 and 1.2 transport layer security during the directory service's initial binding. </span></span>
</p>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>To create a directory junction, refer to the <a href="https://docs.citrix.com/en-us/citrix-app-layering/4/manage/directory-service" rel="external nofollow"><span style="color:#0563c1">product documentation</span></a>. </span></span>
</p>

<h1 style="margin-top:16px; margin-bottom:8px">
	<span style="font-size:18pt"><span style='font-family:"Public Sans"'><span style="color:black">Layers </span></span></span>
</h1>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>The following section describes the uses for each type of layer in more detail. </span></span>
</p>

<h2 style="margin-top:3px; margin-bottom:8px">
	<span style="font-size:16pt"><span style='font-family:"Public Sans"'><span style="color:black">OS Layer </span></span></span>
</h2>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>An OS layer is one that contains the Windows operating system. It is a leading practice to include any components that might be updated with Windows Update in the OS layer so that all are updated by Windows Update. All operating system roles and components such as .NET and Visual C++ runtime libraries are included as part of the operating system image for this reason. </span></span>
</p>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>It is preferable not to install end-user applications into the OS layer because all application layers made with a particular OS layer are tied to that OS layer. If an application is installed in the OS layer, then every image using that layer will have that application included. This process leads to a problem when the strategy is to make the OS layer universal. Separation of applications from the operating system is the key to limiting the number of OS images to manage. Even applications with drivers, services, and kernel devices are supported in application layers and do not need to be included in the OS layer. </span></span>
</p>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>During the creation of the OS layer there are a few points to remember: </span></span>
</p>

<ul style="margin-bottom:11px">
	<li style="border:none; margin-left:8px; margin-bottom:11px">
		<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'><span style="color:black">Check the supported operating systems from the link </span></span></span>
	</li>
	<li style="border:none; margin-left:8px; margin-bottom:11px">
		<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'><span style="color:black">The OS layer is not connected to the domain. The domain join is part of the platform layer </span></span></span>
	</li>
	<li style="border:none; margin-left:8px; margin-bottom:11px">
		<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'><span style="color:black">The hypervisor tools for the primary hypervisor are installed in the OS layer. The hypervisor where most packaging is performed </span></span></span>
	</li>
	<li style="border:none; margin-left:8px; margin-bottom:11px">
		<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'><span style="color:black">The hypervisor tools for alternate hypervisors are installed into the Platform Layer for that hypervisor </span></span></span>
	</li>
	<li style="border:none; margin-left:8px; margin-bottom:11px">
		<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'><span style="color:black">Install .NET components (from Microsoft) and updates in the OS layer </span></span></span>
	</li>
	<li style="border:none; margin-left:8px; margin-bottom:11px">
		<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'><span style="color:black">If Microsoft Runtimes are required, they are installed in the OS layer </span></span></span>
	</li>
	<li style="border:none; margin-left:8px; margin-bottom:11px">
		<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'><span style="color:black">Windows roles and features such as the RDS roles installed in the OS layer so that it can be updated with Windows Update </span></span></span>
	</li>
	<li style="border:none; margin-left:8px; margin-bottom:11px">
		<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'><span style="color:black">In case local user or group must be added to the virtual machines, this task can only be done in the OS layer because the Windows Security Account Manager (SAM) captured from the OS layer </span></span></span>
	</li>
</ul>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Reference: <a href="https://docs.citrix.com/en-us/citrix-app-layering/4/layer/create-os-layer.html" rel="external nofollow"><span style="color:#0563c1">Create an OS layer</span></a> </span></span>
</p>

<h2 style="margin-top:3px; margin-bottom:8px">
	<span style="font-size:16pt"><span style='font-family:"Public Sans"'><span style="color:black">Platform Layer </span></span></span>
</h2>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>A Platform Layer is a layer that contains configuration settings, tools, and other software necessary to run a published image on a particular platform. Two platform layer types can be created: </span></span>
</p>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'><b>Publishing Platform Layer:</b> This type of Platform Layer is used to include the software required by a target provisioning system, broker, and hypervisor. For example, a publishing Platform Layer to support Provisioning Services on vSphere for Citrix Virtual Apps have the Citrix VDA, and PVS Device Drivers installed. If vSphere is not the same hypervisor where packaging is performed, then this layer also has VMware Tools installed. </span></span>
</p>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'><b>Packaging Platform Layer:</b> Packaging Platform Layers are used if a packaging layer is required to support packaging machines. These layers are not often required, but there are several instances where one has to be necessary including: </span></span>
</p>

<ol style="margin-bottom:11px">
	<li style="border:none; margin-left:8px; margin-bottom:11px">
		<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'><span style="color:black">If a layer has to be packaged on a different hypervisor than the standard. For example, if most layers are created on Hyper-V, but for some reason, a particular layer created within vSphere, a packaging platform layer with VMware Tools are used to support the packaging machine on vSphere. </span></span></span>
	</li>
	<li style="border:none; margin-left:8px; margin-bottom:11px">
		<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'><span style="color:black">If access to the packaging machine is required using VDA software. This layer is most often required when installing drivers for USB peripherals that must see the device to install properly. By creating a packaging platform layer with the VDA software installed and adding the packaging machine to a manually provisioned catalog in Studio, this type of access can be supported. </span></span></span>
	</li>
</ol>

<h1 style="margin-top:16px; margin-bottom:8px">
	<span style="font-size:18pt"><span style='font-family:"Public Sans"'><span style="color:black">Creating a Platform Layer </span></span></span>
</h1>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>For the creation of the Platform Layer a few points to be remembered: </span></span>
</p>

<ul style="margin-bottom:11px">
	<li style="border:none; margin-left:8px; margin-bottom:11px">
		<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'><span style="color:black">For Citrix Provisioning, the target device software is installed without running the Imaging Wizard and then rebooted </span></span></span>
	</li>
	<li style="border:none; margin-left:8px; margin-bottom:11px">
		<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'><span style="color:black">Installation of Citrix VDA and Citrix Provisioning device drivers goes in the Platform Layer </span></span></span>
	</li>
	<li style="border:none; margin-left:8px; margin-bottom:11px">
		<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'><span style="color:black">Domain join is performed in the Platform Layer - that means multiple Platform Layers can be created to support different domains </span></span></span>
	</li>
	<li style="border:none; margin-left:8px; margin-bottom:11px">
		<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'><span style="color:black">The platform layer is also the highest priority layer, so some optional components can be installed including SSO software like Imprivata, hypervisor tools for alternate hypervisors, and the Citrix Workspace Environment Management Agent. </span></span></span>
	</li>
</ul>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Learn more about the Platform Layer creation, refer to the article <a href="https://support.citrix.com/article/CTX225997" rel="external nofollow"><span style="color:#0563c1">CTX225997</span></a>. </span></span>
</p>

<h2 style="margin-top:3px; margin-bottom:8px">
	<span style="font-size:16pt"><span style='font-family:"Public Sans"'><span style="color:black">App Layer </span></span></span>
</h2>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>App Layers are used to package most applications. App Layers contain file system and registry objects for an application or group of applications. When creating or editing a layer, a packaging machine is dynamically created and all filesystem and registry changes are captured on that machine. The Packaging Machine contains the OS Layer and any included prerequisite App Layers. A second virtual disk called the Package Disk is attached to the packaging machine as the writable volume. That disk captures all the filesystem changes during packaging, and it also contains a registry hive (called an RSD hive) used to capture all the registry changes. When the packaging machine is finalized, only the Package Disk is saved as the layer. The Boot Disk is deleted. </span></span>
</p>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Learn more about creating and editing App Layers refer to the <a href="https://docs.citrix.com/en-us/citrix-app-layering/4/layer/create-app-layer.html" rel="external nofollow"><span style="color:#0563c1">product documentation</span></a>. </span></span>
</p>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Most of the time applications are installed with the same configuration that the administrator might normally use for the provisioning system that is supported. While creating App Layers, it is always important to work out to disable automatic updates. Because the administrator usually does not want applications to automatically update after deployment. Citrix has documented the layering process for a few common applications. These App Layering “Recipes” can be found at the following link. </span></span>
</p>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Reference: <a href="https://docs.citrix.com/en-us/citrix-app-layering/4/layer/app-layering-recipes.html" rel="external nofollow"><span style="color:#0563c1">App Layering Recipes</span></a> </span></span>
</p>

<h2 style="margin-top:3px; margin-bottom:8px">
	<span style="font-size:16pt"><span style='font-family:"Public Sans"'><span style="color:black">Elastic Layering </span></span></span>
</h2>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Elastic Layering is a method for dynamically deploying the application to a virtual session during user logon by mounting layers stored as VHD files on an SMB share and integrating them into the file system using the Citrix Composite File System (CFS). Elastic Layering is managed on the VDA by the Citrix Layering Service. The Elastic Layer Repository is an SMB share that contains both the layer VHD files and JSON configuration files which are used to define layer assignments for the Layering Service. The Layering Service reads the configuration files and then mounts layer VHD files using a Windows <b>SDK call</b>. </span></span>
</p>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>All applications are not supported by Elastic Layering technology because Elastic Layers are mounted during logon. The following application requirements exclude applications from being used within Elastic Layers: </span></span>
</p>

<ul style="margin-bottom:11px">
	<li style="border:none; margin-left:8px; margin-bottom:11px">
		<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'><span style="color:black">Applications with Kernel drivers </span></span></span>
	</li>
	<li style="border:none; margin-left:8px; margin-bottom:11px">
		<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'><span style="color:black">Applications with services that are dependencies for other boot-time services </span></span></span>
	</li>
	<li style="border:none; margin-left:8px; margin-bottom:11px">
		<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'><span style="color:black">Applications that modify the Windows Driver store like third-party printer drivers </span></span></span>
	</li>
</ul>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Applications with these requirements can be layered but the layers must be included in the published image. </span></span>
</p>

<h2 style="margin-top:3px; margin-bottom:8px">
	<span style="font-size:16pt"><span style='font-family:"Public Sans"'><span style="color:black">Configuration files (JSON) </span></span></span>
</h2>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>As discussed previously, Elastic Layer assignments are defined in a set of .JSON files stored on the Elastic Layer Repository. These files are defined as follows: </span></span>
</p>

<ul style="margin-bottom:11px">
	<li style="border:none; margin-left:8px; margin-bottom:11px">
		<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'><b><span style="color:black">ElasticLayerAssignment.json:</span></b><span style="color:black"> This file contains information about the user and group mapping to application layers. This file contains an entry for each group or user ID that has assigned applications and under the SID for that AD object the layer assignments are listed. </span></span></span>
	</li>
	<li style="border:none; margin-left:8px; margin-bottom:11px">
		<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'><b><span style="color:black">Layers.json:</span></b><span style="color:black"> This file defines the layers in the repository and metadata about the layer. This file is used to obtain the path used to mount the VHD. </span></span></span>
	</li>
	<li style="border:none; margin-left:8px; margin-bottom:11px">
		<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'><b><span style="color:black">MachineAssociations.json:</span></b><span style="color:black"> As the name suggests it defines machine association with any AD group, the format uses machine name patterns containing wildcards to associate a set of computers with a defined AD group. When a user logs on to a machine that matches the pattern, they receive the Elastic Layers assigned to that group. These settings are defined in the App Layering Management Console in the <b>Users&gt;Groups section</b>. </span></span></span>
	</li>
</ul>

<h2 style="margin-top:3px; margin-bottom:8px">
	<span style="font-size:16pt"><span style='font-family:"Public Sans"'><span style="color:black">User Layer </span></span></span>
</h2>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>User Layers provide a more persistent experience for users while still supporting a shared desktop computing model. After a User Layer is mounted most system writes are redirected to the User Layer. This layer allows support for the following: </span></span>
</p>

<ul style="margin-bottom:11px">
	<li style="border:none; margin-left:8px; margin-bottom:11px">
		<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'><span style="color:black">Each user’s profile and data settings are stored in the User Layer </span></span></span>
	</li>
	<li style="border:none; margin-left:8px; margin-bottom:11px">
		<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'><span style="color:black">User installed applications are supported in the User Layer as long as the applications conform to the rules allowed by Elastic Layers </span></span></span>
	</li>
</ul>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>User Layers are assigned one to one. One user can have only one user writable layer per OS layer per domain. The user can therefore only log on to one delivery group or pool with a desktop using the same OS layer and Platform Layer combination with the User Layer enabled. This layer is created as a virtual disk on a file share when the user logs on for the first time. </span></span>
</p>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>The Full user layer supports search index persistence between sessions. To support this, the Windows Search service is set to DISABLED (4) on VDAs when they boot. When the user logs on, the Ulayer Service changes the start type of the Windows Search service to START_ON_DEMAND (3). Before enabling WSearch, the ULayer service must also ensure the indexer's "crawl-scope" registry settings are correct. The crawl-scope is a set of registry keys that determine the areas of the user's data to be indexed. Input into the crawl-scope comes from defaults built into the base image, but can also come from the elastic layers and the user's persistence layer settings too. These inputs are processed at logon time to provide the complete set of crawl-scope locations, and there is a modest but measurable overhead to building this for each logon. To avoid this overhead, the ULayer service generates a hash string to represent the base image deployment (for example, the BIC instance) and the elastic layer assignments, and stores this string in the user's \Program Files\Unidesk\Etc\UserLayer.json file as "IndexerHash". On subsequent logons this string is compared to the recalculated IndexerHash and only when they differ is the crawl-scope rebuilt. </span></span>
</p>

<p style="margin-bottom:11px">
	 
</p>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>The default max size of a User Layer is 10 GB. This size can be altered by defining a quota for the User Layer share. It is also possible to override the default User Layer max size using a registry entry on the VDAs. To change the default max size, add the following registry override, </span></span>
</p>

<div style="border:solid #d9d9d9 1.0pt; padding:4.0pt 4.0pt 4.0pt 4.0pt; margin-left:26px">
	<p style="border:none; padding:0in">
		<span style="background:#f2f2f2"><span style="font-size:10.5pt"><span style="background:#f2f2f2"><span style='font-family:"Public Sans"'><span style="font-size:10.0pt"><span style='font-family:"Courier New"'><span style="color:black">HKLM\Software\Unidesk\ULayer\</span></span></span> </span></span></span></span>
	</p>

	<p style="border:none; padding:0in">
		<span style="background:#f2f2f2"><span style="font-size:10.5pt"><span style="background:#f2f2f2"><span style='font-family:"Public Sans"'><span style="font-size:10.0pt"><span style='font-family:"Courier New"'><span style="color:black">DWORD: DefaultUserLayerSizeInGb</span></span></span> </span></span></span></span>
	</p>

	<p style="border:none; padding:0in; margin-bottom:11px">
		<span style="background:#f2f2f2"><span style="font-size:10.5pt"><span style="background:#f2f2f2"><span style='font-family:"Public Sans"'><span style="font-size:10.0pt"><span style='font-family:"Courier New"'><span style="color:black">VALUE: &lt;Size in GB&gt;</span></span></span> </span></span></span></span>
	</p>
</div>

<h2 style="margin-top:3px; margin-bottom:8px">
	<span style="font-size:16pt"><span style='font-family:"Public Sans"'><span style="color:black">Elastic Layer Share and User Layer Shares </span></span></span>
</h2>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Elastic Layers are VHD files mounted by a client or server operating system over the VM network. Elastic Layers are mounted as read-only, and many machines can mount the same VHD file. The file server or share used for Elastic Layers are optimized for the read I/O. </span></span>
</p>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>User Layers are writable Elastic Layers. The User Layer is mounted read/write by only a single desktop. The file server or share used for User Layers are optimized for write I/O. When using User Layers performance of the storage is critical to the user experience. Flash storage arrays are highly recommended for the User Layer share. </span></span>
</p>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>The architecture for Elastic Layers is largely scalable. The Elastic Layer share repository path is defined in the VM HKLM registry for both VDI and RDS workloads. This design makes it possible to have an unlimited number of replicas to spread the load. </span></span>
</p>

<p style="border:none; margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'><span style="font-size:12.0pt"><span style='font-family:"Times New Roman",serif'><span style="color:black">  </span></span></span></span></span><a class="ipsAttachLink ipsAttachLink_image" data-fileext="png" data-fileid="34948" href="//media.invisioncic.com/m329563/monthly_2024_06/image.png.fe82e4baac072072740a411658a68849.png" rel=""><img alt="image.png" class="ipsImage ipsImage_thumbnailed" data-fileid="34948" data-unique="jvpdza2rw" style="height: auto;" width="1000" src="//media.invisioncic.com/m329563/monthly_2024_06/image.thumb.png.85947ea91f7837d0fc8710095c89a5bf.png" loading="lazy" height="680"></a>
</p>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>The Elastic Layer Repository and User Layer Shares are defined in the appliance. The Elastic Layer share is defined in the <b>System&gt;Settings</b> and Configuration section. This path can be changed on VDAs using Group Policy by modifying the following registry values: </span></span>
</p>

<div style="border:solid #d9d9d9 1.0pt; padding:4.0pt 4.0pt 4.0pt 4.0pt; margin-left:26px">
	<p style="border:none; padding:0in">
		<span style="background:#f2f2f2"><span style="font-size:10.5pt"><span style="background:#f2f2f2"><span style='font-family:"Public Sans"'><span style="font-size:10.0pt"><span style='font-family:"Courier New"'><span style="color:black">HKLM\SOFTWARE\Unidesk\ULayer\RepositoryPath</span></span></span> </span></span></span></span>
	</p>

	<p style="border:none; padding:0in; margin-bottom:11px">
		<span style="background:#f2f2f2"><span style="font-size:10.5pt"><span style="background:#f2f2f2"><span style='font-family:"Public Sans"'><span style="font-size:10.0pt"><span style='font-family:"Courier New"'><span style="color:black">Value = \\Server\Share</span></span></span> </span></span></span></span>
	</p>
</div>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>For large VDI implementations, this registry value allows multiple Elastic Layer repositories to be used for different sets of desktops. Learn more about changing the Elastic Layer repository in the registry without reimaging refer to the Citrix article <a href="https://support.citrix.com/article/CTX222107" rel="external nofollow"><span style="color:#0563c1">CTX222107</span></a>. </span></span>
</p>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>The location used for User Layers is assigned by the Active Directory group and therefore it is also highly scalable because as many shares as desired can be used. These assignments are defined under <b>System&gt;Storage Locations</b>. </span></span>
</p>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>For more information on the architecture of the Elastic Layers share see the <b>Availability, Backup, and Recovery section</b>. </span></span>
</p>

<h2 style="margin-top:3px; margin-bottom:8px">
	<span style="font-size:16pt"><span style='font-family:"Public Sans"'><span style="color:black">User Layer File Share </span></span></span>
</h2>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>During the login process when an image is configured for User Layers, the User Layer VHD/VHDX file is created at the first time the user logs on after being assigned to the image. User Layer share settings are defined in the appliance by Active Directory Group. If a user is in multiple groups with assigned User Layer shares, there is a priority order to the share and their User Layer file created on the highest priority share. User Layer disks can only be used on one machine at a time. </span></span>
</p>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>User Layers are tied to both the domain and OS Layer for the desktop being logged into. The path to a particular User Layer as follows: </span></span>
</p>

<div style="border:solid #d9d9d9 1.0pt; padding:4.0pt 4.0pt 4.0pt 4.0pt; margin-left:26px">
	<p style="border:none; padding:0in; margin-bottom:11px">
		<span style="background:#f2f2f2"><span style="font-size:10.5pt"><span style="background:#f2f2f2"><span style='font-family:"Public Sans"'><span style="font-size:10.0pt"><span style='font-family:"Courier New"'><span style="color:black">\\Server\Share\Users\Domain_Username\OSLayerID_OSLayerName</span></span></span> </span></span></span></span>
	</p>
</div>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>User Layers are write-intensive. It is recommended to use a file share that is optimized for writes. If the User Layer share is different from the Elastic Layer share, then user assignment is defined by AD user groups. </span></span>
</p>

<p style="border:none; margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'><span style="font-size:12.0pt"><span style='font-family:"Times New Roman",serif'><span style="color:black">  </span></span></span></span></span><a class="ipsAttachLink ipsAttachLink_image" data-fileext="png" data-fileid="34949" href="//media.invisioncic.com/m329563/monthly_2024_06/image.png.f7607a0fea7499b9cf19cf5326b7b03f.png" rel=""><img alt="image.png" class="ipsImage ipsImage_thumbnailed" data-fileid="34949" data-unique="25xy4l79z" style="height: auto;" width="1000" src="//media.invisioncic.com/m329563/monthly_2024_06/image.thumb.png.7e5af32a939fbc2016d301365de85d67.png" loading="lazy" height="590"></a>
</p>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>User layer assignment is defined in the <b>System&gt;Storage Locations</b> section within the App Layering Console. Enter the share and the group associated with the share. </span></span>
</p>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>For more information on the architecture of the Elastic Layers share, see the <b>Availability, Backup, and Recovery section</b>. </span></span>
</p>

<h1 style="margin-top:16px; margin-bottom:8px">
	<span style="font-size:18pt"><span style='font-family:"Public Sans"'><span style="color:black">App Layering Integration </span></span></span>
</h1>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>The following section outlines the integration of Citrix App Layering with Provisioning Systems and Hypervisors. </span></span>
</p>

<h2 style="margin-top:3px; margin-bottom:8px">
	<span style="font-size:16pt"><span style='font-family:"Public Sans"'><span style="color:black">Citrix App Layering and Citrix Provisioning Services </span></span></span>
</h2>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>App Layering is easy to integrate with Citrix Provisioning (PVS). Integration is facilitated by installing the App Layering Agent on one or more PVS servers. The Agent provides the connectivity between the appliance and Provisioning Services. </span></span>
</p>

<p style="border:none; margin-bottom:11px">
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="png" data-fileid="34950" href="//media.invisioncic.com/m329563/monthly_2024_06/image.png.a8f34b4052e3ab1ac413913986f81eea.png" rel=""><img alt="image.png" class="ipsImage ipsImage_thumbnailed" data-fileid="34950" data-unique="td9nf5tae" style="height: auto;" width="1000" src="//media.invisioncic.com/m329563/monthly_2024_06/image.thumb.png.0dc938941434d0d5ad195ca88e3807ea.png" loading="lazy" height="650"></a>
</p>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>The preceding diagram depicts publishing layered images using Citrix Provisioning. Images are centrally managed and distributed for deployment by publishing from the App Layering appliance to a Citrix Provisioning server. There are several architectures that can be created to support Citrix Provisioning. The most often used architecture is to integrate a single production PVS server that is used as the integration point. Virtual disks are then transferred to the PVS server store by the App Layering Agent when the image is published. The Agent uses the Windows BITS service to perform the transfer. </span></span>
</p>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Consider using  a “DEV” Citrix Provisioning farm with a single server to interface with App Layering. This “DEV” server can also be used to stream test images. Once the image has been tested the virtual disk can be replicated to the Production Citrix Provisioning farm for further testing and deployment. or used by the <a href="https://community.citrix.com/tech-zone/learn/tech-briefs/image-portability-service/" rel=""><span style="color:#1155cc">Citrix Image Portability Service</span></a> to migrate images to different platforms.</span></span>
</p>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>When an image is published to Citrix Provisioning, the image is named according to the Image Template Name with a date and time stamp for versioning. Virtual disks are managed in Provisioning Services the same way they might be managed without App Layering. Versioning is not used when App Layering is used. Instead, each time a new image is published a full virtual disk is created with a new date and time stamp. If an emergency change to the image is needed, Citrix Provisioning versioning can be used to quickly modify the image. Then the same change can be added to the appropriate layer after the issue has been quickly fixed. </span></span>
</p>

<h2 style="margin-top:3px; margin-bottom:8px">
	<span style="font-size:16pt"><span style='font-family:"Public Sans"'><span style="color:black">Elastic Layering’s Impact on the Citrix Provisioning Cache Disks </span></span></span>
</h2>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Citrix Provisioning uses reserved memory and a locally attached cache disk to temporarily store local filesystem changes during a session. While using App Layering and Citrix Provisioning, the cache disks size must be larger than without App Layering. Whenever a file is opened, for write operation using App Layering the entire file is copied into the writable volume of the virtual machine so that it can be edited. Causes the entire file to also be copied into the disk cache when Citrix Provisioning might normally only copy the modified blocks into the cache. </span></span>
</p>

<p style="border:none; margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'><span style="font-size:12.0pt"><span style='font-family:"Times New Roman",serif'><span style="color:black">  </span></span></span></span></span><a class="ipsAttachLink ipsAttachLink_image" data-fileext="png" data-fileid="34951" href="//media.invisioncic.com/m329563/monthly_2024_06/image.png.b9fa82d0e796de3797274d825a38162c.png" rel=""><img alt="image.png" class="ipsImage ipsImage_thumbnailed" data-fileid="34951" data-unique="y6zywtru4" style="height: auto;" width="1000" src="//media.invisioncic.com/m329563/monthly_2024_06/image.thumb.png.72155c4176a6220138dbb37611e12f3e.png" loading="lazy" height="530"></a>
</p>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>The above diagram depicts writes to the cache disk with and without the App Layering filter driver installed in the Provisioning Server targets. To know more about caching with Elastic Layers, refer to the article <a href="https://support.citrix.com/article/CTX227454" rel="external nofollow"><span style="color:#0563c1">CTX227454</span></a>. </span></span>
</p>

<h2 style="margin-top:3px; margin-bottom:8px">
	<span style="font-size:16pt"><span style='font-family:"Public Sans"'><span style="color:black">User Layer and Citrix Provisioning Cache Disk </span></span></span>
</h2>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>When User Layers are being used, only the Provisioning cache disk is used before a user logs on. </span></span>
</p>

<p style="border:none; margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'><span style="font-size:12.0pt"><span style='font-family:"Times New Roman",serif'><span style="color:black"> </span></span></span></span></span><a class="ipsAttachLink ipsAttachLink_image" data-fileext="png" data-fileid="34952" href="//media.invisioncic.com/m329563/monthly_2024_06/image.png.81b6bdbdb12adb8a8d75feafe808812c.png" rel=""><img alt="image.png" class="ipsImage ipsImage_thumbnailed" data-fileid="34952" data-unique="yolcz1k71" style="height: auto;" width="1000" src="//media.invisioncic.com/m329563/monthly_2024_06/image.thumb.png.8eff79cab0582132a224ba6dc9d91220.png" loading="lazy" height="530"></a>
</p>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>In this case, the local writable partition disk is only used during boot up. Once a user has logged in, all new file modifications are redirected to the User Layer disk on the file share and not to the streamed virtual disk, which means that the Provisioning cache no longer sees I/O on the writable partition. </span></span>
</p>

<h1 style="margin-top:16px; margin-bottom:8px">
	<span style="font-size:18pt"><span style='font-family:"Public Sans"'><span style="color:black">Citrix App Layering and Machine Creation Services </span></span></span>
</h1>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>To publish Layered Images to Machine Creation Services a Machine Creation Services Connector created for the hypervisor being published to. The Connector configuration includes the service account credentials used to access the hypervisor, in addition to hosts, storage locations, templates, and so forth. </span></span>
</p>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>The connector is then used to publish a layered image as a virtual machine “Master Image” to the hypervisor. </span></span>
</p>

<p style="border:none; margin-bottom:11px">
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="png" data-fileid="34953" href="//media.invisioncic.com/m329563/monthly_2024_06/image.png.7b1d33555ffde542a3ce2e721d617a6c.png" rel=""><img alt="image.png" class="ipsImage ipsImage_thumbnailed" data-fileid="34953" data-unique="3vq4lmeq4" style="height: auto;" width="1000" src="//media.invisioncic.com/m329563/monthly_2024_06/image.thumb.png.69813370585fa6e5a1b241a6ae5285d2.png" loading="lazy" height="490"></a><span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>  </span></span>
</p>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>The MCS connector starts the Master Image after it's published and runs any layer scripts that have been defined in any layers. After all the scripts are run, the Master Image will be shut down via script and the hypervisor will take a snapshot of the virtual machine. Once this process is complete, the Master Image can be deployed using Machine Creation Services. The naming of the virtual machine is similar to Citrix Provisioning. The virtual machine is named as the published image template name followed by a date and time stamp. When a new version of the image is published, it is a new virtual machine. The new virtual machine is then used to update the existing catalog to roll out changes. It is important when using MCS that the template used to create the Master Images must have been created from a real virtual machine. The machine has been booted in Windows and has the right time zone set. This task ensures that the virtual BIOS is properly configured. If this task is not done, the resulting booted image has its time-off by some hours based on UTC. The best way to create the template is to use a clone of the original gold image used to create the OS layer. This step ensures that the virtual hardware settings match from the OS layer through to the Master Image. </span></span>
</p>

<h1 style="margin-top:16px; margin-bottom:8px">
	<span style="font-size:18pt"><span style='font-family:"Public Sans"'><span style="color:black">Citrix App Layering Cross-Platform Support </span></span></span>
</h1>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>The Citrix App Layering architecture is designed to support many hypervisors and provisioning systems without creating layers specific to any one platform. As many organizations move towards multi-cloud or hybrid cloud environments, Citrix App Layering eases this migration. </span></span>
</p>

<p style="border:none; margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'><span style="font-size:12.0pt"><span style='font-family:"Times New Roman",serif'><span style="color:black">  </span></span></span></span></span><a class="ipsAttachLink ipsAttachLink_image" data-fileext="png" data-fileid="34954" href="//media.invisioncic.com/m329563/monthly_2024_06/image.png.0f5d1587ae13142ea6a2f1d4221b5c0c.png" rel=""><img alt="image.png" class="ipsImage ipsImage_thumbnailed" data-fileid="34954" data-unique="rqkidlos0" style="height: auto;" width="1000" src="//media.invisioncic.com/m329563/monthly_2024_06/image.thumb.png.9995f5ef1fcb98cb3cbacd1121e1cc76.png" loading="lazy" height="320"></a>
</p>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>App Layering supports multiple platforms on multiple hypervisors with the combination of connectors and Platform Layers. </span></span>
</p>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'><b>App Layering Connector -</b> The App Layering Connectors are developed in node.js and run from the App Layering appliance. The connectors provide integration to all supported platforms including both hypervisors and provisioning systems. </span></span>
</p>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'><b>Platform layer –</b> This layer is similar to an application layer except that it always has the highest priority and when publishing images cleanup “recipes” are run differently against platform layers than app layers. Platform layers are where software drivers are installed for a defined “Platform.” For example, when using Citrix Provisioning the VDA software and PVS software are both installed into the Platform Layer. </span></span>
</p>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>App Layering Connectors and Platform Layers are combined to support available platforms. Learn more about the multiple hypervisors and cloud-platform deployment details and configurations, refer to <a href="https://docs.citrix.com/en-us/citrix-app-layering/4/plan.html" rel="external nofollow"><span style="color:#1155cc">Plan Your Deployment</span></a>. </span></span>
</p>

<h1 style="margin-top:16px; margin-bottom:8px">
	<span style="font-size:18pt"><span style='font-family:"Public Sans"'><span style="color:black">App Layering Communication Flow </span></span></span>
</h1>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>App Layering uses several connections and ports. For more information on the communications and requirements, see <a href="https://docs.citrix.com/en-us/citrix-app-layering/4/manage/firewall-ports.html" rel="external nofollow"><span style="color:#1155cc">Firewall Ports</span></a>. </span></span>
</p>

<h2 style="margin-top:3px; margin-bottom:8px">
	<span style="font-size:16pt"><span style='font-family:"Public Sans"'><span style="color:black">App Layering appliance </span></span></span>
</h2>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>The App Layering Management Console is an HTML5 based console accessed over TCP/IP on port 80 (HTTP) or 443 (HTTPS). </span></span>
</p>

<h3 style="margin-top:3px; margin-bottom:8px">
	<span style="font-size:12pt"><span style='font-family:"Public Sans"'><span style="color:black">Management Appliance Access </span></span></span>
</h3>

<table class="Table" style="border-collapse:collapse; border:none" width="190">
	<thead>
		<tr>
			<td style="border-bottom:1px solid black; width:124px; padding:.05in .05in .05in .05in; border-top:1px solid black; border-right:1px solid black; border-left:1px solid black">
				<p style="margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'><b>Protocol </b></span></span>
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:66px; padding:.05in .05in .05in .05in; border-top:1px solid black; border-right:1px solid black; border-left:none">
				<p style="border:none; margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'><b>Port </b></span></span>
				</p>
			</td>
		</tr>
	</thead>
	<tbody>
		<tr>
			<td style="border-bottom:1px solid black; width:124px; padding:.05in .05in .05in .05in; border-top:none; border-right:1px solid black; border-left:1px solid black">
				<p style="margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>HTTP </span></span>
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:66px; padding:.05in .05in .05in .05in; border-top:none; border-right:1px solid black; border-left:none">
				<p style="margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>80 </span></span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-bottom:1px solid black; width:124px; padding:.05in .05in .05in .05in; border-top:none; border-right:1px solid black; border-left:1px solid black">
				<p style="margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>HTTPS </span></span>
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:66px; padding:.05in .05in .05in .05in; border-top:none; border-right:1px solid black; border-left:none">
				<p style="margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>443 </span></span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-bottom:1px solid black; width:124px; padding:.05in .05in .05in .05in; border-top:none; border-right:1px solid black; border-left:1px solid black">
				<p style="margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>SSH </span></span>
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:66px; padding:.05in .05in .05in .05in; border-top:none; border-right:1px solid black; border-left:none">
				<p style="margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>22 </span></span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-bottom:1px solid black; width:124px; padding:.05in .05in .05in .05in; border-top:none; border-right:1px solid black; border-left:1px solid black">
				<p style="margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Log download </span></span>
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:66px; padding:.05in .05in .05in .05in; border-top:none; border-right:1px solid black; border-left:none">
				<p style="margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>8888 </span></span>
				</p>
			</td>
		</tr>
	</tbody>
</table>

<p style="margin-bottom:11px">
	 
</p>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>In addition to HTTP and HTTPS, the administrators are able to access the App Layering appliance virtual machine directly using SSH on port 22. Access is not permitted on unsecured Telnet or FTP ports. SSH is used to log on to the appliance as "root" for full access and an “administrator” account is used to access a limited menu to configure network settings. In Azure, "root" and "administrator" are both disabled. Instead, the administrators are prompted during the appliance provisioning for a local administrative user account with a default suggestion of “CitrixAdmin”. </span></span>
</p>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>When exporting logs from the management console, a download link is generated and presented in the task details. Port 8888 is used to download logs. </span></span>
</p>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Port 8161 is used for ActiveMQ management and configuration, but access to this port is only available from within the App Layering appliance. </span></span>
</p>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Optionally, the App Layering appliance can check for upgrades and download them from Citrix servers over the Internet using HTTPS/443 or HTTP/80. <a href="about:blank" rel=""><span style="color:#0563c1">www.citrix.com</span></a> and <a href="about:blank" rel=""><span style="color:#0563c1">cdn.citrix.com</span></a> are accessed if an Internet connection is available. </span></span>
</p>

<h3 style="margin-top:3px; margin-bottom:8px">
	<span style="font-size:12pt"><span style='font-family:"Public Sans"'><span style="color:black">Connector Configuration </span></span></span>
</h3>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Each connector type uses a different port. The current list of connectors is: </span></span>
</p>

<table class="Table" style="border-collapse:collapse; border:none" width="369">
	<thead>
		<tr>
			<td style="border-bottom:1px solid black; width:123px; padding:.05in .05in .05in .05in; border-top:1px solid black; border-right:1px solid black; border-left:1px solid black">
				<p style="border:none; margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'><b>Connector </b></span></span>
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:71px; padding:.05in .05in .05in .05in; border-top:1px solid black; border-right:1px solid black; border-left:none">
				<p style="border:none; margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'><b>HTTP port </b></span></span>
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:80px; padding:.05in .05in .05in .05in; border-top:1px solid black; border-right:1px solid black; border-left:none">
				<p style="border:none; margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'><b>HTTPS port </b></span></span>
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:94px; padding:.05in .05in .05in .05in; border-top:1px solid black; border-right:1px solid black; border-left:none">
				<p style="border:none; margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'><b>Internal Ports </b></span></span>
				</p>
			</td>
		</tr>
	</thead>
	<tbody>
		<tr>
			<td style="border-bottom:1px solid black; width:123px; padding:.05in .05in .05in .05in; border-top:none; border-right:1px solid black; border-left:1px solid black">
				<p style="border:none; margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Azure </span></span>
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:71px; padding:.05in .05in .05in .05in; border-top:none; border-right:1px solid black; border-left:none">
				<p style="border:none; margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>3000 </span></span>
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:80px; padding:.05in .05in .05in .05in; border-top:none; border-right:1px solid black; border-left:none">
				<p style="border:none; margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>3500 </span></span>
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:94px; padding:.05in .05in .05in .05in; border-top:none; border-right:1px solid black; border-left:none">
				<p style="border:none; margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>3001/3501 </span></span>
				</p>

				<p style="border:none; margin-bottom:11px">
					 
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-bottom:1px solid black; width:123px; padding:.05in .05in .05in .05in; border-top:none; border-right:1px solid black; border-left:1px solid black">
				<p style="border:none; margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Citrix Hypervisor </span></span>
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:71px; padding:.05in .05in .05in .05in; border-top:none; border-right:1px solid black; border-left:none">
				<p style="border:none; margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>3002 </span></span>
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:80px; padding:.05in .05in .05in .05in; border-top:none; border-right:1px solid black; border-left:none">
				<p style="border:none; margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>3502 </span></span>
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:94px; padding:.05in .05in .05in .05in; border-top:none; border-right:1px solid black; border-left:none">
				<p style="border:none; margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>3003/3501 </span></span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-bottom:1px solid black; width:123px; padding:.05in .05in .05in .05in; border-top:none; border-right:1px solid black; border-left:1px solid black">
				<p style="border:none; margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>vSphere </span></span>
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:71px; padding:.05in .05in .05in .05in; border-top:none; border-right:1px solid black; border-left:none">
				<p style="border:none; margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>3004 </span></span>
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:80px; padding:.05in .05in .05in .05in; border-top:none; border-right:1px solid black; border-left:none">
				<p style="border:none; margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>3504 </span></span>
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:94px; padding:.05in .05in .05in .05in; border-top:none; border-right:1px solid black; border-left:none">
				<p style="border:none; margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>3005/3505 </span></span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-bottom:1px solid black; width:123px; padding:.05in .05in .05in .05in; border-top:none; border-right:1px solid black; border-left:1px solid black">
				<p style="border:none; margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Nutanix </span></span>
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:71px; padding:.05in .05in .05in .05in; border-top:none; border-right:1px solid black; border-left:none">
				<p style="border:none; margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>3006 </span></span>
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:80px; padding:.05in .05in .05in .05in; border-top:none; border-right:1px solid black; border-left:none">
				<p style="border:none; margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>3506 </span></span>
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:94px; padding:.05in .05in .05in .05in; border-top:none; border-right:1px solid black; border-left:none">
				<p style="border:none; margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>3007/3507 </span></span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-bottom:1px solid black; width:123px; padding:.05in .05in .05in .05in; border-top:none; border-right:1px solid black; border-left:1px solid black">
				<p style="border:none; margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Citrix Provisioning </span></span>
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:71px; padding:.05in .05in .05in .05in; border-top:none; border-right:1px solid black; border-left:none">
				<p style="border:none; margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>3009 </span></span>
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:80px; padding:.05in .05in .05in .05in; border-top:none; border-right:1px solid black; border-left:none">
				<p style="border:none; margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>3509 </span></span>
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:94px; padding:.05in .05in .05in .05in; border-top:none; border-right:1px solid black; border-left:none">
				<p style="border:none; margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>3010/3510 </span></span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-bottom:1px solid black; width:123px; padding:.05in .05in .05in .05in; border-top:none; border-right:1px solid black; border-left:1px solid black">
				<p style="border:none; margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Hyper-V </span></span>
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:71px; padding:.05in .05in .05in .05in; border-top:none; border-right:1px solid black; border-left:none">
				<p style="border:none; margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>3012 </span></span>
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:80px; padding:.05in .05in .05in .05in; border-top:none; border-right:1px solid black; border-left:none">
				<p style="border:none; margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>3512 </span></span>
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:94px; padding:.05in .05in .05in .05in; border-top:none; border-right:1px solid black; border-left:none">
				<p style="border:none; margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>3011/3511 </span></span>
				</p>
			</td>
		</tr>
	</tbody>
</table>

<p style="margin-bottom:11px">
	 
</p>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Connectors open as a separate webpage within the management console. Each connector has both an HTTP and HTTPS listening port. When a connector is opened, the administrator is redirected to an HTML5 based interface in a new tab. The administrator’s browser must be able to access the App Layering appliance on the ports listed above for each connector. </span></span>
</p>

<h3 style="margin-top:3px; margin-bottom:8px">
	<span style="font-size:12pt"><span style='font-family:"Public Sans"'><span style="color:black">Miscellaneous Ports </span></span></span>
</h3>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>The App Layering appliance talks to various network servers and services on their respective ports. The App Layering appliance connects to the following services on the following TCP ports: </span></span>
</p>

<table class="Table" style="border-collapse:collapse; border:none" width="376">
	<thead>
		<tr>
			<td style="border-bottom:1px solid black; width:159px; padding:.05in .05in .05in .05in; border-top:1px solid black; border-right:1px solid black; border-left:1px solid black">
				<p style="margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'><b>Destination </b></span></span>
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:161px; padding:.05in .05in .05in .05in; border-top:1px solid black; border-right:1px solid black; border-left:none">
				<p style="margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'><b>Protocol </b></span></span>
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:56px; padding:.05in .05in .05in .05in; border-top:1px solid black; border-right:1px solid black; border-left:none">
				<p style="margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'><b>Port </b></span></span>
				</p>
			</td>
		</tr>
	</thead>
	<tbody>
		<tr>
			<td style="border-bottom:1px solid black; width:159px; padding:.05in .05in .05in .05in; border-top:none; border-right:1px solid black; border-left:1px solid black">
				<p style="margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Active Directory Server </span></span>
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:161px; padding:.05in .05in .05in .05in; border-top:none; border-right:1px solid black; border-left:none">
				<p style="margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>LDAPS (LDAP over SSL) </span></span>
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:56px; padding:.05in .05in .05in .05in; border-top:none; border-right:1px solid black; border-left:none">
				<p style="margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>636 </span></span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-bottom:1px solid black; width:159px; padding:.05in .05in .05in .05in; border-top:none; border-right:1px solid black; border-left:1px solid black">
				<p style="margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Active Directory Server </span></span>
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:161px; padding:.05in .05in .05in .05in; border-top:none; border-right:1px solid black; border-left:none">
				<p style="margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>LDAP </span></span>
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:56px; padding:.05in .05in .05in .05in; border-top:none; border-right:1px solid black; border-left:none">
				<p style="margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>389 </span></span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-bottom:1px solid black; width:159px; padding:.05in .05in .05in .05in; border-top:none; border-right:1px solid black; border-left:1px solid black">
				<p style="margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Active Directory Server </span></span>
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:161px; padding:.05in .05in .05in .05in; border-top:none; border-right:1px solid black; border-left:none">
				<p style="margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>DNS </span></span>
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:56px; padding:.05in .05in .05in .05in; border-top:none; border-right:1px solid black; border-left:none">
				<p style="margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>53 </span></span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-bottom:1px solid black; width:159px; padding:.05in .05in .05in .05in; border-top:none; border-right:1px solid black; border-left:1px solid black">
				<p style="margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Windows File Servers </span></span>
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:161px; padding:.05in .05in .05in .05in; border-top:none; border-right:1px solid black; border-left:none">
				<p style="margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>SMB </span></span>
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:56px; padding:.05in .05in .05in .05in; border-top:none; border-right:1px solid black; border-left:none">
				<p style="margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>445 </span></span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-bottom:1px solid black; width:159px; padding:.05in .05in .05in .05in; border-top:none; border-right:1px solid black; border-left:1px solid black">
				<p style="margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Network Time Servers </span></span>
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:161px; padding:.05in .05in .05in .05in; border-top:none; border-right:1px solid black; border-left:none">
				<p style="margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>NTP </span></span>
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:56px; padding:.05in .05in .05in .05in; border-top:none; border-right:1px solid black; border-left:none">
				<p style="margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>123 </span></span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-bottom:1px solid black; width:159px; padding:.05in .05in .05in .05in; border-top:none; border-right:1px solid black; border-left:1px solid black">
				<p style="margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>DHCP server </span></span>
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:161px; padding:.05in .05in .05in .05in; border-top:none; border-right:1px solid black; border-left:none">
				<p style="margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>DHCP </span></span>
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:56px; padding:.05in .05in .05in .05in; border-top:none; border-right:1px solid black; border-left:none">
				<p style="margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>UDP/67 </span></span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-bottom:1px solid black; width:159px; padding:.05in .05in .05in .05in; border-top:none; border-right:1px solid black; border-left:1px solid black">
				<p style="margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>App Layering appliance </span></span>
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:161px; padding:.05in .05in .05in .05in; border-top:none; border-right:1px solid black; border-left:none">
				<p style="margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>DHCP </span></span>
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:56px; padding:.05in .05in .05in .05in; border-top:none; border-right:1px solid black; border-left:none">
				<p style="margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>UDP/68 </span></span>
				</p>
			</td>
		</tr>
	</tbody>
</table>

<h3 style="margin-top:3px; margin-bottom:8px">
	 
</h3>

<h3 style="margin-top:3px; margin-bottom:8px">
	<span style="font-size:12pt"><span style='font-family:"Public Sans"'><span style="color:black">The Agent Service </span></span></span>
</h3>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>The Agent Service can be used for three separate functions: </span></span>
</p>

<ul style="margin-bottom:11px">
	<li style="border:none; margin-left:8px; margin-bottom:11px">
		<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'><span style="color:black">Integration with Citrix Provisioning </span></span></span>
	</li>
	<li style="border:none; margin-left:8px; margin-bottom:11px">
		<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'><span style="color:black">Integration with Hyper-V </span></span></span>
	</li>
	<li style="border:none; margin-left:8px; margin-bottom:11px">
		<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'><span style="color:black">Integration with a general scripting server </span></span></span>
	</li>
</ul>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>The Agent Service is accessed on the following ports. </span></span>
</p>

<table class="Table" style="border-collapse:collapse; border:none" width="605">
	<thead>
		<tr>
			<td style="border-bottom:1px solid black; width:104px; padding:.05in .05in .05in .05in; border-top:1px solid black; border-right:1px solid black; border-left:1px solid black">
				<p style="margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'><b>Agent Server </b></span></span>
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:169px; padding:.05in .05in .05in .05in; border-top:1px solid black; border-right:1px solid black; border-left:none">
				<p style="margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'><b>Destination </b></span></span>
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:251px; padding:.05in .05in .05in .05in; border-top:1px solid black; border-right:1px solid black; border-left:none">
				<p style="margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'><b>Function or Protocol </b></span></span>
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:81px; padding:.05in .05in .05in .05in; border-top:1px solid black; border-right:1px solid black; border-left:none">
				<p style="margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'><b>Port </b></span></span>
				</p>
			</td>
		</tr>
	</thead>
	<tbody>
		<tr>
			<td style="border-bottom:1px solid black; width:104px; padding:.05in .05in .05in .05in; border-top:none; border-right:1px solid black; border-left:1px solid black">
				<p style="margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>All </span></span>
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:169px; padding:.05in .05in .05in .05in; border-top:none; border-right:1px solid black; border-left:none">
				<p style="margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>App Layering appliance </span></span>
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:251px; padding:.05in .05in .05in .05in; border-top:none; border-right:1px solid black; border-left:none">
				<p style="margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Registration or HTTPS </span></span>
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:81px; padding:.05in .05in .05in .05in; border-top:none; border-right:1px solid black; border-left:none">
				<p style="margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>443 </span></span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-bottom:1px solid black; width:104px; padding:.05in .05in .05in .05in; border-top:none; border-right:1px solid black; border-left:1px solid black">
				<p style="margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>All </span></span>
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:169px; padding:.05in .05in .05in .05in; border-top:none; border-right:1px solid black; border-left:none">
				<p style="margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Agent Server </span></span>
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:251px; padding:.05in .05in .05in .05in; border-top:none; border-right:1px solid black; border-left:none">
				<p style="margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Commands from App Layering appliance or SOAP </span></span>
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:81px; padding:.05in .05in .05in .05in; border-top:none; border-right:1px solid black; border-left:none">
				<p style="margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>8016 </span></span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-bottom:1px solid black; width:104px; padding:.05in .05in .05in .05in; border-top:none; border-right:1px solid black; border-left:1px solid black">
				<p style="margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>All </span></span>
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:169px; padding:.05in .05in .05in .05in; border-top:none; border-right:1px solid black; border-left:none">
				<p style="margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>App Layering appliance </span></span>
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:251px; padding:.05in .05in .05in .05in; border-top:none; border-right:1px solid black; border-left:none">
				<p style="margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Log export </span></span>
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:81px; padding:.05in .05in .05in .05in; border-top:none; border-right:1px solid black; border-left:none">
				<p style="margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>8787 </span></span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-bottom:1px solid black; width:104px; padding:.05in .05in .05in .05in; border-top:none; border-right:1px solid black; border-left:1px solid black">
				<p style="margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Citrix Provisioning </span></span>
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:169px; padding:.05in .05in .05in .05in; border-top:none; border-right:1px solid black; border-left:none">
				<p style="margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>App Layering appliance </span></span>
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:251px; padding:.05in .05in .05in .05in; border-top:none; border-right:1px solid black; border-left:none">
				<p style="margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Disk Upload or HTTP </span></span>
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:81px; padding:.05in .05in .05in .05in; border-top:none; border-right:1px solid black; border-left:none">
				<p style="margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>3009 </span></span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-bottom:1px solid black; width:104px; padding:.05in .05in .05in .05in; border-top:none; border-right:1px solid black; border-left:1px solid black">
				<p style="margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Citrix Provisioning </span></span>
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:169px; padding:.05in .05in .05in .05in; border-top:none; border-right:1px solid black; border-left:none">
				<p style="margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>App Layering appliance </span></span>
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:251px; padding:.05in .05in .05in .05in; border-top:none; border-right:1px solid black; border-left:none">
				<p style="margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Disk Upload or HTTPS </span></span>
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:81px; padding:.05in .05in .05in .05in; border-top:none; border-right:1px solid black; border-left:none">
				<p style="margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>3509 </span></span>
				</p>
			</td>
		</tr>
	</tbody>
</table>

<p style="margin-bottom:11px">
	 
</p>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>At initial installation of the App Layering Agent, the installer opens a connection on port 443 to the App Layering appliance to register the Agent Server. The App Layering appliance stores the FQDN and short name for the Agent Service Host, and the registry on the Agent server contains a record of the App Layering appliance. </span></span>
</p>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Once the Agent and the App Layering appliance have exchanged identities, the App Layering appliance communicates directly to the Agent service on a secure SOAP channel on port 8016. Most communications between the appliance and the agent work as follows: </span></span>
</p>

<table class="Table" style="border-collapse:collapse; border:none" width="623">
	<thead>
		<tr>
			<td style="border-bottom:1px solid black; width:159px; padding:.05in .05in .05in .05in; border-top:1px solid black; border-right:1px solid black; border-left:1px solid black">
				<p style="margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'><b>Host </b></span></span>
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:465px; padding:.05in .05in .05in .05in; border-top:1px solid black; border-right:1px solid black; border-left:none">
				<p style="margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'><b>Action </b></span></span>
				</p>
			</td>
		</tr>
	</thead>
	<tbody>
		<tr>
			<td style="border-bottom:1px solid black; width:159px; padding:.05in .05in .05in .05in; border-top:none; border-right:1px solid black; border-left:1px solid black">
				<p style="margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>App Layering appliance </span></span>
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:465px; padding:.05in .05in .05in .05in; border-top:none; border-right:1px solid black; border-left:none">
				<p style="margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Hello to Agent on port 8016 </span></span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-bottom:1px solid black; width:159px; padding:.05in .05in .05in .05in; border-top:none; border-right:1px solid black; border-left:1px solid black">
				<p style="margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>App Layering appliance </span></span>
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:465px; padding:.05in .05in .05in .05in; border-top:none; border-right:1px solid black; border-left:none">
				<p style="margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Command request to Agent opened </span></span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-bottom:1px solid black; width:159px; padding:.05in .05in .05in .05in; border-top:none; border-right:1px solid black; border-left:1px solid black">
				<p style="margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Agent </span></span>
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:465px; padding:.05in .05in .05in .05in; border-top:none; border-right:1px solid black; border-left:none">
				<p style="margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Runs a PowerShell command as the configured user account </span></span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-bottom:1px solid black; width:159px; padding:.05in .05in .05in .05in; border-top:none; border-right:1px solid black; border-left:1px solid black">
				<p style="margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Agent </span></span>
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:465px; padding:.05in .05in .05in .05in; border-top:none; border-right:1px solid black; border-left:none">
				<p style="margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Transmits reply to App Layering appliance on existing request channel </span></span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-bottom:1px solid black; width:159px; padding:.05in .05in .05in .05in; border-top:none; border-right:1px solid black; border-left:1px solid black">
				<p style="margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Agent </span></span>
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:465px; padding:.05in .05in .05in .05in; border-top:none; border-right:1px solid black; border-left:none">
				<p style="margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Goodbye </span></span>
				</p>
			</td>
		</tr>
	</tbody>
</table>

<p style="margin-bottom:11px">
	 
</p>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>The specifics of the actual command being sent can often be seen in the Connector log on the App Layering appliance or the applayering.agent.log file on the Agent Service server. </span></span>
</p>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>When the appliance is asked to generate a log bundle, it transmits a request to every Agent Service that has ever been registered on the appliance requesting logs from the agent. Each Agent Service generates its own log bundle and transmits it back to the App Layering appliance on port 8787. </span></span>
</p>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>The main function of the Agent Service is to transfer files to Citrix Provisioning or Hyper-V. When transferring files, the agent uses the Windows Background Intelligent Transfer Service (BITS) on the Agent Service Server to pull the virtual disk to the server and place it in the store or upload or download a VHD from Hyper-V. </span></span>
</p>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>The process of transferring a file works like this: </span></span>
</p>

<table class="Table" style="border-collapse:collapse; border:none" width="624">
	<thead>
		<tr>
			<td style="border-bottom:1px solid black; width:133px; padding:.05in .05in .05in .05in; border-top:1px solid black; border-right:1px solid black; border-left:1px solid black">
				<p style="margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'><b>Host </b></span></span>
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:491px; padding:.05in .05in .05in .05in; border-top:1px solid black; border-right:1px solid black; border-left:none">
				<p style="margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'><b>Action </b></span></span>
				</p>
			</td>
		</tr>
	</thead>
	<tbody>
		<tr>
			<td style="border-bottom:1px solid black; width:133px; padding:.05in .05in .05in .05in; border-top:none; border-right:1px solid black; border-left:1px solid black">
				<p style="border:none">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'><span style="color:black">App Layering appliance </span></span></span>
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:491px; padding:.05in .05in .05in .05in; border-top:none; border-right:1px solid black; border-left:none">
				<p style="border:none">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'><span style="color:black">Hello to Agent on port 8016 </span></span></span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-bottom:1px solid black; width:133px; padding:.05in .05in .05in .05in; border-top:none; border-right:1px solid black; border-left:1px solid black">
				<p style="border:none">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'><span style="color:black">App Layering appliance </span></span></span>
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:491px; padding:.05in .05in .05in .05in; border-top:none; border-right:1px solid black; border-left:none">
				<p style="border:none">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'><span style="color:black">Command request for file upload </span></span></span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-bottom:1px solid black; width:133px; padding:.05in .05in .05in .05in; border-top:none; border-right:1px solid black; border-left:1px solid black">
				<p style="border:none">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'><span style="color:black">Agent </span></span></span>
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:491px; padding:.05in .05in .05in .05in; border-top:none; border-right:1px solid black; border-left:none">
				<p style="border:none">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'><span style="color:black">Runs BITS as the configured user account </span></span></span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-bottom:1px solid black; width:133px; padding:.05in .05in .05in .05in; border-top:none; border-right:1px solid black; border-left:1px solid black">
				<p style="border:none">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'><span style="color:black">BITS </span></span></span>
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:491px; padding:.05in .05in .05in .05in; border-top:none; border-right:1px solid black; border-left:none">
				<p style="border:none">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'><span style="color:black">Opens a connection to the Citrix Provisioning connector on port 3009 on the App Layering appliance </span></span></span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-bottom:1px solid black; width:133px; padding:.05in .05in .05in .05in; border-top:none; border-right:1px solid black; border-left:1px solid black">
				<p style="border:none">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'><span style="color:black">BITS </span></span></span>
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:491px; padding:.05in .05in .05in .05in; border-top:none; border-right:1px solid black; border-left:none">
				<p style="border:none">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'><span style="color:black">Downloads the file to the specified repository location </span></span></span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-bottom:1px solid black; width:133px; padding:.05in .05in .05in .05in; border-top:none; border-right:1px solid black; border-left:1px solid black">
				<p style="border:none">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'><span style="color:black">App Layering appliance </span></span></span>
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:491px; padding:.05in .05in .05in .05in; border-top:none; border-right:1px solid black; border-left:none">
				<p style="border:none">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'><span style="color:black">Command to get transfer status </span></span></span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-bottom:1px solid black; width:133px; padding:.05in .05in .05in .05in; border-top:none; border-right:1px solid black; border-left:1px solid black">
				<p style="border:none">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'><span style="color:black">Agent </span></span></span>
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:491px; padding:.05in .05in .05in .05in; border-top:none; border-right:1px solid black; border-left:none">
				<p style="border:none">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'><span style="color:black">Polls BITS for status and reports back to the App Layering appliance </span></span></span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-bottom:1px solid black; width:133px; padding:.05in .05in .05in .05in; border-top:none; border-right:1px solid black; border-left:1px solid black">
				<p style="border:none">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'><span style="color:black">BITS </span></span></span>
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:491px; padding:.05in .05in .05in .05in; border-top:none; border-right:1px solid black; border-left:none">
				<p style="border:none">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'><span style="color:black">Finishes </span></span></span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-bottom:1px solid black; width:133px; padding:.05in .05in .05in .05in; border-top:none; border-right:1px solid black; border-left:1px solid black">
				<p style="border:none">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'><span style="color:black">Agent </span></span></span>
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:491px; padding:.05in .05in .05in .05in; border-top:none; border-right:1px solid black; border-left:none">
				<p style="border:none">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'><span style="color:black">Reports complete status to the App Layering appliance </span></span></span>
				</p>
			</td>
		</tr>
	</tbody>
</table>

<p style="margin-bottom:11px">
	 
</p>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Normally, the file transfer runs on port 3009, which is unencrypted. This communication is done for performance reasons – the overhead of running on a HTTPS connection significantly impacts throughput. However, the Agent can be configured to force HTTPS and use 3509 instead. </span></span>
</p>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>When the Agent runs BITS, it provides BITS two things: the URL for the file download, and the destination file path. BITS is run as the user account that is configured in the Connector. Therefore, this user needs permissions to make an outgoing connection from the Provisioning server to port 3009 on the App Layering appliance; and also rights to write a file into the virtual disk store. </span></span>
</p>

<h3 style="margin-top:3px; margin-bottom:8px">
	<span style="font-size:12pt"><span style='font-family:"Public Sans"'><span style="color:black">Hypervisors </span></span></span>
</h3>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Hypervisor Connectors use the following ports. </span></span>
</p>

<table class="Table" style="border-collapse:collapse; border:none" width="423">
	<thead>
		<tr>
			<td style="border-bottom:1px solid black; width:129px; padding:.05in .05in .05in .05in; border-top:1px solid black; border-right:1px solid black; border-left:1px solid black">
				<p style="margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'><b>Connector </b></span></span>
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:207px; padding:.05in .05in .05in .05in; border-top:1px solid black; border-right:1px solid black; border-left:none">
				<p style="margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'><b>Destination </b></span></span>
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:87px; padding:.05in .05in .05in .05in; border-top:1px solid black; border-right:1px solid black; border-left:none">
				<p style="margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'><b>Port </b></span></span>
				</p>
			</td>
		</tr>
	</thead>
	<tbody>
		<tr>
			<td style="border-bottom:1px solid black; width:129px; padding:.05in .05in .05in .05in; border-top:none; border-right:1px solid black; border-left:1px solid black">
				<p style="margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Azure and Hyper-V </span></span>
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:207px; padding:.05in .05in .05in .05in; border-top:none; border-right:1px solid black; border-left:none">
				<p style="margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Azure Management </span></span>
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:87px; padding:.05in .05in .05in .05in; border-top:none; border-right:1px solid black; border-left:none">
				<p style="margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>443 </span></span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-bottom:1px solid black; width:129px; padding:.05in .05in .05in .05in; border-top:none; border-right:1px solid black; border-left:1px solid black">
				<p style="margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>XenServer </span></span>
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:207px; padding:.05in .05in .05in .05in; border-top:none; border-right:1px solid black; border-left:none">
				<p style="margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>XenServer</span></span>
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:87px; padding:.05in .05in .05in .05in; border-top:none; border-right:1px solid black; border-left:none">
				<p style="margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>5900 </span></span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-bottom:1px solid black; width:129px; padding:.05in .05in .05in .05in; border-top:none; border-right:1px solid black; border-left:1px solid black">
				<p style="margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>vSphere </span></span>
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:207px; padding:.05in .05in .05in .05in; border-top:none; border-right:1px solid black; border-left:none">
				<p style="margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Virtual Center </span></span>
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:87px; padding:.05in .05in .05in .05in; border-top:none; border-right:1px solid black; border-left:none">
				<p style="margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>443 </span></span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-bottom:1px solid black; width:129px; padding:.05in .05in .05in .05in; border-top:none; border-right:1px solid black; border-left:1px solid black">
				<p style="margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>vSphere </span></span>
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:207px; padding:.05in .05in .05in .05in; border-top:none; border-right:1px solid black; border-left:none">
				<p style="margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>ESX hosts for disk transfers </span></span>
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:87px; padding:.05in .05in .05in .05in; border-top:none; border-right:1px solid black; border-left:none">
				<p style="margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>443 </span></span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-bottom:1px solid black; width:129px; padding:.05in .05in .05in .05in; border-top:none; border-right:1px solid black; border-left:1px solid black">
				<p style="margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Nutanix </span></span>
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:207px; padding:.05in .05in .05in .05in; border-top:none; border-right:1px solid black; border-left:none">
				<p style="margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Nutanix CVM </span></span>
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:87px; padding:.05in .05in .05in .05in; border-top:none; border-right:1px solid black; border-left:none">
				<p style="margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>9440 </span></span>
				</p>
			</td>
		</tr>
	</tbody>
</table>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>These ports are the same ports that the hypervisor browser-based management consoles also use. App Layering is using API calls through the hypervisor’s normal web service for communications with the hypervisor. </span></span>
</p>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>For vSphere file uploads, and downloads are not performed by communicating with vCenter instead they are handled by direct communication with an ESXi host. For this reason, the vSphere connectors require a host to be defined and the host firewall must be configured to allow access from the App Layering appliance on port 443. </span></span>
</p>

<h3 style="margin-top:3px; margin-bottom:8px">
	<span style="font-size:12pt"><span style='font-family:"Public Sans"'><span style="color:black">Compositing Engines </span></span></span>
</h3>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Compositing Engines connect back to the App Layering Appliance for iSCSI connections on port 3260 and they make API calls to the appliance on port 443. The App Layering Appliance performs API calls to the Compositing Engines also on port 443. </span></span>
</p>

<h1 style="margin-top:16px; margin-bottom:8px">
	<span style="font-size:18pt"><span style='font-family:"Public Sans"'><span style="color:black">Availability, Backup, and Recovery </span></span></span>
</h1>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>App Layering can have several components where backups are appropriate, including the appliance, Elastic Layer Shares, and User Layer Shares. </span></span>
</p>

<div style="border-left:solid #0968d7 4.5pt; padding:31.0pt 31.0pt 31.0pt 4.0pt">
	<p style="border:none; padding:0in; margin-bottom:11px">
		<span style="font-size:10.5pt"><span style="tab-stops:170.2pt"><span style='font-family:"Public Sans"'><b><span style="color:#0968d7">Note:</span></b> </span></span></span>
	</p>

	<p style="border:none; padding:0in; margin-bottom:11px">
		<span style="font-size:10.5pt"><span style="tab-stops:170.2pt"><span style='font-family:"Public Sans"'><span style="color:black">While this section describes availability for connection brokers, the recovery and availability of your VDI broker infrastructure is not covered here. Refer to the documentation and support team for your desktop connection broker software for more information about their recovery options. </span></span></span></span>
	</p>
</div>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Any availability strategy for App Layering must fit into the overall availability and recovery design for your whole workspace solution. Pools and delivery groups are already highly available because they are spread across hosts and pools of storage. </span></span>
</p>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>The components specific to App Layering are the appliance, Elastic Layers, and User Layers. </span></span>
</p>

<h3 style="margin-top:3px; margin-bottom:8px">
	<span style="font-size:12pt"><span style='font-family:"Public Sans"'><span style="color:black">Appliance Backups </span></span></span>
</h3>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>The App Layering appliance, as stated earlier, is not required for end users to have full use of App Layering, therefore, it is not a requirement to make the appliance highly available. However, it is a requirement to back up the appliance regularly. Appliance backups ensure that all the layers are available even if the appliance is somehow destroyed or corrupted. Any virtual machine back-up technology can be used for the App Layering appliance. It is also possible to use two appliances and the import and export feature to keep them in sync. However, this step is a manual process and does not back up many of the settings used in App Layering like Image Templates and Elastic Layer Assignments.</span></span>
</p>

<h3 style="margin-top:3px; margin-bottom:8px">
	<span style="font-size:12pt"><span style='font-family:"Public Sans"'><span style="color:black">Availability and Disaster Recovery for Elastic Layers </span></span></span>
</h3>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Elastic Layers are files mounted on virtual desktops agents (VDAs) during log-on using a Windows in-guest mount from an SMB share. The Layering Service connects the layers on logon, but it never reconnects a disconnected VHD file. Therefore, it's critical to ensure that the file server used for Elastic Layers is highly available by using some type of clustered file system. Using multiple DFS-R targets is not sufficient for this use case, because if a target fails, the mounted VHD files cannot be remapped to another target until another logon happens. </span></span>
</p>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>For Disaster Recover, there are two models that can be used to handle Elastic Layers; a replication model or a dual appliance model. </span></span>
</p>

<h3 style="margin-top:3px; margin-bottom:8px">
	<span style="font-size:12pt"><span style='font-family:"Public Sans"'><span style="color:black">Replication Model </span></span></span>
</h3>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>In this model, Elastic Layer shares can be replicated using any file-system replication technology. This model can include technologies like DFS-R, Microsoft Storage Replica, Veeam, NAS vendor replication, Zerto, VMware vSphere Replication, and even robocopy. </span></span>
</p>

<p style="border:none; margin-bottom:11px">
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="png" data-fileid="34955" href="//media.invisioncic.com/m329563/monthly_2024_06/image.png.ec7e21431b6afad93da42da3eb5a420f.png" rel=""><img alt="image.png" class="ipsImage ipsImage_thumbnailed" data-fileid="34955" data-unique="vmr1jgdve" style="height: auto;" width="1000" src="//media.invisioncic.com/m329563/monthly_2024_06/image.thumb.png.c9ed1cec5c245c2c4da4bf1b745d586e.png" loading="lazy" height="510"></a><span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>  </span></span>
</p>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Then the VDAs in the DR data center can be pointed to the Elastic Layer share in that data center via GPO. A GPO template to configure the repository location can be found here: <a href="https://support.citrix.com/article/CTX222107" rel="external nofollow"><span style="color:#0563c1">CTX222107</span></a>. </span></span>
</p>

<h3 style="margin-top:3px; margin-bottom:8px">
	<span style="font-size:12pt"><span style='font-family:"Public Sans"'><span style="color:black">Dual Appliance Model </span></span></span>
</h3>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>In this model, an appliance is installed into each data center. The import and export functionality provided by the Appliance is used to keep the two appliances in sync from a layer perspective. Here the administrators manage DR layers separately and build images in DR from a local appliance. </span></span>
</p>

<p style="border:none; margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'><span style="font-size:12.0pt"><span style='font-family:"Times New Roman",serif'><span style="color:black"> </span></span></span></span></span><a class="ipsAttachLink ipsAttachLink_image" data-fileext="png" data-fileid="34956" href="//media.invisioncic.com/m329563/monthly_2024_06/image.png.e29a6d9cdd8330015f6dec5778488a60.png" rel=""><img alt="image.png" class="ipsImage ipsImage_thumbnailed" data-fileid="34956" data-unique="ora91rc88" style="height: auto;" width="1000" src="//media.invisioncic.com/m329563/monthly_2024_06/image.thumb.png.ecd8a8c1f7ccb5ecc2633d0d3a2ee6a5.png" loading="lazy" height="430"></a>
</p>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>If this option is chosen, then the sync transfers over the WAN from the SMB share defined during the import and export operation. Then Layers must be assigned on the DR appliance, and the second appliance will then copy them out to the Elastic Layer share in DR. In this model, it is also possible to develop a solution that does not sync all layers but only desired layers. Since layers are chosen for export manually, only selected layers can be included in the process. Currently, the import and export process must be kicked off manually. </span></span>
</p>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>In the dual appliance model, connectors and permissions for elastic shares must be created on each side. The only objects that get imported are the actual layers themselves. However, it is possible in this model to have different layers in each site as needed. For example, if it is really an active-active site scenario. </span></span>
</p>

<h3 style="margin-top:3px; margin-bottom:8px">
	<span style="font-size:12pt"><span style='font-family:"Public Sans"'><span style="color:black">Availability and Disaster Recovery for User Layers </span></span></span>
</h3>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>User Layers are similar to Elastic Layers in that they are VHD/VHDX files mounted by Windows on logon using an in-guest mount. However, they are mounted as writable, and the files are locked by the Windows desktop. This task makes the options for backing up and replicating these disks much more difficult than normal Elastic Layers. </span></span>
</p>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Due to this limitation, in case DFS-R or a robocopy script is used, the synchronization process has to be performed off hours (if there are times considered off hours). The process has to constantly check to see if the files are available to sync. For User Layers, which can be large files, robocopy might not work well as it might always copy the entire file rather than the blocks that have changed. DFS-R might be a better choice because it copies only modified blocks. However, replication at the storage level might be even better as it might synchronize more evenly as changes are made rather than waiting for the file locks to be removed. </span></span>
</p>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>There are other options that are supported here as well depending on the technology chosen to store the User Layer VHD files. If the file server supports the Volume Shadow Copy Service (VSS), then VSS snapshots are created to allow for backup and replication of the User Layers. By varying the frequency of the process User Layers can then also be rolled back to earlier points in time if corruption or mistake is made that adversely affects the user. </span></span>
</p>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>If a storage controller supports NDMP, this feature can also be used for User Layer backups. NDMP works at the storage level to back-up NAS storage directly to disk or tape utilizing NAS snapshots. </span></span>
</p>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Due to the difficulty of replicating large disks and the expense for the bandwidth to do so, many customers choose to provide DR desktops for users without a replicated User Layer. In this model, there are two options. Users can be provisioned a separate delivery group in the DR site that is also User Layer enabled. They can then log on to the DR site and pre-configure that layer with what they need. Or users can be provisioned with a normal non-persistent DR desktop. In the latter case, it is often beneficial to mix Citrix Profile Management with the User Layer so that user settings can be replicated to the DR site. </span></span>
</p>

<h3 style="margin-top:3px; margin-bottom:8px">
	<span style="font-size:12pt"><span style='font-family:"Public Sans"'><span style="color:black">Components of multi-site disaster recovery </span></span></span>
</h3>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>The approach to multisite disaster recovery is similar to local recovery. For images, you must use a replication process. If you're using Citrix Provisioning, you can use Robocopy to copy vDisks to the secondary site. If you're using Machine Creation Services, you need a process to replicate virtual machines such as Veeam, Zerto, VMware vSphere Replication, or Site Recovery Manager. This also works to protect the ELM. </span></span>
</p>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>For Elastic Layers, SAN replication or a scripted copy both work. If you're using User Layers, then you need to replicate at the SAN/NAS level so that changed blocks can be replicated under the clustered file system used for the share. </span></span>
</p>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>This approach is better than having multiple connectors defined in the ELM and publishing directly to both sites because, when publishing, you must both compose the image and upload it to the store. If you use a process that replicates the already created image, this skips the composition process and is more efficient. </span></span>
</p>

<div style="border-left:solid #0968d7 4.5pt; padding:31.0pt 31.0pt 31.0pt 4.0pt">
	<p style="border:none; padding:0in; margin-bottom:11px">
		<span style="font-size:10.5pt"><span style="tab-stops:170.2pt"><span style='font-family:"Public Sans"'><span style="color:#0968d7">Note: </span></span></span></span>
	</p>

	<p style="border:none; padding:0in; margin-bottom:11px">
		<span style="font-size:10.5pt"><span style="tab-stops:170.2pt"><span style='font-family:"Public Sans"'><span style="color:black">If you want a different configuration for the images deployed to disaster recovery, then it's better to publish directly from the ELM. This lets you have different layers defined in the Image Templates for recovery. </span></span></span></span>
	</p>
</div>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>It's also possible to use two ELM appliances, one in each site. Then you can use the export/import functionality to keep those ELMs in sync from a layer perspective. You can then treat recovery separately and build images there from a local ELM.</span></span>
</p>

<p style="margin-bottom:11px">
	<img alt="image.png" class="ipsImage ipsImage_thumbnailed" data-fileid="34957" data-unique="p5n637azk" style="height: auto;" width="791" src="//media.invisioncic.com/m329563/monthly_2024_06/image.png.bd34f271b6fc45c6a9e8adb4304ac842.png" loading="lazy" height="300.58"><span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>  </span></span>
</p>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>If you choose this option, then the sync transfers over the WAN to the SMB share defined in Settings. The layers can then be synchronized to the SMB share used in the second site, using Robocopy with the /MIR switch. Currently the import and export process must be initiated manually. </span></span>
</p>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>You can also sync only desired layers rather than all layers. If you might like this option, contact your App Layering solution architect for more details. </span></span>
</p>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>In the Dual ELM model, connectors and permissions for Elastic Shares must be created on each side. The only objects being imported are the actual layers. However, it's possible in this model to have different layers in each site as needed. </span></span>
</p>

<h1 style="margin-top:16px; margin-bottom:8px">
	<span style="font-size:18pt"><span style='font-family:"Public Sans"'><span style="color:black">References </span></span></span>
</h1>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>The following resources are referenced for a better understanding of Citrix App Layering: </span></span>
</p>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'><a href="https://docs.citrix.com/en-us/citrix-app-layering/4.html" rel="external nofollow"><span style="color:#0563c1">App Layering Product Documentation</span></a> </span></span>
</p>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'><a href="https://support.citrix.com/article/CTX225997" rel="external nofollow"><span style="color:#0563c1">How to Create a Platform Layer</span></a> </span></span>
</p>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'><a href="https://www.citrix.com/blogs/2018/01/08/optimizing-windows-and-citrix-app-layering/" rel="external nofollow"><span style="color:#0563c1">Windows and App Layering Optimizations</span></a> </span></span>
</p>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'><a href="https://docs.citrix.com/en-us/citrix-app-layering/4/layer/layer-antivirus-apps.html" rel="external nofollow"><span style="color:#0563c1">App Layering Antivirus Guide</span></a> </span></span>
</p>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'><a href="https://support.citrix.com/article/CTX224566" rel="external nofollow"><span style="color:#0563c1">Understand the Office Recipe</span></a> </span></span>
</p>

<p style="margin-bottom:11px">
	<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'><a href="https://support.citrix.com/article/CTX225952" rel="external nofollow"><span style="color:#0563c1">App Layering Best Practices</span></a> </span></span>
</p>
]]></description><guid isPermaLink="false">74</guid><pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate></item><item><title>Reference Architecture: Application Delivery Controller - Global Server Load Balancing</title><link>https://community.citrix.com/tech-zone/design/reference-architectures/adc-gslb/</link><description><![CDATA[<h2>
	Overview
</h2>

<p>
	Citrix Application Delivery Controller (ADC) Global Server Load Balancing (GSLB) is a DNS-based solution which describes a range of technologies to distribute resources around multi-site data center locations. This document describes the deployment topology and configuration architecture needed to set up GSLB between multi-sites where Citrix Virtual Apps and Desktops StoreFront servers are load-balanced by Citrix Gateway and Citrix ADC.
</p>

<h2>
	Fundamental Design Factors
</h2>

<p>
	The following includes fundamental design factors during an assessment and design phase that affects the formation of the design to cater for requirements. It highlights those considerations and provides background information and insight to support these.
</p>

<ul>
	<li>
		<p>
			<strong>Multi-site Geo-dispersed Data center deployment with ADC</strong> - Customer operates Citrix ADC appliances deployed across data center sites (that is, data center 1 and data center 2). A Citrix ADC high availability pair deployment consisting of two appliances commonly shares physical peripheral hardware components placed within the same data center site. It is intended to protect against Citrix ADC services outages caused by Citrix ADC appliance or peripheral hardware component failures (that is, network switches, power distribution units, and so on). As Citrix ADC appliances are deployed to two different sites (that is, data center 1 and data center 2) not physically sharing peripheral hardware components (that is, network switches, power distribution units, and so on), the design caters for a deployment that uses Citrix ADC GSLB to provide for resilience and redundancy.
		</p>
	</li>
	<li>
		<p>
			<strong>Business continuity</strong> - For component resilience and redundancy, business requirements exist for the design to cater for single systems failure within and across data center sites without affecting services availability and performance. A disaster can involve a single data center failure or failure of individual services within a single data center site resulting in failing over services and client connections to another data center site. Citrix ADC GSLB is used to cater to network traffic distribution, high availability, and failover services across both data center 1 and data center 2 sites.
		</p>
	</li>
	<li>
		<p>
			<strong>Network traffic flow efficiency</strong> - The design incorporates network traffic flows involving multiple serial hops to access individual services within the customer infrastructure. To ensure network traffic flow efficiency and eliminate routing inefficiency, network traffic flows are designed to remain within each local data center site. As such, the design caters to primary traffic flows to use back-end systems within the same data center site, and secondary (backup) traffic flows use back-end systems within the opposite data center site.
		</p>
	</li>
</ul>

<h2>
	Global Server Load Balancing
</h2>

<h3>
	GSLB Feature Overview
</h3>

<p>
	With ordinary DNS, when a client sends a domain name system (DNS) request, it receives a list of IP addresses of the domain or service. Generally, the client chooses the first IP address in the list and initiates a connection with that server. The DNS server uses a technique called DNS round robin to rotate through the IPs on the list. It sends the first IP address to the end of the list and promotes the others after it responds to each DNS request. This technique ensures equal distribution of the load, but it does not support disaster recovery, load balancing based on load or proximity of servers, or persistency.
</p>

<p>
	Fundamentally, GSLB based on DNS works the same way as standard DNS, with the exception that more logic is in place to determine what addresses to return. The logic in most situations is based on:
</p>

<ul>
	<li>
		The load and capacity of resources on the network
	</li>
	<li>
		The IP address or interface the query came from
	</li>
	<li>
		Previous requests made from the same IP or network
	</li>
	<li>
		The health state of resources
	</li>
</ul>

<p>
	To ensure the various pieces of information are in place, the ADC system makes use of several ways to determine state so that proper decision making can occur:
</p>

<ul>
	<li>
		Via explicit monitors that check for availability of remote resources by accessing the resource itself
	</li>
	<li>
		Via Metric Exchange Protocol (MEP), which is a channel of communication between distinct NetScaler devices, and provides a mechanism for one ADC to provide state information about resources to another ADC
	</li>
	<li>
		Through SNMP based load monitors, which poll a remote resource for statistics such as CPU load, network load
	</li>
</ul>

<p>
	 
</p>

<p>
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="reference-architectures_adc-gslb_001.png" data-fileid="2604" href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_adc-gslb_001.png.1217b1a5dc33fb1b9914c3359be75591.png" rel=""><img alt="reference-architectures_adc-gslb_001.png" class="ipsImage ipsImage_thumbnailed" data-fileid="2604" style="height: auto;" width="1280" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_adc-gslb_001.png.1217b1a5dc33fb1b9914c3359be75591.png" loading="lazy" height="716.8"></a>
</p>

<p>
	 
</p>

<p>
	Figure-1 A Typical DNS Flow to Application Access
</p>

<p>
	When you configure GSLB on ADC appliances and enable MEP, the DNS infrastructure is used to connect the client to the data center that best meets the set criteria. The criteria can designate the least loaded data center, the closest data center, the data center that responds most quickly to requests from the client’s location, a combination of those metrics, and SNMP metrics. An appliance tracks the location, performance, load, and availability of each data center. It uses these factors to select the data center to send the client request.
</p>

<h3>
	GSLB Deployment
</h3>

<h4>
	Deployment Types
</h4>

<p>
	Citrix ADC appliances configured for GSLB provide for disaster recovery and ensure the continuous availability of applications by protecting against points of failure in a WAN. GSLB can balance the load across data centers by directing client requests to the closest or best-performing data center, or to surviving data centers in the event of an outage.
</p>

<p>
	The following are some of the typical GSLB deployment types:
</p>

<p>
	Active-Active site deployment - An active-active site consists of multiple active data centers. Client requests are load balanced across active data centers. This deployment type can be used when you require global distribution of traffic in a distributed environment.
</p>

<p>
	All the sites in an active-active deployment are active, and all the services for a particular application/domain are bound to the same GSLB virtual server. Sites exchange metrics through the Metrics Exchange Protocol (MEP). Site metrics exchanged between the sites include the status of each load balancing and content switching virtual server, the current number of connections, current packet rate, and current bandwidth usage. The Citrix ADC appliance needs this information to perform load balancing across the sites.
</p>

<p>
	An active-active deployment can include a maximum of 32 GSLB sites, because MEP cannot synchronize more than 32 sites. No backup sites are configured in this deployment type.
</p>

<p>
	The Citrix ADC appliance sends client requests to the appropriate GSLB site as determined by the GSLB method specified in the GSLB configuration.
</p>

<p>
	 
</p>

<p>
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="reference-architectures_adc-gslb_002.png" data-fileid="2606" href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_adc-gslb_002.png.189186f78a499ed03555c6de6c7bc370.png" rel=""><img alt="reference-architectures_adc-gslb_002.png" class="ipsImage ipsImage_thumbnailed" data-fileid="2606" style="height: auto;" width="1280" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_adc-gslb_002.png.189186f78a499ed03555c6de6c7bc370.png" loading="lazy" height="716.8"></a>
</p>

<p>
	 
</p>

<p>
	Figure-2 Active-Active Site Deployment
</p>

<p>
	Active-Passive site deployment - An active-passive site consists of an active and a passive data center. This deployment type is ideal for disaster recovery.
</p>

<p>
	In this type of deployment, some of the sites (remote sites) are reserved only for disaster recovery. These sites do not participate in any decision making until all the active sites are DOWN. A passive site does not become operational unless a disaster event triggers a failover.
</p>

<p>
	Once you have configured the primary data center, replicate the configuration for the backup data center and designate it as the passive GSLB site by designating a GSLB virtual server at that site as the backup virtual server.
</p>

<p>
	An active-passive deployment can include a maximum of 32 GSLB sites, because MEP cannot synchronize more than 32 sites.
</p>

<p>
	 
</p>

<p>
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="reference-architectures_adc-gslb_003.png" data-fileid="2608" href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_adc-gslb_003.png.62452db914ea0b15e7ea0a0412c8978b.png" rel=""><img alt="reference-architectures_adc-gslb_003.png" class="ipsImage ipsImage_thumbnailed" data-fileid="2608" style="height: auto;" width="1280" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_adc-gslb_003.png.62452db914ea0b15e7ea0a0412c8978b.png" loading="lazy" height="716.8"></a>
</p>

<p>
	 
</p>

<p>
	Figure-3 Active-Passive Site Deployment
</p>

<p>
	Parent-child topology deployment - Citrix ADC GSLB provides global server load balancing and disaster recovery by creating mesh connections between all the involved sites and making intelligent load balancing decisions. Each site communicates with the others to exchange server and network metrics through Metric Exchange Protocol (MEP), at regular intervals. However, with the increase in number of peer sites, the volume of MEP traffic increases exponentially because of the mesh topology. To overcome this, you can use a parent-child topology. The parent-child topology also supports larger deployments. In addition to the 32 parent sites, you can configure 1024 child sites.
</p>

<h4>
	Entities
</h4>

<p>
	A GSLB configuration consists of a group of GSLB entities on each appliance in the configuration. These entities include GSLB sites, GSLB services, GSLB service groups, GSLB virtual servers, and ADNS services.
</p>

<h5>
	GSLB Sites
</h5>

<p>
	A typical GSLB setup consists of data centers, each of which has various network appliances that may or may not be Citrix ADC appliances. The data centers are called GSLB sites. Each GSLB site is managed by a Citrix ADC appliance that is local to that site. Each of these appliances treats its own site as the local site and all other sites, managed by other appliances, as remote sites.
</p>

<p>
	If the appliance that manages a site is the only Citrix ADC appliance in that data center, the GSLB site hosted on that appliance acts as a bookkeeping placeholder for auditing purposes, because no metrics can be collected. Typically, this happens when the appliance is used only for GSLB, and other products in the data center are used for load balancing or content switching.
</p>

<h5>
	Relationships among GSLB Sites
</h5>

<p>
	The concept of sites is central to Citrix ADC GSLB implementations. Unless otherwise specified, sites form a peer relationship among themselves. This relationship is used first to exchange health information and then to distribute load as determined by the selected algorithm. In many situations, however, a peer relationship among all GSLB sites is not desirable. Reasons for not having an all-peer implementation can be:
</p>

<ul>
	<li>
		To clearly separate GSLB sites. For example, to separate sites that participate in resolving DNS queries from the traffic management sites.
	</li>
	<li>
		To reduce the volume of MEP traffic, which increases exponentially with an increasing number of peer sites.
	</li>
</ul>

<p>
	These goals can be achieved by using parent and child GSLB sites.
</p>

<h5>
	GSLB Services
</h5>

<p>
	A GSLB service is usually a representation of a load balancing or content switching virtual server, although it can represent any type of virtual server. The GSLB service identifies the virtual server’s IP address, port number, and service type. GSLB services are bound to GSLB virtual servers on the Citrix ADC appliances managing the GSLB sites. A GSLB service bound to a GSLB virtual server in the same data center is local to the GSLB virtual server. A GSLB service bound to a GSLB virtual server in a different data center is remote from that GSLB virtual server.
</p>

<h5>
	GSLB Virtual Servers
</h5>

<p>
	A GSLB virtual server has one or more GSLB services bound to it, and load balances traffic among those services. It evaluates the configured GSLB methods (algorithms) to select the appropriate service to which to send a client request. Because the GSLB services can represent either local or remote servers, selecting the optimal GSLB service for a request has the effect of selecting the data center that should serve the client request.
</p>

<p>
	The domain for which global server load balancing is configured must be bound to the GSLB virtual server, because one or more services bound to the virtual server serve requests made for that domain.
</p>

<p>
	Unlike other virtual servers configured on a Citrix ADC appliance, a GSLB virtual server does not have its own virtual IP address (VIP).
</p>

<h5>
	ADNS Services
</h5>

<p>
	An ADNS service is a special kind of service that responds only to DNS requests for domains for which the Citrix ADC appliance is authoritative. When an ADNS service is configured, the appliance owns that IP address and advertises it. Upon reception of a DNS request by an ADNS service, the appliance checks for a GSLB virtual server bound to that domain. If a GSLB virtual server is bound to the domain, it is queried for the best IP address to which to send the DNS response.
</p>

<h5>
	DNS VIPs
</h5>

<p>
	A DNS virtual IP is a virtual IP (VIP) address that represents a load balancing DNS virtual server on the Citrix ADC appliance. DNS requests for domains for which the Citrix ADC appliance is authoritative can be sent to a DNS VIP.
</p>

<h5>
	Metrics Exchange Protocol (MEP)
</h5>

<p>
	The data centers in a GSLB setup exchange metric with each other through the MEP, which is a proprietary protocol for the Citrix ADC appliance. The exchange of the metric information begins when you create a GSLB site. These metrics comprise load, network, and persistence information.
</p>

<p>
	MEP is required for health checking of data centers to ensure their availability. A connection for exchanging network metric (round-trip time) can be initiated by either of the data centers involved in the exchange, but a connection for exchanging site metrics is always initiated by the data center with the lower IP address. By default, the data center uses a subnet IP address (SNIP) to establish a connection to the IP address of a different data center. However, you can configure a specific SNIP, virtual IP (VIP) address, or the NSIP address, as the source IP address for metrics exchange. The communication process between GSLB sites uses TCP port 3011 or 3009, so this port must be open on firewalls that are between the Citrix ADC appliances.
</p>

<h4>
	Load Balancing Methods
</h4>

<p>
	Unlike traditional DNS servers that simply respond with the IP addresses of the configured servers, a Citrix ADC appliance configured for GSLB responds with the IP addresses of the services, as determined by the configured GSLB method. By default, the GSLB virtual server is set to the least connection method. If all GSLB services are down, the appliance responds with the IP addresses of all the configured GSLB services.
</p>

<p>
	GSLB methods are algorithms that the GSLB virtual server uses to select the best-performing GSLB service. After the host name in the Web address is resolved, the client sends traffic directly to the resolved service IP address.
</p>

<p>
	The Citrix ADC appliance provides the following GSLB methods:
</p>

<table>
	<thead>
		<tr>
			<th>
				Method
			</th>
			<th style="text-align: left;">
				Description
			</th>
		</tr>
	</thead>
	<tbody>
		<tr>
			<td>
				<strong>Round Robin</strong>
			</td>
			<td style="text-align: left;">
				When a GSLB virtual server is configured to use the round robin method, it continuously rotates a list of the services that are bound to it. When the virtual server receives a request, it assigns the connection to the first service in the list and then moves that service to the bottom of the list.
			</td>
		</tr>
		<tr>
			<td>
				<strong>Least Response Time</strong>
			</td>
			<td style="text-align: left;">
				When the GSLB virtual server is configured to use the least response time method, it selects the service with the lowest value. Where, lowest value = current active connections X average response time.
			</td>
		</tr>
		<tr>
			<td>
				<strong>Least Connections</strong>
			</td>
			<td style="text-align: left;">
				When a GSLB virtual server is configured to use the least connection GSLB algorithm (or method), it selects the service with the fewest active connections. This is the default method, because, in most circumstances, it provides the best performance.
			</td>
		</tr>
		<tr>
			<td>
				<strong>Least Bandwidth</strong>
			</td>
			<td style="text-align: left;">
				A GSLB virtual server configured to use the least bandwidth method selects the service that is currently serving the least amount of traffic, measured in megabits per second (Mbps).
			</td>
		</tr>
		<tr>
			<td>
				<strong>Least Packets</strong>
			</td>
			<td style="text-align: left;">
				A GSLB virtual server configured to use the least packets method selects the service that has received the fewest packets in the last 14 seconds.
			</td>
		</tr>
		<tr>
			<td>
				<strong>Source IP Hash</strong>
			</td>
			<td style="text-align: left;">
				A GSLB virtual server configured to use the source IP hash method uses the hashed value of the client IPv4 or IPv6 address to select a service. To direct all requests from source IP addresses that belong to a particular network to a specific destination server, you must mask the source IP address. For IPv4 addresses, use the netmask parameter. For IPv6 addresses, use the v6NetMaskLength parameter.
			</td>
		</tr>
		<tr>
			<td>
				<strong>Custom Load</strong>
			</td>
			<td style="text-align: left;">
				Custom load balancing is performed on server parameters such as CPU usage, memory, and response time. When using the custom load method, the Citrix ADC appliance usually selects a service that is not handling any active transactions. If all of the services in the GSLB setup are handling active transactions, the appliance selects the service with the smallest load. A special type of monitor, known as a load monitor, calculates the load on each service in the network. The load monitors do not mark the state of a service, but they do take services out of the GSLB decision when those services are not UP.
			</td>
		</tr>
	</tbody>
</table>

<p>
	For GSLB methods to work with a remote site, either MEP must be enabled, or explicit monitors must be bound to the remote services. If MEP is disabled, RTT, Least Connections, Least Bandwidth, Least Packets, and Least Response Time methods default to Round Robin.
</p>

<h4>
	Monitor GSLB services
</h4>

<p>
	When you bind a remote service to a GSLB virtual server, the GSLB sites exchange metric information, including network metric Information, which is the round-trip-time and persistence Information.
</p>

<p>
	If a metric exchange connection is momentarily lost between any of the participating sites, the remote site is marked as DOWN, and load balancing is performed on the remaining sites that are UP. When the metric exchange for a site is DOWN, the remote services belonging to the site are marked DOWN as well.
</p>

<p>
	The Citrix ADC appliance periodically evaluates the state of the remote GSLB services by using either MEP or monitors that are explicitly bound to the remote services. Binding explicit monitors to local services is not required, because the state of the local GSLB service is updated by default using the MEP. However, you can bind explicit monitors to a remote service. When monitors are explicitly bound, the state of the remote service is not controlled by the metric exchange.
</p>

<h2>
	Reference Architecture
</h2>

<h3>
	Design GSLB
</h3>

<p>
	The following details the Citrix ADC instances network address configurations in terms of IP addressing and routing in data center site data center 1 and 2:
</p>

<ul>
	<li>
		NSIP – Citrix ADC Management IP address
	</li>
	<li>
		SNIP – Citrix ADC Subnet IP and ADNS Listener IP
	</li>
	<li>
		GSLB – GSLB Site IP
	</li>
	<li>
		VIP – Citrix ADC VIP for Citrix Gateway
	</li>
	<li>
		VIP Citrix ADC Load Balancing (LB) VIP for StoreFront
	</li>
</ul>

<p>
	 
</p>

<p>
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="reference-architectures_adc-gslb_004_1.png" data-fileid="2610" href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_adc-gslb_004_1.png.dd71c33ae05e7b315d48b94faede0fd2.png" rel=""><img alt="reference-architectures_adc-gslb_004_1.png" class="ipsImage ipsImage_thumbnailed" data-fileid="2610" style="height: auto;" width="720" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_adc-gslb_004_1.png.dd71c33ae05e7b315d48b94faede0fd2.png" loading="lazy" height="403.2"></a>
</p>

<p>
	 
</p>

<p>
	Figure-4 DNS and GSLB workflow
</p>

<p>
	Figure 4 describes a DNS workflow from the client's application access request via DNS, which will be handled by GSLB entities. As a DNS request comes into the global DNS server, which delegates the request subzone to each ADNS IP as subzone name servers. Upon reception of a DNS request by an ADNS service, the appliance checks for a GSLB virtual server bound to that domain. If a GSLB virtual server is bound to the domain, it is queried for the best IP address to which to send the DNS response.
</p>

<p>
	Figure 5 diagram illustrates its actual deployment architecture topology. It lists all necessary interfaces associated with designated ADC IP addresses accordingly (that is, NSIP, SNIP/ADNS IP, Gateway IP, Load Balance IP) overlays with GSLB topology and services.
</p>

<p>
	 
</p>

<p>
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="reference-architectures_adc-gslb_005.png" data-fileid="2612" href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_adc-gslb_005.png.a78f4c371b9a253f41ea1b425d7d0183.png" rel=""><img alt="reference-architectures_adc-gslb_005.png" class="ipsImage ipsImage_thumbnailed" data-fileid="2612" style="height: auto;" width="1280" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_adc-gslb_005.png.a78f4c371b9a253f41ea1b425d7d0183.png" loading="lazy" height="716.8"></a>
</p>

<p>
	 
</p>

<p>
	Figure-5 GSLB Deployment Architecture
</p>

<p>
	Those specific GSLB entities, as described in the earlier chapter, are:
</p>

<p>
	<strong>ADNS Listener IP:</strong> An ADC IP that listens for DNS queries.
</p>

<ul>
	<li>
		The ADNS listener IP is typically an existing SNIP on the ADC appliance.
	</li>
	<li>
		For external DNS, create a public IP for the ADNS Listener IP, and open UDP 53 and TCP 53, so Internet-based DNS servers can access it.
	</li>
</ul>

<p>
	<strong>GSLB Site IP / MEP listener IP:</strong> An ADC IP that is used for ADC-to-ADC GSLB communication. The communication, MEP transmits the following between GSLB-enabled ADC pairs: load balancing metrics, proximity, persistence, and monitoring.
</p>

<ul>
	<li>
		GSLB Sites – On ADC, you create GSLB Sites. GSLB Sites are the endpoints for the MEP communication. Each ADC pair is configured with the MEP endpoints for the local appliance pair, and all remote appliance pairs.
	</li>
	<li>
		TCP Ports – MEP uses port TCP 3009 or TCP 3011 between the ADC pairs. TCP 3009 is encrypted.
	</li>
	<li>
		The ADNS IP address can be used as the MEP endpoint IP.
	</li>
	<li>
		GSLB Sync Ports: To use GSLB Configuration Sync, open ports TCP 22 and TCP 3008 (secure) from the NSIP (management IP) to the remote public MEP IP. The GSLB Sync command runs a script in BSD shell and thus NSIP is always the Source IP.
	</li>
</ul>

<p>
	<strong>Public IP Addresses:</strong> In summary, for public GSLB, if MEP and ADNS are listening on the same IP, then you need one new public IP that is NAT’d to the DMZ IP that is used for ADNS and MEP (GSLB Site IP).
</p>

<ul>
	<li>
		Each data center has a separate public IP.
	</li>
	<li>
		DNS is delegated to all public ADNS IP listeners.
	</li>
</ul>

<h3>
	Other Dependencies
</h3>

<p>
	The infrastructure for the solution provides a set of common components used by the entire solution.
</p>

<ul>
	<li>
		Network Time Services - Most components in the overall solution require integration with Network Time Services (NTP). The following table details the key NTP settings within Client infrastructure to be used with the Citrix Delivery Network deployment.
	</li>
	<li>
		Domain Name Services - Most components in the overall solution require integration with Domain Name Services (DNS). The following table details key DNS infrastructure within the Customer network to be used by the Citrix Delivery Network deployment
	</li>
	<li>
		Security and Authentication - Secure sessions are handled by Citrix Gateway. The following table details key decisions pertaining to SAN certificates for use in each production, acceptance, and test infrastructure.
	</li>
</ul>

<h2>
	Sources
</h2>

<p>
	The goal of this reference architecture is to assist you with planning your own implementation. To make this job easier, we would like to provide you with source diagrams that you can adapt in your own detailed designs and implementation guides: <a class="ipsAttachLink" data-fileext="pptx" data-fileid="35417" href="https://community.citrix.com/applications/core/interface/file/attachment.php?id=35417&amp;key=9069977d7b955b8894a2b9bcddd0649b" rel="">reference-architectures_adc-gslb.pptx</a>
</p>

<h2>
	Citrix Product Documentation References
</h2>

<p>
	The deliverable provides guidelines for the implementation and configuration references. However, it does not provide step-by-step instructions on how to install or maintain the components discussed. Therefore, Citrix Consulting recommends Client design and operations teams involved in the design and deployment to review the following documents, articles, and guides prior to implementing the environment provided for production. These documents, articles, guides, and more are available from the online Citrix Knowledge Center, online Citrix Product Documentation, or online Citrix Community.
</p>

<p>
	Citrix Online Product Documentation <a href="https://docs.citrix.com/en-us/citrix-adc.html" rel="external nofollow">Citrix ADC</a>
</p>

<p>
	Citrix Online Product Documentation <a href="https://docs.citrix.com/en-us/citrix-adc/current-release/deploying-vpx.html" rel="external nofollow">Citrix ADC VPX Virtual Machines</a>
</p>

<p>
	Citrix Online Product Documentation <a href="https://docs.citrix.com/en-us/citrix-adc/current-release/global-server-load-balancing.html" rel="external nofollow">Global Server Load Balancing</a>
</p>

<p>
	Citrix Whitepaper <a href="https://support.citrix.com/article/CTX129514" rel="external nofollow">CTX129514</a> – Secure Deployment Guide for Citrix ADC MPX, VPX, and SDX Appliances
</p>

<p>
	Citrix Whitepaper <a href="https://support.citrix.com/article/CTX123976" rel="external nofollow">CTX123976</a> – Citrix ADC Global Server Load Balancing Primer: Theory and Implementation
</p>

<p>
	Citrix Knowledgebase Article <a href="https://support.citrix.com/article/CTX122619" rel="external nofollow">CTX122619</a> – DNS and GSLB Primer
</p>

<p>
	Citrix Knowledgebase Article <a href="https://support.citrix.com/article/CTX121713" rel="external nofollow">CTX121713</a> – How to Delegate Subdomains in a Microsoft DNS or a BIND for Global Server Load Balancing on a Citrix ADC Appliance
</p>

<p>
	Citrix Knowledgebase Article <a href="https://support.citrix.com/article/CTX110488" rel="external nofollow">CTX110488</a> – Delegating DNS Subdomains to the GSLB Setup of the Citrix ADC Appliances
</p>

<p>
	Citrix Online Product Documentation <a href="https://docs.citrix.com/en-us/citrix-adc/current-release/load-balancing.html" rel="external nofollow">Load Balancing</a>
</p>

<p>
	Citrix Online Product Documentation <a href="https://docs.citrix.com/en-us/citrix-adc/current-release/ssl.html" rel="external nofollow">SSL Offload and Acceleration</a>
</p>

<p>
	Citrix Community Blog <a href="https://www.citrix.com/blogs/2014/10/15/gateway-integration-with-storefront-lessons-learned/" rel="external nofollow">Gateway Integration with StoreFront Lessons Learned</a>
</p>

<p>
	Citrix Community Blog <a href="https://www.citrix.com/blogs/2018/05/25/storefront-and-citrix-gateway-gslb-considerations/" rel="external nofollow">StoreFront and Citrix Gateway GSLB considerations</a>
</p>

<p>
	 
</p>

<p>
	 
</p>

<p>
	 
</p>

<p>
	 
</p>

<p>
	 
</p>
]]></description><guid isPermaLink="false">73</guid><pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate></item><item><title>Reference Architecture: Application Delivery Management</title><link>https://community.citrix.com/tech-zone/design/reference-architectures/citrix-adm/</link><description><![CDATA[<h2>
	Overview
</h2>

<p>
	Citrix Application Delivery Management (ADM) is a centralized management solution. It simplifies operations by providing administrators with enterprise-wide visibility and automating management jobs that are getting ran across multiple instances. You can manage and monitor Citrix application networking products including Citrix Application Delivery Controllers (ADC) MPX, VPX, SDX, CPX, BLX, Citrix Gateway, Citrix Web Application Firewall (WAF). You can use ADM to manage, monitor, and troubleshoot the entire global application delivery infrastructure from a single, unified console.
</p>

<p>
	ADM also addresses the application visibility challenge by collecting detailed information about web-application and virtual-desktop traffic including application flow, security events, user-session-level information, webpage performance data, and database information flowing through the managed Citrix Appliances, and providing actionable reports. This approach enables administrators to troubleshoot and proactively monitor customer issues in a matter of minutes.
</p>

<p>
	Citrix ADM Software virtual appliances can be deployed in several deployment modes and provide the flexibility to integrate within your existing Citrix networking design. The following are some of the deployment scenarios implemented by using ADM Software appliances.
</p>

<ul>
	<li>
		Single Server
	</li>
	<li>
		High Availability (Recommended)
	</li>
	<li>
		Disaster Recovery Mode
	</li>
	<li>
		ADM Agent Deployment (for adding remote Sites)
	</li>
</ul>

<p>
	This ADM Reference document defines a set of architectural building blocks for delivering Citrix Application Delivery Management (Citrix ADM). The target audiences are technical professionals and architects seeking knowledge on how to key components to support the following objectives.
</p>

<h2>
	ADM Appliance Software Architecture
</h2>

<p>
	The Citrix Application Delivery Management (ADM) software uses a built-in data store to provide integration with the server, and the server manages all the key processes, such as data collection, NITRO API calls. In its data store, the server stores an inventory of instance details, such as host name, software version, running, and saved the configuration, certificate details, entities configured on the instance. Single server deployment is suitable if you want to process small amounts of traffic or store data for a limited time.
</p>

<p>
	The following image shows the different internal and external subsystem components of a Citrix ADM appliance and the communication flow between the internal ADM server components and externally managed networking appliances and instances.
</p>

<p>
	 
</p>

<p>
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="reference-architectures_citrix-adm_001.PNG" data-fileid="2648" href="//media.invisioncic.com/m329563/monthly_2024_02/reference-architectures_citrix-adm_001.PNG.3436c0421bdf126d4ce304a51e761198.PNG" rel=""><img alt="reference-architectures_citrix-adm_001.PNG" class="ipsImage ipsImage_thumbnailed" data-fileid="2648" style="height: auto;" width="1280" src="//media.invisioncic.com/m329563/monthly_2024_02/reference-architectures_citrix-adm_001.PNG.3436c0421bdf126d4ce304a51e761198.PNG" loading="lazy" height="716.8"></a>
</p>

<p>
	 
</p>

<p>
	The Citrix ADM NITRO Service acts as a web server handling HTTP requests and responses sent to other subsystems within the appliance from the management GUI or APIs/SDKs, using ports 80 and 443. These requests travel via the Message Bus (message processing system) by using the inter-process communication (IPC) mechanism. Initially, the HTTP requests sent to the Control subsystem, which either processes the information or sends it to another, more appropriate subsystem. Each of the other subsystems including Inventory, StyleBooks, Data Collector, Configuration, AppFlow Decoder, AppFlow Analytics, Performance, Events, Entities, SLA Manager, Provisioner, Journal, and daemons (aaad/snmpd/ntpd/syslogd/monit/sshd/pitboss), have specific roles.
</p>

<h2>
	ADM Systems Design
</h2>

<p>
	Citrix ADM is a centralized management solution that simplifies operations by providing administrators with enterprise-wide visibility and automating management jobs that are getting ran across multiple instances.
</p>

<p>
	To manage and monitor applications and the network infrastructure, you must first install Citrix ADM on one of the hypervisors. You can deploy Citrix ADM either as a single server or in a high availability mode. When using Citrix ADC Insight Center, you can migrate to Citrix ADM and avail of the management, monitoring, orchestration, and application management features in addition to the analytics features.
</p>

<ul>
	<li>
		Single-server deployment. In a Citrix ADM single server deployment, the database is integrated with the server, and a single server processes all the traffic. You can deploy Citrix ADM with Citrix Hypervisor, VMware ESXi, Microsoft Hyper-V, and Linux KVM.
	</li>
	<li>
		High availability deployment. A high availability deployment (HA) of two Citrix ADM servers provides uninterrupted operations. In a high availability setup, both Citrix ADM nodes must be deployed in active-passive mode, on the same subnet using the same software version and build, and same configurations. With HA deployment the ability to configure the floating IP address on the Citrix ADM primary node eliminates the need for a separate Citrix ADC load balancer.
	</li>
</ul>

<p>
	The following diagram depicts the high-level ADM HA appliance deployment.
</p>

<p>
	 
</p>

<p>
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="reference-architectures_citrix-adm_002.PNG" data-fileid="2650" href="//media.invisioncic.com/m329563/monthly_2024_02/reference-architectures_citrix-adm_002.PNG.2b02587f6535ca38f1879f339feb351f.PNG" rel=""><img alt="reference-architectures_citrix-adm_002.PNG" class="ipsImage ipsImage_thumbnailed" data-fileid="2650" style="height: auto;" width="1280" src="//media.invisioncic.com/m329563/monthly_2024_02/reference-architectures_citrix-adm_002.PNG.2b02587f6535ca38f1879f339feb351f.PNG" loading="lazy" height="716.8"></a>
</p>

<p>
	 
</p>

<h2>
	ADM Key System Requirements
</h2>

<p>
	Before importing a Citrix ADM appliance to your current platform (that is, Hypervisors), understanding the critical system licensing, hypervisor requirements, appliance image requirements, and ADC Build Integration limitations is a must.
</p>

<h3>
	Licensing Overview
</h3>

<p>
	Citrix ADM requires a verified Citrix ADC license to manage and monitor the Citrix ADC instances.
</p>

<p>
	You can manage and monitor any number of supported instances and entities without a license. However, you can select and configure Analytics for an initial 30 discovered applications on the App Dashboard and view analytics data for 30 virtual servers without applying for extra licenses. To collect Analytics for more than 30 discovered applications (30 virtual servers), you must purchase and apply the desired licenses.
</p>

<p>
	Full information on licensing is available in the Citrix ADM product documentation about <a href="https://docs.citrix.com/en-us/citrix-application-delivery-management-software/current-release/licensing.html" rel="external nofollow">licensing</a>.
</p>

<h3>
	Supported Hypervisors
</h3>

<p>
	An ADM appliance deployed on-premises as virtual appliances can run on Citrix Hypervisor, VMware ESXi, Microsoft Hyper-V, and Linux KVM.
</p>

<p>
	The following table lists the hypervisors supported by Citrix ADM.
</p>

<table>
	<thead>
		<tr>
			<th>
				<strong>Hypervisor</strong>
			</th>
			<th>
				<strong>Versions</strong>
			</th>
			<th>
				<strong>Product Documentation</strong>
			</th>
		</tr>
	</thead>
	<tbody>
		<tr>
			<td>
				Citrix Hypervisor
			</td>
			<td>
				7.1 and 7.4
			</td>
			<td>
				<a href="https://docs.citrix.com/en-us/citrix-application-delivery-management-software/current-release/deploy/install-mas-on-xenserver.html" rel="external nofollow">Citrix ADM with Citrix Hypervisor</a>
			</td>
		</tr>
		<tr>
			<td>
				VMware ESXi
			</td>
			<td>
				6.0 and 6.5
			</td>
			<td>
				<a href="https://docs.citrix.com/en-us/citrix-application-delivery-management-software/current-release/deploy/install-mas-on-esxi.html" rel="external nofollow">Citrix ADM with VMware ESXi</a>
			</td>
		</tr>
		<tr>
			<td>
				Microsoft Hyper-V
			</td>
			<td>
				2012 R2 and 2016
			</td>
			<td>
				<a href="https://docs.citrix.com/en-us/citrix-application-delivery-management-software/current-release/deploy/install-mas-on-hyper-v.html" rel="external nofollow">Citrix ADM with Microsoft Hyper-V</a>
			</td>
		</tr>
		<tr>
			<td>
				Generic KVM
			</td>
			<td>
				RHEL 7.4 and Ubuntu 16.04
			</td>
			<td>
				<a href="https://docs.citrix.com/en-us/citrix-application-delivery-management-software/current-release/deploy/install-mas-on-kvm.html" rel="external nofollow">Citrix ADM with Linux KVM server</a>
			</td>
		</tr>
	</tbody>
</table>

<h3>
	Requirements for ADM appliance and agent Images
</h3>

<p>
	Citrix ADC instances deployed in remote data centers can be managed and monitored from Citrix ADM running in a primary data center. Citrix ADC instances sent data directly to the primary Citrix ADM that resulted in the consumption of WAN bandwidth. Also, the processing of analytics data utilizes CPU and memory resources of primary Citrix ADM.
</p>

<p>
	Customers have their data centers located across the globe. Agents play a vital role in following scenarios where the customers can choose:
</p>

<ul>
	<li>
		To install agents in remote data centers so that there is a reduction in WAN bandwidth consumption.
	</li>
	<li>
		To limit the amount of instances directly sending traffic to primary Citrix ADM for data processing.
	</li>
</ul>

<h4>
	Requirements for Citrix ADM appliance
</h4>

<table style="width: 1000px;">
	<thead>
		<tr>
			<th>
				<strong>Component</strong>
			</th>
			<th>
				<strong>Requirement</strong>
			</th>
		</tr>
	</thead>
	<tbody>
		<tr>
			<td>
				RAM
			</td>
			<td>
				32 GB required
			</td>
		</tr>
		<tr>
			<td>
				Virtual CPU
			</td>
			<td>
				Eight vCPUs required
			</td>
		</tr>
		<tr>
			<td>
				Storage space
			</td>
			<td>
				Citrix recommends using solid-state drive (SSD) technology for Citrix ADM deployments. The default value is 120 GB. Actual storage requirement depends on Citrix ADM sizing estimation. If your Citrix ADM storage requirement exceeds 120 GB, you to have to attach an extra disk. You can add only one extra disk. Citrix recommends you estimate storage and attach the extra disk at the time of initial deployment. Use the <span ipsnoautolink="true">sizing calculator (</span><a class="ipsAttachLink" data-fileext="xlsx" data-fileid="35418" href="https://community.citrix.com/applications/core/interface/file/attachment.php?id=35418&amp;key=375a3d745a9cf9a0a75a4120ac5eef7a" rel="">ADM_on-prem_Sizing_Calculator_July19.xlsx</a>) to do the exact sizing estimation for your Citrix ADM deployment, and for more information, see How to Attach an Additional Disk to Citrix ADM.
			</td>
		</tr>
		<tr>
			<td>
				Virtual network interfaces
			</td>
			<td>
				1
			</td>
		</tr>
		<tr>
			<td>
				Throughput
			</td>
			<td>
				1 Gbps or 100 Mbps
			</td>
		</tr>
	</tbody>
</table>

<h4>
	Requirements for Citrix ADM on-prem agent
</h4>

<p>
	Agents work as an intermediary between the primary Citrix ADM and the discovered instances across different data centers. Following are the benefits of installing agents:
</p>

<ul>
	<li>
		The instances are configured to agents so that the unprocessed data is sent directly to agents instead of primary Citrix ADM. Agents do the first level of data processing and send the processed data in a compressed format to the primary Citrix ADM for storage.
	</li>
	<li>
		Agents and instances are co-located in the same data center so that the data processing is faster.
	</li>
	<li>
		Clustering the agents provides redistribution of Citrix ADC instances on agent failover. When one agent in a site fails, traffic from Citrix ADC instances switched to another available agent on the same site.
	</li>
</ul>

<p>
	The following is the minimum requirements for Citrix ADM on-prem agent:
</p>

<table>
	<thead>
		<tr>
			<th>
				<strong>Component</strong>
			</th>
			<th>
				<strong>Requirement</strong>
			</th>
		</tr>
	</thead>
	<tbody>
		<tr>
			<td>
				RAM
			</td>
			<td>
				8 GB required <strong>Note:</strong> The default value is 32 GB. Citrix recommends that you increase the default value to 32 GB for better performance.
			</td>
		</tr>
		<tr>
			<td>
				Virtual CPU
			</td>
			<td>
				Two vCPUs required
			</td>
		</tr>
		<tr>
			<td>
				Storage space
			</td>
			<td>
				30 GB
			</td>
		</tr>
		<tr>
			<td>
				Virtual network interfaces
			</td>
			<td>
				1
			</td>
		</tr>
		<tr>
			<td>
				Throughput
			</td>
			<td>
				1 Gbps
			</td>
		</tr>
	</tbody>
</table>

<p>
	The following figure shows Citrix ADC instances in two data centers and Citrix ADM high availability deployment using multisite agent-based architecture.
</p>

<p>
	 
</p>

<p>
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="reference-architectures_citrix-adm_003.PNG" data-fileid="2652" href="//media.invisioncic.com/m329563/monthly_2024_02/reference-architectures_citrix-adm_003.PNG.9975843f1d6a00331d55b7bf4086a4a9.PNG" rel=""><img alt="reference-architectures_citrix-adm_003.PNG" class="ipsImage ipsImage_thumbnailed" data-fileid="2652" style="height: auto;" width="1280" src="//media.invisioncic.com/m329563/monthly_2024_02/reference-architectures_citrix-adm_003.PNG.9975843f1d6a00331d55b7bf4086a4a9.PNG" loading="lazy" height="716.8"></a>
</p>

<p>
	 
</p>

<p>
	The primary site has the Citrix ADM nodes deployed in a high availability configuration. The Citrix ADC instances in the primary site directly registered with the Citrix ADM.
</p>

<p>
	In the secondary site, agents are deployed and registered with the Citrix ADM server in the primary site. These agents work in a cluster handling a continuous flow of traffic in case an agent failover — the Citrix ADC instances at the secondary site registered with the primary Citrix ADM server through agents. The instances send data directly to agents instead of primary Citrix ADM. The agents process the data received from the instances and send it to the primary Citrix ADM in a compressed format. Agents communicate with the Citrix ADM server over a secure channel, and the data sent over the channel compressed for bandwidth efficiency.
</p>

<h3>
	Minimum Citrix ADC versions required for Citrix ADM feature
</h3>

<p>
	Diverse Citrix ADM features supported on different Citrix ADC software versions. Review the following table to make sure you have upgraded your Citrix ADC instances to the correct version.
</p>

<table>
	<thead>
		<tr>
			<th>
				<strong>Citrix ADM Features</strong>
			</th>
			<th>
				<strong>Citrix ADC Software Version</strong>
			</th>
		</tr>
	</thead>
	<tbody>
		<tr>
			<td>
				StyleBooks
			</td>
			<td>
				10.5 and later
			</td>
		</tr>
		<tr>
			<td>
				OpenStack/CloudStack Support
			</td>
			<td>
				11.0 and later: If a partition is required 11.1 and later: If partition on shared virtual LAN is required.
			</td>
		</tr>
		<tr>
			<td>
				NSX Support
			</td>
			<td>
				11.1 Build 47.14 and later (VPX)
			</td>
		</tr>
		<tr>
			<td>
				Mesos/Marathon Support
			</td>
			<td>
				10.5 and later
			</td>
		</tr>
		<tr>
			<td>
				Backup/Restore
			</td>
			<td>
				10.1 and later OR for SDX 11.0 and later
			</td>
		</tr>
		<tr>
			<td>
				Monitoring/Reporting &amp; Configuration using Jobs
			</td>
			<td>
				10.1 and later
			</td>
		</tr>
		<tr>
			<td>
				<strong>Citrix Analytics Features</strong>
			</td>
			<td>
				<strong>Citrix ADC Software Version</strong>
			</td>
		</tr>
		<tr>
			<td>
				Web Insight
			</td>
			<td>
				10.5 and later
			</td>
		</tr>
		<tr>
			<td>
				HDX Insight
			</td>
			<td>
				10.1 and later
			</td>
		</tr>
		<tr>
			<td>
				Security Insight
			</td>
			<td>
				11.0.65.31 and later
			</td>
		</tr>
		<tr>
			<td>
				Gateway Insight
			</td>
			<td>
				11.0.65.31 and later
			</td>
		</tr>
		<tr>
			<td>
				Cache Insight
			</td>
			<td>
				10.5 and later*
			</td>
		</tr>
		<tr>
			<td>
				SSL Insight
			</td>
			<td>
				12.0 and later
			</td>
		</tr>
	</tbody>
</table>

<p>
	<strong>Important Note:</strong> Integrated Cache Metrics are not supported in Citrix ADM with Citrix instances running version 11.0 build 66.x.
</p>

<h2>
	Environment Customizations and Sizing Recommendations
</h2>

<h3>
	Sizing Settings
</h3>

<p>
	Citrix Application Delivery Management (ADM) storage requirement is determined based on your Citrix ADM sizing estimation. By default, Citrix ADM provides you a storage capacity of 120 GB. If you need more than 120 GB for storing your data, you can attach an extra disk (Max extra disk per ADM is 3 TB).
</p>

<p>
	Notes:
</p>

<ul>
	<li>
		Estimate storage requirements and attach an extra disk to the server at the time of the initial deployment of Citrix ADM.
	</li>
	<li>
		For a Citrix ADM single-server deployment, you can attach only one disk to the server in addition to the default disk.
	</li>
	<li>
		For a Citrix ADM high availability deployment, you must attach an extra disk to each node. The size of both disks should be identical.
	</li>
	<li>
		If you had earlier attached an external disk of lower capacity, you must remove the disk before attaching a new disk.
	</li>
	<li>
		You can attach an extra disk of capacity higher than 2 terabytes. If necessary, the size of the disk can be smaller than 2 terabytes also.
	</li>
	<li>
		Citrix recommends using solid-state drive (SSD) technology for Citrix ADM deployments.
	</li>
</ul>

<h3>
	Prune Settings
</h3>

<p>
	To limit the amount of reporting data stored in your Citrix ADM server’s database, you can prune it. You can specify the interval for which you want Citrix ADM to retain network reporting data, events, audit logs, and task logs. By default, this data is pruned every 24 hours (at 00.00 hours). More details can found <a href="https://docs.citrix.com/en-us/citrix-application-delivery-management-software/current-release/manage-system-settings/configure-system-prune-settings-mas.html" rel="external nofollow">here</a>.
</p>

<h3>
	Backup Settings
</h3>

<p>
	Citrix devices can be backed up automatically to the Citrix ADM server. Also, those backed-up data forwarded to an external server for historical trending and auditing. Refer to the <a href="https://docs.citrix.com/en-us/citrix-application-delivery-management-software/current-release/manage-system-settings/configure-system-backup-settings.html" rel="external nofollow">link</a> for more details.
</p>

<h2>
	ADM Deployment Scenarios
</h2>

<h3>
	Single-Server Deployment
</h3>

<p>
	In a Citrix ADM single server deployment, the database is deployed and integrated with the server, and a single server processes all the traffic. You can use Citrix ADM with Citrix Hypervisor, VMware ESXi, Microsoft Hyper-V, and Linux KVM.
</p>

<h3>
	High Availability (HA) Deployment
</h3>

<p>
	An HA deployment of two Citrix ADM servers provides uninterrupted operations. In a high availability setup, both the Citrix ADM nodes must be deployed in active-passive mode, on the same subnet using the same software version and build and must have identical configurations. With HA deployment, the ability to configure the floating IP address on the Citrix ADM primary node eliminates the need for a separate Citrix ADC load balancer.
</p>

<p>
	The following are the benefits of a high availability deployment with Citrix ADM:
</p>

<ul>
	<li>
		An improved mechanism to monitor heartbeats between the primary and secondary nodes.
	</li>
	<li>
		It provides physical streaming replication of the database instead of logical bi-directional replication.
	</li>
	<li>
		High availability configuration provides the ability to configure the floating IP address on the primary node to eliminate the need for a separate Citrix load balancer.
	</li>
	<li>
		It provides easy access to the Citrix ADM user interface using the floating IP address.
	</li>
	<li>
		Citrix ADM user interface is provided only on the primary node. By using the primary node, you can eliminate the risk of accessing and making changes to the secondary node.
	</li>
	<li>
		Configuring the floating IP address handles the failover situation, and reconfiguring the instances is not required.
	</li>
	<li>
		Provides built-in ability to detect and handle the split-brain situation
	</li>
</ul>

<p>
	The following diagram depicts the ADM HA deployment.
</p>

<p>
	 
</p>

<p>
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="reference-architectures_citrix-adm_004.PNG" data-fileid="2654" href="//media.invisioncic.com/m329563/monthly_2024_02/reference-architectures_citrix-adm_004.PNG.11270e56ac1f3149cb0cb80284a277eb.PNG" rel=""><img alt="reference-architectures_citrix-adm_004.PNG" class="ipsImage ipsImage_thumbnailed" data-fileid="2654" style="height: auto;" width="1280" src="//media.invisioncic.com/m329563/monthly_2024_02/reference-architectures_citrix-adm_004.PNG.11270e56ac1f3149cb0cb80284a277eb.PNG" loading="lazy" height="716.8"></a>
</p>

<p>
	 
</p>

<h4>
	Components of high availability architecture
</h4>

<p>
	In high availability deployment, one of the Citrix ADM nodes configured as the primary node (ADM HA Node 1) and the other as the secondary node (ADM HA Node 2). If the primary node goes down due to any reason, the secondary node takes over as the new primary node.
</p>

<p>
	 
</p>

<p>
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="reference-architectures_citrix-adm_005.PNG" data-fileid="2656" href="//media.invisioncic.com/m329563/monthly_2024_02/reference-architectures_citrix-adm_005.PNG.250632a8d7ad307ddabe9e9586e52222.PNG" rel=""><img alt="reference-architectures_citrix-adm_005.PNG" class="ipsImage ipsImage_thumbnailed" data-fileid="2656" style="height: auto;" width="1280" src="//media.invisioncic.com/m329563/monthly_2024_02/reference-architectures_citrix-adm_005.PNG.250632a8d7ad307ddabe9e9586e52222.PNG" loading="lazy" height="716.8"></a>
</p>

<p>
	 
</p>

<h2>
	Disaster Recovery (DR) Mode - Reference Architecture
</h2>

<p>
	Disaster is a sudden disruption of business functions caused by natural calamities or human-caused events. Disasters affect data center operations, after which resources and the data loss at the disaster site must be fully rebuilt and restored. The loss of data or downtime in the data center is critical and collapses the business continuity.
</p>

<p>
	The Citrix ADM disaster recovery (DR) feature provides full system backup and recovery capabilities for Citrix ADM deployed in high availability mode. At the time of recovery, certificates, configuration files, and a complete backup of the database are available in the recovery site.
</p>

<p>
	The following table describes the terms used while configuring disaster recovery in Citric ADM
</p>

<table>
	<thead>
		<tr>
			<th>
				<strong>Terms</strong>
			</th>
			<th>
				<strong>Description</strong>
			</th>
		</tr>
	</thead>
	<tbody>
		<tr>
			<td>
				Primary site (Data Center A)
			</td>
			<td>
				The primary site has Citrix ADM nodes deployed in high availability mode.
			</td>
		</tr>
		<tr>
			<td>
				Recovery site (Data Center B)
			</td>
			<td>
				The recovery site has a disaster recovery node deployed in standalone mode. This node is in read-only mode and is not operational until the primary site is down.
			</td>
		</tr>
		<tr>
			<td>
				Disaster recovery node
			</td>
			<td>
				The recovery node is a standalone node deployed in the recovery site. This node is made operational (to the new primary) in case a disaster select the primary site, and it is non-functional.
			</td>
		</tr>
	</tbody>
</table>

<p>
	<strong>Note:</strong> The primary site and DR site communicate with each other through ports 5454 and 22, which are enabled by default.
</p>

<p>
	The following image shows the disaster recovery workflow, the initial setup before the disaster, and the workflow after the disaster.
</p>

<p>
	 
</p>

<p>
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="reference-architectures_citrix-adm_006.PNG" data-fileid="2658" href="//media.invisioncic.com/m329563/monthly_2024_02/reference-architectures_citrix-adm_006.PNG.3b31a2f6d6de447d747fd05428fa25b1.PNG" rel=""><img alt="reference-architectures_citrix-adm_006.PNG" class="ipsImage ipsImage_thumbnailed" data-fileid="2658" style="height: auto;" width="1280" src="//media.invisioncic.com/m329563/monthly_2024_02/reference-architectures_citrix-adm_006.PNG.3b31a2f6d6de447d747fd05428fa25b1.PNG" loading="lazy" height="716.8"></a>
</p>

<p>
	 
</p>

<p>
	The image shows the disaster recovery setup before the disaster.
</p>

<p>
	The primary site has Citrix ADM nodes deployed in the high availability mode, as shown in the previous section.
</p>

<p>
	The recovery site has a standalone Citrix ADM disaster recovery node deployed remotely. The disaster recovery node is in read-only mode and receives data from the primary node to create data backup. Citrix ADC instances in the recovery site are also discovered, but they do not have any traffic flowing through them. During the backup process, all data, files, and configurations are sent and replicated on the disaster recovery node from the primary node.
</p>

<p>
	 
</p>

<p>
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="reference-architectures_citrix-adm_007.PNG" data-fileid="2660" href="//media.invisioncic.com/m329563/monthly_2024_02/reference-architectures_citrix-adm_007.PNG.900711c305820460f9623cafe480c92a.PNG" rel=""><img alt="reference-architectures_citrix-adm_007.PNG" class="ipsImage ipsImage_thumbnailed" data-fileid="2660" style="height: auto;" width="1280" src="//media.invisioncic.com/m329563/monthly_2024_02/reference-architectures_citrix-adm_007.PNG.900711c305820460f9623cafe480c92a.PNG" loading="lazy" height="716.8"></a>
</p>

<p>
	 
</p>

<p>
	After the initiation of the script at the DR site, the DR site now becomes the new primary site. You can also access the DR user interface.
</p>

<p>
	Full information about the disaster recovery (DR) feature is available in the Citrix ADM product documentation article <a href="https://docs.citrix.com/en-us/citrix-application-delivery-management-software/current-release/deploy/disaster-recovery.html" rel="external nofollow">Configure disaster recovery for high availability</a>.
</p>

<h2>
	ADM Agent Deployment
</h2>

<p>
	You can install and configure the agent, to enable communication between the primary Citrix ADM and the managed Citrix ADC instances in another data center.
</p>

<p>
	You can install an agent on the following hypervisors in your enterprise data center:
</p>

<ul>
	<li>
		Citrix Hypervisor
	</li>
	<li>
		VMware ESXi
	</li>
	<li>
		Microsoft Hyper-V
	</li>
	<li>
		Linux KVM Server
	</li>
</ul>

<p>
	The number of agents installed per site depends on the traffic being processed. Currently, Citrix has validated two agents per site for an agent failover scenario. Citrix recommends that you install at least two agents per site so that the traffic flows to another agent in case of an agent failover.
</p>

<p>
	For communication purposes, the following ports must be open between the agent and Citrix ADM on-prem server.
</p>

<table>
	<thead>
		<tr>
			<th>
				<strong>Type</strong>
			</th>
			<th>
				<strong>Port</strong>
			</th>
			<th>
				<strong>Details</strong>
			</th>
		</tr>
	</thead>
	<tbody>
		<tr>
			<td>
				TCP
			</td>
			<td>
				8443,7443,443
			</td>
			<td>
				For outbound and inbound communication between the agent and the Citrix ADM on-prem server
			</td>
		</tr>
	</tbody>
</table>

<p>
	The following ports must be open between the agent and Citrix ADC Instances.
</p>

<table>
	<thead>
		<tr>
			<th>
				<strong>Type</strong>
			</th>
			<th>
				<strong>Port</strong>
			</th>
			<th>
				<strong>Details</strong>
			</th>
		</tr>
	</thead>
	<tbody>
		<tr>
			<td>
				SNMP
			</td>
			<td>
				161,162
			</td>
			<td>
				To receive SNMP events from Citrix ADC instance to agent.
			</td>
		</tr>
		<tr>
			<td>
				TCP
			</td>
			<td>
				5557
			</td>
			<td>
				For log stream communication between the agent and Citrix ADC instances.
			</td>
		</tr>
	</tbody>
</table>

<h2>
	References
</h2>

<p>
	<a href="https://docs.citrix.com/en-us/citrix-application-delivery-management-software/current-release/get-started.html" rel="external nofollow">Citrix Application Delivery Management Product Documentation</a>
</p>

<p>
	<a href="https://docs.citrix.com/en-us/citrix-adc/current-release.html" rel="external nofollow">Citrix ADC Product Documentation</a>
</p>

<p>
	<a href="https://docs.citrix.com/en-us/citrix-analytics.html" rel="external nofollow">Citrix Analytics Platform</a>
</p>

<p>
	<a href="https://docs.citrix.com/en-us/citrix-application-delivery-management-service/application-analytics-and-management/service-graph.html" rel="external nofollow">ADM Service Graph for cloud-native applications</a>
</p>

<p>
	<a href="https://www.youtube.com/watch?v=jq8PrwWZWtc" rel="external nofollow">Citrix ADM and Hybrid Multi-Cloud</a>
</p>

<p>
	<a href="https://docs.citrix.com/en-us/citrix-application-delivery-management-service" rel="external nofollow">Citrix ADM Service in Citrix Cloud</a>
</p>

<h2>
	Appendix
</h2>

<h3>
	Citrix Networking Appliance &amp; Functionality Overview
</h3>

<h4>
	VPX Overview
</h4>

<p>
	Citrix ADC is an application delivery controller that performs application-specific traffic analysis to distribute intelligently, optimize, and secure Layer 4-Layer 7 (L4–L7) network traffic for web applications. For example, a Citrix ADC bases load balancing decisions on individual HTTP requests instead of on long-lived TCP connections, so that the failure or slowdown of a server is managed much more quickly and with less disruption to clients. Its feature set can be broadly consisting of switching features, security and protection features, and server-farm optimization features.
</p>

<p>
	The Citrix ADC VPX is a software-based platform that provides industry-leading delivery of applications over the internet and private networks. This virtual appliance can be deployed on hypervisors on-premises or cloud platforms. The VPX appliance is supported by Citrix Hypervisor, VMware ESXi, Microsoft Hyper-V, Linux KVM, Microsoft Azure, and Amazon Web Services (AWS).
</p>

<p>
	The VPX provides the full functionality of the Citrix Networking product line, with throughput capabilities ranging from 10 Mbps to 100 Gbps. The performance is controlled by the platform license and can be increased on-demand by upgrading the platform license.
</p>

<h4>
	Citrix ADC VPX in Azure
</h4>

<p>
	Citrix ADC VPX in Azure is deployed in a Virtual Network (VNET) and is available from the Azure Marketplace in subscription-based, check-in/check-out, or Bring Your Own License (BYOL) editions. The recommended configuration includes three NICs: management, client-side, and server-side subnets. All on-premises Citrix Networking features are available in Azure, except for the following: clustering, IPv6, gratuitous ARP (GARP), L2 mode, tagged VLANs, dynamic routing, virtual MAC (VMAC), USIP, and jumbo frames.
</p>

<p>
	More details on Citrix ADC VPX in Azure can be found <a href="https://docs.citrix.com/en-us/citrix-adc/current-release/deploying-vpx/deploy-vpx-on-azure.html" rel="external nofollow">here</a>.
</p>

<h4>
	Citrix ADC VPX in AWS
</h4>

<p>
	Citrix ADC VPX in AWS is deployed in a Virtual Private Cloud (VPC) and is available as an Amazon Machine Image (AMI) from the AWS Marketplace in subscription-based or bring you to own license (BYOL) editions. The recommended configuration includes three Elastic Network Interfaces (ENIs): management, client-facing, and back-end subnets. All on-premises Citrix Networking features are available in AWS, except for the following: IPv6, gratuitous ARP (GARP), L2 mode, tagged VLAN, dynamic routing, virtual MAC (VMAC).
</p>

<p>
	More details on Citrix ADC VPX in AWS can be found <a href="https://docs.citrix.com/en-us/citrix-adc/current-release/deploying-vpx/deploy-aws.html" rel="external nofollow">here</a>.
</p>

<h4>
	MPX Overview
</h4>

<p>
	Citrix ADC MPX is a hardware-based, highly performant platform that provides industry-leading delivery of applications over the Internet and private networks, combining application-level security, optimization, and traffic management into a single, integrated appliance. All MPX appliances support Citrix nCore technology, which enables them to use their multi-core CPU systems for multi-gigabit performance and massive scalability for all application workloads.
</p>

<p>
	An MPX can be integrated into any network as a complement to existing load balancers, servers, caches, and firewalls. It requires no additional client or server-side software and can be configured using the web-based GUI and CLI configuration utilities. Flexible Pay-As-You-Grow licensing helps customers protect their investment, avoid costly hardware upgrades, and reduce overall TCO.
</p>

<h4>
	SDX Overview
</h4>

<p>
	The Citrix ADC SDX platform delivers fully isolated network instances running on a single appliance. Each instance is a full-blown environment, which optimizes the delivery of applications over the internet and private networks. The SDX platform combines application-level security, optimization, and traffic management into a single, integrated appliance. The SDX appliance is architected such that each instance runs as a separate virtual machine with its own dedicated kernel, CPU resources, memory resources, address space, and bandwidth allocation. Network I/O is done in a way that not only maintains aggregate system performance but also enables complete segregation of each tenant's data and management-plane traffic.
</p>

<p>
	A Citrix ADC can be connected to a network using various of methods such as one arm mode or two-arm mode. Citrix ADC requires multiple IP addresses to function on a network. The most important IP addresses are:
</p>

<ul>
	<li>
		<strong>NSIP (ADC IP):</strong> There must be only one NSIP assigned to each instance, used for management. NSIP addresses are not shared between a High Availability (HA) Pair.
	</li>
	<li>
		<strong>VIP (Virtual Server IP):</strong> Virtual Server IPs are used to host services on Citrix ADCs. Examples would be a Load Balancing Virtual Server, SSL VPN Virtual Server, and so on. VIP addresses are shared between a High Availability (HA) Pair.
	</li>
	<li>
		<strong>SNIP (Subnet IP):</strong> This IP address is used to access a particular subnet. This IP is used as the source address on the network when accessing resources on the particular subnet configured for use with the subnet IP. SNIPs are shared between a High Availability (HA) pair.
	</li>
</ul>

<h2>
	Citrix Application Delivery Management Analytics (Insight) Overview
</h2>

<h3>
	Web Insight
</h3>

<p>
	Provides visibility into enterprise web applications allowing IT administrators to monitor all web applications using the Citrix ADC by providing integrated and real-time monitoring of applications. Web Insight provides critical information such as user and server response time, enabling IT organizations to monitor and improve application performance.
</p>

<h3>
	HDX Insight
</h3>

<p>
	Provides end-to-end visibility for ICA traffic passing through Citrix ADC. HDX Insight enables administrators to view real-time client and network latency metrics, historical reports, End-to-end performance data, and troubleshoot performance issues.
</p>

<h3>
	Gateway Insight
</h3>

<p>
	It provides visibility into the failures that users encounter when logging on, regardless of the access mode. You can view a list of users logged on at a given time. Also the number of active users, number of active sessions, and bytes and licenses used by all users at any given time.
</p>

<h3>
	Security Insight
</h3>

<p>
	It provides a single-pane solution to help you assess your application security status and take corrective actions to secure your applications.
</p>

<h3>
	SSL Insight
</h3>

<p>
	SSL Insight provides visibility into secure web transactions (HTTPS). It allows IT administrators, to monitor all the secure web applications being served by the Citrix ADC by providing integrated and real-time and historical monitoring of secure web transactions.
</p>

<h3>
	TCP Insight
</h3>

<p>
	TCP Insight provides an easy and scalable solution for monitoring the metrics of the optimization techniques and congestion control strategies (or algorithms) used in ADC instances to avoid network congestion in data transmission.
</p>

<h3>
	Video Insight
</h3>

<p>
	The Video Insight feature provides a secure and scalable solution for monitoring the metrics of the video optimization techniques used by Citrix ADC instances to improve customer experience and operational efficiency.
</p>

<h3>
	WAN Insight
</h3>

<p>
	WAN Insight analytics enables administrators to easily monitor the accelerated and unaccelerated WAN traffic that flows between the data center and branch WAN optimization appliances. WAN Insight also provides visibility into clients, applications, and branches on the network to help troubleshoot network issues effectively.
</p>

<p>
	 
</p>

<p>
	 
</p>

<p>
	 
</p>

<p>
	 
</p>

<p>
	 
</p>

<p>
	 
</p>

<p>
	 
</p>
]]></description><guid isPermaLink="false">75</guid><pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate></item><item><title>Reference Architecture: Architectural Considerations for the General Data Protection Regulation - GDPR</title><link>https://community.citrix.com/tech-zone/design/reference-architectures/gdpr/</link><description><![CDATA[
<h2>General Data Protection Regulation (GDPR) Overview</h2>
<p>GDPR is a set of data privacy rules that apply broadly to both companies in the European Union (EU) in addition to any company globally that collects and uses data pertaining to EU residents. The GDPR went into effect on May 25, 2018 and includes several chapters which are further broken down into numbered “articles” or subsections that we will refer to in this document. These articles describe the specific requirements applicable to the handling of personal data.</p>
<h3>GDPR seeks to</h3>
<ul>
<li>Unify the different data protection regulations adopted by EU member states</li>
<li>Protect the data privacy of EU residents</li>
<li>Ensure that organizations handle personal data in a responsible and accountable manner from collection through to return or destruction</li>
</ul>
<h3>The GDPR applies to</h3>
<ul>
<li>Organizations operating within the EU</li>
<li>Organizations operating outside of the EU who offer goods and services to EU residents</li>
</ul>
<p><strong>Note:</strong> Privacy considerations for GDPR span the data lifecycle from collection, usage, storage, and secure disposal and retirement of data. It covers all personal data relating to your customers, employees, supply chain, partners, and anyone else about whom you collect personal information who resides in the EU. Personal data is any information relating to an identifiable person, therefore it is often referred to as personally identifiable information (PII). This can include information such as names, photographs, IP or email addresses, and medical information. For further detail on Citrix’s data lifecycle processes and practices, visit the <a href="https://www.citrix.com/about/trust-center/">Citrix Trust Center</a>.</p>
<h3>Two key GDPR articles are the focus of this document</h3>
<ul>
<li>Access control (included in Article 25) - calls out measures which shall ensure that by default personal data is not made accessible to an indefinite number of persons.</li>
<li>Encryption and data protection (included in Article 32) - calls out:
<ul>
<li>Pseudonymization and encryption of personal data</li>
<li>Ensure the ongoing confidentiality, integrity, availability, and resilience of processing systems and services</li>
<li>The ability to restore the availability and access to personal data in a timely manner in the event of a physical or technical incident</li>
<li>Protection from accidental and unlawful destruction, loss, alteration, unauthorized disclosure of, or access to personal data transmitted, stored, or otherwise processed</li>
</ul></li>
</ul>
<h3>How Citrix can help you with your GDPR compliance initiatives</h3>
<p>Citrix Workspace simplifies the management of your systems and data by centralizing
services in the data center or cloud as a digital workspace. The goal of this document is to
describe how it unifies applications, data, and desktops into a digital workspace for your teams. One that allows you to better align with GDPR requirements around data management, data monitoring, and information auditing.</p>
<h4>Citrix supports clients on their journey to GDPR compliance in 4 key ways</h4>
<ul>
<li>By centralizing and enclaving applications and data</li>
<li>By helping to ensure data is protected when shared or distributed</li>
<li>By controlling who has access to data and resources</li>
<li>By bringing IT together for application and data-specific security</li>
</ul>
<h3>Citrix Workspace - helping to enable GDPR compliance</h3>
<p></p><p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_gdpr_citrix-solution.png.5f3d75aa62a9cfedff3d6351db724af9.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="3232" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_gdpr_citrix-solution.png.5f3d75aa62a9cfedff3d6351db724af9.png" width="1280" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_gdpr_citrix-solution.png" loading="lazy" height="588.8"></a></p>
<h2>Data oriented approach to GDPR requirements</h2>
<p>Following the GDPR guidelines might be much easier for modern cloud companies than traditional enterprises. While most cloud companies have only a few centralized data sources where personal data is stored, traditional companies potentially have hundreds or thousands. These different data sources need to be assessed, reviewed, and updated to meet the latest data privacy standards.</p>
<p>These data sources can range from traditional SQL databases to emails, digital documents, or even physical documents. With today's often aggressive timelines, many enterprises face a challenge to properly prepare and update systems as required. It is important to understand that the GDPR doesn’t affect only active data sources, but also all backups, disaster recovery sites and physical printouts.</p>
<p>GDPR involves two key roles for data: the data controller and the data processor. The data controller is the entity who determines the purpose of the data and how the data is to be handled. The data processor handles or processes the actual data per the controller's guidelines.</p>
<p>The GDPR is all about increasing the maturity of the company when dealing with data and personal information. Citrix has always been a data and application oriented company, with a proven record of handling complex, often international projects that are dealing with thousands of applications.</p>
<p>The traditional consulting approach is focused on the business processes, identifying people and business requirements, access methods and slowly cascading down to infrastructure and data sources. However, the GDPR requires a more data centric approach. We recommend starting with identifying and assessing various locations where personal data is stored. Then move higher up the stack to make sure that data sources are properly secured. You can think about this as an inside out approach to security.</p>
<p></p><p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_gdpr_flow.png.bf9eb99d3208bdb2192a9bdf2b0acef4.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="3234" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_gdpr_flow.png.bf9eb99d3208bdb2192a9bdf2b0acef4.png" width="600" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_gdpr_flow.png" loading="lazy" height="102"></a></p>
<p><strong>Define</strong> - Start by defining the criteria of personal data that is in scope of the assessment. This phase helps you define what to look for and how to prioritize data sources from a privacy perspective. This can include employees, customers, vendors, and any other relevant entities.</p>
<p><strong>Assess</strong> - Analyze all the existing locations where data is stored. Identify the business requirements, data retention, and potential challenges to securing the data. Identify not only where the data is stored, but also how it’s being collected. Data segmentation is one of the most time consuming and critical phases of data consolidation projects. This phase requires a comprehensive approach, critical thinking, and well-defined methodology. Organizations need to consider data held in legacy systems. This is true even if there is a program in place to modernize or if the data is used only as a backup. It is important to understand that all these legacy systems are covered by the GDPR requirements as well and companies need to take a holistic approach.</p>
<p><strong>Reduce</strong> - The goal of this phase is to identify if it is possible to reduce the number of data sources that need to be secured. For example, it is possible to consolidate data sources that are being used by business units. Instead of storing client data in multiple locations, a centralized location can be used to maximize effectiveness of security measures. Maybe the data is not even needed at all – the biggest privacy offender might not even be considered critical for the business units. It is also possible that applications are simply collecting too much data (“just in case”). The applications can be modified to stop collecting excessive information and the existing data can be erased. Instead of trying to secure all the possible locations of personal data, companies can take a different approach. Instead, ask when and where do they actually need to store data about customers and other parties. As GDPR compliancy is an ongoing process with periodic reviews, minimizing the number of included data sources can prove to be an effective long-term strategy.</p>
<p><strong>Remediate</strong> - Identify if existing data sources and applications used to access them are following the GDPR guidance, or if changes are needed. If the data source includes personal data and is not secure, identify the possible approaches to solve the situation. A cross-departmental GDPR team can also identify, assess, and review not only the data itself, but also access methods, applications used and other factors. This includes items such as limiting user and third party access, revisiting requirements, and more specifically defining data security measures.</p>
<p><strong>Review</strong> - GDPR compliance is an ongoing process and data assessments need to be performed regularly. It is therefore important to implement a robust, stable, and repeatable process that can be defended if it ever needs to be presented to auditors. The data sources security assessment needs to be performed and reviewed regularly.</p>
<p>With the large number of data sources that are in scope, the goal for most companies is to choose
a few, robust, and proven architectures. This approach can help secure data sources that don’t initially meet GDPR requirements. Trying
to create a tailor-made solution for each of the problematic data sources is unrealistic, unless a company has limited data sources. The result is often an environment where only a few applications are properly secured, while the majority is left unsecured, with the implementation project stalling by months or even years and going well over budget. GDPR also presents an opportunity to update privacy architectures across applications and data usage to support evolving global and regional privacy initiatives.</p>
<p>Complexity is considered one of the biggest enemies of security. You want to identify the minimum number of different architectures to secure most of the data sources identified as critical and storing data included in the GDPR scope.</p>
<p>The Pareto principle (also known as the 80/20 rule) is important during this data assessment. Companies need to try to minimize the effort required to secure most data sources. Most enterprises have hundreds or thousands of different applications and data sources that are used. They need to promptly identify the applications that contain critical data and don’t meet the GDPR requirements. Automated application assessment solutions can reduce the time required to analyze applications.</p>
<p>In the following sections, we present a few selected architectures that can provide a universal, secure, and proven solution to help secure any type of data. This ranges from web-based applications, through legacy client/server applications hosted on Windows or Linux to data stored in various documents or exchanged through emails.</p>
<p><strong>Decision Flow for Data Types</strong>
</p><p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_gdpr_data-flow-diagram.png.5669e673fe6401be25fb0c2f8c18431c.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="3235" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_gdpr_data-flow-diagram.png.5669e673fe6401be25fb0c2f8c18431c.png" width="1280" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_gdpr_data-flow-diagram.png" loading="lazy" height="524.8"></a></p>
<h2>Securing Windows and Linux Applications</h2>
<p>Trying to secure traditional client/server applications, whether they are running on Windows or Linux operating systems, can prove challenging for various reasons.</p>
<p>The traditional approach was to secure each endpoint where these applications are installed. This involves management challenges, such as keeping all the endpoints up to date, encryption of the network traffic, data and workload encryption, implementing multifactor authentication (MFA) and encryption of the locally stored or cached data. In traditional IT architecture, defenses need to be set up around all endpoints, applications, and networks and the whole environment is only as secure as the weakest point. This traditional approach to security has often failed due to the introduction of new concepts including mobile workforce, expansion of security perimeter
with cloud computing and BYOD initiatives.</p>
<p>Another common challenge for applications installed on traditional computers is to provide the same security functionality across the whole portfolio. It’s common to have a multigenerational IT portfolio residing on a single workstation. From Office-based applications (using Microsoft Access databases or custom plug-ins) through legacy Visual Basic to the latest professionally built applications. Making sure that applications with access to sensitive data support encryption, multifactor authentication and provide enough information for auditors has always been complicated.</p>
<p><strong>Traditional Client/Server App Delivery</strong>
</p><p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_gdpr_client-server-apps.png.e291b4e33a4a6d89a3bf9bf34e7b0681.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="3237" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_gdpr_client-server-apps.png.e291b4e33a4a6d89a3bf9bf34e7b0681.png" width="1280" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_gdpr_client-server-apps.png" loading="lazy" height="908.8"></a></p>
<p>Citrix has a long tradition of providing a platform for the secure delivery of these client/server applications. This secure delivery is based on offloading the client application piece onto a dedicated set of servers (Citrix Virtual Apps and Desktops), specially designed, optimized, and secured for application delivery. By decoupling the application from the endpoint, it's possible to enable extra security features. The advantage of this approach is that security features are applied consistently. There is also no requirement for source code access and even applications that are no longer supported on newer platforms can be included.</p>
<h3>Securing Applications to GDPR Standards</h3>
<h4>Article 25 - Access to Personal Data</h4>
<p>There are multiple ways to limit or prevent users from accessing published resources. The most basic method is to simply hide the applications or desktops from users by enforcing Active Directory group membership. When publishing resources through the Citrix management console, the access is enforced on the Citrix Virtual Delivery Agent (VDA) machines hosting the workloads. Access and available functionality is further tweaked through Citrix's comprehensive policy engine.</p>
<p>The use of traditional user name/password authentication is decreasing with more secure multifactor authentication (MFA) increasing. Even for internal networks, more companies are enforcing MFA requirements to enhance security. With Citrix Virtual Apps and Desktops and Citrix Application Delivery Controller (ADC), MFA can be applied to any client/server application including even legacy applications that are hard to maintain. The ADC appliance provides an extensible and flexible approach to configuring MFA, from time-based one-time tokens, through smart cards, user or machine certificates to biometric authentication (through third party integration).</p>
<p>This access can also be configured based on various other factors. For example the endpoint a user is connecting from, the security state of endpoints such as antivirus or firewall requirements or the network where the user is connecting from. Context-aware policies can be applied, even enforcing a specific geo-location or using more advanced security measures, such as requirements for user or machine certificates to access certain resources. You can learn more about context-aware security through the zero-trust model in the following <a href="https://www.citrix.com/blogs/2019/10/02/approaching-a-zero-trust-security-model-with-citrix-workspace-part-1/">blog post</a>.</p>
<p>Even more flexibility is available through Citrix ADC’s enhanced MFA feature call nFactor authentication. To learn more about different
capabilities of nFactor authentication, refer to the following knowledge base article and one of the many deployment guides: <a href="https://support.citrix.com/article/CTX201949">https://support.citrix.com/article/CTX201949</a></p>
<p>The ability to deliver centralized access and authentication is critical in providing information about users connecting to
applications. With Citrix Virtual Apps and Desktops, all access to resources is brokered through a controller with historical data saved in a centralized database. This data can be accessed from an ODATA API to provide integration with SIEM systems or provide copies for auditors if needed. To learn more about monitoring and reporting, refer to the doc on how to <a href="https://docs.citrix.com/en-us/citrix-virtual-apps-desktops/director/site-analytics/trends.html">Monitor historical trends across a Site</a>.</p>
<p>Aside from the monitoring and reporting of user access, all administrative changes and activities can be logged to a separate database. It is recommended to enable mandatory logging, where administrative activities are not allowed unless they are logged in the Configuration Logging database first. To learn more, refer to the <a href="https://docs.citrix.com/en-us/citrix-virtual-apps-desktops/2303/monitor/configuration-logging">Configuration Logging Documentation</a></p>
<p>Finally, for the most security-conscious environments, it is possible to create a separate set of user identities and automatically switch to them. This is done using the Federated Authentication Service. The approach can be used to further minimize the impact of lateral movement and contain any security breach.</p>
<h4>Article 32 - Data Encryption in Transit</h4>
<p>With Citrix Virtual Apps and Desktops, only screen pixels are transferred between the hosting server and the endpoint. Connection parameters are established during session initiation or reconnection. CVAD can ensure that traffic coming to and from the endpoint is always encrypted, even if the application itself doesn’t support encryption. This encryption can be enabled for any published application or desktop. For details on end-to-end encryption, refer to <a href="https://www.citrix.com/content/dam/citrix/en_us/documents/white-paper/end-to-end-encryption-with-xenapp-and-xendesktop.pdf">this document</a></p>
<h4>Article 32 - Data Encryption at Rest</h4>
<p>While Citrix Virtual Apps and Desktops can help with the encryption between user and application, the back-end itself remains out of scope for this solution. However, CVAD can be used to isolate unencrypted traffic and data during the transition period utilizing secure zones. This makes sure that all data is encrypted with a long-term process. Encapsulating this data in an isolated enclave can provide the required security while the migration project is underway. You can read more about secure zones in this blog post: <a href="https://www.citrix.com/blogs/2017/10/31/unsinkable-the-myth-of-foolproof-it-security/">“Unsinkable”: The Myth of Foolproof IT Security</a>.</p>
<p>As for encryption on the endpoint, it is important to minimize data exposure at the endpoint and control data remanence. Data residing on the endpoint needs to be restricted, delivering only the minimum amount of data necessary. Virtualizing all access to personal data and then managing and protecting residual data, keystrokes and screen data is the Citrix approach. To learn more, read this blog post about the <a href="https://www.citrix.com/blogs/2017/08/31/citrix-ica-client-what-leaks/">Citrix ICA client footprint</a>.</p>
<h4>Article 32 - Data Isolation and Protection</h4>
<p>Contrary to traditional desktops on physical endpoints, server, and desktop OS images within Citrix Virtual Apps and Desktops usually have a much more restricted scope of operation. They are used to host a group of well-defined, centrally managed applications and desktops with predictable behavior and centralized configuration options.</p>
<p>There are different ways how data and applications can be protected and isolated from each other. With aggregation of resources from multiple servers, it is possible to create groups of separated servers to host different applications with different trust levels.</p>
<p>Even if applications are hosted on the same server, it is common practice to isolate and secure them. CVAD servers are used to
host well-defined, centrally managed sets of applications. This means that these servers can support more restrictive security hardening than traditional workstations. Application whitelisting solutions such as Citrix's Workspace Environment Management (WEM) Application Security feature are much more useful with servers built for specific applications rather than general workloads. Allowing only specific white-listed executables is much simpler on these special-purpose built servers than general workstations.</p>
<p>Security is enhanced even more by application of granular Citrix policies. These policies provide control over many aspects of
the workspace: available printers, ability to access network and local drives, or clipboard mapping among many more. A special template for “Security &amp; Control” is included with all the best practices and recommended settings.</p>
<p>To learn more about hardening, refer to the <a href="/en-us/tech-zone/build/tech-papers/citrix--vda-os-hardening.html">VDA Hardening Guide</a>.</p>
<p>Given that users often connect from untrusted devices and locations, extra security layers are often welcomed. Citrix <a href="https://docs.citrix.com/en-us/citrix-virtual-apps-desktops/secure/app-protection.html">App Protection Policies</a> provides anti-keylogging and anti-screen-capturing while users are connected in virtual app and desktop sessions. Sensitive data, such as credit card numbers, is hidden from malicious programs attempting to intercept. <a href="https://docs.citrix.com/en-us/citrix-virtual-apps-desktops/policies/reference/ica-policy-settings/session-watermark-policy-setting.html">Session Watermarking</a> allows administrators to place customizable text overlays in sessions. <a href="https://docs.citrix.com/en-us/session-recording">Session Recording</a> saves the entire video stream of a session to a file for later playback. These features help deter and remediate possible data exfiltration events.</p>
<p><strong>Aggregation of Applications with Different Trust Levels</strong>
</p><p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_gdpr_apps-trust-levels.png.408719c43378dc847c626d5f570a4e7c.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="3239" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_gdpr_apps-trust-levels.png.408719c43378dc847c626d5f570a4e7c.png" width="1280" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_gdpr_apps-trust-levels.png" loading="lazy" height="588.8"></a></p>
<h2>Securing Web and SaaS Applications</h2>
<p>Web apps are architecturally different from client/server apps yet also similar in many ways – including suffering from security challenges. With web apps, a specific client is replaced with a single corporate standard or multiple general-purpose web browsers,
with varying capabilities and dependencies. Although simplified, the same management challenges apply – keeping the browser up-to-date against vulnerabilities, encryption of traffic, and implementing multifactor authentication.</p>
<p>The demands for legacy application support and modern capabilities for SaaS have driven conflicting requirements. There are two types
of web apps – the born-on-the-internet-apps and webified apps-custom and legacy web apps that support the business. The born-on-the-internet apps drive the requirements on security and architecture – load balancing, scalability, failover, and performance. Webified apps drive the requirements on supportability - browser plug-ins, extensions, and validating browser updates can break functionality.</p>
<p>The goal is for the end user to interact with web apps and manipulate data. This includes personal and sensitive data regardless if running in legacy environments or on SaaS apps pushing the limits of HTML5. Gartner recommends a two-pronged strategy. This is when an organization uses a legacy browser for running legacy applications, but also employs modern browsers for all other applications. That’s where Citrix helps – tying together the user experience and security requirements for hybrid or bimodal web environments.</p>
<p>For the enterprise, maintaining multiple versions of various browsers, plug-ins, and applets while also simplifying
authentication and access is a pain point. It is addressable with Citrix Virtual Apps and Desktops or <a href="https://www.citrix.com/products/citrix-secure-browser/">Citrix Secure Browser</a> offerings. These solutions allow organizations to build a remote browsing infrastructure that separates internet and intranet web traffic from each other and the endpoint.</p>
<p><strong>Traditional Web Applications Architecture</strong>
</p><p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_gdpr_web-apps.png.a2ba46b4624d8ff72062d3de4bd6ec78.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="3241" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_gdpr_web-apps.png.a2ba46b4624d8ff72062d3de4bd6ec78.png" width="1280" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_gdpr_web-apps.png" loading="lazy" height="921.6"></a></p>
<p>The second challenge is providing unified security features across the wide range of SaaS and cloud applications that typical enterprises are using. This effectively helps to give back some IT control – especially in BYOD and mobile environments. An example is providing a unified multifactor authentication solution across all apps instead of a fragmented user experience.</p>
<p>Citrix has a long tradition of providing a platform for secure delivery of web apps. This secure delivery is based on the Citrix Application Delivery Controller (ADC). Citrix ADC secures the session between the browser and the web app – by encrypting
data in transit, maintaining strict access control, and data protection. This is largely based on its design as a reverse proxy that brokers connections coming from the browser to web app servers. And, with its position between the client and the server, extra security features can be enabled.</p>
<p>We’re going to cover how this architecture can help you secure the applications to follow GDPR standards. These technical measures fall largely under the requirements or Article 25 and 32 where controllers are required to “implement appropriate technical and organizational measures.”</p>
<p><strong>Web Applications with Citrix ADC</strong>
</p><p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_gdpr_web-apps-citrix-adc.png.104586fb3caaf35cb25715473e3bd448.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="3243" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_gdpr_web-apps-citrix-adc.png.104586fb3caaf35cb25715473e3bd448.png" width="1280" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_gdpr_web-apps-citrix-adc.png" loading="lazy" height="550.4"></a></p>
<h3>Article 25 - Access to Personal Data</h3>
<p>Authentication, Authorization, and Auditing are all core to controlling access to personal data. With Citrix ADC AAA proxy, it consolidates, extends, and enhances the traditional authentication schemes even in scenarios where the web apps do not natively support MFA. Citrix ADC supports authentication using user name/password, multifactor (MFA), time-based and one-time tokens (Citrix ADC has native One-time PIN support), smartcards, user or machine certificates and biometrics. While this is especially important for internet facing web apps, some organizations with a zero trust networking approach are moving to require MFA for “internal” access.</p>
<p>Citrix ADC's enhanced MFA, called nFactor authentication, takes into account capabilities such as SAML, client certificates, group extraction, and multiple passwords. Federation and SSO also provide an extra level of security and ease of use.</p>
<p>To learn more about different capabilities of nFactor authentication, refer to the following knowledge base article and one of the many
deployment guides: <a href="https://support.citrix.com/article/CTX201949">https://support.citrix.com/article/CTX201949</a>. On a related note, SMS-based MFA is not recommended as it has been deemed insecure by NIST.</p>
<p>To understand how Citrix protects personal data, refer to the <a href="https://www.citrix.com/about/trust-center/privacy-compliance.html">Citrix Trust Center/Privacy Policy</a>.</p>
<p>Logging, visibility, automation, and other capabilities are provided by Citrix Application Delivery Management (ADM). Refer to the <a href="https://www.citrix.com/products/citrix-application-delivery-management/">product landing page</a> for more details on Citrix ADM.</p>
<h4>Article 32 - Data Isolation and Protection</h4>
<p>Citrix ADC is a reverse proxy and as such it benefits from its location in the network architecture. Typically it is in a DMZ or security zone. From here it accepts the front-end user connection, creates a secure connection to the back-end server, and has full visibility into requests and responses. Also, Citrix ADC can change the logic of the web traffic on the fly without requiring updates to the back-end application. This includes encryption of not only the packet header but also the body as it does deep packet inspection and rewrite.</p>
<p>Citrix ADC can ensure that traffic coming to and from the browser is always encrypted, even if the web server itself doesn’t support encryption. This encryption can be enabled for any site proxied through the ADC. SSL offloading uses the ADC to perform the resource intensive SSL/TLS handshakes thereby offloading them from the back-end servers. For scenarios requiring end-to-end encryption, Citrix ADC can re-encrypt the connection to the back-end. This allows the ADC to inspect and apply security policies to the traffic. SSL bridging is available for when requirements demand that the ADC plays no part in terminating the connection. Using Citrix ADC with Citrix ADM allows administrators to keep central configuration and visibility of the cipher suites in use, helping prevent negotiation of outdated ciphers.</p>
<p><strong>Citrix ADC Encryption Options</strong>
</p><p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_gdpr_web-apps-adc-encryption-options.png.444370cf0902243bee503cd385c850aa.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="3245" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_gdpr_web-apps-adc-encryption-options.png.444370cf0902243bee503cd385c850aa.png" width="1280" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_gdpr_web-apps-adc-encryption-options.png" loading="lazy" height="806.4"></a></p>
<p>As a proxy between the browser and the web app, Citrix ADC protects the data flowing through it. That includes protecting from
attacks against databases, attacks against the web app, and other users using its built-in application firewall. Citrix ADC protects against common web attacks including SQL Injection and cross-site scripting. You can read more about the Web App Firewall in our <a href="https://docs.citrix.com/en-us/citrix-adc/current-release/application-firewall.html">product documentation</a>.</p>
<p>Protecting data also includes maximizing availability through Denial of Service (DoS/DDoS) attack protections. Combination attacks hit at all layers—so Citrix ADC provides Application layer defense (Layer 7), Transport layer defense (Layer 4) and Network layer
defense (Layer 3). Citrix ADC not only provides a multi-layer approach to DDoS protection but it is coupled with a built-in IP Reputation service. It is an effective tool in identifying the IP address that is sending unwanted requests. Since most malware comes from compromised sites, you can use the IP reputation list to preemptively reject requests that are coming from the IP with the bad reputation. Citrix ADC's forward proxy, Secure Web Gateway, can filter out connections going out to the internet based on reputational risk. This enforces security policies on outgoing web traffic, while blocking access to inappropriate sites on a per user/group basis.</p>
<p><strong>Citrix ADC Tokenization</strong>
</p><p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_gdpr_web-apps-citrix-adc-tokenization.png.c8efb31e173e31e38d7a4690ff3d36e1.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="3247" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_gdpr_web-apps-citrix-adc-tokenization.png.c8efb31e173e31e38d7a4690ff3d36e1.png" width="1280" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_gdpr_web-apps-citrix-adc-tokenization.png" loading="lazy" height="640"></a></p>
<p><strong>Citrix ADC Pseudonymization</strong>
</p><p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_gdpr_web-apps-citrix-adc-pseudo.png.6561277950176e9442d17ed58441d58d.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="3249" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_gdpr_web-apps-citrix-adc-pseudo.png.6561277950176e9442d17ed58441d58d.png" width="1280" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_gdpr_web-apps-citrix-adc-pseudo.png" loading="lazy" height="588.8"></a></p>
<p>Pseudonymization is another control mentioned in Article 32. Conceptually, it’s a procedure by which identifying fields
within a data record are replaced by one or more artificial identifiers, or pseudonyms. This makes storing personal data more secure
in the event of a breach – by using data segmentation. An example is tokenizing or hashing sensitive data that Citrix ADC parses for web-application traffic. This means hashing personally identifying data while transmitted between a controller and a processor. This is done in PCI-DSS regulated environments. For example, for cardholder data, tokenization guidelines are specific for the Primary Account Number (PAN). Tokenization replaces the PAN with a surrogate value called a token. De-tokenization is the reverse process of redeeming a token for its associated PAN value. The security of an individual token relies predominantly on the infeasibility of determining the original PAN by knowing only the surrogate value. Applications may not need as much security protection as associated with the use of PAN. For GDPR, storing tokens instead of personal data is one alternative that can help to reduce the amount of personal data in the environment, potentially reducing the effort required to adhere to GDPR requirements.</p>
<p><strong>Citrix ADC Data Protection</strong>
</p><p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_gdpr_web-apps-adc-data-protection.png.4d7d9af76407dc4096a82b50daab86ff.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="3251" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_gdpr_web-apps-adc-data-protection.png.4d7d9af76407dc4096a82b50daab86ff.png" width="1280" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_gdpr_web-apps-adc-data-protection.png" loading="lazy" height="883.2"></a></p>
<h2>Securing Mobile Applications</h2>
<p>Mobile devices, particularly with BYOD ownership, present many challenges to enterprises trying to secure data. Their use within the enterprise has driven the inception of technologies to securely manage mobile endpoints. Used beyond the borders of enterprise DMZs on any network, with apps from various sources, mobile devices present special risks to companies and their data.</p>
<ul>
<li>
<p>The GDPR data controller must secure personal data used by corporate mobile apps despite the fact they’re hosted on a user-owned mobile device.</p>
</li>
<li>
<p>The GDPR data controller must ensure the confidentiality, integrity, and availability of the personal data during its use. It must also ensure that when a user exercises their right to erase their personal data that no artifacts are left behind and exposed to other apps, users, and so forth.</p>
</li>
<li>
<p>Data controllers must support file sharing and collaboration securely between enterprise mobile apps and be able to erase files from the device in a moment’s notice.</p>
</li>
<li>
<p>They must help protect the platform OS, mitigate the risk of malware, and enforce device security and pertinent policies to control device functions that make data vulnerable to loss.</p>
</li>
<li>
<p>Data controllers must provide Unified Endpoint Management across multiple platforms including control of critical software patches that include updates to address vulnerabilities.</p>
</li>
</ul>
<p><strong>Traditional Mobile Application Architecture</strong>
</p><p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_gdpr_mobile-apps.png.77a51d5b7a0f744c3731d3d02dd85bd0.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="3253" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_gdpr_mobile-apps.png.77a51d5b7a0f744c3731d3d02dd85bd0.png" width="1280" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_gdpr_mobile-apps.png" loading="lazy" height="806.4"></a></p>
<p>Citrix Endpoint Management (CEM) is a market leading Unified Endpoint Management (UEM) component of the Citrix Workspace. It can help you secure and manage various mobile endpoint platforms ranging from iOS, Android, Windows, and Mac to rugged mobile devices and IoT devices. CEM also manages various mobile apps on endpoints and supports various delivery mechanisms including virtualized, web &amp; SaaS, public app store, native enterprise mobile apps, and containerized mobile apps.</p>
<p>In the following sections, we discuss how this architecture can help you secure personal data on mobile endpoints.</p>
<p>The <a href="https://docs.citrix.com/en-us/mdx-toolkit/overview.html">Citrix MDX Toolkit</a>, the Citrix Endpoint Management MAM container technology, is a key part of the Citrix Endpoint Management solution to protect data. It provides end-to-end security maximizing protection of personal data, mitigating the risk of loss, by encrypting apps and data and managing the transfer of data through 70+ <a href="https://docs.citrix.com/en-us/mdx-toolkit/policies-platform.html">MDX Policies</a>. These include functional areas such as Authentication, Device Security, Networking, Encryption, Access Thresholds, App Interaction, App Restrictions, and other app-specific policies.  All of these are applied on a per-app basis designed to mitigate the risk of personal data loss.</p>
<p>MDX Technologies help provide end-to-end protection by managing encrypted data transfers between device and intranet
data stores, in addition to between managed apps. Once these apps are installed, Secure Hub, a mobile app that provides access to desktops, apps and data, helps continuously enforce the desired policies. IT is always in control of the enterprise content on users’ devices. MDX also includes micro VPN, a per-app VPN that technology that integrates with Citrix Gateway. It is utilized seamlessly by managed apps to encrypt data traffic to and from the enterprise intranet.</p>
<h3>Article 25 - Access to Personal Data</h3>
<p>Citrix Endpoint Management provides various enrollment methods to validate user identity before initiating Mobile Device Management or Mobile App Management and then access to secure data. For example, a two-factor authentication solution can include One-time PIN (OTP) enrollment invitations along with Active Directory domain credentials. For environments with the highest security requirements, enrollment invitations may be linked to a device by SN, UDID, EMEI to uniquely identify the hardware.</p>
<p>Citrix Endpoint Management also provides a variety of multifactor authentication options to validate the identity of enrolled user devices. These include combinations of domain user name and password, RADIUS, Azure Active Directory, certificate, or derived credentials (a high security federal standard based on government issued personal identity verification cards). Certificate and domain authentication used with a CEM pin is a popular secure combination that provides a great user experience.</p>
<h3>Article 32 - Data Encryption in Transit</h3>
<p>Citrix Endpoint Management supports data encryption in transit through several methods such as:</p>
<ul>
<li>Containerized with embedded VPN when apps utilize the CEM SDK</li>
<li>Platform-based utilizing a Citrix ADC VPN client</li>
<li>Through policies to utilize native platform OS VPN functionality</li>
</ul>
<p>The Citrix Endpoint Management SDK, or MDX technology, with micro VPN provides secure per-app VPN functionality to encrypt data in-transit between the mobile endpoint and intranet back-end. It works with Secure Hub and Citrix ADC to ensure MDX app traffic is directed over a dedicated encrypted VPN. It is unique Citrix technology that provides seamless encryption of data in transit.</p>
<p>For more information see this <a href="https://support.citrix.com/article/CTX136914">micro VPN FAQ</a>; configuration of Android platform per-app VPNs using Citrix VPN for Android or iOS; or the configuration of platform per-app VPNs using native functionality.</p>
<h3>Article 32 - Data Encryption at Rest</h3>
<p>Citrix Endpoint Management (CEM) supports data encryption at rest through the CEM MDX with Citrix-provided encryption libraries, or through platform level encryption directly or indirectly with partner containerization solutions.</p>
<p>CEM can provide encryption at rest on any supported mobile device independent of platform encryption. The CEM secure app container technology, MDX, uses its own software applied data encryption using FIPS compliant algorithms minimizing the risk of data loss.</p>
<p>Device level encryption varies by platform. Apple's iOS features a file system with the OS information and user data written to flash memory. It also uses a factory-assigned device ID and group ID with the device user's passcode so only that passcode can unencrypt data on the phone or tablet. Android also provides encryption, although not every device manufacturer creates hardware that supports it and users can turn encryption off accidentally or deliberately with a factory reset on Android devices. Find more information about the <a href="https://docs.citrix.com/en-us/mdx-toolkit/10.html">MDX Toolkit</a>, <a href="https://docs.citrix.com/en-us/mdx-toolkit/policies-platform.html">MDX policies</a>, and <a href="https://docs.citrix.com/en-us/mdx-toolkit/developer-guide-overview.html">integrating with MDX</a> in Citrix documentation.</p>
<h3>Article 32 - Data Isolation and Protection</h3>
<p>Containerization enables mobile BYOD programs in corporate environments empowering users to use mobile endpoints as an enterprise device and personal device simultaneously by separating apps and data. It helps enterprises prevent malware, intruders, system resources or other applications from interacting with the application and any of its sensitive information. Citrix Endpoint Management enables containerized native mobile apps through MDX technology, and it also integrates with several partner container solutions providing further value by integrating many broad app and device management capabilities.</p>
<h2>Securing Files with Workflows</h2>
<p>Many of our daily workflows consist of the creation of files and collaborating on those files with others. Often those files contain personal data, such as name and address, Social Security numbers or credit card details. Unfortunately, there are many examples of data leakage occurring, from lost USB drives filled with files containing personal information to phishing attempts to file access on secured systems with employee permissions. Under GDPR it is necessary to secure and control this information in every step of the process. This includes storing these files inside a repository to internal and external collaboration and providing context-based access to the files. It also means monitoring for irregular activities and reporting on who has which permissions to which files.</p>
<p>Citrix Content Collaboration (ShareFile) provides a range of controls to help organizations become and remain compliant under GDPR. This starts by having a choice on the location where files are being stored. Options include inside one of the Citrix-managed StorageZones in different global regions or in a StorageZone managed by the customer in their own data centers or private cloud. Multiple locations can be used, allowing for the optimal location to store each individual file. By using the StorageZone Connectors technology to access existing repositories, such as network file shares or SharePoint document libraries, all file related activities are done through a single platform. This makes auditing the activities easier, in addition to making sure that the correct permissions are in place.</p>
<p><strong>StorageZones Options</strong>
</p><p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_gdpr_storagezones.png.b25b7e4c8d6768f38ead6ba1adbeb40b.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="3255" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_gdpr_storagezones.png.b25b7e4c8d6768f38ead6ba1adbeb40b.png" width="1280" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_gdpr_storagezones.png" loading="lazy" height="691.2"></a></p>
<p>For more information on StorageZones including architecture details and deployment options, see the <a href="/en-us/tech-zone/design/reference-architectures.html#citrix-content-collaboration">Content Collaboration Reference Architectures</a></p>
<p>Collaboration on files has not changed much over the years. Most of these workflows use email to send files to a group of recipients. Feedback is gathered from each of those recipients as separate emails to the thread and update the files before starting the cycle again. As such, multiple messages and copies of the same document are stored inside the email platform, which makes it more difficult to comply with GDPR policies. By using the ShareFile Feedback and Approvals workflow to collaborate on documents, all feedback and document revisions are stored in a single place, making it easier to comply with such regulations.</p>
<p>Many paper-based workflows in an organization contain personal data in some form. For instance, the workflow to hire people involves multiple steps where personal information needs to be recorded and shared. All this information needs to comply with GDPR regulations, centralizing and digitizing these workflows have a positive impact. ShareFile Custom Workflows is therefore designed to allow this personal data to be securely captured, securely stored inside ShareFile and, where needed, completed with an electronic signature. All information is stored together in a single location and is audited for who accesses and modifies this information, providing a practice that complies with GDPR.</p>
<h3>Article 32 - Data Encryption in Transit</h3>
<p>All connections between ShareFile clients and the Content Collaboration SaaS Control Plane, between ShareFile clients and ShareFile StorageZones, in addition to the Content Collaboration SaaS Control Plane and ShareFile StorageZones are fully encrypted. See <a href="https://support.citrix.com/article/CTX208317">CTX208317</a> and the <a href="https://www.sharefile.com/resources/citrix-sharefile-security-and-compliance-frequently-asked-questions">Citrix ShareFile Security and Compliance FAQ</a> for further details.</p>
<p>Citrix Files (ShareFile) clients for iOS and Android, which can be managed by Citrix Endpoint Management, also use the embedded VPN capabilities provided by the CEM SDK. See “Data Encryption in Transit” in the Securing Mobile Applications section of this document for more details.</p>
<h3>Article 32 - Data Encryption at Rest</h3>
<p>Citrix Content Collaboration offers a flexible architecture which provides customers the choice of where files are stored at rest. These repositories are called StorageZones and are managed by either Citrix or the customer.</p>
<p>For StorageZones managed by Citrix, hosted in either Amazon Web Services or Microsoft Azure, files are stored at rest with 256-bit AES encryption. The encryption key is a shared key for all files stored across every ShareFile tenant. Alternatively, this can be a customer-managed encryption key, configured in the Amazon Key Management Service. When the StorageZone is managed by the customer, per-file encryption can be enabled inside the StorageZone configuration. When enabled, files are encrypted with 256-bit AES encryption.</p>
<p>Files are not only stored at rest inside the repository in the data center or cloud, but also on the devices used by employees. As a best practice, it’s recommended to always use full drive encryption on Windows and macOS devices. On top of that, Content Collaboration allows controls for both corporate-owned and BYOD devices. It allows for a remote wipe of the user files, removing only the corporate files and not touching the personal files of the employee. When a remote wipe is initiated, the Citrix Files client sends back all file activity that has occurred offline between the wipe command and the actual wipe of the user data repository. This occurs when ShareFile logs on to the ShareFile SaaS application tier.</p>
<p>Similar safeguards are in place with the Citrix Files app for iOS and Android. All files at rest are encrypted by using the device keychain and encryption capabilities. When using a Citrix Endpoint Management-managed version of Citrix Files, the encryption key is stored inside Secure Hub. And because ShareFile provides a robust rendering and editing engine for Office files and PDF documents, there are many advantages. With the mobile Citrix Files clients, files don’t need to leave the applications for reviewing or editing. ShareFile offers multiple mobile device management options to secure the files, for instance by blocking access from jailbroken devices and blocking opening files in other applications. When using Citrix Endpoint Management, other advanced policies for more granular control are available.</p>
<h3>Article 25 - Access to Personal Data</h3>
<p>Authentication to ShareFile is either controlled by a user name and password (ShareFile credentials) or by using corporate credentials through a SAML Identity Provider. When using ShareFile credentials, the password for the user is subject to the password policy that has been configured. This password policy controls the requirements for the password in terms of complexity, history and how often it must be changed. The password is stored hashed and salted inside the ShareFile SaaS application tier for enhanced security.</p>
<p>SAML based authentication is commonly used for authentication to cloud services. Instead of authenticating directly to the
enterprise directory, such as Active Directory, the authentication is done against an Identity Provider. This removes the need to expose the enterprise directory directly to ShareFile, but still allows users to authenticate with their enterprise credentials. The Identity Provider controls how the user must identify and authenticate itself, based on the context of that authentication attempt. This allows for extra security measures like multifactor authentication for authentication attempts from outside the corporate network and SSO
based on the Windows authentication token for domain-joined devices.</p>
<h3>Article 32 - Data Isolation and Protection</h3>
<p>ShareFile integrates with market-leading Data Loss Prevention products for customer-managed StorageZones and Cloud Access Security Broker Services for any type of ShareFile StorageZone, enabling content-aware restrictions. Documents stored inside a ShareFile StorageZone are examined by the same policies that are already set up for other repositories. Based on those scanning results, files can be blocked for download or shared with others.</p>
<p>Sharing files is a key component of modern workflows. This makes controlling the access and permissions to documents containing
privacy related information a priority, especially when the files are outside the direct control of your own security policies. With ShareFile Information Rights Management (IRM) watermarking, documents are protected via watermark with an online view only option that helps address unauthorized access including various image capture techniques. It also facilitates forensic investigations as needed to comply with GDPR.</p>
<p>ShareFile uses versioning to store different versions of the same file. This is not only convenient to review changes made to
documents, but this can help when recovering from a malware or ransomware attack. By restoring the files to the state before the attack, data loss is minimized. Recovery time is reduced by automating the restore to previous versions by using the ShareFile PowerShell cmdlets.</p>
<p>For customers requiring all files to be archived for compliance purposes, ShareFile offers this capability. When a user deletes a file, or when the file is automatically deleted by a retention policy, the file is stored inside an archive instead of being fully deleted from ShareFile. Dedicated auditors can review the contents of the archived files, including access permissions, during an investigation.</p>
<h2>Summary</h2>
<p><a href="https://www.citrix.com/products/citrix-workspace/">Citrix Workspace</a> simplifies the management of your systems and data by centralizing services in the data center or cloud as a digital workspace. It helps Citrix customers adhere to many GDPR requirements by helping to ensure that applications are centralized and enclaved, data is protected when shared or distributed, access to data and resources is controlled, and IT is brought together for application and data-specific security.</p>
<p>To learn more about security and compliance with Citrix secure digital workspace solutions, visit <a href="https://www.citrix.com/it-security/">https://www.citrix.com/it-security/</a>.</p>
<p>To learn more about Citrix’s approach to data management, including security documentation, privacy and security compliance, and vulnerability management, visit <a href="https://www.citrix.com/about/trust-center/">https://www.citrix.com/about/trust-center/</a>.</p>
<h2>Additional Links</h2>
<p><a href="https://www.citrix.com/about/trust-center/privacy-compliance.html">Citrix Trust Center and Privacy Policy</a></p>
<p><a href="https://www.citrix.com/blogs/2019/04/29/citrix-tips-top-10-findings-from-citrix-environment-security-assessments/">Top 10 findings from Citrix environment security assessments</a></p>
<p><a href="https://citrixready.citrix.com/category-results.html?search=security">Citrix Ready Security Solutions</a></p>
<p><a href="https://www.citrix.com/global-partners/">Citrix Global Partners</a></p>]]></description><guid isPermaLink="false">89</guid><pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate></item><item><title>Reference Architecture: Citrix Analytics</title><link>https://community.citrix.com/tech-zone/design/reference-architectures/citrix-analytics/</link><description><![CDATA[<h2>
	Audience
</h2>

<p>
	This document is intended for technical professionals, IT decision-makers, partners, and system-integrators. This document also allows the administrator to explore and adopt the Citrix Analytics service with other Citrix portfolio products. Citrix Analytics enhances the security of an organization’s Citrix environment by efficiently monitoring and managing the risk factors. The reader need to have a basic understanding of Citrix portfolio products and solutions.
</p>

<h2>
	Objective of this document
</h2>

<p>
	This document covers a technical overview, architectural concepts, and capabilities of the Citrix Analytics service. This document includes a tailor-made solution with other Citrix solutions that help administrators and users to understand and adopt in their Citrix environment.
</p>

<h2>
	Intelligent threat detection and mitigation
</h2>

<p>
	In today’s era, organizations are more concerned about the security and privacy of information, and many organizations are betting on best-in-class defensive security solution in their environment. One of the emerging technologies is an intelligent threat detection platform. Such a platform helps many organizations to aggregate, correlate, and analyze threat data from different sources to take relevant defensive actions.
</p>

<p>
	In the dynamic environment of IT, the threat factors keep changing, advanced threats focused on public and private organizations are growing at a faster rate. The organization needs a complete security solution that mitigates and encounters any dangerous acts. The solution safeguards the organization's intellectual property, sensitive information, and financial data.
</p>

<p>
	Machine learning and Artificial intelligence
</p>

<p>
	Many organizations have faced (and continue to face today) various cyber-attacks. Intruders are adopting automation and scripts in their attacks and increase their speed and scale. The organization must mitigate and be able to respond in real-time at CPU speed to counter these kinds of aggressive attacks. Machine learning and artificial intelligence can help and enables the organization to counter the attacks and build defensive walls effectively.
</p>

<p>
	Adoption of machine learning and artificial intelligence improves the security of the IT environment. Workforce errors can be mitigated and reduced. Machine learning and artificial intelligence can help in areas such as risk analysis, anti-malware, and anomaly detection.
</p>

<p>
	Artificial intelligence can be applied to differentiate between normal and abnormal behaviors in the environment. Machine learning can be used to recognize these behaviors and provide a layer of security to network and software applications in the background. Machine learning uses stored logs/records and learns from the analyses to predict the data in the future.
</p>

<p>
	 
</p>

<p>
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="reference-architectures_citrix-analytics_001.png" data-fileid="2662" href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_citrix-analytics_001.png.89452345246c99e1d1643c31abb2c5d7.png" rel=""><img alt="reference-architectures_citrix-analytics_001.png" class="ipsImage ipsImage_thumbnailed" data-fileid="2662" style="height: auto;" width="1068" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_citrix-analytics_001.png.89452345246c99e1d1643c31abb2c5d7.png" loading="lazy" height="672.84"></a>
</p>

<p>
	 
</p>

<p>
	The preceding diagram depicts a conceptual machine learning platform. In general, a machine learning platform caters for analyzing input data from data collection points (data sources). In later stages, it segregates data based on the type of applications. The platform keeps updating the models and profiles based on the data and the results. Machine learning techniques are applied in multiple ways that are specific to the requirement.
</p>

<p>
	By applying machine learning techniques on more massive sets of data, an organization can be more efficient in their threat intelligence compilation and threat investigation. In this way, organizations can be more proactive in their approach to security threats and concerns.
</p>

<h2>
	Introduction to Citrix Analytics
</h2>

<p>
	Many organizations are facing cyber threats from all over the world. In real-time, it is challenging to identify insider threats as it may be even more damaging than external threats. Standard analytics often fails to expose those threats before severe damage to the system. The organization has to adopt user behavior analytics delivering proactive, secure insights. Standard analytics solutions primarily focus on security, and resolution does not provide visibility into the user session and information on user activities. Eventually, the IT team loses control over the performance and operations of the IT environment.
</p>

<p>
	Citrix has developed a turnkey solution that works across the Citrix product portfolio. Citrix Analytics collects data across Citrix portfolio products and third-party products. Citrix Analytics allows administrators to detect, analyze, and proactively respond to security threats across Citrix environments.
</p>

<p>
	Citrix Analytics enables administrators to handle user and application security threats, improve app performance, and support continuous operations. Citrix Analytics is available as a cloud service delivered through Citrix Cloud.
</p>

<h3>
	Citrix Analytics offerings
</h3>

<p>
	Security Analytics
</p>

<p>
	Security Analytics provides visibility into user and application behavior. The administrator can distinguish between normal behavior and a malicious attacker. An inbuilt machine learning platform that proactively identifies and manages internal and external threats.
</p>

<p>
	Performance Analytics
</p>

<p>
	Performance Analytics provides visibility into user session details across an organization. Metrics collected by analytics engines help to identify issues that arise during a user’s login session.
</p>

<p>
	Operations Analytics
</p>

<p>
	Operations Analytics provides information on user activities such as websites visited and bandwidth consumption. Metrics that are received from data sources help to monitor networks and take corrective actions.
</p>

<p>
	 
</p>

<p>
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="reference-architectures_citrix-analytics_002.png" data-fileid="2664" href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_citrix-analytics_002.png.a70e3483ff119ad8dde639130f955ddd.png" rel=""><img alt="reference-architectures_citrix-analytics_002.png" class="ipsImage ipsImage_thumbnailed" data-fileid="2664" style="height: auto;" width="1221" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_citrix-analytics_002.png.a70e3483ff119ad8dde639130f955ddd.png" loading="lazy" height="793.65"></a>
</p>

<p>
	 
</p>

<p>
	The preceding diagram depicts the Citrix Analytics service that is a cloud-based service which works across Citrix portfolio products and third-party products. It collects data from different data sources and detects abnormal behaviors of a user or any other entity. This process uses Machine Learning (ML) algorithms that continuously monitor the customer environment.
</p>

<h2>
	Data Governance and Data Sources
</h2>

<p>
	Data governance provides information regarding the collection, storage, retention of logs, and protects the gathered data by Analytics service. Security administrators can choose the logs that have to be monitored and take representative action based on the logged activity.
</p>

<p>
	 
</p>

<p>
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="reference-architectures_citrix-analytics_003.png" data-fileid="2666" href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_citrix-analytics_003.png.e6cedabaaebb655417c9bce1f5959a7b.png" rel=""><img alt="reference-architectures_citrix-analytics_003.png" class="ipsImage ipsImage_thumbnailed" data-fileid="2666" style="height: auto;" width="1362" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_citrix-analytics_003.png.e6cedabaaebb655417c9bce1f5959a7b.png" loading="lazy" height="749.1"></a>
</p>

<p>
	 
</p>

<p>
	Most of the organizations have some form of data governance for individual applications or sections. Data governance is an essential task to perform during the project implementation. Few of the obligatory topics encompassed by data governance are:
</p>

<ul>
	<li>
		Data sources
	</li>
	<li>
		Data privacy
	</li>
	<li>
		Data transmission
	</li>
	<li>
		Data control
	</li>
	<li>
		Data retention
	</li>
	<li>
		Data storage
	</li>
	<li>
		Data quality and types
	</li>
</ul>

<p>
	Reference: <a href="https://docs.citrix.com/en-us/citrix-analytics/data-governance.html" rel="external nofollow">Data governance</a>
</p>

<h3>
	Data Sources
</h3>

<p>
	Data sources are the services that send data to Citrix Analytics. Services that are running on cloud or in the on-premises locations that become a data source to Citrix Analytics by enabling certain functions within the product.
</p>

<p>
	Services that are running on Citrix Cloud, including Content Collaboration, Endpoint Management associated with the Citrix Cloud account, are automatically discovered by Citrix Analytics. Other on-premises services such as Citrix Gateway and Citrix Virtual Apps and Desktops can be added as data sources to Citrix Analytics.
</p>

<p>
	The preceding diagrams show external data sources such as Microsoft® Graph Security and Microsoft® Active Directory are part of Citrix Analytics data sources. Citrix Analytics captures data from these external data sources after successful integration.
</p>

<p>
	Reference: <a href="https://docs.citrix.com/en-us/citrix-analytics/data-sources.html" rel="external nofollow">Data Sources</a>
</p>

<h2>
	Tech Concepts
</h2>

<p>
	This section discusses the architecture and services offered by Citrix Analytics.
</p>

<h2>
	Citrix Analytics for Citrix portfolio products
</h2>

<p>
	Citrix Analytics can be integrated with multiple Citrix and Microsoft® products. It collects metrics on users, applications, endpoints, networks, and data to deliver comprehensive insights into user behavior. Citrix Analytics, as of today, supports the following products:
</p>

<ul>
	<li>
		Citrix Secure Private Access
	</li>
	<li>
		Citrix Content Collaboration
	</li>
	<li>
		Citrix Gateway
	</li>
	<li>
		Citrix Virtual Apps and Desktops
	</li>
	<li>
		Citrix Endpoint Management
	</li>
</ul>

<p>
	Citrix Analytics creates profiles of the users and applications across the network. Profile creation is only possible with information/data collected from the data source (user behavior information). This profile contains information about the devices, files, locations, and so on. To mitigate the threats in the network, the pattern generated by analytics provides high visibility and take necessary action. This service provides complete visibility over user behavior in the environment.
</p>

<p>
	 
</p>

<p>
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="reference-architectures_citrix-analytics_004.png" data-fileid="2668" href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_citrix-analytics_004.png.e16988011483f90dc19d2a5cb9b2552d.png" rel=""><img alt="reference-architectures_citrix-analytics_004.png" class="ipsImage ipsImage_thumbnailed" data-fileid="2668" style="height: auto;" width="2067" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_citrix-analytics_004.png.e16988011483f90dc19d2a5cb9b2552d.png" loading="lazy" height="1095.51"></a>
</p>

<p>
	 
</p>

<p>
	The preceding picture depicts the integration of Citrix products with the Citrix Analytics cloud service. Typically, end-users use their own devices to connect to Citrix Workspace and access required resources. Those services communicate with the Citrix Analytics Service hosted in Citrix Cloud. Also, customers can tie back on-premises Citrix Virtual Apps and Desktops environment to communicate with the Citrix Analytics service. Connecting on-premises resources requires either site aggregation or an on-premises StoreFront and Citrix Analytics agent installed on the Delivery Controller.
</p>

<p>
	Citrix Analytics service receives logs directly from the data sources. Captured data remain in the databases for 13 months. Citrix Analytics uses these metrics for analysis through a machine learning platform and can perform actions when deviant or suspicious activities occur.
</p>

<h2>
	Citrix Analytics and Microsoft® products integration
</h2>

<p>
	Most organizations today rely on a diverse portfolio of security solutions that include endpoint protection, network firewalls, identity, access controls, cloud security, and so on. In the end, it tends to increase cost and complexity. Along with that, connecting multiple security tools and workflows becomes a challenging task for the IT team. To overcome these challenges integration process is simplified. Citrix Analytics integration with Microsoft® products helps unification of security and incident management which results in simplified reporting and analytics.
</p>

<p>
	Citrix Analytics supports the integration of Microsoft® products that include Microsoft® Graph Security and Microsoft® Active Directory. Currently, it supports Azure AD Identity Protection and Windows Defender ATP from Microsoft® Graph Security. To enable this service on Microsoft® products, the customer must have enabled Citrix Analytics Service from Citrix Cloud. For more information, refer to the following <a href="https://docs.citrix.com/en-us/citrix-cloud/overview/signing-up-for-citrix-cloud/signing-up-for-citrix-cloud" rel="external nofollow">link</a>.
</p>

<h3>
	Enable Citrix Analytics on Microsoft® Graph Security
</h3>

<p>
	Microsoft® Graph Security API provides a standard interface and uniform schema to integrate security alerts, unlock contextual information, and simplify security automation. Microsoft® Graph Security aggregates data from multiple security providers, including Microsoft® Defender ATP, Office 365 ATP, Azure ATP, Microsoft® Intune, Azure Sentinel, and so on.
</p>

<p>
	Microsoft® Graph Security API can easily be coupled with Citrix Analytics. The Microsoft® Graph Security acts as a data source for the Analytics service that transmits data from Security Providers. Currently, this solution supports the following security providers from Microsoft® Graph Security:
</p>

<ul>
	<li>
		Azure AD Identity Protection
	</li>
	<li>
		Windows Defender ATP
	</li>
</ul>

<p>
	 
</p>

<p>
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="reference-architectures_citrix-analytics_005.png" data-fileid="2670" href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_citrix-analytics_005.png.cdc032c650726d8da1b53bdcc84b2f58.png" rel=""><img alt="reference-architectures_citrix-analytics_005.png" class="ipsImage ipsImage_thumbnailed" data-fileid="2670" style="height: auto;" width="1166" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_citrix-analytics_005.png.cdc032c650726d8da1b53bdcc84b2f58.png" loading="lazy" height="897.82"></a>
</p>

<p>
	 
</p>

<p>
	The preceding diagram depicts the Microsoft® Security Graph solution with Citrix Analytics to enhance overall analytics capabilities. The administrator can have clear insights of user behavior during the resource utilization that includes applications and end-user desktops. Citrix Analytics pulls the data from Microsoft® Graph Security hosted on Azure. Both the products work on the same platform that even makes it easier for integration.
</p>

<p>
	Citrix Analytics UI provides processed data based on risk score indicators from high, medium, and low. Based on the risk score, value analytics can perform actions on that particular user. With the external feeds from Microsoft® Graph Security to Citrix, Analytics administrators can start to have a holistic picture of the access to resources by a user.
</p>

<p>
	Reference: <a href="https://docs.citrix.com/en-us/citrix-analytics/getting-started/microsoft-security-graph.html" rel="external nofollow">Integration of Microsoft® Graph Security</a>
</p>

<h3>
	Integrate Analytics with Microsoft® Active Directory
</h3>

<p>
	The organization can connect Microsoft® Active Directory service with Citrix Analytics, resulting in an enhancement in the user profile in Citrix Analytics. User profile in Citrix Analytics encompasses imported information such as user information and user groups data. In case risky users are identified by Citrix Analytics, imported information like job title, organization, office location, email, and contact details help in gaining visibility of the user profile.
</p>

<p>
	Security Analytics has provisions for monitoring privileged users. This functionality enables the administrator to monitor behavior anomalies of privileged users closely. For example, if a privileged user starts deleting files and folders excessively, the machine learning platform detects unusual behavior and triggers an alarm.
</p>

<p>
	Reference: <a href="https://docs.citrix.com/en-us/citrix-analytics/security-analytics/users-dashboard.html#privileged-users" rel="external nofollow">Privileged users in Citrix Analytics</a>
</p>

<p>
	 
</p>

<p>
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="reference-architectures_citrix-analytics_006.png" data-fileid="2672" href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_citrix-analytics_006.png.1e3d94ffacc6e05fe02dc8e979efb4dc.png" rel=""><img alt="reference-architectures_citrix-analytics_006.png" class="ipsImage ipsImage_thumbnailed" data-fileid="2672" style="height: auto;" width="1172" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_citrix-analytics_006.png.1e3d94ffacc6e05fe02dc8e979efb4dc.png" loading="lazy" height="761.8"></a>
</p>

<p>
	 
</p>

<p>
	The preceding diagram depicts the integration of Microsoft® Active Directory with Citrix Analytics. Before enabling this service by the administrator, Cloud Connectors are installed on-premises to pull the information. On successful integration, the Citrix administrator has to turn on data processing on the Citrix Analytics UI so that they can monitor and troubleshoot risks identified in the environment.
</p>

<p>
	To learn more about integration with Microsoft® Active Directory, refer to this <a href="https://docs.citrix.com/en-us/citrix-analytics/getting-started/active-directory-integration.html" rel="external nofollow">link</a>.
</p>

<h2>
	Analytics
</h2>

<p>
	Countless use cases exist by adopting Citrix Analytics in a Citrix environment. The Analytics Service is divided into three areas:
</p>

<ul>
	<li>
		Security Analytics
	</li>
	<li>
		Performance Analytics
	</li>
	<li>
		Operations Analytics
	</li>
</ul>

<p>
	Each offering is discussed in the following sections:
</p>

<h2>
	Security Analytics
</h2>

<p>
	Security Analytics aggregates data from endpoints for security monitoring and threat detection. Many deployments have a different set of tools that incorporate large and diverse data sets into the algorithm. As technology changes security analytics include adaptive learning skills. That helps to calibrate detection models, based on learnings and logic behind anomaly detection.
</p>

<p>
	Citrix Security Analytics receives data from multiple data sources and displays actionable insights. Machine learning algorithms within Security Analytics detect and takes predefined actions on user behavior. Risk score indicators that are dynamic based on users, user behavior, endpoints, network traffic, and files.
</p>

<p>
	Security Analytics supports integration with the following:
</p>

<ul>
	<li>
		Citrix Content Collaboration
	</li>
	<li>
		Citrix Endpoint Management
	</li>
	<li>
		Citrix Secure Private Access
	</li>
	<li>
		Citrix Gateway
	</li>
	<li>
		Citrix Virtual Apps and Desktops
	</li>
	<li>
		Microsoft® Graph Security
	</li>
	<li>
		Microsoft® Active Directory
	</li>
</ul>

<p>
	To learn more about Security Analytics, refer to the following <a href="https://docs.citrix.com/en-us/citrix-analytics/security-analytics.html" rel="external nofollow">link</a>.
</p>

<h3>
	User risk indicators
</h3>

<p>
	User risk indicators are user activities that look suspicious or can pose a security threat to the organization. User risk indicators span across all Citrix Products used in the deployment. The signs are based on user behavior and are triggered where the user’s behavior deviates from the norm. User risk indicators help in determining the user’s risk score.
</p>

<p>
	User risk indicators occur based on the following categories:
</p>

<ul>
	<li>
		Access-based
	</li>
	<li>
		Data based
	</li>
	<li>
		Application-based
	</li>
</ul>

<p>
	 
</p>

<p>
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="reference-architectures_citrix-analytics_007.png" data-fileid="2674" href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_citrix-analytics_007.png.7fdfd946f9ddf9f9bb5a9262e7641d42.png" rel=""><img alt="reference-architectures_citrix-analytics_007.png" class="ipsImage ipsImage_thumbnailed" data-fileid="2674" style="height: auto;" width="1302" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_citrix-analytics_007.png.7fdfd946f9ddf9f9bb5a9262e7641d42.png" loading="lazy" height="742.14"></a>
</p>

<p>
	 
</p>

<p>
	The preceding diagram depicts user risk score indicators. The indicators are based on user behavior and are triggered where the user’s behavior deviates from the norm.
</p>

<p>
	Reference: <a href="https://docs.citrix.com/en-us/citrix-analytics/security-analytics/risk-indicators.html" rel="external nofollow">Citrix user risk indicators</a>
</p>

<h3>
	Policies and actions
</h3>

<p>
	A policy is defined as a set of conditions that must be met for an action to execute. A policy contains a single condition and one or more actions. The administrator can create single policy with multiple actions that can be applied to a user’s account.
</p>

<p>
	Policies on Citrix Analytics help to perform actions on user accounts when unusual or suspicious activities occur. Once policies are applied, the action is triggered immediately after an unexpected event occurs.
</p>

<p>
	 
</p>

<p>
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="reference-architectures_citrix-analytics_008.png" data-fileid="2676" href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_citrix-analytics_008.png.6a4583d91733ff364dde665052df460f.png" rel=""><img alt="reference-architectures_citrix-analytics_008.png" class="ipsImage ipsImage_thumbnailed" data-fileid="2676" style="height: auto;" width="1400" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_citrix-analytics_008.png.6a4583d91733ff364dde665052df460f.png" loading="lazy" height="658"></a>
</p>

<p>
	 
</p>

<p>
	As mentioned, the policy is a set of conditions. The risk score and risk score change are global conditions applied to a specific user for a particular data source.
</p>

<p>
	Reference: <a href="https://docs.citrix.com/en-us/citrix-analytics/security-analytics/policies-and-actions.html#what-are-policies" rel="external nofollow">Policies</a>
</p>

<p>
	Actions help to respond to suspicious events and prevent future anomalous events from occurring. The administrator can take action on user accounts that display unusual or suspicious behavior. It is up to the admin to apply action automatically, or manually depending on the conditions.
</p>

<p>
	Reference: <a href="https://docs.citrix.com/en-us/citrix-analytics/security-analytics/policies-and-actions.html#what-are-actions" rel="external nofollow">Actions</a>
</p>

<h2>
	Performance Analytics
</h2>

<p>
	Performance Analytics is a powerful tool to find the root cause for end-user experience issues. Also, it quantifies user experience, and app performance gives users end-to-end visibility. Performance Analytics supports multi-site aggregation and reporting so that data represented from multiple sites or multiple sources in a unified display.
</p>

<p>
	The user experience score is calculated based on latency, logon duration, reconnections, and failures. The exact root cause of the problem identified by keenly looking into the metrics. For example, logon duration includes: brokering, VM Start, HDX Connection, Authentication, GPOs, Profile Load, and so on.
</p>

<p>
	 
</p>

<p>
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="reference-architectures_citrix-analytics_009.png" data-fileid="2678" href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_citrix-analytics_009.png.bd196dd9b0eb5edfc70e2453f21d86c5.png" rel=""><img alt="reference-architectures_citrix-analytics_009.png" class="ipsImage ipsImage_thumbnailed" data-fileid="2678" style="height: auto;" width="1300" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_citrix-analytics_009.png.bd196dd9b0eb5edfc70e2453f21d86c5.png" loading="lazy" height="754"></a>
</p>

<p>
	 
</p>

<p>
	The preceding diagram shows the UX score compilation by getting information from an end user’s latency, logon duration, failures, and reconnections. It allows the administrator to drill down further to find the root cause of the issues that users are experiencing. Performance analytics is available for both on-premises and cloud-based Citrix Virtual Apps and Desktops environments.
</p>

<p>
	To learn more about user experience, refer to the following <a href="https://docs.citrix.com/en-us/citrix-analytics/performance-analytics/user-analytics.html#what-is-user-experience-analytics" rel="external nofollow">link</a>.
</p>

<h2>
	Operations Analytics
</h2>

<p>
	Operations Analytics is a more specific term oriented to business analytics that focuses on improving existing operations. Operations Analytics involves the use of various data aggregation to get more transparent information for day to day IT services. Citrix infrastructure consists of multiple products that are an amalgamation of different sets of workloads, and the administrator needs to have insight into the environment. Also, many administrators fail to focus on improving and optimization of the Citrix environment.
</p>

<p>
	To overcome such problems, Citrix has embedded Operations Analytics into an analytics solution. The analytics solution contains machine learning algorithms and delivers actionable insights into the operational data of customers Citrix environments.
</p>

<p>
	For example, if an enterprise is using the Citrix Secure Private Access service, admins can use the operations dashboards to get insights into user operations and application operation data. The administrator has thorough visibility of the data consumption (download &amp; upload), domains accessed, and other available metrics according to the data sources. These metrics help in procuring and providing resources and quickly responding to any operations issues.
</p>

<p>
	In another way, operations analytics support the idea of enterprise resource planning. Operation Analytics aggregates information to enhance the proactive approach towards resource management.
</p>

<p>
	 
</p>

<p>
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="reference-architectures_citrix-analytics_010.png" data-fileid="2680" href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_citrix-analytics_010.png.8301159af3b3ae0fb643839cf47f6603.png" rel=""><img alt="reference-architectures_citrix-analytics_010.png" class="ipsImage ipsImage_thumbnailed" data-fileid="2680" style="height: auto;" width="1300" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_citrix-analytics_010.png.8301159af3b3ae0fb643839cf47f6603.png" loading="lazy" height="754"></a>
</p>

<p>
	 
</p>

<p>
	The preceding diagram depicts Operations Analytics. It has two dashboards that are:
</p>

<p>
	User Operations: Provides an overview of the user operations data based on transactions and data usage volume.
</p>

<p>
	App Operations: Provides an overview of app operations data based on domains, categories, and download volume.
</p>

<p>
	Reference: <a href="https://docs.citrix.com/en-us/citrix-analytics/operations-analytics.html" rel="external nofollow">Operations Analytics</a>
</p>

<h2>
	Citrix Analytics integration with Citrix Products
</h2>

<p>
	Citrix Analytics integrated with the other Citrix components labeled “data sources.” The following products supported by Citrix Analytics service and provides insights about user behavior in the Citrix environment.
</p>

<ul>
	<li>
		Citrix Secure Private Access
	</li>
	<li>
		Citrix Content Collaboration
	</li>
	<li>
		Citrix Endpoint Management
	</li>
	<li>
		Citrix Gateway
	</li>
	<li>
		Citrix Virtual Apps and Desktops
	</li>
</ul>

<p>
	In this section, the integration of Citrix Analytics with other Citrix products discussed.
</p>

<h3>
	Citrix Analytics and Citrix Secure Private Access
</h3>

<p>
	Citrix Secure Private Access service enables the administrators to provide a cohesive experience integrating single sign-on, remote access, and content inspection into a unique solution for end-to-end Secure Private Access. Administrators can protect the organization’s network and end-user devices from malware and data leaks by filtering access to specific websites and website categories.
</p>

<p>
	Citrix Secure Private Access and Citrix Analytics solutions gives clear insights into user behavior and monitors the entire network. The inbuilt capability of Citrix Analytics that uses machine learning helps to take corrective actions. Citrix Analytics uses similar metrics and collected by the Secure Private Access service. The parameters of activities of users, such as websites visited, and the bandwidth spent. It also detects malware and phishing sites.
</p>

<p>
	 
</p>

<p>
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="reference-architectures_citrix-analytics_011.png" data-fileid="2682" href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_citrix-analytics_011.png.d5c6e60ad2e07af113aaddd96afd68bc.png" rel=""><img alt="reference-architectures_citrix-analytics_011.png" class="ipsImage ipsImage_thumbnailed" data-fileid="2682" style="height: auto;" width="1477" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_citrix-analytics_011.png.d5c6e60ad2e07af113aaddd96afd68bc.png" loading="lazy" height="856.66"></a>
</p>

<p>
	 
</p>

<p>
	The preceding diagram depicts a holistic view of Citrix Secure Private Access integration with the Citrix Analytics service. Citrix Secure Private Access and Citrix Analytics Services are hosted on Citrix Cloud. Data processing can be enabled by administrator with few clicks on the Analytics UI. Then Citrix Analytics starts capturing the data from Secure Private Access.
</p>

<p>
	Security Analytics
</p>

<p>
	The following are policies that an administrator can create to take actions based on a user’s activity.
</p>

<ul>
	<li>
		<p>
			Attempt to Access Blacklisted URL: Policy that can enable to indicate when a user attempts to access a blacklisted URL
		</p>
	</li>
	<li>
		<p>
			Risky Website Access: This policy suggests that the user tried to access malicious, suspicious, or unsafe websites with high reputation ratings. (URL reputation rating is given for websites. The values range from 1 to 4. 4 is the riskiest website, and 1 is a clean site
		</p>
	</li>
	<li>
		<p>
			Unusual Download Volume: The volume of data downloaded by the user from an application or websites has exceeded the threshold defined implicitly by Citrix Analytics
		</p>
	</li>
	<li>
		<p>
			Unusual Upload Volume: The amount of data uploaded by the user from an app or sites has surpassed the limit set implicitly by Citrix Analytics
		</p>
	</li>
</ul>

<p>
	To learn more about Citrix Analytics integration with Citrix Secure Private Access, refer to the following <a href="https://docs.citrix.com/en-us/citrix-secure-workspace-access/monitor-user-activity-and-manage-settings-with-analytics.html" rel="external nofollow">link</a>.
</p>

<h3>
	Citrix Analytics and Citrix Content Collaboration
</h3>

<p>
	Citrix Content Collaboration enables us to quickly and securely exchange documents, send extensive material by email, and safely handle document transfers to third parties. In the Citrix Workspace environment, the user can access all of their files from the Citrix Workspace app. To track the user’s behavior and activity, it is cumbersome. In a small scale or large-scale Citrix environment, threats hidden behind the screen are tough to discern and take precautionary measures.
</p>

<p>
	Citrix Content Collaboration can be monitored and troubleshot with the help of Citrix Analytics. Citrix Content Collaboration service hosted on Citrix Cloud nimbly integrates with Analytics service by enabling the data sources.
</p>

<p>
	 
</p>

<p>
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="reference-architectures_citrix-analytics_012.png" data-fileid="2684" href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_citrix-analytics_012.png.aac70d18b51c9f8ce1d3fdec431748d5.png" rel=""><img alt="reference-architectures_citrix-analytics_012.png" class="ipsImage ipsImage_thumbnailed" data-fileid="2684" style="height: auto;" width="1477" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_citrix-analytics_012.png.aac70d18b51c9f8ce1d3fdec431748d5.png" loading="lazy" height="856.66"></a>
</p>

<p>
	 
</p>

<p>
	The preceding diagram depicts the integration of Citrix Content Collaboration and Citrix Analytics service. Security Analytics as part Analytics service support monitoring and troubleshooting of user behavior and activities.
</p>

<p>
	Security Analytics
</p>

<p>
	The following are policies that an administrator can create to take actions based on the user’s activity.
</p>

<ul>
	<li>
		<p>
			Excessive file downloads: This policy indicates an attempt to download data that exceeds the AI-based threshold for this period
		</p>
	</li>
	<li>
		<p>
			Excessive file/folder deletion: This policy indicates an attempt to delete a disproportionate number of files or folders, which exceed the AI-based threshold for the user
		</p>
	</li>
	<li>
		<p>
			Excessive file sharing: This policy indicates that the share links created and shared have exceeded the threshold set by the machine learning algorithms for this period
		</p>
	</li>
	<li>
		<p>
			Excessive file uploads: This policy indicates an attempt to upload data that exceeds the AI-based threshold for this period
		</p>
	</li>
	<li>
		<p>
			Excessive login failures: the user makes multiple failed login attempts
		</p>
	</li>
	<li>
		<p>
			Ransomware activity suspected (File Replaced): This policy indicates an effort to replace existing files with encrypted versions, resembling a ransomware attack
		</p>
	</li>
	<li>
		<p>
			Excessive access to sensitive files (DLP alert): indicates an attempt to access files deemed confidential more than the threshold defined in the Citrix Content Collaboration Data Loss Prevention (DLP) policy
		</p>
	</li>
	<li>
		<p>
			Unusual login access: This indicator is triggered when the user has suspicious access to Citrix Content Collaboration account identified by the Analytics AI engine, based on user’s usage locations and behavior patterns
		</p>
	</li>
	<li>
		<p>
			Ransomware activity suspected (Files Updated): This policy indicates an attempt to update existing files with encrypted versions, resembling a ransomware attack
		</p>
	</li>
</ul>

<p>
	In case any unusual behavior or suspicious activity detected by Citrix Analytics service, then it can protect the data by disabling the user and expire all links.
</p>

<h3>
	Citrix Analytics and Citrix Endpoint Management
</h3>

<p>
	Citrix Endpoint Management is a solution for managing endpoints, offering mobile device management (MDM) and mobile application management (MAM) capabilities. With Endpoint Management, the administrator can manage device and app policies and deliver apps to users.
</p>

<p>
	Usually, the end-user might change device or install one of the blacklisted apps. Such incidents trigger an alarm in the Endpoint Management environments. Most of the time, it may go unnoticed to Citrix administrators or the possibility of manual errors.
</p>

<p>
	In such cases, when an administrator has to manage thousands of endpoints, it becomes a burden. This process tends to increase much working hours managing the devices. To overcome these problems, Citrix Endpoints Management can be integrated with Citrix Analytics service by the administrator. That helps in detection of unmanaged device, blacklisted app installed device detection, and applying actions on such device can be automated.
</p>

<p>
	 
</p>

<p>
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="reference-architectures_citrix-analytics_013.png" data-fileid="2686" href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_citrix-analytics_013.png.b6a76e697f27b817542b6d0da91e57e8.png" rel=""><img alt="reference-architectures_citrix-analytics_013.png" class="ipsImage ipsImage_thumbnailed" data-fileid="2686" style="height: auto;" width="1477" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_citrix-analytics_013.png.b6a76e697f27b817542b6d0da91e57e8.png" loading="lazy" height="856.66"></a>
</p>

<p>
	 
</p>

<p>
	The preceding diagram depicts Citrix Analytics integration with Citrix Endpoint Management (Citrix Cloud service). From the Analytics UI with just a few clicks, the Endpoint Management service can be monitored and detect any suspicious activities on endpoints. This monitoring service starts on any device Android, iOS, managed, or unmanaged, so that the administrator will have a clear view of devices such as jailbroken, blacklisted apps.
</p>

<p>
	Security Analytics
</p>

<p>
	The following policies that an administrator can create to take actions based on the devices and applications.
</p>

<ul>
	<li>
		<p>
			A device with blacklisted apps detected: This policy indicates the detection of a device with blacklisted applications on the network using Citrix Endpoint Management service
		</p>
	</li>
	<li>
		<p>
			Jailbroken or rooted device detected: This policy indicates the detection of a jailbroken or rooted device on the network using Citrix Endpoint Management service
		</p>
	</li>
	<li>
		<p>
			Unmanaged device detected: This policy indicates that an unmanaged device discovered by Citrix Endpoint Management service in your network
		</p>
	</li>
</ul>

<p>
	When any of the conditions are met, the administrator has an option to give a notification to the administrator and user. The administrator can also lock that particular device.
</p>

<h3>
	Citrix Analytics and Citrix Gateway
</h3>

<p>
	Citrix Gateway service provides secure remote access solutions with a diverse Identity and Access Management (IdAM) capabilities. Gateway service helps in delivering a unified experience into SaaS apps, heterogeneous Virtual Apps and Desktops, and so forth.
</p>

<p>
	Citrix Gateway’s End Point Analysis (EPA) scan policies help to detect user access-based threats and reports in the UI. Similarly, Citrix Gateway detects all the user logon failures, which can be primary, secondary, or tertiary authentication failures. Also, authorization failures distinguished from the Citrix Gateway.
</p>

<p>
	Citrix Gateway metrics on user logon activity are collected by Citrix Analytics to perform an automated task that would not be practical for an administrator to do manually.
</p>

<p>
	 
</p>

<p>
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="reference-architectures_citrix-analytics_014.png" data-fileid="2688" href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_citrix-analytics_014.png.4bc57f1a8921668325496d9a49b1bfb5.png" rel=""><img alt="reference-architectures_citrix-analytics_014.png" class="ipsImage ipsImage_thumbnailed" data-fileid="2688" style="height: auto;" width="1477" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_citrix-analytics_014.png.4bc57f1a8921668325496d9a49b1bfb5.png" loading="lazy" height="856.66"></a>
</p>

<p>
	 
</p>

<p>
	The preceding diagram depicts Citrix Analytics integration with Citrix Gateway Service. The administrator has to enable data processing so that Citrix Analytics starts capturing the data from the Gateway Service.
</p>

<p>
	Security Analytics
</p>

<p>
	The following policies can be created by the administrator to automate the monitoring activity.
</p>

<ul>
	<li>
		<p>
			Authorization failures: This policy indicates that the Analytics AI engine identified that the user has attempted to access a resource without sufficient permissions
		</p>
	</li>
	<li>
		<p>
			EPA scan failures: This policy shows an attempt to access the network using a device that has failed Citrix Gateway’s End Point Analysis (EPA) scan before or after authentication
		</p>
	</li>
	<li>
		<p>
			Logon failures: This policy indicates that the Analytics AI engine identified multiple primary authentication failures based on the user’s usage and behavior patterns
		</p>
	</li>
	<li>
		<p>
			Unusual login access: This policy suggests an attempt to logon to Citrix Gateway from significant locations that deviated from the user’s access pattern
		</p>
	</li>
</ul>

<p>
	With the help of Citrix Analytics, when any of the conditions crop up, then the administrator can take action on that user by enabling “Log off user” from the Analytics UI. Else administrators can examine that user’s activity with the help of selecting “Notify administrator.”
</p>

<h2>
	Citrix Analytics and Citrix Virtual Apps and Desktops
</h2>

<p>
	Citrix Virtual Apps and Desktops are virtualization solutions that give IT control of virtual machines, applications, licensing, and security, while providing anywhere access for any device. Citrix Virtual Apps and Desktops allow end-users to run applications and desktops independently of the device’s operating system and interface. Similarly, administrators have the advantage of managing the network and control access from selected devices or all devices.
</p>

<p>
	Citrix Analytics for Virtual Apps and Desktops framework gives an insight into user activities. Based on user behavior, alarm, or notifications are triggered when the user’s behavior deviates from the normal behavior. App-based risk indicators are triggered when users attempt to access an unauthorized application over a specific period. Data based risk indicators are generated for unusual data upload and download with a large volume.
</p>

<p>
	 
</p>

<p>
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="reference-architectures_citrix-analytics_015.png" data-fileid="2690" href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_citrix-analytics_015.png.81df5f51ff7283f20e3bd92015094797.png" rel=""><img alt="reference-architectures_citrix-analytics_015.png" class="ipsImage ipsImage_thumbnailed" data-fileid="2690" style="height: auto;" width="1477" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_citrix-analytics_015.png.81df5f51ff7283f20e3bd92015094797.png" loading="lazy" height="856.66"></a>
</p>

<p>
	 
</p>

<p>
	The preceding diagram depicts Citrix Analytics integration with Citrix Virtual Apps and Desktops. Based on the user's attempt to access resources with a device that has unsupported operating systems, new equipment, an alarm triggered with notification. The inbuilt machine learning platform keeps feeding the latest update into its database, and profiles are updated. In the future, any anomaly in the environment can be easily detected and mitigated without admin intervention.
</p>

<p>
	Security Analytics
</p>

<p>
	The following policies can be created by the administrator to automate the monitoring activity.
</p>

<ul>
	<li>
		<p>
			Potential Data Exfiltration: This policy indicates an attempt to exfiltrate data from Citrix Workspace to an external device or location
		</p>
	</li>
	<li>
		<p>
			Access from New Device(s): This policy indicates an attempt to log on to Citrix Workspace from a new device
		</p>
	</li>
	<li>
		<p>
			Access from a device with unsupported OS: This policy indicates an attempt to access the network launching receiver from a device with an unsupported OS version or unsupported browser version
		</p>
	</li>
	<li>
		<p>
			Unusual Application usage (SaaS): This policy indicates that the user used applications at achieved times that deviate from the user’s usage and behavior patterns identified by Citrix Analytics
		</p>
	</li>
	<li>
		<p>
			Unusual Application usage (Virtual): This policy indicates that the Analytics AI engine identified usage of applications at great times based on the user’s usage and behavior patterns
		</p>
	</li>
</ul>

<p>
	Citrix Analytics can perform actions on the user’s account when the preceding conditions are encountered. During the policy creation the administrator can enable the action when any conditions are met.
</p>

<p>
	Reference: <a href="https://docs.citrix.com/en-us/citrix-analytics/security-analytics/risk-indicators/citrix-virtual-apps-and-desktops-risk-indicators.html" rel="external nofollow">CVAD Risk Indicators</a>
</p>

<p>
	Performance Analytics
</p>

<p>
	Performance Analytics gives an insight into user session details in the Citrix environment. The data collected by Citrix Analytics helps to monitor and troubleshoot issues that arise during a user’s login session.
</p>

<p>
	The following are metrics that Citrix Performance Analytics provides to the administrator.
</p>

<ul>
	<li>
		<p>
			User Experience: This offering provides insights into the user and session performance parameters — a profound view of all sites in the organization within a concise dashboard. The user experience score helps to segregate the users based on their experience namely Excellent, Fair, or Weak
		</p>
	</li>
	<li>
		<p>
			User Sessions: The User Session section of the User Experience dashboard displays an important session metric for the chosen period and Site. The administrator can view Total Sessions, Total unique users, and Session failures data
		</p>
	</li>
	<li>
		<p>
			Session Responsiveness: This data represents the ICA Round Trip time. The information used to quantify user experience. The Session Responsiveness has Active Session, Session classification, and Session classification trend. If any session is facing network issues, the session responsiveness trend data helps to identify such problems in the network
		</p>
	</li>
	<li>
		<p>
			Session Logon Duration: Logon duration is the app or desktop availability after the user clicks in the Citrix Workspace app. Total logon time includes phases such as Brokering, VM Start, HDX Connection, Authentication, Profile Load, Logon Script, GPO, and Shell Launch. This section has Total logons, Session classification, and sorted by Delivery Groups
		</p>
	</li>
</ul>

<p>
	Reference: <a href="https://docs.citrix.com/en-us/citrix-analytics/performance-analytics/user-analytics.html#user-experience-score" rel="external nofollow">Performance Analytics</a>
</p>

<h2>
	Citrix Analytics and on-premises Citrix Virtual Apps and Desktops
</h2>

<p>
	Many organizations having on-premises Citrix Virtual Apps and Desktops environments can take advantage of the Citrix Analytics Cloud Service. Citrix Analytics supports and discovers data sources automatically.
</p>

<p>
	To enable Analytics on Virtual Apps and Desktops Sites administrator can adopt one of the following methods to onboard on-premises Virtual Apps and Desktops Sites to Citrix Analytics:
</p>

<ul>
	<li>
		Onboard Sites using Workspace
	</li>
	<li>
		Onboard Sites using StoreFront
	</li>
</ul>

<p>
	 
</p>

<p>
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="reference-architectures_citrix-analytics_016.png" data-fileid="2692" href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_citrix-analytics_016.png.6eea2682896c6a0eebdfef1ccf4f4558.png" rel=""><img alt="reference-architectures_citrix-analytics_016.png" class="ipsImage ipsImage_thumbnailed" data-fileid="2692" style="height: auto;" width="1477" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_citrix-analytics_016.png.6eea2682896c6a0eebdfef1ccf4f4558.png" loading="lazy" height="974.82"></a>
</p>

<p>
	 
</p>

<h3>
	Onboard Virtual Apps and Desktops Sites using Workspace
</h3>

<p>
	Citrix Analytics automatically discovers the sites once added to Citrix Workspace. The Virtual Apps and Desktops site card displays the number of discovered Sites and users. To add Sites in Citrix Cloud the customer needs to have a Workspace subscription. The administrator has to do Site aggregation before proceeding with onboarding on Citrix Analytics.
</p>

<p>
	The administrator has to turn on data processing on the Site card. Once the Citrix Analytics start receiving the events, collected data can be viewed based on the selected time. A policy agent installed to configure the policies and this step is not associated with data transmission from the data sources. To know more about policy agent and installation, refer to the following <a href="https://docs.citrix.com/en-us/citrix-analytics/getting-started/virtual-apps-desktops-data-source.html#onboard-virtual-apps-and-desktops-sites-using-workspace" rel="external nofollow">link</a>.
</p>

<h3>
	Onboard Virtual Apps and Desktops Sites using StoreFront
</h3>

<p>
	Another method that StoreFront can become a data source to Citrix Analytics is by aggregating applications and desktops from Citrix Virtual Apps and Desktops Sites into a single store for users. User events captured by Citrix Analytics process through to get actionable insights into user behaviors. There are a few prerequisites that the administrator has to configure before enabling this method. On the networking front, StoreFront deployments must have TCP port 443 open for outbound internet connection. In case environment uses proxy servers on the network, administrator has to allow a particular port of communication.
</p>

<p>
	From the Citrix Analytics service, the administrator has to connect to an on-premises StoreFront deployment. To enable this feature, import the configuration settings. That makes Citrix Analytics receive the data from StoreFront.
</p>

<p>
	To learn more on Citrix Virtual Apps and Desktops as a data source, refer to the following <a href="https://docs.citrix.com/en-us/citrix-analytics/getting-started/virtual-apps-desktops-data-source.html#onboard-virtual-apps-and-desktops-sites-using-workspace" rel="external nofollow">link</a>.
</p>

<p>
	Onboarding Citrix Performance Analytics
</p>

<p>
	Performance Analytics is a comprehensive monitoring solution. Performance analytics helps in monitoring and viewing the usage of Citrix Virtual Apps and Desktops Sites in the organization. To enable these capabilities, the administrator has to configure on-premises sites with Citrix Analytics from the Citrix Director console. This feature requires Director version 1909 or later, Delivery Controller and VDA version 1906 or later.
</p>

<p>
	Reference: <a href="https://docs.citrix.com/en-us/citrix-virtual-apps-desktops/director/install-and-configure/onboarding.html" rel="external nofollow">Configuring on-premises Sites with Citrix Analytics for performance</a>
</p>

<h2>
	Key Benefits of Citrix Analytics
</h2>

<p>
	Citrix Analytics is an intuitive analytics service that allows administrators to monitor and identify inconsistent or suspicious activity on the networks. A turn-key machine learning platform that provides actionable insights into user behavior based on indicators across users, endpoints, network traffic, and files.
</p>

<p>
	An organization can solve business challenges and performance-related issues by adopting analytics solutions built-on a machine learning platform. There are various benefits that organizations and administrators can realize by selecting Analytics Service in Citrix brownfield deployment or green field deployment.
</p>

<ul>
	<li>
		<p>
			Detect and analyze threats based on user behavior Detect and prevent ransomware attacks by taking security measures. Monitor and analyze user access, and authentication behavior helps to stop malicious activity and prevent any data loss. Automated platform with the help of ML and AI algorithms, any anomalies are detected
		</p>
	</li>
	<li>
		<p>
			Health visibility Advanced analytics helps to identify issues proactively. Application Performance Analytics distills app data and many real-time performance metrics into a single-digit App Score that shows responsiveness of an app. Admins and app owners can drill down into the infrastructure associated with specific apps to troubleshoot issues
		</p>
	</li>
	<li>
		<p>
			Tighter external security Citrix Analytics generates a threat index based on violation type, rate of attack, location, and client details
		</p>
	</li>
	<li>
		<p>
			Improved internal security Citrix Analytics collects a wide variety of data from many sources surrounding user activity, access behaviors, and network and data usage patterns. The automated machine learning platform helps to mitigate any unusual occurrences. Information on UI helps administrators to understand the activities/events on the environment
		</p>
	</li>
	<li>
		<p>
			Central management and automation Citrix Analytics collects different metrics from multiple resources, that help an administrator to monitor all Citrix portfolio products from a single UI
		</p>
	</li>
	<li>
		<p>
			Cloud service Citrix Analytics is a SaaS offering from Citrix Cloud that has security, performance, and the operational dashboard. The UI provides a summary and categorization of the user risk profiles, user experience details, and so on in the Citrix environment
		</p>
	</li>
</ul>

<h2>
	Summary
</h2>

<p>
	Many of the global security challenges are not addressed by existing traditional threat protection tools alone. Most of the attacks come from external actors that possibly defended, but strikes from within the perimeter are even more menacing. While defending external threats, many organizations fail to recognize the impact on performance and identifying the root cause.
</p>

<p>
	Citrix Analytics that comes with built-in machine learning enhanced with artificial intelligence holds great promise in addressing many security challenges in a Citrix environment. Citrix Analytics is not just about the security of a Citrix environment. It gives visibility into performance with user experience score and user operations visibility in terms of domains visited, data consumption, and so on. Integration of Citrix Analytics in green field or brownfield deployments helps the administrator to have greater control of the Citrix environment and reduce IT costs.
</p>

<h2>
	Sources
</h2>

<p>
	Goal of this reference architecture is to assist you with planning your own implementation. To make this job easier, we would like to provide you with source diagrams that you can adapt in your own detailed designs and implementation guides: <a class="ipsAttachLink" data-fileext="pptx" data-fileid="35419" href="https://community.citrix.com/applications/core/interface/file/attachment.php?id=35419&amp;key=1c17f4c7d87288c0cf42cb27651642ef" rel="">reference-architectures_citrix-analytics.pptx</a>
</p>

<h2>
	References
</h2>

<p>
	The following resources referenced for a better understanding of Citrix Analytics:
</p>

<p>
	<a href="https://docs.citrix.com/en-us/citrix-analytics" rel="external nofollow">Citrix Analytics</a>
</p>

<p>
	<a href="https://docs.citrix.com/en-us/citrix-analytics/security-analytics.html" rel="external nofollow">Security Analytics</a>
</p>

<p>
	<a href="https://docs.citrix.com/en-us/citrix-analytics/operations-analytics.html" rel="external nofollow">Operations Analytics</a>
</p>

<p>
	<a href="https://docs.citrix.com/en-us/citrix-analytics/faqs.html" rel="external nofollow">FAQ</a>
</p>

<p>
	 
</p>

<p>
	 
</p>

<p>
	 
</p>

<p>
	 
</p>

<p>
	 
</p>

<p>
	 
</p>

<p>
	 
</p>

<p>
	 
</p>

<p>
	 
</p>

<p>
	 
</p>

<p>
	 
</p>

<p>
	 
</p>

<p>
	 
</p>

<p>
	 
</p>

<p>
	 
</p>

<p>
	 
</p>
]]></description><guid isPermaLink="false">76</guid><pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate></item><item><title>Reference Architecture: Citrix DaaS</title><link>https://community.citrix.com/tech-zone/design/reference-architectures/daas/</link><description><![CDATA[
<h2>Overview</h2>
<p>When Covid-19 occurred, it forced all of Worldwide Co. employees to work remotely. Worldwide Co. office users typically worked from a corporate-owned PC associated with their cube/office. Worldwide Co. quickly deployed Citrix DaaS to allow users to securely access their work PC from home using Remote PC Access.</p>
<p>During the 2020 pandemic, Worldwide Co. realized that employees in certain roles were equally or more productive working from home than at the office. Therefore, they wanted to ensure their environment allowed for these new permanent remote workers.</p>
<p>Although many employees became permanent remote workers, a group of employees have roles requiring onsite, office work. However, Worldwide Co. wants to provide the office-based employees with the flexibility of working remotely as needed.</p>
<p>This reference architecture shows how Worldwide Co. planned their Citrix DaaS environment.</p>
<h2>Success Criteria</h2>
<p>Worldwide Co. defined a list of success criteria that formed the basis for the overarching design.</p>
<table>
<thead>
<tr>
<th>Success Criteria</th>
<th>Description</th>
<th>Solution</th>
</tr>
</thead>
<tbody>
<tr>
<td>Flexible work style</td>
<td>Although many users have a primary work environment, the solution supports work style flexibility allowing users to work from anywhere, as needed.</td>
<td>Citrix DaaS</td>
</tr>
<tr>
<td>Minimize hardware costs</td>
<td>A large percentage of users works in the office on traditional PCs. The solution allows users to work remotely while still having the same experience.</td>
<td>Remote PC Access</td>
</tr>
<tr>
<td>Secure resources</td>
<td>Corporate resources must be secured for users which are accessed with untrusted endpoints or from unsecured locations.</td>
<td>VPN-less access</td>
</tr>
<tr>
<td>Minimize data center footprint</td>
<td>Minimize the data center footprint to have the flexibility and agility to scale as needed and decrease the amount of physical hardware and appliances that need to be managed.</td>
<td>Citrix DaaS</td>
</tr>
<tr>
<td>Adaptive session</td>
<td>Due to the varying nature of the end-user's connection to the resource, the experience dynamically change as the end user's environment is changing.</td>
<td>HDX Adaptive Technologies</td>
</tr>
<tr>
<td>User experience reporting</td>
<td>As IT is unable to fully control the links between remote users and the virtual desktops, they need to be able to monitor the overall experience and identify the areas for improvement.</td>
<td>Citrix Analytics for Performance</td>
</tr>
<tr>
<td>Detection of security threats</td>
<td>Prevent loss of intellectual property and assess, detect, and prevent security risks in real time.</td>
<td>Citrix Analytics for Security</td>
</tr>
<tr>
<td>Optimal Routing</td>
<td>To decrease latency and improve the experience, the solution must use the best route possible.</td>
<td>Citrix Gateway Service</td>
</tr>
<tr>
<td>Optimize cloud costs</td>
<td>Minimize cloud costs by automatically scaling workloads based on schedule and usage.</td>
<td>Autoscale</td>
</tr>
<tr>
<td>Multifactor authentication</td>
<td>With security being top of mind, MFA is required to ensure another layer of authentication and protection of corporate resources.</td>
<td>Time-Based One-Time Password micro-service</td>
</tr>
<tr>
<td>Optimal performance and app response time</td>
<td>In a multi-user environment, avoid a situation where a single user can monopolize CPU resources, which negatively impact other users.</td>
<td>Workspace Management- CPU optimization</td>
</tr>
<tr>
<td>Optimize the images provided to the end users</td>
<td>Easy tool to help administrators optimize their images</td>
<td>Citrix Optimizer</td>
</tr>
<tr>
<td>Business Continuity</td>
<td>Options for resiliency in case there is an outage with the Cloud services</td>
<td>Citrix Service Continuity</td>
</tr>
</tbody>
</table>
<h2>Conceptual Architecture</h2>
<p>Based on their requirements above, Worldwide Co. created the following architecture. This architecture will not only meet all of the above requirements, but it will give Worldwide Co. the foundation they need to expand to other use cases as they are identified in the future.</p>
<p></p><p><a href="//media.invisioncic.com/m329563/monthly_2024_02/reference-architectures_virtual-apps-and-desktops-service_image1.png.4d24b17c78f5b39be1a8287568d2039d.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="3195" src="//media.invisioncic.com/m329563/monthly_2024_02/reference-architectures_virtual-apps-and-desktops-service_image1.png.4d24b17c78f5b39be1a8287568d2039d.png" width="1280" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_virtual-apps-and-desktops-service_image1.png" loading="lazy" height="716.8"></a></p>
<p>The Citrix DaaS architecture is divided up into layers. This framework provides a foundation to understand the technical architecture for the most common virtual desktop/application deployment scenarios. All layers flow together to create a complete, end-to-end solution for an organization.</p>
<p>At a high-level:</p>
<ul>
<li><strong>User Layer:</strong> This layer describes the end-user environment and end-point devices that are used to connect to resources.
<ul>
<li>External Users: Access Citrix Workspace to gain access to Azure Virtual Desktop hosted in Azure.</li>
<li>Internal Users: When in the office, continue to use their physical PC. When working remotely, they access Citrix Workspace and Remote PC Access to connect to their office-based physical PC.</li>
</ul></li>
<li><strong>Access Layer:</strong> This layer describes details surrounding external and internal access to the Citrix environment.
<ul>
<li>Citrix Workspace: A complete digital workspace solution that allows you to deliver secure access to the information, apps, and other content that are relevant to a person’s role in your organization.</li>
<li>Gateway Service: This cloud-based service provides secure remote access with Identity and Access Management (IdAM) capabilities, delivering a unified experience to SaaS (Software as a Service) apps and virtual apps and desktops.</li>
</ul></li>
<li><strong>Resource Layer:</strong> This layer defines the virtual desktops, applications, and data provided to each user group.
<ul>
<li>Remote PC Access: A traditional, local Windows desktop, assigned to a single user and can be physically accessed locally or accessed remotely.</li>
<li>Azure Virtual Desktop: virtualized Windows 10 multi-session operating system for users to be able to access their desktops and applications remotely.</li>
</ul></li>
<li><strong>Control Layer:</strong> This layer describes details surrounding the components used to support the rest of the environment.
<ul>
<li>Citrix DaaS: This cloud-based service manages the authorization and brokering to Azure Virtual Desktops and Remote PC Access.</li>
<li>Workspace Environment Management Service: This cloud-based service uses intelligent resource management and Profile Management technologies to deliver the best possible performance, desktop logon, and application response times.</li>
<li>Citrix Analytics for Performance: This cloud-based service tracks, aggregates, and visualizes key performance indicators of the Citrix DaaS environment.</li>
<li>Citrix Analytics for Security: This cloud-based service assesses, detects, and prevents risks in real time. it gives you proactive security protection without complicating the employee experience.</li>
</ul></li>
<li><strong>Host Layer:</strong> This layer describes the hardware components, private, public, and hybrid cloud that are used for the Citrix environment – hardware, storage, and virtualization details.
<ul>
<li>Physical PC: They use the physical PCs they already own but allow users to access these remotely when needed</li>
<li>Azure: to reduce their data center footprint, they deploy new virtual desktop resources on Azure.</li>
</ul></li>
</ul>
<p>In the sections below we go through each of the previous architectural components and how they meet Company XYZ’s requirements.</p>
<h2>Detailed Architecture</h2>
<h3>User Layer</h3>
<p>Aligning the user requirements with an appropriate virtual desktop is the initial step in creating a complete, end-to-end solution. Worldwide Co. defined the user requirements below.</p>
<table>
<thead>
<tr>
<th>Users need access to...</th>
<th>Users include...</th>
<th>Endpoints include...</th>
<th>Common locations include...</th>
<th>IT delivers...</th>
</tr>
</thead>
<tbody>
<tr>
<td>Standardized desktop environment with line of business applications</td>
<td>Engineers Designers Executives</td>
<td>At the office: Physical corporate PCs, from Remote: Personal devices</td>
<td>Predominantly internal local network. Sometimes a remote, untrusted network.</td>
<td>Remote PC Access</td>
</tr>
<tr>
<td>Standardized desktop environment with line of business applications</td>
<td>Sales Marketing</td>
<td>Personal devices Tablets Laptops</td>
<td>Remote untrusted network</td>
<td>Azure Virtual Desktop</td>
</tr>
</tbody>
</table>
<p>Office workers typically work from the office with their corporate owned PC. When the pandemic happened, they needed a way to securely work from home while still using their PCs that were in the office. Worldwide Co. realized that office workers can be productive as remote workers and want to provide the flexibility of working remote. They continue to use their PCs locally when they work at the office and access them remotely through Citrix DaaS Remote PC Access when they work from home.</p>
<p>Employees are predominantly remote employees. Worldwide Co. doesn’t want to provide corporate owned devices, instead they want to provide these employees the choice to use whatever device they want. This can include devices such as personal laptops, smartphones, or tablets. Because Worldwide Co. wants to minimize their data center footprint, they have chosen to deploy Azure Virtual Desktop with Citrix Virtual Apps and Desktops service for this set of employees.</p>
<h3>Access Layer</h3>
<p>Providing access to the environment includes more than simply making a connection to a resource. Providing the proper level of access is based on where the user is located in addition to the security policies defined by the organization. Worldwide Co. chose to do the following:</p>
<ul>
<li><strong>Minimize Data Center Footprint:</strong>
<ul>
<li>Gateway Service: Worldwide Co. decided to deploy Gateway Service to align with their goal of reducing their data center footprint. Gateway service allows them to provide secure remote access for their external users, without having to deploy and maintain any physical hardware, public IP address, or firewall rules. They also don’t need to worry about architecting for redundancy since Citrix takes care of that for them—Gateway Service operates in multiple regions worldwide with integrated redundancy. Gateway service minimizes the infrastructure required which provides administrators the agility to scale rapidly when needed (M&amp;A, DR, new users, or contractors). More information on the Gateway Service can be found <a href="/en-us/tech-zone/learn/tech-briefs/gateway-hdxproxy.html">here</a>.</li>
<li>Rendezvous Protocol: Worldwide Co. also turned on the <a href="https://docs.citrix.com/en-us/citrix-virtual-apps-desktops-service/hdx/rendezvous-protocol.html">Rendezvous protocol</a> which allows the HDX session to bypass the Citrix Cloud Connector and connect directly to the Citrix Gateway Service. The Rendezvous protocol reduces the load on the Cloud Connectors, which helps reduce the data center footprint.</li>
</ul></li>
<li><strong>Multifactor Authentication:</strong> Worldwide Co. decided to implement multifactor authentication to protect their intellectual property. They have chosen to do this through the <a href="/en-us/tech-zone/learn/tech-insights/authentication-totp.html">Time-based One-Time Password microservice</a> within Citrix Workspace. They chose TOTP because it allows them to meet their security needs without having to deploy or maintain other third-party systems. Additional information on TOTP and Workspace Identity can be found <a href="/en-us/tech-zone/learn/tech-briefs/workspace-identity.html">here</a>.</li>
<li><strong>Optimal Routing- Gateway Service:</strong> Because the Gateway service is globally distributed, it allows the user to connect via the fastest access point which creates the best user experience.</li>
<li><strong>Secure Resources:</strong> All users authenticate with Workspace and Gateway service provides vpn-less access to their physical PCs and cloud-hosted VDI desktops. While this Reference Architecture only shows the users accessing virtual apps and desktops, Workspace gives organizations the flexibility to provide end users with SaaS and web apps all from one unified location. Also, it provides SSO so users don’t have to constantly reauthenticate over and over again.</li>
<li><strong>Business Continuity:</strong> Worldwide Co. also has taken advantage of the latest Service Continuity functionality within Citrix Workspace. Service Continuity further expands the Citrix Virtual Apps and Desktops service resiliency in case there is an outage with any of the following:
<ul>
<li>Citrix Workspace Portal</li>
<li>Citrix Cloud platform</li>
<li>Citrix Identity Provider Service</li>
<li>Citrix Virtual Apps and Desktops control plane</li>
<li>AWS and Azure platform</li>
</ul></li>
</ul>
<p>Worldwide Co. opted for this approach instead of Local Host Cache because Service Continuity doesn’t have any on-premises requirements. Essentially it uses long-lived connection tickets for workspace and connects users to their VDAs as long as there is a network connection between the endpoints and the VDA. More information on Service Continuity can be found <a href="/en-us/tech-zone/learn/tech-briefs/citrix-cloud-resiliency.html">here</a>.</p>
<h3>Resource Layer</h3>
<p>Users need access to their resources, whether those resources are desktops or applications.  Resources are configured within resource locations that are managed by Worldwide Co. The configuration of the resources must align with the overall needs of the user groups. End users expect an experience that is similar or superior to a traditional PC environment. Resources can be located on-premises, in private cloud, public cloud or in a hybrid approach. This is seamless to the end-user. Cloud Connectors are located within each Resource Location to connect the resources with Citrix Cloud. Worldwide Co. chose to do the following:</p>
<ul>
<li>
<p><strong>Minimize Hardware costs:</strong></p>
<ul>
<li><a href="/en-us/tech-zone/learn/tech-insights/remote-pc-access.html">Remote PC Access</a>: Remote PC Access allows users to access their office-based, physical PCs.</li>
</ul>
<p></p><p><a href="//media.invisioncic.com/m329563/monthly_2024_02/reference-architectures_virtual-apps-and-desktops-service_image2.png.1e021b6e981b17bbdb7bd974152a52a2.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="3197" src="//media.invisioncic.com/m329563/monthly_2024_02/reference-architectures_virtual-apps-and-desktops-service_image2.png.1e021b6e981b17bbdb7bd974152a52a2.png" width="1280" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_virtual-apps-and-desktops-service_image2.png" loading="lazy" height="716.8"></a></p>
<p>Users access through their own personal device and access through the Workspace App. After authentication, users would have access to their physical Windows desktops. Worldwide Co. followed the best practices found here (/en-us/tech-zone/design/design-decisions/remote-pc-access.html) for their Remote PC Access VDAs.</p>
</li>
<li><strong>Minimize Data Center Footprint:</strong> Worldwide Co. has chosen Azure as their other resource location. This allows them to quickly spin up new resources as needed without having to add new infrastructure. It gives them the flexibility to scale quickly and easily.
<p><a href="//media.invisioncic.com/m329563/monthly_2024_02/reference-architectures_virtual-apps-and-desktops-service_image3.png.fd88c143208123748c76e903509a62f7.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="3199" src="//media.invisioncic.com/m329563/monthly_2024_02/reference-architectures_virtual-apps-and-desktops-service_image3.png.fd88c143208123748c76e903509a62f7.png" width="1280" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_virtual-apps-and-desktops-service_image3.png" loading="lazy" height="716.8"></a></p>
Worldwide Co. used the following <a href="/en-us/tech-zone/design/design-decisions/azure-instance-scalability.html">Design Decision guide</a> when considering which instance series to deploy. Ultimately, they have chosen a D13_v2 instance with standard HDD disks and a 2GB MCSIO cache with a Windows 10 multisession OS. Worldwide Co. has chosen to have these be domain-joined to their on-premises Active Directory via Azure Active Directory Domain Services and users’ accounts in the organization’s on-premises Active Directory. More information can be found <a href="/en-us/tech-zone/learn/tech-briefs/citrix-managed-desktops.html">here</a>.</li>
<li><strong>Optimize the images proviced to the end users:</strong> Worldwide Co. has chosen to use the Citrix Optimizer to optimize their VDAs. Information on the Citrix Optimizer can be found <a href="https://support.citrix.com/article/CTX224676">here</a>.</li>
<li><strong>Adaptive session:</strong> Worldwide Co. used the <a href="https://docs.citrix.com/en-us/citrix-virtual-apps-desktops/policies/policies-default-settings.html">baseline policies</a>, however they turned on “Adaptive Transport”. Adaptive Transport allows the session to respond to changing network conditions. With remote workers, adaptive transport allows them to have an optimal user experience. They have also taken advantage of other <a href="/en-us/tech-zone/learn/tech-insights/hdx.html">HDX technologies</a> to improve the overall experience.</li>
</ul>
<h3>Control Layer</h3>
<p>With Citrix DaaS, the delivery controllers, SQL Database, Studio, Director, and Licensing are the core components in the Control layer. These components are provisioned on Citrix Cloud by Citrix during the activation of the Virtual Apps and Desktop Service. Citrix handles the redundancy, the updates, and the installation of these components. This allows the environment to always have the latest features and security patches. More services within Citrix Cloud can be enabled to support the requirements of Worldwide Co. Worldwide Co. chose the following:</p>
<ul>
<li><strong>User Experience Reporting:</strong> Worldwide Co. chose to enable <a href="/en-us/tech-zone/learn/tech-insights/performance-analytics.html">Citrix Analytics for Performance</a> which allows them to quantify the end user experience and proactively address any issues. This information can be seen across both of their resource locations. More information can be found <a href="/en-us/tech-zone/learn/tech-briefs/analytics.html">here</a>.</li>
<li><strong>Optimal performance and app respoonse time:</strong> Worldwide Co. wanted to avoid a situation where a single user can monopolize CPU resources, which negatively impact other users (noisy neighbor syndrome). Therefore, they used the Workspace Environment Management service to enable CPU Management settings. More information on CPU management can be found <a href="https://docs.citrix.com/en-us/workspace-environment-management/service/using-environment-management/system-optimization/cpu-management.html">here</a>.</li>
<li><strong>Real-time Detection of Security Risks:</strong> Worldwide Co. wanted to guard sensitive data and to keep assets and employees secure in real time without complicating the employee experience. More information on real-time security analytics can be found here: <a href="/en-us/tech-zone/learn/tech-briefs/analytics.html">Citrix Analytics for Security</a>.</li>
</ul>
<p>Worldwide Co. chose to domain join their Azure Virtual Desktops to organization’s on-premises Active Directory via Azure Active Directory Domain Services and keep their users’ accounts in organization’s on-premises Active Directory. The Active directory is synced with the Azure AD in the customer’s Azure subscription using Azure AD Connect. This setup allows the user’s identity to be authenticated from the synced Azure AD.</p>
<h3>Host Layer</h3>
<p>Administrators have the flexibility to deploy on-premises, in a public cloud, or in a hybrid approach. Worldwide Co. has chosen to do the following:</p>
<ul>
<li><strong>Optimize Cloud Cost:</strong>
<ul>
<li>Autoscale: Worldwide Co. chose to deploy Autoscale to optimize cloud costs. Autoscale allows you to intelligently use, allocate, and deallocate resources. More information about Autoscale can be found <a href="/en-us/tech-zone/learn/tech-briefs/autoscale.html">here</a>. Worldwide Co. will initially use the following schedule-based Autoscale parameters based on the typical workday:</li>
</ul></li>
</ul>
<table>
<thead>
<tr>
<th>Day</th>
<th>Peak Times</th>
<th>Off-Peak Times</th>
<th>Machines Active</th>
</tr>
</thead>
<tbody>
<tr>
<td>Weekdays</td>
<td>7AM-5PM</td>
<td>5PM-7AM</td>
<td>Peak: 50% Off peak: 5%</td>
</tr>
<tr>
<td>Weekends</td>
<td>None</td>
<td>All day</td>
<td>5%</td>
</tr>
</tbody>
</table>
<p>To accommodate more users, Worldwide Co. also enabled load-based scaling with the following parameters:</p>
<table>
<thead>
<tr>
<th>Day</th>
<th>Capacity Buffer (Peak)</th>
<th>Capacity Buffer (Off-peak)</th>
</tr>
</thead>
<tbody>
<tr>
<td>Weekdays</td>
<td>20%</td>
<td>5%</td>
</tr>
<tr>
<td>Weekends</td>
<td>5%</td>
<td>5%</td>
</tr>
</tbody>
</table>
<ul>
<li>Azure sizing: Worldwide Co. chose to deploy D13_v2 instance with standard HDD disks and a 2GB MCSIO to provide the best user experience at the lowest cost. An in-depth analysis on the scalability of Citrix DaaS on Azure can be found <a href="/en-us/tech-zone/design/design-decisions/azure-instance-scalability.html">here</a>.</li>
</ul>]]></description><guid isPermaLink="false">87</guid><pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate></item><item><title>Reference Architecture: Citrix DaaS - AWS</title><link>https://community.citrix.com/tech-zone/design/reference-architectures/citrix-virtual-apps-and-desktops-on-aws/</link><description><![CDATA[<h2>
	Audience and Objective
</h2>

<p>
	This document is intended to help Citrix partners and customers understand the most critical design decisions necessary to successfully deploy Citrix virtualization technologies on Amazon's public cloud. It is not meant to be a "How-To" reference - Citrix considers those <a href="https://community.citrix.com/tech-zone/build/deployment-guides/" rel="">Deployment Guides</a>, and they are now delivered and maintained separately from <a href="/en-us/tech-zone/design/reference-architectures.html" rel="">Reference Architectures</a>. In this document, we use the Citrix Architectural Design Framework to organize and present the leading practices, recommendations, and design patterns which are used by Citrix and select <strong>Citrix consulting partners</strong>.
</p>

<h2>
	Overview and Executive Summary
</h2>

<p>
	Citrix virtualization and networking technologies have been successfully serving the needs of enterprises large and small for nearly three decades. There are many ways in which these technologies can be licensed, deployed, integrated, and managed. This flexibility allows Citrix technologies to serve various different use cases, business types, integration requirements, and operational models. This paper is written for the Citrix customer or partner who's considering or planning to deploy these technologies on AWS' public cloud infrastructure.
</p>

<p>
	For both existing customers looking to modernize their infrastructure and new customers looking to deploy Citrix virtualization and networking technologies, there are several key high and low level decisions which must be made along the way to help facilitate a successful deployment. To help customers and partners understand these decision points, we have introduced and defined some specific terminology to set the appropriate context, then used this context to highlight the critical decisions and implications to consider as you plan your deployment.
</p>

<p>
	We start by defining two primary technology adoption models: <strong>Customer Managed</strong> and <strong>Cloud Services</strong>. We then break the <a href="#citrix-virtualization-system-components" rel="">components of a Citrix virtualization system</a> down into multiple subsystems, and categorize them by adoption model:
</p>

<table>
	<thead>
		<tr>
			<th>
				Adoption Model / Subsystem function
			</th>
			<th>
				Customer Managed (installed from downloaded binaries)
			</th>
			<th>
				Cloud Service (delivered via Citrix Cloud)
			</th>
		</tr>
	</thead>
	<tbody>
		<tr>
			<td>
				<strong>Session brokering and administration</strong>
			</td>
			<td>
				Citrix Virtual Apps and Desktops (<strong>CVAD</strong>)
			</td>
			<td>
				Citrix DaaS (<strong>DaaS</strong>)
			</td>
		</tr>
		<tr>
			<td>
				<strong>User interface (UI) services</strong>
			</td>
			<td>
				Citrix StoreFront
			</td>
			<td>
				Citrix Workspace (the service, consumed via Citrix Workspace app or web browser)
			</td>
		</tr>
		<tr>
			<td>
				<strong>Authentication</strong>
			</td>
			<td>
				Citrix StoreFront (plus Citrix ADC/Gateway for most use cases)
			</td>
			<td>
				Citrix Workspace (plus Citrix ADC/Gateway for certain use cases)
			</td>
		</tr>
		<tr>
			<td>
				<strong>HDX session proxy</strong>
			</td>
			<td>
				Citrix ADC/Gateway
			</td>
			<td>
				Citrix Gateway Service
			</td>
		</tr>
	</tbody>
</table>

<p>
	We take a stand for <strong>cloud services</strong>, recommending that <strong>most organizations use or plan to use cloud services</strong> where feasible. We don't offer this stand blindly - while we do believe cloud services, in the end, offer overwhelmingly positive benefits for our customers, we recognize that <strong>not all organizations/deployments are able to use cloud services for all subsystems today</strong>. Sometimes, use case requirements (with technical attributes or shortcomings in a currently available/specific cloud service) need adopting a combination of cloud services and a customer managed component: we focus on these in this paper. In other cases, non-technical items (politics, budgetary/contractual considerations, cloud readiness deficiencies, regulatory/compliance considerations, and such) may discourage the usage of cloud services. In these instances, we recommend working with your Citrix partner/sales/engineering team to help overcome them. Through the rest of this paper, we go to great lengths to identify key capabilities, features, or attributes that help customers decide which adoption model to use for which subsystem and when.
</p>

<p>
	Next, we define and examine three common deployment scenarios, highlighting which adoption model is used for each subsystem:
</p>

<ul>
	<li>
		<strong>Greenfield</strong>/<strong>Cloud only</strong> - uses cloud services for all Citrix virtualization system subsystems, plus AWS public cloud services.
	</li>
	<li>
		<strong>Hybrid</strong> (not to be confused with a 'hybrid cloud') - the most common deployment model, the hybrid model uses DaaS for session brokering and administration, with both customer managed and cloud service options for the remaining subsystems.
	</li>
	<li>
		<strong>Lift and Shift</strong> - as the name states, this model uses existing, customer managed CVAD, StoreFront, and ADC/Gateway and either migrates these components to AWS as is, or installs them into AWS as part of a workload migration to AWS public cloud services. While this is a valid deployment model for certain specific use cases, it comes with substantial caveats.
	</li>
</ul>

<p>
	Finally, we use the well documented <strong>Citrix Architectural Design Framework</strong> to organize and present the key design decisions to be considered when deploying Citrix virtualization technology on AWS. We keep our focus on "what's different about Citrix on AWS" for clarity, providing links to other resources for more detailed information as needed.
</p>

<p>
	We ultimately recommend that most customers use the <strong>Hybrid deployment model</strong> from day one, using the CVAD service for <strong>session brokering and administration</strong>. This provides the customer with the key capabilities necessary to cost-effectively run a Citrix virtualization system on AWS, substantially reduces the cost and complexity, provides access to the latest features and capabilities available, and simplifies the migration to and usage of other cloud services in the future. Either cloud services OR customer managed components can be used for the remaining subsystems (depending upon the customers' specific needs), though we recommend customers are clear as to why they're using customer managed components and have a plan to move to cloud services in the future once the cloud services meet their specific needs.
</p>

<p>
	For more insights into leading practices for Citrix on AWS, readers can reference the following Cloud Guidepost articles:
</p>

<ul>
	<li>
		<a href="https://www.citrix.com/blogs/2019/09/23/cloud-guidepost-leading-practices-for-citrix-cloud-on-aws-part-1/" rel="external nofollow">Leading practices for Citrix Cloud on AWS - Part 1</a>
	</li>
	<li>
		<a href="https://www.citrix.com/blogs/2019/11/21/cloud-guidepost-leading-practices-for-citrix-cloud-on-aws-part-2/" rel="external nofollow">Leading practices for Citrix Cloud on AWS - Part 2</a>
	</li>
	<li>
		<a href="https://www.citrix.com/blogs/2020/01/21/cloud-guidepost-leading-practices-for-citrix-cloud-on-aws-part-3/" rel="external nofollow">Leading practices for Citrix Cloud on AWS - Part 3</a>
	</li>
</ul>

<h2>
	Key Concepts and Deployment Scenarios
</h2>

<p>
	In this section, we describe some key concepts and deployment scenarios before we dive into specific considerations for each layer of the <strong>Citrix Architectural Design Framework</strong>.
</p>

<h3>
	Technology Adoption Models
</h3>

<p>
	Citrix DaaS technology can be 'consumed' or implemented many different ways. The most common methods can be described generally as <strong>Customer Managed</strong> and <strong>Cloud Services</strong>. A third model is also worth mentioning - <strong>Partner Managed</strong>. We describe this model here for clarity, but from an architectural design perspective, the first two are the most relevant.
</p>

<p>
	Why are we discussing technology adoption models in a reference architecture? The choice of adoption or 'consumption' model has a substantial impact upon the system design, capabilities, cost, and delineation of management responsibilities. This section will define and explore these models, and provide some general guidance to help customers make informed choices as they design a Citrix virtualization system.
</p>

<h4>
	Customer Managed
</h4>

<p>
	For many years, businesses wanting to consume technology had no choice but to buy, install, configure, and maintain the entire technology stack required to build a Citrix virtualization system. Citrix's virtualization software was only available as installable binaries. Customers who bought Citrix's virtualization software would download these binaries (often in the form of a downloadable ISO disk image or self-extracting executables) then install, configure, and maintain the software themselves. The Citrix software (and networking hardware) was most commonly installed into/on infrastructure the customer owned and maintained, in data centers they also owned and maintained.
</p>

<p>
	Conceptually speaking, a Citrix virtualization system is made up of various different Citrix components, many of which we describe in detail in this paper. They also require different layers of third-party components which must be provided before you can do anything with the Citrix bits. Ultimately, they all come together to create a functional Citrix virtualization system. For the sake of clarity, this document refers to this technology adoption model as <strong>"Customer Managed"</strong>. We use this term to describe various different components in a Citrix virtualization system, including the requisite third party components in the layers underneath, next to, and 'above' the Citrix components. This model can also be called "Self-Managed."
</p>

<p>
	Today, customers have compelling alternatives to a customer managed adoption model, yet some still adopt elements of their technology stack using this model for various reasons. While this model provides customers with the <strong>most control over each component</strong>, it comes at a cost: the customer takes on the responsibility to manage and maintain the component, including securing, operating, patching, upgrading, and maintaining high availability. This model is also <strong>commonly deployed for 'air gapped' systems</strong> (those without any Internet access, and hence are limited in their ability to use cloud services, which are commonly and securely accessed over public networks).
</p>

<p>
	Here's an example of the architecture of a Citrix virtualization system that's using 100% customer managed components deployed on AWS using basic AWS IaaS services such as Elastic Compute Cloud (EC2) and Virtual Private Cloud (VPC) networking. We are discussing some of the details of this architecture in later sections of this document, though you can immediately notice the similarities to the much simpler greenfield/cloud only deployment model:
</p>

<p>
	 
</p>

<p>
	<a class="ipsAttachLink ipsAttachLink_image" href="//media.invisioncic.com/m329563/monthly_2024_02/reference-architectures_citrix-virtual-apps-and-desktops-on-aws_001.png.f8a6ea16a7829c833f168924c7fb9ad5.png" data-fileid="2748" data-fileext="reference-architectures_citrix-virtual-apps-and-desktops-on-aws_001.png" rel=""><img alt="reference-architectures_citrix-virtual-apps-and-desktops-on-aws_001.png" class="ipsImage ipsImage_thumbnailed" data-fileid="2748" style="height: auto;" width="905" src="//media.invisioncic.com/m329563/monthly_2024_02/reference-architectures_citrix-virtual-apps-and-desktops-on-aws_001.png.f8a6ea16a7829c833f168924c7fb9ad5.png" loading="lazy" height="597.3"></a>
</p>

<p>
	<em>Diagram 1: 100% Customer Managed, Lift/Shift deployment using AWS as IaaS only.</em>
</p>

<p>
	 
</p>

<h4>
	Cloud Services
</h4>

<p>
	Over the last 15 years, technological advancements across many different fields have given rise to hyper scale public clouds, sophisticated cloud services, microservice architectures, DevOPS/Agile delivery frameworks, subscription licensing models, and 'evergreen' software and systems. These advancements have revolutionized the way technology is acquired, adopted, delivered, and maintained across almost every industry in the world.
</p>

<p>
	Today, many of the components or layers that comprise a Citrix virtualization system are available "as a Service." In contrast to the Customer Managed adoption model (where customers buy technology as a corporate asset and build/maintain systems themselves), customers "subscribe" to various services, and the service provider takes on the responsibility for delivering and managing these services. These services are often consumed over public networks (that is, the Internet) leading some to call this "Cloud Service" or "Web Service" adoption model. In this paper we're going to refer to this type of adoption model as "Cloud Managed Services," or simply the <strong>"Cloud Service"</strong> model.
</p>

<p>
	Citrix offers many of its traditional products 'as a Service', using its platform partners' latest technological advancements to simplify and streamline adoption, accelerate the pace of innovation, improve quality, and deliver more incremental value to their customers over time. Citrix calls this service delivery platform "Citrix Cloud," and it represents the current and future state of the art from Citrix.
</p>

<p>
	Here's an example of the architecture of a system that's using 100% cloud service components for a Citrix virtualization system on AWS. We are discussing the details of this design in a later section of this document:
</p>

<p>
	 
</p>

<p>
	<a class="ipsAttachLink ipsAttachLink_image" href="//media.invisioncic.com/m329563/monthly_2024_02/reference-architectures_citrix-virtual-apps-and-desktops-on-aws_002.png.3038cc763c962bed5839adbb219857a1.png" data-fileid="2749" data-fileext="reference-architectures_citrix-virtual-apps-and-desktops-on-aws_002.png" rel=""><img alt="reference-architectures_citrix-virtual-apps-and-desktops-on-aws_002.png" class="ipsImage ipsImage_thumbnailed" data-fileid="2749" style="height: auto;" width="1280" src="//media.invisioncic.com/m329563/monthly_2024_02/reference-architectures_citrix-virtual-apps-and-desktops-on-aws_002.png.3038cc763c962bed5839adbb219857a1.png" loading="lazy" height="716.8"></a>
</p>

<p>
	<em>Diagram 2: 100% Cloud Services on AWS with AWS Managed Services</em>
</p>

<p>
	 
</p>

<h4>
	Partner Managed
</h4>

<p>
	While many organizations choose to build their own Citrix virtualization system, some customers seek to get out of the business of managing IT so they can focus resources and attention on serving their own customers and markets. To serve these customers, Citrix works with integration partners who use Citrix technologies to provide a 'finished goods' service to their customers.
</p>

<p>
	Defining and differentiating the different integration partners/types and offerings available are outside of the scope of this document. However, Citrix partners face the same choices customers face when designing a Citrix virtualization system. The Citrix partner can choose to use one or more services from Citrix Cloud, or they can choose to build and manage some components of the system for their customers' specific needs. As such, the guidance provided in this document is relevant to both the Citrix partner and their customers, just for different reasons.
</p>

<h3>
	Citrix Virtualization System Components
</h3>

<p>
	To understand the implications of the design decisions we detail later in this document, we're going to put the components of a Citrix virtualization system into higher level 'buckets' we'll then use to guide your decision-making process. Every Citrix virtualization system, regardless of how it is deployed and licensed, needs these components available to function and provide the best, most secure user experience. It is not uncommon for customers to mix and match self-managed components and cloud services, especially if they've got complex use case requirements, third party integration requirements, or extreme control or availability needs.
</p>

<p>
	The following table highlights these key components for clarity. Details and recommendations on when/where you'd use one option vs another is covered later in this document:
</p>

<table>
	<thead>
		<tr>
			<th>
				Adoption Model / Subsystem function
			</th>
			<th>
				Customer Managed (installed from downloaded binaries)
			</th>
			<th>
				Cloud Service (delivered via Citrix Cloud)
			</th>
		</tr>
	</thead>
	<tbody>
		<tr>
			<td>
				<strong>Session brokering and administration</strong> - The core of any Citrix virtualization system: without this core subsystem, you don't have any apps or desktops, and you can't manage them! This subsystem is where you define, provision, and update Machine Catalogs (collections of Citrix Virtual Delivery Agent or "VDA" VM instances). It is also where you create Delivery Groups, assigning apps/desktops to users, and administer the environment and user sessions.
			</td>
			<td>
				<strong>CVAD - Citrix Virtual Apps and Desktops</strong>, either Long Term Service Release (LTSR) or Current Release (CR) versions. If you install and configure a delivery controller in your environment, this is what you're running. It also means you're installing and managing your own Microsoft SQL Server infrastructure. Administrative functions in a customer managed (CVAD) deployment include Citrix Director and Citrix Studio. You install, configure, and manage these yourself using LTSR/CR binaries. Director also requires Microsoft SQL Server infrastructure. Citrix licensing is also a part of this subsystem, with customers installing/configuring/ managing Citrix License Servers and license files.
			</td>
			<td>
				<strong>DaaS - Citrix DaaS</strong>, delivered via Citrix Cloud. If you're logging into Citrix Cloud and installing and registering Cloud connectors in your environment, you're using this Citrix Cloud service. You install and register Cloud Connectors on a Windows instances you manage, and then Citrix keeps them evergreen and available. Citrix Cloud also provides and maintains most administrative functionality via a web browser through the Citrix Cloud console. This includes cloud service versions of Citrix Studio and Citrix Director. There is no additional infrastructure for the customer to maintain, keep highly available, or patch/update: Citrix owns this administrative responsibility.
			</td>
		</tr>
		<tr>
			<td>
				<strong>UI (user interface) services</strong> - Native Citrix Workspace apps (and web browsers for clientless access) ultimately connect to a URL. The subsystem behind the URL is configured by IT administrators to match corporate requirements for authentication, and to present virtualized apps/desktops, SaaS apps, and possibly much more for users to access.
			</td>
			<td>
				<strong>Citrix Storefront</strong>. Also installed/ configured from CVAD LTSR or CR binaries, this role provides extreme flexibility for the most complex deployment scenarios. Typically deployed in pairs, with Citrix ADC/Gateway instances in front of them for high availability. Can aggregate and present apps and desktops from both customer managed/brokered environments (CVAD) and Citrix Cloud managed/brokered environments (DaaS).
			</td>
			<td>
				<strong>Citrix Workspace</strong> (the service, not the Citrix Workspace app). Provided as a cloud service through Citrix Cloud, and includes many next generation capabilities that are only available with this service. Can aggregate and present apps and desktops from both customer managed/brokered environments (CVAD) and Citrix Cloud managed/brokered environments (DaaS).
			</td>
		</tr>
		<tr>
			<td>
				<strong>Authentication</strong> - In this context, we're referring to how users authenticate before accessing Citrix virtualized apps/desktops, files, SaaS apps, and more. Authentication in a Citrix environment is typically configured at the UI services layer, though Citrix ADC/Gateway can also be used for authentication in all deployment models. Each of the UI service provider options (Citrix StoreFront or Citrix Workspace) has different authentication options available, some requiring a customer managed Citrix ADC/Gateway.
			</td>
			<td>
				<strong>Citrix StoreFront</strong> (plus <strong>Citrix ADC/Gateway</strong> for most use cases). User authentication services can be provided various different ways, though ultimately require an Active Directory instance and valid user accounts. The customer typically manages the AD instance. Citrix ADC/Gateway instances can also be used to provide authentication services, and provide a ton of advanced capabilities that are commonly used for more complex environments. Citrix Federated Authentication Services (FAS) can also be installed and used to provide session SSO for complex use cases.
			</td>
			<td>
				<strong>Citrix Workspace</strong> (plus <strong>Citrix ADC/Gateway</strong> for certain use cases). With Citrix Workspace (the service), user authentication sources and requirements are configured once for the Citrix Cloud tenant and used by all users using this URL. It is configured for Active Directory out of the box, but for advanced use cases, can be configured to support other authentication providers. Examples include Azure AD, Okta, customer managed Citrix Gateway, Google Cloud ID, or other SAML/OpenID/RADIUS providers. Some scenarios require customer managed Citrix ADC/Gateways and Citrix Federated Authentication Services (FAS) for the best user experience.
			</td>
		</tr>
		<tr>
			<td>
				<strong>HDX session proxy</strong> - The ability to securely and seamlessly connect users/devices outside the private corporate network to CVAD/DaaS delivered apps and desktops on the inside.
			</td>
			<td>
				<strong>Citrix ADC/Gateway</strong> appliances - these appliances (or instances) often provide a ton of extra functionality for a Citrix virtualization system. Their core job, however, is to securely proxy HDX sessions to your VDAs when clients are on public networks. Requires installation, configuration, SSL certificates, and such. Compatible with both StoreFront (customer managed UI services) and Workspace cloud service. Also compatible with both Citrix managed and customer managed session brokering options.
			</td>
			<td>
				<strong>Citrix Gateway Service</strong> - provided by Citrix Cloud, this service proxies HDX session traffic to your VDAs, and it uses Citrix managed infrastructure to get the job done. Requires no public IP addresses, SSL certs, or ingress firewall rules to operate. Compatible with the Citrix Workspace service and both Citrix Cloud managed and customer managed session brokering options (CVAD and DaaS).
			</td>
		</tr>
	</tbody>
</table>

<h4>
	Leading Practices and Recommendations
</h4>

<p>
	Whether you manage the Citrix virtualization system yourself or you use Citrix or an authorized partner to do it, consider using <strong>cloud services</strong> wherever possible. For use cases/environments where the cloud service doesn't meet your needs, customer managed components can be used. That said - Citrix encourages customers to be clear on why they are deploying self-managed components, and be prepared to migrate to cloud services once the cloud service meets their specific needs. The cloud services provided by Citrix through Citrix Cloud are evolving rapidly. Over time you can expect them to provide all the functionality required to serve all but the most complex use cases. Citrix Cloud services ultimately minimize the amount of infrastructure the customer is responsible for managing and maintaining. Citrix Cloud also provides highly available, pre-integrated services, and ensures customers always have access to the latest, most secure, and feature-rich services.
</p>

<h3>
	Common Deployment Models for Citrix Virtualization on AWS
</h3>

<p>
	As a cloud provider with the most functionality, largest community of customers, unmatched experience, and maturity, AWS sees a wide range of customers from various industries moving systems and infrastructure to their clouds. Over time they've seen common deployment scenarios/migration patterns develop. In this section, we explore these patterns/scenarios, discuss when and where you may want to consider using them to bring a Citrix Virtual Apps and Desktops workload to AWS, and provide some recommendations for which patterns to consider for common migration scenarios.
</p>

<p>
	The three most common scenarios for delivering Citrix Apps and Desktops on AWS are:
</p>

<ul>
	<li>
		<strong>Greenfield/Cloud Only</strong> deployment, using Citrix Cloud services with "resource locations" on Amazon EC2 (Amazon Elastic Compute Cloud) service. This scenario is commonly used when customers prefer to go to a subscription model and outsource control plane infrastructure and management responsibility to Citrix, or they're looking to experience/evaluate the capabilities provided by Citrix Cloud services.
	</li>
	<li>
		<strong>Hybrid</strong> deployment/workload migration to AWS, using Citrix Cloud services for session brokering and administration, Workspace UI or StoreFront for content aggregation/session presentation/session launching, and can also use customer managed Citrix ADC/Gateways for HDX session proxying, complex authentication scenarios, or both.
	</li>
	<li>
		<strong>Lift and shift</strong>. With this scenario, customers essentially move or redeploy their self-managed Citrix infrastructure into AWS, treating the deployment on AWS just like their existing customer managed deployment. With this scenario, customers use Citrix ADC/Gateway and Citrix StoreFront to aggregate resources from on-premises and AWS hosted sites. This facilitates the migration of workloads to AWS, though customers can keep their on-premises workloads around and simply add another site in AWS. The new site can be used for new workloads or to support disaster recovery (DR) and failover use cases. This model is characterized by the use of customer managed components for session brokering and administration, UI services, authentication, and HDX session proxy.
	</li>
</ul>

<p>
	This section defines these scenarios in more detail, including architectural overviews of how each scenario is commonly designed. You find that the <strong>leading practice is to use Citrix Cloud services</strong>, and as such this document will focus on the Citrix Cloud brokered deployment models ("Greenfield" and "Hybrid").
</p>

<h4>
	Greenfield Deployment
</h4>

<p>
	The most common example of the green field deployment model is trial or proof of concept deployments of Citrix virtualization technology on the AWS cloud. Since you're essentially starting from scratch, the power of 'infrastructure as code' can be experienced since you're not trying to integrate with a bunch of existing 'stuff'. It is also a fantastic opportunity to 'play with' various cloud services and evaluate their suitability to your or your customers' needs.
</p>

<p>
	A green field deployment is also the quickest and easiest Citrix virtualization system you can build. You can simply tear it down when the system is no longer needed, and you stop paying for the resources it consumed. All you need for this type of deployment is an active AWS account and either a trial or paid subscription to Citrix Cloud and Citrix DaaS. Armed with these two resources, you can use AWS' QuickStart CloudFormation templates to build a reference deployment. Citrix and AWS have collaborated on the <a href="https://github.com/aws-quickstart/quickstart-citrix-daas" rel="external nofollow">Citrix DaaS on AWS</a> quick start template, which helps you to either build an entire Citrix virtualization system from scratch, or create a Citrix Cloud "Resource Location" in an existing VPC with an existing Active Directory. When deploying the entire Citrix virtualization system from scratch, the resulting system on AWS is built closely matching the following reference architecture diagrams:
</p>

<p>
	 
</p>

<p>
	<a class="ipsAttachLink ipsAttachLink_image" href="//media.invisioncic.com/m329563/monthly_2024_02/reference-architectures_citrix-virtual-apps-and-desktops-on-aws_003.png.83b412f32f9b58e4ab7998ff91045fd1.png" data-fileid="2750" data-fileext="reference-architectures_citrix-virtual-apps-and-desktops-on-aws_003.png" rel=""><img alt="reference-architectures_citrix-virtual-apps-and-desktops-on-aws_003.png" class="ipsImage ipsImage_thumbnailed" data-fileid="2750" style="height: auto;" width="823" src="//media.invisioncic.com/m329563/monthly_2024_02/reference-architectures_citrix-virtual-apps-and-desktops-on-aws_003.png.83b412f32f9b58e4ab7998ff91045fd1.png" loading="lazy" height="650.17"></a>
</p>

<p>
	<em>Diagram 3: Deployed system architecture detail using the Citrix DaaS on AWS QuickStart template and default parameters. Citrix Cloud Services not shown.</em>
</p>

<p>
	 
</p>

<p>
	 
</p>

<p>
	<a class="ipsAttachLink ipsAttachLink_image" href="//media.invisioncic.com/m329563/monthly_2024_02/reference-architectures_citrix-virtual-apps-and-desktops-on-aws_004.png.045fee331394278f2b15802664bf5ee7.png" data-fileid="2751" data-fileext="reference-architectures_citrix-virtual-apps-and-desktops-on-aws_004.png" rel=""><img alt="reference-architectures_citrix-virtual-apps-and-desktops-on-aws_004.png" class="ipsImage ipsImage_thumbnailed" data-fileid="2751" style="height: auto;" width="1280" src="//media.invisioncic.com/m329563/monthly_2024_02/reference-architectures_citrix-virtual-apps-and-desktops-on-aws_004.png.045fee331394278f2b15802664bf5ee7.png" loading="lazy" height="716.8"></a>
</p>

<p>
	<em>Diagram 4: Greenfield/Cloud Only deployment conceptual architecture with optional AWS services and Citrix Cloud Services.</em>
</p>

<p>
	 
</p>

<p>
	It is worth noting that this deployment model (actually, all three deployment models) use <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html" rel="external nofollow">AWS Availability Zones</a> to provide a highly available design. See <a href="#infrastructure-as-code-and-the-aws-object-model" rel="">Availability Zones</a> later in this document for more context.
</p>

<p>
	As mentioned previously, this is a great place to start when learning about AWS and Citrix Cloud services. Many of the design patterns depicted in the preceding diagram are used for hybrid and even lift and shift deployment types, so learning these design patterns suits a Citrix on AWS architect well, regardless of the deployment model.
</p>

<p>
	To summarize, the <strong>green field deployment model</strong> uses all cloud services, at least as a starting point:
</p>

<table>
	<thead>
		<tr>
			<th>
				Citrix virtualization system component
			</th>
			<th>
				Provided by:
			</th>
		</tr>
	</thead>
	<tbody>
		<tr>
			<td>
				Session brokering and administration
			</td>
			<td>
				Citrix DaaS ("DaaS," via Citrix Cloud)
			</td>
		</tr>
		<tr>
			<td>
				UI services
			</td>
			<td>
				Citrix Workspace service (via Citrix Cloud)
			</td>
		</tr>
		<tr>
			<td>
				Authentication
			</td>
			<td>
				Citrix Workspace service (via Citrix Cloud)
			</td>
		</tr>
		<tr>
			<td>
				HDX session proxy
			</td>
			<td>
				Citrix Gateway Service (via Citrix Cloud)
			</td>
		</tr>
		<tr>
			<td>
				VMs compute, networking, and storage
			</td>
			<td>
				Amazon Elastic Compute Cloud (Amazon EC2), Amazon Virtual Private Cloud (Amazon VPC), Amazon Elastic Block Store (Amazon EBS)
			</td>
		</tr>
		<tr>
			<td>
				Active Directory and file systems
			</td>
			<td>
				<a href="https://aws.amazon.com/directoryservice/" rel="external nofollow">AWS Directory Service for Microsoft Active Directory</a> and <a href="https://aws.amazon.com/fsx/windows/" rel="external nofollow">Amazon's FSx for Windows File Server</a> (optional)
			</td>
		</tr>
	</tbody>
</table>

<p>
	We mentioned earlier that the green field deployment model is often used as a starting point for proof of concept and technology trial systems. If you start with this model and then drop in StoreFront or Citrix ADC/Gateway VPXs in, you're ostensibly creating our next type of deployment model: hybrid.
</p>

<h4>
	Hybrid Deployment
</h4>

<p>
	With the hybrid deployment model, customers may choose to install/configure/manage some of the <a href="#citrix-virtualization-system-components" rel="">Citrix virtualization system components</a> themselves, but not the <strong>session brokering and administration subsystem</strong>. In a hybrid deployment model, this subsystem is provided as a cloud service called "Citrix DaaS", and it is delivered as a subscription from Citrix Cloud.
</p>

<p>
	The hybrid deployment model is the most common deployment seen today, and is the model Citrix recommends for most customers. Here are some of the primary reasons why we take this position:
</p>

<ul>
	<li>
		<strong>Simplicity</strong> - With Citrix Cloud services, simplicity is a foundational design tenet. When multiple cloud services are used, they come pre-configured to work together, and when configuration is necessary, workflows and options are dramatically simplified.
	</li>
	<li>
		<strong>Infrastructure and licensing cost savings</strong> - customer managed Citrix virtualization services often require extra hardware and software to support them, and these have costs associated with them. One good example is Microsoft SQL Server: customer managed brokering and administration services require databases, and if you're going to build/manage your own, you must provide them. An alternative is using the AWS Relational Database Service (Amazon RDS) for SQL Server.
	</li>
	<li>
		<strong>Autoscaling</strong> - Citrix's managed brokering service (DaaS) includes the <a href="https://docs.citrix.com/en-us/citrix-virtual-apps-desktops-service/manage-deployment/autoscale.html" rel="external nofollow"><strong>Citrix Autoscale feature</strong></a>, which provides built-in VDA capacity and cost management functionality. This feature can save customers a substantial amount of money on infrastructure when they're only paying for what they use. When running a Citrix virtualization workload on AWS, this often means the difference between paying for committed use discounts or paying for VM usage as you go. The cost savings can be dramatic for many use cases, and the Citrix Autoscale feature helps ensure you're only consuming what you need.
	</li>
	<li>
		<strong>Management savings</strong> - With cloud services, Citrix shoulders the responsibility for keeping the services highly available, performant, secure, and up to date. You still build and manage your VDAs regardless, but don't underestimate the value of delegating these responsibilities. Cloud services help free up IT resources, allowing them to focus on providing unique value to their businesses instead of these critical but tedious (and often time-consuming) tasks.
	</li>
	<li>
		<strong>"Free" upgrades and continuous innovation</strong> - with customer managed infrastructure, the onus is on the customer to upgrade and patch the components in their care. With Cloud services, most of those work efforts go away. The service providers (Citrix or AWS for example) tend to be constantly innovating, and they bring those innovations to the customers who consume the services, often without requiring any work on behalf of the customer.
	</li>
	<li>
		<strong>Access to more features, functionality, and services</strong> - modern service delivery platforms (such as Citrix Cloud and AWS EC2) give technology providers a powerful, cost-effective way to bring new features, capabilities, and services to market that would not otherwise be possible. Vendors such as Citrix are committed to meeting the customer wherever they are at in their digital transformation journey, but sometimes the only way to cost-effectively deliver new capabilities is to deliver them as a cloud service.
	</li>
	<li>
		<strong>Flexibility</strong> - with DaaS as the foundation of this deployment model, customers can mix and match customer managed or cloud service components of the Citrix virtualization system. This allows the system to meet various different use cases and support complex enterprise requirements for a Citrix virtualization system. We explore these choices in depth in a later section of this paper.
	</li>
</ul>

<p>
	To summarize, the <strong>hybrid deployment model</strong> uses the following:
</p>

<table>
	<thead>
		<tr>
			<th>
				Citrix virtualization system component
			</th>
			<th>
				Provided by:
			</th>
		</tr>
	</thead>
	<tbody>
		<tr>
			<td>
				Session brokering and administration
			</td>
			<td>
				Citrix DaaS("DaaS," via Citrix Cloud)
			</td>
		</tr>
		<tr>
			<td>
				UI services
			</td>
			<td>
				Citrix Workspace service (via Citrix Cloud) <strong>OR</strong> Citrix StoreFront on Amazon EC2 (customer managed)
			</td>
		</tr>
		<tr>
			<td>
				Authentication
			</td>
			<td>
				Citrix Workspace service (via Citrix Cloud) <strong>OR</strong> Citrix StoreFront on EC2 (Citrix ADC/Gateway optional but common)
			</td>
		</tr>
		<tr>
			<td>
				HDX session proxy
			</td>
			<td>
				Citrix Gateway Service (via Citrix Cloud) <strong>OR</strong> Citrix ADC/Gateway VPX on Amazon EC2 (Citrix ADC/Gateway optional but common)
			</td>
		</tr>
		<tr>
			<td>
				VMs compute, networking, and storage
			</td>
			<td>
				Amazon Elastic Compute Cloud (Amazon EC2), Amazon Virtual Private Cloud (Amazon VPC), Amazon Elastic Block Store (Amazon EBS)
			</td>
		</tr>
		<tr>
			<td>
				Active Directory and file systems
			</td>
			<td>
				<a href="https://aws.amazon.com/directoryservice/" rel="external nofollow">AWS Directory Service for Microsoft Active Directory</a> and <a href="https://aws.amazon.com/fsx/windows/" rel="external nofollow">Amazon's FSx for Windows File Server</a> (optional)
			</td>
		</tr>
	</tbody>
</table>

<p>
	Given the options a customer can choose in the hybrid deployment model, and the flexibility provided by customer managed components, there isn't one, succinct architecture that fits all customers. There are, however, some common design patterns that can also be mixed/matched to suit the customers' needs. The foundational pattern, however, is the pattern for a Citrix Cloud "Resource Location" on AWS. It is also the pattern built by the <a href="https://github.com/aws-quickstart/quickstart-citrix-daas" rel="external nofollow">Citrix DaaS on AWS</a> QuickStart template, and it looks similar to the following architectural diagram:
</p>

<p>
	 
</p>

<p>
	<a class="ipsAttachLink ipsAttachLink_image" href="//media.invisioncic.com/m329563/monthly_2024_02/reference-architectures_citrix-virtual-apps-and-desktops-on-aws_005.png.358ddb9231b08e929f692fdb55986432.png" data-fileid="2752" data-fileext="reference-architectures_citrix-virtual-apps-and-desktops-on-aws_005.png" rel=""><img alt="reference-architectures_citrix-virtual-apps-and-desktops-on-aws_005.png" class="ipsImage ipsImage_thumbnailed" data-fileid="2752" style="height: auto;" width="1280" src="//media.invisioncic.com/m329563/monthly_2024_02/reference-architectures_citrix-virtual-apps-and-desktops-on-aws_005.png.358ddb9231b08e929f692fdb55986432.png" loading="lazy" height="716.8"></a>
</p>

<p>
	<em>Diagram 5: Conceptual Architecture, Citrix DaaS - Hybrid Deployment Model on AWS.</em>
</p>

<p>
	 
</p>

<p>
	It is worth noting that this deployment model also uses <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html" rel="external nofollow">AWS Availability Zones</a> to provide a highly available design. See <a href="#infrastructure-as-code-and-the-aws-object-model" rel="">Availability Zones</a> later in this document for more context.
</p>

<p>
	It is also worth noting that the hybrid deployment model (a DaaS resource location on AWS) can be combined with a hybrid cloud model, connecting customer managed data centers/resources to AWS using AWS Direct Connect, AWS VPN, or other networking tools. With this model, the customers' existing Active Directory is often extended into AWS, and customers create more Citrix Cloud 'Resource Locations' which deliver apps, desktops, and resources from the customer managed data center. The resulting conceptual architecture looks something like the following diagram:
</p>

<p>
	<a class="ipsAttachLink ipsAttachLink_image" href="//media.invisioncic.com/m329563/monthly_2024_02/reference-architectures_citrix-virtual-apps-and-desktops-on-aws_006.png.55d143c7a38514882588f0e77fbb4b65.png" data-fileid="2753" data-fileext="reference-architectures_citrix-virtual-apps-and-desktops-on-aws_006.png" rel=""><img alt="reference-architectures_citrix-virtual-apps-and-desktops-on-aws_006.png" class="ipsImage ipsImage_thumbnailed" data-fileid="2753" style="height: auto;" width="1280" src="//media.invisioncic.com/m329563/monthly_2024_02/reference-architectures_citrix-virtual-apps-and-desktops-on-aws_006.png.55d143c7a38514882588f0e77fbb4b65.png" loading="lazy" height="716.8"></a>
</p>

<p>
	<em>Diagram 6: Conceptual Architecture, Citrix DaaS: Hybrid Deployment/Hybrid Cloud Model.</em>
</p>

<p>
	 
</p>

<h4>
	Lift and Shift
</h4>

<p>
	Referring to our definition of the <a href="#citrix-virtualization-system-components" rel="">Citrix virtualization system components</a>, when we're talking about a lift and shift deployment scenario, the key component is the <strong>session brokering and administration</strong> subsystem and associated infrastructure. If you're using <strong>self-managed brokering infrastructure</strong> (you're deploying Delivery Controllers instead of Cloud Connectors) then for the purposes of this paper <strong>you're lifting and shifting.</strong>
</p>

<h5>
	Lift and Shift - why
</h5>

<p>
	Despite Citrix guidance against this model, some customers still choose to go with this model and deploy/manage the Citrix virtualization system components themselves. Per <a href="https://support.citrix.com/article/CTX270373" rel="external nofollow">CTX270373</a>, the use of public clouds including AWS is only supported with LTSR product versions. For customers who do choose the lift and shift (self-managed) deployment model, we often find that non-technical reasons are behind it. Politics, time pressures, fear of the unknown, perceived skills deficits, loss of control, and license acquisition fall into this category. There are, however, a few technical reasons why this model is appealing. These include:
</p>

<ul>
	<li>
		<strong>System Isolation</strong> - some use cases, such as air-gapped systems with no Internet access, often make the lift and shift model appealing. Since cloud services require outbound Internet access to function, in a strictly air-gapped deployment, cloud services won't function. This mainly applies to the Cloud Connectors (primary component of managed session brokering services) as they need outbound Internet connectivity to communicate with and utilize the Citrix Cloud services. Some customers can consider utilizing a secure, outbound proxy for Cloud Connectors (while keeping all other infrastructure strictly air-gapped). This is often a suitable concession which allows the managed brokering services to be utilized, but even this may not be an option for some customers and use cases.
	</li>
	<li>
		<strong>Configuration flexibility</strong> - one person's 'complex' is another person's 'flexible', and flexibility has been a strong suite of customer managed Citrix virtualization infrastructure for more than two decades. Over the years the technology has gained a ton of features that support some very niche use cases and third-party integrations. The Citrix Cloud services focus on simplicity and pre-integration. In doing so, some of these niche features and integrations are not available. Therefore, some edge cases are still best served by a customer managed stack. That said, given the rapid pace of innovation coming to the Citrix Cloud services, these edge cases are becoming increasingly rare.
	</li>
	<li>
		<strong>Control</strong> - some organizations, cultures, and business models demand as much control as possible. With customer managed Citrix virtualization components, customers can completely own their destiny. This control comes at a cost (infrastructure, complexity, personnel, and such) but "control at all cost" is a thing for some customers.
	</li>
</ul>

<p>
	To summarize, the <strong>lift and shift deployment model</strong> uses the following:
</p>

<table>
	<thead>
		<tr>
			<th>
				Citrix virtualization system component
			</th>
			<th>
				Provided by:
			</th>
		</tr>
	</thead>
	<tbody>
		<tr>
			<td>
				Session brokering and administration
			</td>
			<td>
				Citrix Virtual Apps and Desktops (customer managed using LTSR or CR downloadable) on Amazon EC2
			</td>
		</tr>
		<tr>
			<td>
				UI services
			</td>
			<td>
				Citrix StoreFront on Amazon EC2 (customer managed)
			</td>
		</tr>
		<tr>
			<td>
				Authentication
			</td>
			<td>
				Citrix StoreFront on EC2 (Citrix ADC/Gateway optional but common)
			</td>
		</tr>
		<tr>
			<td>
				HDX session proxy
			</td>
			<td>
				Citrix ADC/Gateway VPX on Amazon EC2 (customer managed)
			</td>
		</tr>
		<tr>
			<td>
				VMs compute, networking, and storage
			</td>
			<td>
				Amazon Elastic Compute Cloud (Amazon EC2), Amazon Virtual Private Cloud (Amazon VPC), Amazon Elastic Block Store (Amazon EBS)
			</td>
		</tr>
		<tr>
			<td>
				Active Directory and file systems
			</td>
			<td>
				Customer managed Windows Server instances on EC2; <a href="https://aws.amazon.com/directoryservice/" rel="external nofollow">AWS Directory Service for Microsoft Active Directory</a> and <a href="https://aws.amazon.com/fsx/windows/" rel="external nofollow">Amazon's FSx for Windows File Server</a> (optional)
			</td>
		</tr>
	</tbody>
</table>

<p>
	In its simplest form, a lift and shift deployment of Citrix virtualization technology onto AWS resembles a traditional customer managed deployment on-premises. It uses a CVAD 'site' deployed into an AWS region and uses basic AWS IaaS services such as EC2 virtual machines and VPC networking at a minimum. As mentioned previously, it requires the customer to build/configure/maintain all system components, plus supporting services such as SQL databases. The following diagram depicts this deployment model:
</p>

<p>
	<a class="ipsAttachLink ipsAttachLink_image" href="//media.invisioncic.com/m329563/monthly_2024_02/reference-architectures_citrix-virtual-apps-and-desktops-on-aws_001.png.72d14acb3aa6012fdf4c0b2382cbb43e.png" data-fileid="2754" data-fileext="reference-architectures_citrix-virtual-apps-and-desktops-on-aws_001.png" rel=""><img alt="reference-architectures_citrix-virtual-apps-and-desktops-on-aws_001.png" class="ipsImage ipsImage_thumbnailed" data-fileid="2754" style="height: auto;" width="905" src="//media.invisioncic.com/m329563/monthly_2024_02/reference-architectures_citrix-virtual-apps-and-desktops-on-aws_001.png.72d14acb3aa6012fdf4c0b2382cbb43e.png" loading="lazy" height="597.3"></a>
</p>

<p>
	<em>Diagram 1: Conceptual Architecture, CVAD: Lift and Shift Deployment Model on AWS.</em>
</p>

<p>
	 
</p>

<p>
	It is worth noting that this deployment model also uses <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html" rel="external nofollow">AWS Availability Zones</a> to provide a highly available design. See <a href="#infrastructure-as-code-and-the-aws-object-model" rel="">Availability Zones</a> later in this document for more context.
</p>

<p>
	A lift and shift deployment model is often combined with a hybrid cloud infrastructure model, using AWS Direct Connect, AWS VPN, or similar networking technology to connect a customer managed data center and resources to AWS. Customers can optionally adopt some of AWS' more advanced cloud services (to provide a measure of simplification with the transition), and they may also choose to host some services (such as SQL databases, Citrix licensing, Citrix StoreFront, and Citrix ADC/Gateway) either on AWS, in a customer managed data center, or both depending upon their existing investments, use case requirements, and such. A conceptual architecture of this deployment model (using AWS RDS for SQL Server or on-premises SQL server) is shown in the following diagram. Only one active instance of Citrix Licensing is needed, but we've shown multiple to depict available options:
</p>

<p>
	<a class="ipsAttachLink ipsAttachLink_image" href="//media.invisioncic.com/m329563/monthly_2024_02/reference-architectures_citrix-virtual-apps-and-desktops-on-aws_008.png.35ed6a05b9f824a5a8eff42f6c01cade.png" data-fileid="2755" data-fileext="reference-architectures_citrix-virtual-apps-and-desktops-on-aws_008.png" rel=""><img alt="reference-architectures_citrix-virtual-apps-and-desktops-on-aws_008.png" class="ipsImage ipsImage_thumbnailed" data-fileid="2755" style="height: auto;" width="1214" src="//media.invisioncic.com/m329563/monthly_2024_02/reference-architectures_citrix-virtual-apps-and-desktops-on-aws_008.png.35ed6a05b9f824a5a8eff42f6c01cade.png" loading="lazy" height="594.86"></a>
</p>

<p>
	<em>Diagram 8: Conceptual Architecture, CVAD: Lift and Shift Deployment Model with Hybrid Cloud infrastructure model and AWS managed cloud services.</em>
</p>

<p>
	 
</p>

<h4>
	Lift and Shift - why not
</h4>

<p>
	By now you've gathered that the Citrix leading practice/recommendation is to NOT do a full lift and shift. You can be wondering why, or where this is coming from. Referring to our breakdown of <a href="#citrix-virtualization-system-components" rel="">Citrix virtualization system components</a>, the <strong>session brokering and administration</strong> subsystem is the most critical component you want to consider NOT lifting and shifting. We strongly recommend customers consider using Citrix's cloud services for session brokering and administration (deploy Cloud Connectors only, vs. deploying Delivery Controllers + SQL databases + Director servers + Citrix Licensing servers). Here are some of the primary reasons why we take this position (and they might sound familiar):
</p>

<ul>
	<li>
		<strong>Simplicity</strong> - While customer-managed session brokering services provide the ultimate in control and configuration flexibility, it comes at the cost of complexity and ongoing maintenance requirements. With Citrix Cloud services, simplicity is a foundational design tenet. When multiple cloud services are used, they come pre-configured to work together, and when configuration is necessary, workflows and options are dramatically simplified.
	</li>
	<li>
		<strong>Infrastructure and licensing cost savings</strong> - customer managed Citrix virtualization services often require extra hardware and software to support them, and these have costs associated with them. One good example is Microsoft SQL Server: customer managed brokering services require databases, and if you're going to build/manage your own, you must provide them.
	</li>
	<li>
		Speaking of infrastructure cost savings - this brings up a critical differentiator between the two session brokering options: <strong>Autoscaling</strong>. Citrix's managed brokering service (DaaS) includes the <a href="https://docs.citrix.com/en-us/citrix-virtual-apps-desktops-service/manage-deployment/autoscale.html" rel="external nofollow"><strong>Citrix Autoscale feature</strong></a>, which provides built-in VDA capacity and cost management functionality. This feature can save customers a substantial amount of money on infrastructure when they're only paying for what they use. When running a Citrix virtualization workload on AWS, this often means the difference between paying for committed use discounts or paying for VM usage as you go. The cost savings can be dramatic for many use cases, and the Citrix Autoscale feature helps ensure you're only consuming what you need. <strong>Important note:</strong> <em>This feature is only available to Citrix Cloud service (Citrix DaaS) customers - it is not available to customer managed brokering infrastructure (Citrix Virtual Apps and Desktops LTSR or CR releases).</em> - <strong>Management savings</strong> - With cloud services, Citrix (and AWS in this case) shoulders the responsibility for keeping the services highly available, performant, secure, and up to date. You still build and manage your VDAs regardless, but don't underestimate the value of delegating these responsibilities. Cloud services help free up IT resources, allowing them to focus on providing unique value to their businesses instead of these critical but tedious and often time-consuming tasks.
	</li>
	<li>
		<strong>"Free" upgrades and continuous innovation</strong> - with customer managed infrastructure, the onus is on the customer to upgrade and patch the components in their care. With cloud services, most of those work efforts go away. The service providers (Citrix and AWS in this case) tend to be constantly innovating, and they bring these innovations to the customers who consume the services, often without requiring any work on behalf of the customer.
	</li>
	<li>
		<strong>Access to more features, functionality, and services -</strong> modern service delivery platforms (such as Citrix Cloud and Amazon EC2) give technology providers a powerful, cost-effective way to bring new features, capabilities, and services to market that wouldn't otherwise be possible. Vendors such as Citrix are committed to meeting the customer wherever they're at in their digital transformation journey, but sometimes the only way to cost-effectively deliver new capabilities is to deliver them as a cloud service.
	</li>
</ul>

<h4>
	Lift and Shift - more resources
</h4>

<p>
	Before Citrix Cloud services were born, customers were already successfully deploying Citrix virtualization technologies on AWS. In those days Citrix called the Virtual Apps and Desktops products XenApp and XenDesktop. Extensive work went into creating and publishing reference architectures and deployment guides for this deployment scenario. A good portion of the detail in these aging resources still applies to deployments who must go down this road today.
</p>

<p>
	For customers who MUST go down this route, the following published resources provide you with useful background detail you can use to help you be successful. We recommend reviewing these materials before you continue on with this document, as we are highlighting important design decisions that have changed since these works were completed:
</p>

<ul>
	<li>
		<a href="https://aws.amazon.com/blogs/apn/using-aws-directory-service-and-amazon-rds-with-citrix-virtual-apps-and-desktops/" rel="external nofollow">Using AWS Directory Service and Amazon RDS with Citrix Virtual Apps and Desktops</a> (blog)
	</li>
	<li>
		<a href="https://s3-us-west-2.amazonaws.com/apnblog.awspartner.com/Citrix+Virtual+Apps+and+Desktops/Citrix+Ready-Amazon+RDS+Deployment+Guide_v1.pdf" rel="external nofollow">Deploying Citrix Virtual Apps and Desktop with AWS Directory Service and Amazon RDS Version 1.0</a> (deployment guide)
	</li>
</ul>

<h2>
	Design Decisions
</h2>

<p>
	This section explores key design decisions to consider as you're architecting your Citrix virtualization system on AWS. We walk down through each layer of the Citrix Architectural Design Framework, exploring key areas for you to consider.
</p>

<h3>
	About the Citrix Architectural Design Framework
</h3>

<p>
	Citrix's Virtual Apps and Desktops solution (the product family name collectively referring to Citrix's virtualization technologies) enables organizations to create, control and manage virtual machines, deliver applications and desktops, and implement granular security policies. The Citrix Virtual Apps and Desktops solution provides a unified framework for developing a complete digital workspace offering. This offering enables Citrix users to access applications and desktops independent of their device's operating system and interface.
</p>

<p>
	The Citrix architectural design framework is based on a unified and standardized layer model. It provides a consistent and easily accessible framework for understanding the technical architecture for most of the common Virtual Apps and Desktops deployment scenarios. These layers are depicted in the following conceptual diagram:
</p>

<p>
	<a class="ipsAttachLink ipsAttachLink_image" href="//media.invisioncic.com/m329563/monthly_2024_02/reference-architectures_citrix-virtual-apps-and-desktops-on-aws_009.png.9d642af61a129ae629ad110065518633.png" data-fileid="2756" data-fileext="reference-architectures_citrix-virtual-apps-and-desktops-on-aws_009.png" rel=""><img alt="reference-architectures_citrix-virtual-apps-and-desktops-on-aws_009.png" class="ipsImage ipsImage_thumbnailed" data-fileid="2756" style="height: auto;" width="1246" src="//media.invisioncic.com/m329563/monthly_2024_02/reference-architectures_citrix-virtual-apps-and-desktops-on-aws_009.png.9d642af61a129ae629ad110065518633.png" loading="lazy" height="697.76"></a>
</p>

<p>
	<em>Diagram 9: Conceptual Architecture, Citrix Virtual Apps and Desktops.</em>
</p>

<p>
	 
</p>

<ul>
	<li>
		<strong><em>User Layer</em></strong> - This layer defines user groups and locations of the Citrix environment.
	</li>
	<li>
		<strong><em>Access layer</em></strong> - This layer defines how users access the resources.
	</li>
	<li>
		<strong><em>Control layer</em></strong> - This layer defines the components that control the Citrix solution.
	</li>
	<li>
		<strong><em>Resource layer</em></strong> - This layer defines provisioning of Citrix workloads and how resources are assigned to the given users.
	</li>
	<li>
		<strong><em>Platform layer</em></strong> - This layer defines the physical elements where the hypervisor components and cloud service provider framework run to host the Citrix workloads.
	</li>
	<li>
		<strong><em>Operations Layer</em></strong> - This layer defines the tools that support the delivery of the core solutions.
	</li>
</ul>

<h3>
	User Layer Considerations
</h3>

<p>
	In the Citrix Architectural Design Framework, the User layer describes the user groups, their locations, specific requirements, and more. The user layer appropriately sets the overall direction for each user group's environment. This layer incorporates the assessment criteria for business priorities and user group requirements to define effective strategies for endpoints and Citrix Workspace App. These design decisions affect the flexibility and functionality for each user group.
</p>

<p>
	When designing and deploying a Citrix virtualization system on any platform, the decisions and strategies adopted after careful assessment set the foundation for many other decisions that customers ought to consider as they work their way down through the other layers in the Citrix Architectural Design Framework. As such, this is a critical layer to understand thoroughly and get right.
</p>

<h3>
	Access Layer Considerations
</h3>

<p>
	In the Citrix Architectural Design Framework, the Access layer defines how users access AWS resources. The design of your access layer is critical to the functionality delivered by any Citrix virtualization system. It controls how users authenticate to the system. It also controls how users view and launch virtualized applications and desktops, plus what type of applications and content are available to them. Also, the Access layer controls how and when sessions are securely proxied or directly connected.
</p>

<p>
	In the context of the <a href="#citrix-virtualization-system-components" rel="">Citrix virtualization system components</a> we defined earlier, the access layer contains the following components and choices:
</p>

<table>
	<thead>
		<tr>
			<th>
				Citrix virtualization system component
			</th>
			<th>
				Provided by:
			</th>
		</tr>
	</thead>
	<tbody>
		<tr>
			<td>
				UI services
			</td>
			<td>
				Citrix Workspace (provided by Citrix Cloud) <strong>OR</strong> Citrix StoreFront on Amazon EC2 (customer managed)
			</td>
		</tr>
		<tr>
			<td>
				Authentication
			</td>
			<td>
				Citrix Workspace service (Citrix ADC/Gateway optional) <strong>OR</strong> Citrix StoreFront on EC2 (Citrix ADC/Gateway optional but common)
			</td>
		</tr>
		<tr>
			<td>
				HDX session proxy
			</td>
			<td>
				Citrix Gateway Service (provided by Citrix Cloud) <strong>OR</strong> Citrix ADC/Gateway VPX on Amazon EC2 (customer managed)
			</td>
		</tr>
	</tbody>
</table>

<p>
	The following table contains critical decision points when determining which access layer component to deploy, but the choice is not binary. Citrix supports various different access methods that can be customized to suit your needs.
</p>

<h4>
	UI Service and Authentication Considerations
</h4>

<p>
	Consider the following when choosing how you want to provide UI services for your Citrix virtualization system on AWS:
</p>

<table>
	<thead>
		<tr>
			<th>
				Attribute / Capability
			</th>
			<th>
				Customer Managed (installed from downloaded binaries)
			</th>
			<th>
				Cloud Service (delivered via Citrix Cloud)
			</th>
		</tr>
	</thead>
	<tbody>
		<tr>
			<td>
				Ability to present and launch virtualized apps and desktops from multiple "Citrix Farms."
			</td>
			<td>
				<strong>YES</strong> - Both legacy environments (XenApp and XenDesktop 7.x, Citrix Virtual Apps and Desktops CR/LTSR) and Citrix DaaS.
			</td>
			<td>
				<strong>YES</strong> - Both legacy environments (XenApp and XenDesktop 7.x, Citrix Virtual Apps and Desktops CR/LTSR) and Citrix DaaS. See <a href="https://docs.citrix.com/en-us/citrix-workspace/optimize-cvad/add-on-premises-site.html" rel="external nofollow">this article</a> for more details.
			</td>
		</tr>
		<tr>
			<td>
				Ability to create multiple 'Stores' with different settings for different use cases, including authentication requirements.
			</td>
			<td>
				<strong>YES</strong> - StoreFront can be configured with multiple different Stores, and when combined with Citrix ADC/Gateway VPX, can apply sophisticated rules to direct certain devices or user groups to different stores. For more information, see <a href="https://docs.citrix.com/en-us/citrix-gateway/current-release/integrate-citrix-gateway-with-citrix-products/integrate-web-interface-apps/ng-smartaccess-wrapper-con/ng-smartaccess-how-it-works-con.html" rel="external nofollow">How SmartAccess Works for Citrix Virtual Apps and Desktops</a>. One common scenario requiring two StoreFront Stores would be when users require published applications from inside a published desktop. Another common scenario would be a requirement of having an internal only Store (no Citrix Gateway access) for a specific use case and another Store configured for both internal and remote access. See <a href="https://docs.citrix.com/en-us/storefront/current-release/configure-manage-stores.html" rel="external nofollow">Configure and manage stores</a> for more information.
			</td>
			<td>
				<strong>NO</strong> - the Workspace Service is essentially a single store, on a single URL. All users use the same store and Workspace settings. Authentication requirements are set up once, and apply to all users of the Workspace tenant.
			</td>
		</tr>
		<tr>
			<td>
				Ability to enumerate, launch, and SSO into SaaS and web apps using the Citrix Secure Private Access service, taking advantage of web-filtering and enhanced security control policies, plus advanced, ML enhanced analytics.
			</td>
			<td>
				<strong>NO</strong> - Requires use of Citrix Workspace.
			</td>
			<td>
				<strong>YES</strong> - With the Citrix Gateway Service, it is as simple as 'turning on' the integration in the Citrix Cloud Console. SaaS apps are defined simply from a web based wizard, and admins can use a substantial list of pre-defined apps as a starting point.
			</td>
		</tr>
		<tr>
			<td>
				Ability to access/index/search Citrix Files (formerly ShareFile) content through the Citrix Workspace app and web browsers (HTML).
			</td>
			<td>
				<strong>NO</strong> - StoreFront does not have the ability to integrate file-based content into either Workspace App or StoreFront HTML UIs.
			</td>
			<td>
				<strong>YES</strong> - Enabled by default depending upon the subscription to Citrix Cloud. Brings users' file-based content from various sources (including on-premises file shares) into the Workspace UI, both HTML and Workspace App.
			</td>
		</tr>
		<tr>
			<td>
				Ability to present and launch connections to physical desktops using the <a href="https://docs.citrix.com/en-us/citrix-virtual-apps-desktops/install-configure/remote-pc-access.html" rel="external nofollow">Citrix Remote PC Access</a> feature.
			</td>
			<td>
				<strong>YES</strong> - Regardless of whether brokering is handled by CVAD or DaaS.
			</td>
			<td>
				<strong>YES</strong> - Regardless of whether brokering is handled by CVAD or DaaS.
			</td>
		</tr>
		<tr>
			<td>
				For multi-site and DR use cases, ability to granularly control session launch behavior using Zone Preference and Failover.
			</td>
			<td>
				<strong>YES</strong> - Using Citrix Zones for deployments across multiple AWS Regions and Availability Zones is a great way to expand east-west and limit the affected user base in the case of an outage, and allows for Region preference and failover to the Primary Zone seamlessly. See <a href="https://docs.citrix.com/en-us/citrix-virtual-apps-desktops/manage-deployment/zones.html" rel="external nofollow">CVAD Zones documentation</a>.
			</td>
			<td>
				<strong>Partial</strong> - Workspace service doesn't include the fully featured zone preference and failover functionality, but a similar effect can be implemented using home zones for users or apps. See <a href="https://docs.citrix.com/en-us/citrix-daas/manage-deployment/zones.html" rel="external nofollow">Citrix DaaS Zones documentation</a> for details.
			</td>
		</tr>
		<tr>
			<td>
				Ability to broker new and existing connections when a connection between a resource location/zone and Citrix Cloud fails, or when the databases underneath Citrix Delivery Controllers are unavailable.
			</td>
			<td>
				<strong>YES</strong> - Uses the Local Host Cache feature on both Cloud Connectors and Delivery Controllers to provide resiliency for these two potential failure scenarios. <strong>For environments with extensive resiliency requirements, Citrix recommends deploying StoreFront with Local Host Cache.</strong> For more information see <a href="https://docs.citrix.com/en-us/citrix-virtual-apps-desktops/manage-deployment/local-host-cache.html" rel="external nofollow">Local Host Cache (CVAD)</a>.
			</td>
			<td>
				<strong>YES</strong> - Cloud Connectors use the Local Host Cache feature to broker resource connections in the event of Citrix Cloud communication failure. This requires passive StoreFront servers accessible by your resource locations to handle failover scenarios. For more information see <a href="https://docs.citrix.com/en-us/citrix-virtual-apps-desktops-service/manage-deployment/local-host-cache.html" rel="external nofollow">Local Host Cache (DaaS)</a>.
			</td>
		</tr>
		<tr>
			<td>
				Ability to configure and utilize a customized 'vanity URL' for end-user consumption.
			</td>
			<td>
				<strong>YES</strong> - Customer has full control of the URL's and certificates used and presented to users. Does require SSL certificates, DNS alias creation/management, and Citrix ADC/Gateway instances for ingress over public networks.
			</td>
			<td>
				<strong>Partial</strong> - All Workspaces are delivered from the cloud.com domain, though customers can <a href="https://docs.citrix.com/en-us/citrix-cloud/workspace-configuration.html" rel="external nofollow">configure their own customized prefix</a> (customername.cloud.com).
			</td>
		</tr>
		<tr>
			<td>
				Ability to intelligently route on-network users directly to VDAs and off-network users through Citrix ADC/Gateway VPX or Citrix Gateway Service.
			</td>
			<td>
				<strong>YES</strong> - StoreFront uses administrator defined 'beacons', which the Citrix Workspace app uses to determine if a user is on or off-network.
			</td>
			<td>
				<strong>Coming Soon</strong> - This feature is expected to be available on Citrix Workspace with the release of the Network Location Service once it is generally available. For more information, see <a href="https://docs.citrix.com/en-us/citrix-cloud/workspace-network-location.html" rel="external nofollow">Network Location Service preview</a>.
			</td>
		</tr>
		<tr>
			<td>
				Ability to use Citrix Gateway Service for simple, pre-configured HDX session proxy services.
			</td>
			<td>
				<strong>NO</strong> - If off-network access to Citrix virtualized apps is a requirement (and it is in 99% of deployments), StoreFront requires the use of customer managed Citrix ADC/Gateway for HDX session proxy functionality.
			</td>
			<td>
				<strong>YES</strong> - This feature is provisioned and enabled by default for all new Citrix Workspace tenants.
			</td>
		</tr>
		<tr>
			<td>
				Includes built-in multifactor authentication via Active Directory and TOTP.
			</td>
			<td>
				<strong>YES</strong> - Citrix ADC includes built-in TOTP functionality for use with third-party authenticators, and also supports third-party apps/devices/services.
			</td>
			<td>
				<strong>YES</strong> - Citrix Workspace includes this feature, including self-service OTP device recovery and automatic push notifications to end users. Supports both Citrix and third-party authenticator apps.
			</td>
		</tr>
		<tr>
			<td>
				SSO capabilities (Virtualized, SaaS, and Web apps)
			</td>
			<td>
				<strong>Partial</strong> - SSO to virtualized apps out of the box.
			</td>
			<td>
				<strong>YES</strong> - SSO to virtualized, SaaS, and web apps natively available with Citrix Workspace. Gateway Service and Secure Private Access include Web Filtering and Policy Controls.
			</td>
		</tr>
		<tr>
			<td>
				Ability to choose from multiple pre-defined authentication methods and have the chosen method apply to all users on the system.
			</td>
			<td>
				<strong>YES</strong> - with more options and flexibility. Citrix StoreFront allows you to create multiple Stores, and authentication methods are configured on a per store basis. One or more options can be configured per store, and admins can select from Active Directory username/password, SAML authentication, domain pass-through, Smart Card, HTTP Basic, and Pass-through from Citrix Gateway options. Self service password reset can also be enabled. See <a href="https://docs.citrix.com/en-us/storefront/current-release/configure-authentication-and-delegation/configure-authentication-service.html" rel="external nofollow">Configure the authentication service</a> for more information. When Citrix ADC/Gateway (customer managed) is deployed and used with StoreFront, a various authentication options can be configured, along with extra logic to direct users to a specific Store as needed to support almost any use case. Citrix StoreFront and Citrix ADC/Gateway are recommended where complex integrations and different authentication methods are required for different use cases.
			</td>
			<td>
				<strong>YES</strong> - Currently, Active Directory, Azure AD, Active Directory + TOTP Token, Azure AD, and Citrix Gateway are currently supported options. Okta and Google Cloud ID options are in preview or coming soon. See <a href="https://docs.citrix.com/en-us/citrix-workspace/secure.html" rel="external nofollow">Secure workspaces</a> for more information. Except for Citrix Gateway, your authentication choice applies to all users and all services provided through the Citrix Workspace tenant/URL. With the Citrix Gateway option, customers can support various authentication options (RADIUS MFA, smart card, federation, conditional access policies, and more) and flexibly apply them to different groups of users and use cases. For more information, see <a href="https://docs.citrix.com/en-us/citrix-cloud/citrix-cloud-management/identity-access-management/connect-ad-gateway.html" rel="external nofollow">Connect an on-premises Citrix Gateway as an identity provider to Citrix Cloud</a>.
			</td>
		</tr>
		<tr>
			<td>
				Ability to SSO to sessions on VDAs when launching virtualized Windows apps/desktops using federated identity providers
			</td>
			<td>
				<strong>YES</strong> - Citrix <a href="https://docs.citrix.com/en-us/federated-authentication-service.html" rel="external nofollow">Federated Authentication Service</a> (FAS) enables SSO to VDAs when using a federated identity provider such as SAML (Security Assertion Markup Language).
			</td>
			<td>
				<strong>Coming Soon</strong> - By using Citrix <a href="https://docs.citrix.com/en-us/federated-authentication-service.html" rel="external nofollow">Federated Authentication Service</a> (FAS) with Citrix Workspace. This feature is in preview as of this writing. See <a href="https://docs.citrix.com/en-us/citrix-workspace/workspace-federated-authentication.html" rel="external nofollow">Enable SSO for Workspaces with Citrix FAS</a> for more information.
			</td>
		</tr>
	</tbody>
</table>

<h4>
	HDX Session Proxy Considerations
</h4>

<p>
	Consider the following when choosing how you want to provide HDX session proxy functionality for your Citrix virtualization system on AWS:
</p>

<table>
	<thead>
		<tr>
			<th>
				Attribute / Capability
			</th>
			<th>
				Customer Managed (Citrix ADC/Gateway VPX on AWS)
			</th>
			<th>
				Cloud Service (<a href="https://docs.citrix.com/en-us/citrix-gateway-service.html" rel="external nofollow">Citrix Gateway Service</a> provided by Citrix Cloud)
			</th>
		</tr>
	</thead>
	<tbody>
		<tr>
			<td>
				Simple, pre-configured service, providing HDX proxy with no administrative overhead
			</td>
			<td>
				<strong>NO</strong> - As a customer managed component, these appliances require licensing, installation, configuration, and maintenance.
			</td>
			<td>
				<strong>YES</strong> - <a href="https://docs.citrix.com/en-us/citrix-gateway-service.html" rel="external nofollow">Citrix Gateway Service</a> is a complete HDX proxy solution, managed by Citrix, delivered as a cloud service.
			</td>
		</tr>
		<tr>
			<td>
				Ability to use Citrix HDX's EDT (UDP) based transport protocol. For more information, see <a href="https://docs.citrix.com/en-us/citrix-virtual-apps-desktops/technical-overview/hdx/adaptive-transport.html" rel="external nofollow">Adaptive Transport</a> and <a href="https://support.citrix.com/article/CTX220732" rel="external nofollow">How to Configure HDX Enlightened Data Transport Protocol</a>.
			</td>
			<td>
				<strong>YES</strong> - This feature optimizes traffic from high-latency sites and is available for customer managed ADC/Gateway instances.
			</td>
			<td>
				<strong>Not Yet</strong> - This feature is in preview as of this writing. The Gateway Service currently only supports TCP based connections to VDAs.
			</td>
		</tr>
		<tr>
			<td>
				Ability to provide load balancing, health checking, SSL offload, and various other advanced networking and application delivery services for customer managed infrastructure.
			</td>
			<td>
				<strong>YES</strong> - Citrix ADC/Gateway VPX appliances provide sophisticated, industry leading capabilities, many of which can be enabled by simply applying the appropriate type of license to the appliance.
			</td>
			<td>
				<strong>NO</strong> - For Citrix CVAD and Citrix DaaS brokered environments, the Gateway Service provides simple, secure access to virtualized applications running either in customer's AWS or on-prem environments.
			</td>
		</tr>
		<tr>
			<td>
				Support for customer configurable Global Server Load Balancing (GSLB) between data centers, zones, and regions.
			</td>
			<td>
				<strong>YES</strong> - Customer managed Citrix ADC/Gateway instances can be set up for GSLB, though the customer is responsible for setup and management.
			</td>
			<td>
				<strong>NO</strong> - ...however there is no real need for it: the Gateway Service uses <a href="https://www.citrix.com/blogs/2019/07/02/new-citrix-gateway-pops-now-available-in-india-and-south-africa/" rel="external nofollow">14 or more POP's worldwide plus integrated GSLB</a> to ensure users get the best possible session performance regardless of where in the world they are.
			</td>
		</tr>
		<tr>
			<td>
				Requires use of Citrix Workspace UI for HDX session presentation and launching.
			</td>
			<td>
				<strong>NO</strong> - It is possible to use customer managed Citrix ADC/Gateway VPX instances with both Workspace UI and StoreFront.
			</td>
			<td>
				<strong>YES</strong> - The Gateway Service is only configurable through the Citrix Workspace UI for HDX proxy - it does NOT provide HDX proxy capabilities for Citrix StoreFront.
			</td>
		</tr>
		<tr>
			<td>
				Requires extra resources on Cloud Connector instances to proxy sessions into secured networks.
			</td>
			<td>
				<strong>NO</strong> - While Cloud Connectors perform STA ticket validation for customer managed Citrix ADC/Gateway VPX instances, no additional resources are needed since all HDX sessions are proxied through the VPXs.
			</td>
			<td>
				<strong>YES</strong> - Today the Gateway Service uses long lived, outbound TCP connections from the Cloud Connector instances to Citrix Cloud to proxy HDX traffic back into private networks. This requires extra resource considerations when sizing and configuring Cloud Connector instances. See <a href="https://docs.citrix.com/en-us/citrix-virtual-apps-desktops-service/install-configure/install-cloud-connector/cc-scale-and-size.html" rel="external nofollow">this article</a> for more details. <strong>Note</strong> - this requirement is moot for most use cases once the Gateway Service and VDAs can use the Rendezvous protocol/feature. This requires Citrix VDA 1912 or newer.
			</td>
		</tr>
		<tr>
			<td>
				Ability to be used with Citrix Cloud Government tenants.
			</td>
			<td>
				<strong>YES</strong> - Both on-prem and AWS EC2-based ADC/Gateway/StoreFront deployments are supported.
			</td>
			<td>
				<strong>YES</strong> - Citrix Workspace is available in Citrix Cloud Government.
			</td>
		</tr>
		<tr>
			<td>
				Ability to support air-gapped AWS clouds/environments with no outbound internet connectivity.
			</td>
			<td>
				<strong>YES</strong> - Customer-managed deployments of ADC/Gateway (and StoreFront) are supported for both on-prem and AWS EC2-based instances.
			</td>
			<td>
				<strong>NO</strong> - Air-gapped AWS environments have no access to Citrix Cloud or Citrix Cloud Government, therefore Gateway Service and Workspace Service are currently not available.
			</td>
		</tr>
	</tbody>
</table>

<h4>
	Summary, Recommendations, and Leading Practices
</h4>

<p>
	Now that we've reviewed some of the attributes/features/capabilities that help drive your customer managed vs. cloud service decisions for the Access Layer subsystems, let's examine the top level decisions in the context of the <a href="#common-deployment-models-for-citrix-virtualization-on-aws" rel="">deployment models</a> we defined earlier.
</p>

<h5>
	Access Layer: Greenfield/Cloud Only Deployment
</h5>

<p>
	Since the green field or cloud only deployment model use cloud services across the board, the AWS specific implications on the design of your Citrix virtualization system are simple: there aren't any. It's not necessary build or configure anything on AWS since everything required for both UI and HDX proxy services is provided for you, configured and ready to go 'out of the box'.
</p>

<p>
	The Access Layer of a Citrix deployment is a key requirement for delivering virtual apps and desktops to users. If an access point is unreachable or fails, users cannot access their resources. Network design and implementation can be complicated, but with Citrix Gateway Service and Citrix Workspace, redundancy, failover, maintenance, and global presence are all part of the package - with no networking knowledge required.Using the Citrix Gateway Service and Citrix Workspace can reduce your infrastructure footprint substantially. By moving the access layer to a cloud services model, users can securely access network resources from anywhere in the world. This approach requires the least deployment and maintenance efforts, so it is a great option if you want to get up-and-running quickly, have a limited IT staff, or if infrastructure is not your focus. With everything pre-configured, this deployment model is the least customizable, but for deploying a simple, secure, fully functional, globally accessible system, using Citrix Workspace and Gateway Service for your access layer is the way to go.
</p>

<h5>
	Access Layer: Hybrid Deployment
</h5>

<p>
	With the hybrid deployment model, you're going to be building/managing some of the Citrix virtualization system components, otherwise it is a green field or cloud only deployment by definition. With the hybrid model, you're possibly deploying Citrix ADC/Gateway VPXs on AWS or even on-premises, and depending upon your requirements, you might also be deploying Citrix StoreFront on AWS or on-premises. Customers who have made significant investments in their on-premises Gateway and identity solutions can benefit from the ability to use <a href="https://docs.citrix.com/en-us/citrix-adc/current-release/aaa-tm/use-citrix-gateway-as-idp-for-citrix-cloud.html" rel="external nofollow">Citrix Gateway as the identity provider for Workspace</a>.
</p>

<p>
	This deployment model is common for security-focused deployments, deployments with current on-prem infrastructure (ADC or StoreFront), and for DR/failover sites for existing customer managed data centers. One of the key considerations for this model is keeping your users, resources, and access points as close together as possible. Choose AWS regions near the on-prem resource locations in which to deploy your Access Layer. Where possible, keep your ADCs and StoreFront servers as close as possible to each other. This is where things can get tricky. Consider the <a href="https://www.basvankaam.com/2016/12/19/demystifying-the-citrix-xenapp-logon-enumeration-and-launch-steps-new-details-included/" rel="external nofollow">Citrix Virtual Apps and Desktops launch sequence</a> when designing your hybrid deployment, noting especially that all traffic is routed through the Citrix ADC.
</p>

<p>
	With Citrix ADC/Gateway and StoreFront as EC2-based instances in AWS, there is also much more potential for customization. In addition to the multiple StoreFront stores, multifactor authentication, and various industry-leading ADC features, hybrid deployments can also use native AWS services such as the Relational Database Service (RDS) and AWS Directory Services. Hybrid deployments lend well to a more gradual cloud transition and leave room for adjustments to the architecture along the way, as opposed to lift, and shift methods.
</p>

<p>
	The hybrid approach does require a higher level of expertise and increased lead time to deploy than the greenfield/cloud only model, but can serve as a solid transition state between a traditional customer managed/on-prem deployment and cloud only state.
</p>

<h5>
	Access Layer: Lift and Shift Deployment
</h5>

<p>
	With the legacy lift and shift deployment model, you're deploying both Citrix ADC/Gateway VPXs and Citrix StoreFront on AWS, or potentially reusing existing on-premises deployments of these technologies for the same purpose. This type of deployment tends to have the least lead time for customers with existing on-prem Citrix virtualization environments, and is also the easiest transition from an Operations and Maintenance perspective. Staff with experience managing an on-prem environment has a shorter ramp-up time with the lift and shift deployment model, as the Citrix infrastructure remains largely unchanged. For the access layer specifically, this method is straightforward and allows for many customizations. The lift and shift is a great first step for existing deployments going into the cloud or for new or air-gapped AWS regions, but may be a hindrance to adopting a cloud-forward architecture in the future.
</p>

<h3>
	Citrix ADC/Gateway VPX on AWS
</h3>

<p>
	Deploying the Citrix ADC/Gateway on AWS is different than deploying it on-premises, though in the end you're managing them yourself. Fortunately deploying Citrix ADC/Gateway on AWS is thoroughly documented, so we recommend reviewing the following resources before you solidify your design and begin implementation:
</p>

<ul>
	<li>
		<a href="https://docs.citrix.com/en-us/citrix-adc/current-release/deploying-vpx/deploy-aws.html" rel="external nofollow">Citrix ADC VPX on AWS in Citrix Docs</a>: Provides a comprehensive overview of Citrix ADC on AWS, including supported VPX models, AWS regions, EC2 instance types, and extra resource references.
	</li>
	<li>
		<a href="/en-us/tech-zone/design/design-guides/citrix-adc-and-amazon-aws.html" rel="">Citrix ADC and Amazon Web Services Validated Reference Design</a> in Citrix Docs/Advanced Concepts - includes more details and deployment guidance.
	</li>
</ul>

<p>
	While there are potential variants for a Citrix ADC/Gateway VPX architecture on AWS, the following diagram (from the <a href="https://aws-quickstart.s3.amazonaws.com/quickstart-citrix-adc-vpx/doc/citrix-adc-vpx-for-web-applications-on-the-aws-cloud.pdf" rel="external nofollow">Citrix ADC for Web Applications Quick Start Deployment Guide</a>) depicts a multi-AZ Citrix HA pair deployment as deployed by the Quick Start template (with default subnets/CIDR blocks):
</p>

<p>
	 
</p>

<p>
	<a class="ipsAttachLink ipsAttachLink_image" href="//media.invisioncic.com/m329563/monthly_2024_02/reference-architectures_citrix-virtual-apps-and-desktops-on-aws_010.png.2c9342eaa711d4e0dc4494ddd019d456.png" data-fileid="2757" data-fileext="reference-architectures_citrix-virtual-apps-and-desktops-on-aws_010.png" rel=""><img alt="reference-architectures_citrix-virtual-apps-and-desktops-on-aws_010.png" class="ipsImage ipsImage_thumbnailed" data-fileid="2757" style="height: auto;" width="962" src="//media.invisioncic.com/m329563/monthly_2024_02/reference-architectures_citrix-virtual-apps-and-desktops-on-aws_010.png.2c9342eaa711d4e0dc4494ddd019d456.png" loading="lazy" height="692.64"></a>
</p>

<p>
	<em>Diagram 10: Conceptual Architecture, Citrix ADC/Gateway VPX on AWS with HA across Availability Zones.</em>
</p>

<p>
	 
</p>

<p>
	As discussed in <a href="https://docs.citrix.com/en-us/citrix-adc/current-release/deploying-vpx/deploy-aws.html" rel="external nofollow">Citrix ADC VPX on AWS</a> on Citrix Docs, there are two primary deployment options available. They are:
</p>

<ul>
	<li>
		<p>
			<strong><a href="https://docs.citrix.com/en-us/citrix-adc/current-release/deploying-vpx/deploy-aws/launch-vpx-for-aws-ami.html" rel="external nofollow">Standalone</a></strong>: Individual instances of Citrix ADC/Gateway can be deployed and managed as separate entities. This is commonly used for smaller scale or POC deployments where high availability is not a requirement.
		</p>
	</li>
	<li>
		<p>
			<strong><a href="https://docs.citrix.com/en-us/citrix-adc/current-release/deploying-vpx/deploy-aws/how-aws-ha-works.html" rel="external nofollow">High Availability</a></strong>: This is the most commonly deployed model for production environments: pairs of Citrix ADC/Gateway VPX instances can be deployed using native Citrix HA mode on AWS. With older firmware versions, the pair is deployed in the same AWS Availability Zone. <a href="https://docs.citrix.com/en-us/advanced-concepts/design-guides/netscaler-and-amazon-aws.html" rel="external nofollow">Starting with Citrix ADC 12.1</a> firmware, highly available pairs of VPX appliances can be deployed across Availability Zones (AZ). <a href="https://docs.citrix.com/en-us/citrix-adc/current-release/deploying-vpx/deploy-aws/how-aws-ha-works.html" rel="external nofollow">How high availability on AWS works</a> explains the difference between deploying a pair of ADCs within the same AZ and across AZs. We dig into this option more deeply later in this section.
		</p>
	</li>
</ul>

<p>
	While Citrix ADC VPX generally supports single, dual, or multiple NIC deployment types, Citrix recommends using at least three subnets for each ADC when deployed on AWS, with a network interface in each subnet for optimum throughput and data separation. When deployed to support Citrix Virtual Apps and Desktops, the NSIP is typically attached to the "Private Citrix Infrastructure Subnet," the SNIP is attached to the "Private Citrix VDA Subnet," and the Citrix Gateway VIP to the "Public Subnet." The following simplified conceptual diagram depicts this configuration. It shows a single VPX instance in a single AZ - this design pattern would be duplicated (likely in a second AZ) for a High Availability configuration:
</p>

<p>
	 
</p>

<p>
	<a class="ipsAttachLink ipsAttachLink_image" href="//media.invisioncic.com/m329563/monthly_2024_02/reference-architectures_citrix-virtual-apps-and-desktops-on-aws_011.png.c0ba8719b65b7b3e036dc3eabd622a00.png" data-fileid="2758" data-fileext="reference-architectures_citrix-virtual-apps-and-desktops-on-aws_011.png" rel=""><img alt="reference-architectures_citrix-virtual-apps-and-desktops-on-aws_011.png" class="ipsImage ipsImage_thumbnailed" data-fileid="2758" style="height: auto;" width="536" src="//media.invisioncic.com/m329563/monthly_2024_02/reference-architectures_citrix-virtual-apps-and-desktops-on-aws_011.png.c0ba8719b65b7b3e036dc3eabd622a00.png" loading="lazy" height="637.84"></a>
</p>

<p>
	<em>Diagram 11: Citrix ADC VPX instance interface mapping for CVAD/DaaS deployments.</em>
</p>

<p>
	 
</p>

<h4>
	ADC High Availability across Availability Zones
</h4>

<p>
	As mentioned earlier, this is the most common deployment model for Citrix virtualization systems. This model uses a pair of Citrix ADC VPXs deployed across Availability Zones by either using Citrix ADC's native HA (active/passive) feature or a combination of Citrix ADC's native Global Service Load Balancing (GSLB) and IPSet features. The latter option (which became feasible in early 2020) allows for an active/active configuration across AZs, and functions by allowing the ADC to act as an authoritative DNS source. This new option/architecture is expected to be popular for public cloud deployments, so we focus on that here.
</p>

<p>
	The Domain Based Services for cloud load balancers allow for AutoDiscovery of dynamic cloud services. By deploying Citrix ADCs across multiple AZs in an active-active configuration, you can use cloud resources in different AZs to optimize High Availability/Disaster Recovery. Each AZ can contain cloud resources in the familiar <a href="https://www.citrix.com/blogs/2017/09/11/better-than-ever-xenappxendesktop-site-design-v2017/" rel="external nofollow">Pod Infrastructure</a>, to allow for easily managed updates, patching, and scalability for expansion. For detailed information about setting up GSLB between AWS AZs, see <a href="https://docs.citrix.com/en-us/advanced-concepts/design-guides/netscaler-and-amazon-aws.html" rel="external nofollow">Citrix Documentation</a>.
</p>

<p>
	 
</p>

<p>
	<a class="ipsAttachLink ipsAttachLink_image" href="//media.invisioncic.com/m329563/monthly_2024_02/reference-architectures_citrix-virtual-apps-and-desktops-on-aws_012.png.824d7b6043b4a5bd7dc582011bc18cf6.png" data-fileid="2759" data-fileext="reference-architectures_citrix-virtual-apps-and-desktops-on-aws_012.png" rel=""><img alt="reference-architectures_citrix-virtual-apps-and-desktops-on-aws_012.png" class="ipsImage ipsImage_thumbnailed" data-fileid="2759" style="height: auto;" width="1468" src="//media.invisioncic.com/m329563/monthly_2024_02/reference-architectures_citrix-virtual-apps-and-desktops-on-aws_012.png.824d7b6043b4a5bd7dc582011bc18cf6.png" loading="lazy" height="792.72"></a>
</p>

<p>
	<em>Diagram 12: Traffic flow before and after HA failover in multi-AZ HA deployment.</em>
</p>

<p>
	 
</p>

<p>
	In the preceding diagram, we can see that each ADC has a different Gateway virtual IP (VIP). This is characteristic of an <a href="https://docs.citrix.com/en-us/citrix-gateway/current-release/high-availability/ng-ha-routed-networks-con.html" rel="external nofollow">Independent Network Configuration (INC)</a>. When VPXs in an HA pair reside in different Availability Zones, the secondary ADC must have an INC, as they cannot share mapped IP addresses, virtual LANs, or network routes. The NSIP is different for each ADC in this configuration, while SNIPs and Load Balancing VIPs utilize a special <a href="https://docs.citrix.com/en-us/citrix-adc/current-release/load-balancing/load-balancing-customizing/multi-ip-virtual-servers.html" rel="external nofollow">Citrix ADC feature called IPset</a>, or Multi-IP virtual servers, which can be used for clients in different subnets to connect to the same set of servers. With IPset, you can associate a private IP to each of the primary and secondary instances. A public IP can then be mapped to the primary ADC in the pair. In the case of failover, the public IP mapping changes dynamically to the new primary. For GSLB deployments in AWS, the service IP can be part of the IPset for both IPv4 and IPv6 traffic.
</p>

<p>
	For more information on adding a remote node to an ADC to create an INC-based HA pair, see <a href="https://docs.citrix.com/en-us/citrix-gateway/current-release/high-availability/ng-ha-routed-networks-con/ng-ha-add-remote-node-tsk.html" rel="external nofollow">Citrix docs</a>.
</p>

<h3>
	Citrix StoreFront on AWS
</h3>

<p>
	Deploying Citrix StoreFront on AWS is not much different than deploying it on-premises, and in the end, you're also managing all the components of StoreFront yourself too. See <a href="https://docs.citrix.com/en-us/storefront/current-release/plan.html" rel="external nofollow">Plan your StoreFront deployment</a> for general considerations which apply to all deployments including StoreFront on AWS. The main difference is that you typically deploy multiple StoreFront instances in a StoreFront server group across multiple AWS availability zones. It is important to note that the features enabled with this design are <strong>dependent upon latency between AZs</strong>. Per <a href="https://docs.citrix.com/en-us/storefront/current-release/plan.html#scalability" rel="external nofollow">Plan your StoreFront Deployment/Scalability</a>, StoreFront server group deployments are only supported where links between servers in a server group have latency of less than 40 ms (with subscriptions disabled) or less than 3 ms (with subscriptions enabled). Make sure you measure latencies between instances in all AZs you plan to host StoreFront and enable/disable subscriptions accordingly.
</p>

<p>
	We already called this out in the <a href="#ui-service-and-authentication-considerations" rel="">UI Service and Authentication Considerations</a> table earlier in this document, but it is worth calling out again: <strong>for Citrix DaaS environments with extensive resiliency requirements, Citrix strongly recommends a StoreFront implementation to fully benefit from the Local Host Cache feature</strong> (available in both CVAD and DaaS session brokering infrastructure types). For CVAD, this provides resiliency if there is a database outage. For DaaS, this architecture provides resiliency in case Cloud Connectors cannot reach Citrix Cloud. In either case, disconnected users will still be able to connect to new and existing sessions during an outage scenario. For more details, limitations, and implications of Local Host cache activation, see <a href="https://docs.citrix.com/en-us/citrix-virtual-apps-desktops-service/manage-deployment/local-host-cache.html" rel="external nofollow">Local Host Cache (DaaS)</a> and <a href="https://docs.citrix.com/en-us/citrix-virtual-apps-desktops/manage-deployment/local-host-cache.html" rel="external nofollow">Local Host Cache (CVAD)</a>.
</p>

<p>
	While we're on the topic of resilience, Citrix also recommends that your StoreFront implementation span multiple AZs (if the AWS region includes multiple AZs), but remember to take the ADC design into account. Citrix ADC is often used in front of StoreFront instances to provide load balancing and extra service resiliency.
</p>

<p>
	By utilizing <a href="https://docs.citrix.com/en-us/citrix-virtual-apps-desktops/2203-ltsr/manage-deployment/zones" rel="external nofollow">Citrix Zones</a>, StoreFront redundancy can be built in by spreading satellite zones across two or more AZs in a VPC with a single site. Using Zones is a great way to have resources as close to the users as possible and highly available. Satellite Zones contain StoreFront servers, Delivery Controllers, and app/desktop resources, leaving the Primary Zone with the full infrastructure setup, including the license server and SQL. This allows for scalability of StoreFront web UI and Zone creation/destruction can be orchestrated. Keeping the Zones smaller will allow for optimal east-west scalability and reduce the impact in the case of an outage.
</p>

<p>
	StoreFront on AWS is fully customizable, including Featured App Groups, splash page, coloring and logo, and apps and desktops can be arranged in the best way for your specific needs. StoreFront on AWS also requires knowledgeable administration and engineering to be kept up, but can provide a powerful web UI, especially when integrated with the Citrix ADC.
</p>

<h2>
	Resource Layer Considerations
</h2>

<p>
	The Resource Layer design focuses on personalization, applications, and image design. The Resource Layer is where users interact with desktops and applications. When deploying a Citrix virtualization system on AWS, the key things to keep in mind (aside from all the 'normal' stuff we won't cover here) are:
</p>

<ul>
	<li>
		<strong>CIFS storage and data replication</strong> - Regardless of the tooling you use for managing user personalization settings (the users' Windows profile and redirected folders) you've got to have Windows file shares to store them on. If you've got VDAs in multiple regions (and users can access apps/desktops in more than one) then you've also got to deal with data replication. Many applications also use Windows file shares, so CIFS storage and data replication are important for these too.
	</li>
	<li>
		<strong>Image design</strong> - Citrix App Layering and Citrix Provisioning Services (PVS) do not currently support Amazon EC2 - customers hosting a resource location in AWS use Machine Creation Services for VDA fleet creation, management, and updating.
	</li>
</ul>

<h3>
	CIFS Storage and Data Replication
</h3>

<p>
	Most Citrix virtualization systems on AWS require at least basic access to a Windows compatible file share to persist user settings, user data, and application data. When these shares are not available, the user experience and application functionality suffer, so it is important to ensure that whatever solution you choose to provide Windows compatible file shares is highly available and data is regularly backed up.
</p>

<p>
	For multi-site deployments, reliable and performant data replication may also be necessary to meet availability, RPO, and RTO needs. This is especially true for environments where users may connect to desktops/apps in 2 or more regions, and application data/user settings must be available in the region where the apps/desktops run. The following section describes some solutions to consider for providing CIFS storage and data replication services on AWS.
</p>

<p>
	While non-Windows solutions for providing Windows file shares exist, most of these solutions cannot deliver the indexing capabilities required for search functionality inside a Windows desktop or applications such as Microsoft Outlook running on Windows. As such, most customers turn to Windows-based file server solutions, at least for storing user profiles and persistent application data. Fortunately, both customer managed and cloud service options are available for use when Citrix virtualization systems are run on AWS.
</p>

<h4>
	Customer Managed: Windows File Servers on Amazon EC2
</h4>

<p>
	The first solution many customers consider for providing Windows compatible file services on AWS is building their own Windows file servers on EC2 to serve each resource location on AWS. Since Windows file servers are needed by various different types of applications and workloads, many IT shops may gravitate towards building and managing their own since this is something they know how to do. At the most basic level, the customer spins up one or more Windows EC2 instances, attach extra Amazon Elastic Block Store (EBS) volume, join the instance's to their Active Directory, and get busy configuring and setting up Windows File Services.
</p>

<p>
	This option, as you might imagine, provides customers with the most control and flexibility. While this is very appealing to certain types of customers and certain verticals, it also comes at a cost: the responsibility to size, scale, build, manage, patch, secure, and maintain everything from the Windows OS up. Customers electing to go this route ought to also ensure these file servers are highly available. This is often accomplished using file servers in multiple Availability Zones, and using Windows DFS-N/DFS-R, though it's easy to end up in an unsupported configuration (per Microsoft) if you're not careful.
</p>

<p>
	<em><strong>Note:</strong> Customers considering this option ought to review <a href="https://support.microsoft.com/en-ca/help/2533009/information-about-microsoft-support-policy-for-a-dfs-r-and-dfs-n-deplo" rel="external nofollow">Microsoft's support statement</a> regarding using DFS-R and DFS-N for roaming profile shares and folder redirection shares.</em> One more point to consider since the Citrix virtualization system will be running on AWS: a new deployment or migration event may provide an excellent opportunity to evaluate using a cloud service for Windows file services instead of building your own. Fortunately, Amazon has some cloud service options worth considering. We touch on some of these now.
</p>

<h4>
	Cloud Service: Amazon FSx for Windows File Server
</h4>

<p>
	<a href="https://aws.amazon.com/fsx/windows/" rel="external nofollow">Amazon's FSx for Windows File Server</a> is a cloud service which customers can consume on AWS. FSx for Windows File Server provides a fully managed, native Windows file system, and SSD-based storage with consistent submillisecond performance. Since FSx is built on Windows Server, it delivers a fully native, Windows compatible file system that provides storage and protection for Citrix virtualization systems on AWS. FSx for Windows File Server is also Citrix Ready Verified, meaning this AWS supported solution has been validated by Citrix to be compatible with Citrix Virtual Apps and Desktops. While it is not officially supported by Citrix, the service IS fundamentally native Microsoft Windows file server - it is just managed by AWS instead of the customer. For more information, see <a href="https://citrixready.citrix.com/amazon-com/amazon-fsx-for-windows-file-server.html" rel="external nofollow">Amazon FSX for Windows File Server on Citrix Ready</a>.
</p>

<p>
	For IT teams, this is an excellent option that removes many of the more mundane or low-value tasks around deploying and managing storage. Most importantly, using FSx offloads security, data protection/backup, compliance, software updating/patching tasks, and the monitoring of storage infrastructure to make sure it meets required service levels. IT teams can treat the entire FSx file service as a single operational platform instead of managing a Windows operating system file server, storage, networking, and such. Also, FSx supports all the common management tools it already uses, such as Active Directory (AD) integration, Windows DFS Namespaces, DFS Replication, and others.
</p>

<p>
	Each FSx managed file system you create essentially becomes a highly available and durable file server in a specific Availability Zone. For servicing a Citrix virtualization system, customers ought to ensure these "file systems" are highly available. This can be accomplished by provisioning FSx managed file systems in multiple availability zones, and using Windows DFS-N/DFS-R to create highly available Windows file shares, though it's easy to end up in an unsupported configuration (per Microsoft) if you're not careful.
</p>

<p>
	<em><strong>Note:</strong> Since FSx is a Windows file server, customers considering this option ought to review <a href="https://support.microsoft.com/en-ca/help/2533009/information-about-microsoft-support-policy-for-a-dfs-r-and-dfs-n-deplo" rel="external nofollow">Microsoft's support statement</a> regarding using DFS-R and DFS-N for roaming profile shares and folder redirection shares.</em>
</p>

<h4>
	More Cloud Service Options
</h4>

<p>
	Besides Amazon's first party managed Windows file service, AWS supports many more expansive and feature rich options, some of which integrate with traditional on-premises storage technologies. While these other options are outside the scope of this document, there are many options to choose from. A good place to start exploring options is on the <a href="https://aws.amazon.com/marketplace/" rel="external nofollow">AWS Marketplace</a>. These types of solutions can be especially relevant for more complex, multi-region use cases where reliable, and resilient data replication is needed.
</p>

<h4>
	CIFS Storage and Data Replication: Summary and Conclusions
</h4>

<p>
	Customers can manage their own highly available DFS file share, benefit from this as an AWS service (FSx) to save on management effort, or use third party storage appliance solutions to extend on an on-premises environment. Citrix recommends that customers analyze the pros and cons of each to determine a solution that is right for them.
</p>

<h3>
	Image Design and Management
</h3>

<p>
	In a Citrix virtualization system on AWS, applications and desktops are delivered via EC2 instances called "VDAs" (named after Citrix's Virtual Delivery Agent software, which is installed into Windows or Linux instances containing the applications being delivered by the Citrix virtualization system). A group of identical VDAs are provisioned and maintained in "Machine Catalogs," a management construct defined and maintained through the session brokering and management subsystem (both DaaS and CVAD). The creation, sizing, and management of these instances is key, as many systems have large numbers of VDAs and the software stack in a VDA changes frequently as hotfixes, service packs, and software updates are applied. We discuss some of the higher-level considerations in this section.
</p>

<h4>
	VDA Provisioning and Image Management
</h4>

<p>
	On AWS EC2, Citrix virtualization systems use Citrix's Machine Creation Services (MCS) provisioning technology for VDA deployment and image management. MCS utilizes an IAM service account on EC2 to orchestrate the mastering process (turning a snapshot of a template VM's system disk into a generalized AMI), the cloning process (creating and managing a fleet of VDA instances based on the AMI created from the snapshot of the template VM), autoscaling Delivery Groups, updating deployed images, and more. We discuss MCS on AWS in much more detail in the <a href="#control-layer-considerations" rel="">Control Layer Considerations</a> sections of this document.
</p>

<p>
	<strong>Note:</strong> customers already using MCS for their on-premises environments can notice some differences between the options available to them when provisioning machines in AWS. MCS managed VDA instances on EC2 have two disks attached: the system disk (a read/write copy of the template image AMI created during the mastering process) and a 1GB personality disk. Depending on the machine catalog type and hosting connection options configured, the system disk (and sometimes the VM instance) will be deleted at shutdown and recreated at 'power on' (for pooled or shared catalogs) or they are retained (for persistent catalog types). See <a href="https://support.citrix.com/article/CTX234562" rel="external nofollow">CTX234562</a> for more information.
</p>

<h4>
	Delivery and Persistence Models
</h4>

<p>
	Choosing the right delivery models is critical and has broad implications beyond just cost. Citrix virtualization technology supports three main delivery models, which can be mixed and matched and used in combination to support many different use cases. The three delivery models are:
</p>

<ul>
	<li>
		<strong>Hosted shared:</strong> The hosted shared model most commonly utilizes a Windows Server OS with the RDSH role installed, though Linux instances can provide the same functionality for compatible apps. With this model, a single VDA instance can support multiple simultaneous users, each running either a full desktop or connecting to one or more published applications. When using Windows Server OS/RDSH with the Desktop Experience and related components installed, desktops and apps look and feel like they're running on a Windows desktop OS. Since every user on a given instance shares OS instance, administrators typically pre-install and configure the mix of applications on hosted shared instances, and users do not have local administrator rights to the OS. Hosted shared instances can also run on shared infrastructure, and can be consumed using both on-demand and reserved instance pricing models. Administrators usually deploy a fleet of instances to support the hosted shared model, and both customer managed and cloud service types of Citrix brokering subsystems provide sophisticated load balancing capabilities to ensure every user experiences adequate performance. Hosted shared instances can also use GPU backed instance types on AWS to increase performance for graphically intensive workloads that can benefit from a GPU, though the GPU vendor can require extra licenses. Both Windows Server OS and RDS CAL licenses can be 'rented' under Microsoft's SPLA licensing model, though customers can avoid these additional costs by using Linux as the OS. <em>This model is, hands down, the most cost effective to run on AWS.</em>
	</li>
	<li>
		<strong>Server VDI:</strong> The "Server VDI" (Virtual Desktop Infrastructure) model also uses a Windows Server OS, and with the Desktop Experience and related components installed, it looks and feels to the user just like a Windows Desktop OS. The RDSH role is not installed with this model, so one instance supports one user at a time, and users are sometimes provided with elevated rights to the Server OS so they can install their own applications. Like hosted shared instances, server VDI instances can also run on shared infrastructure, can be consumed using both on-demand and reserved instance pricing models, can use GPU backed instance types, and Microsoft OS and RDS CALs can be 'rented' under Microsoft's SPLA licensing model. Given the tools available today, 99+% of Windows applications can be installed and ran on the Windows Server OS, and though sometimes software vendors don't explicitly support their applications on Windows Server, most Windows apps run as well on Windows Server as they do on a Windows Desktop OS. It's also worth noting that server VDI instances can also use GPU backed instance types on AWS to increase performance for graphically intensive workloads that can benefit from a GPU, though the GPU vendor may require another licenses. <em>This is the second most cost-effective delivery model to run on AWS.</em>
	</li>
	<li>
		<strong>Client VDI:</strong> The client VDI delivery model typically uses a Windows desktop OS such as Windows 10 or Windows 7, although a supported Linux OS version can be used as well. Client VDI is a 1:1 model, meaning each unique user requires their own OS instance. Customers who are new to Citrix virtualization technology often come into these types of projects asking for client VDI, even though more cost-effective models are available. Their vernacular can also have been influenced by other virtualization vendors whose technology stacks don't support hosted shared or server VDI deployment models. The client VDI model, while looking 'simpler' on the surface, gets much more complicated the deeper you get into it, though most of the complexity can be avoided by using Linux as the OS. Most of this complication is driven by Microsoft's licensing requirements for the Windows Desktop OS which, unlike Windows Server, is not available via Microsoft's SPLA licensing program. As such, customers must bring their own licensing for these products. Also - Windows desktop based client VDI instances cannot run on shared infrastructure. This means that client VDI instances must run in either AWS dedicated instances or on AWS dedicated hosts. This substantially increases the cost and complexity of managing the infrastructure required, reduces flexibility and cost control options, and gets expensive quickly. As you might expect, client VDI instances can also use GPU backed instance types on AWS to increase performance for graphically intensive workloads that can benefit from a GPU, though the GPU vendor can require more licenses. <em>Client VDI is the most expensive delivery model to run on AWS.</em> For both VDI models, another important consideration is the persistence model. VDI instances can be randomly assigned to users with no persistence (pooled) or users can have assigned machines that persist and are personalized (dedicated). Pooled instances can be easier to manage over time since all instances in a given pool are identical. Citrix's MCS can update the system disks attached to pooled instances with a few clicks, and capacity/cost management is more effective since an idle pool of instances can serve many users. Pooled instances are a bit less flexible than dedicated since end-user changes to pooled instances don't usually persist between reboots, though technologies such as Citrix App Layering's User Layer or Personalization Layer released in CVAD 1912 can be used to minimize the impact on the user experience. Dedicated instances can also be tougher to manage from a cost perspective too - since it is often tough to predict when a user will log on, the user must either wait while their instance is started, or administrators must keep them running during time windows where each user is expected to log on.
	</li>
</ul>

<p>
	While we've mentioned it previously, we're going to mention it again here for clarity: various flavors of Linux can be used in a Citrix virtualization system, as long as one or more applications run on Linux. Citrix's virtualization technology supports both hosted shared and VDI delivery models, persistent and pooled models, and GPU backed instance types. The user and administrator experiences are different than with Windows based instances, but Linux based VDAs are often much less expensive to run since they don't require Microsoft licenses.
</p>

<p>
	Finally, let's revisit the consideration of GPU acceleration. All three delivery models (for both Linux and Windows) can use NVIDIA accelerated GPU instances on AWS. G-series instances can be used for graphics accelerated use cases, but are not yet commercially viable for general purpose usage. Note that Citrix doesn't support the AWS Elastic GPU today, but since Elastic GPU only works for OpenGL, its impact on typical graphics workloads in the enterprise is minimal.
</p>

<p>
	So - which delivery models do you use? It is worth noting that you can mix and match delivery models in the same system to meet the needs of different user groups or use cases. <strong>The most cost-effective delivery model from an infrastructure perspective is hosted-shared</strong>. The combination of server OS with multi-user concurrency is highly efficient, and the number of users per virtual machine can be sized accordingly depending on user type (for example - task worker vs. knowledge worker vs. power user) to ensure a great experience. For situations where users and apps require extra capabilities that aren't satisfied by hosted-shared, VDI is the way to go. Server VDI ought to be evaluated first: it is substantially more cost-effective to run than Windows 10 VDI for Windows workloads, and Server VDI can deliver a desktop that looks and feels similar to Windows 10. Also, Server VDI doesn't have the Microsoft EULA requirement to use dedicated instances/hosts - Client VDI (deploying Windows 10 or sometimes Windows 7) does. For Windows based workloads on AWS, Client VDI ought to be considered as a last resort, and deployed only when hosted shared and Server VDI delivery models are not possible.
</p>

<p>
	To help with the decision making process, the following decision tree compares
</p>

<p>
	<a class="ipsAttachLink ipsAttachLink_image" href="//media.invisioncic.com/m329563/monthly_2024_02/design-decisions_application-delivery-methods_003.png.1244f2e2d061b0b4fa681079d997cb15.png" data-fileid="2760" data-fileext="design-decisions_application-delivery-methods_003.png" rel=""><img alt="design-decisions_application-delivery-methods_003.png" class="ipsImage ipsImage_thumbnailed" data-fileid="2760" style="height: auto;" width="1753" src="//media.invisioncic.com/m329563/monthly_2024_02/design-decisions_application-delivery-methods_003.png.1244f2e2d061b0b4fa681079d997cb15.png" loading="lazy" height="2173.72"></a>
</p>

<p>
	. The tree doesn't explicitly differentiate between client VDI and server VDI models. When a use case suggests VDI is the appropriate delivery model for your workload, Server VDI ought to be considered wherever possible for running on AWS as it is substantially more cost effective and easier to manage.
</p>

<p>
	 
</p>

<h4>
	AWS Instance Billing Model
</h4>

<p>
	Once you've decided which delivery model to use (hosted-shared, server VDI, or client VDI), the next step is to plan for an hourly on-demand billing model or a reserved billing model. Ideally, as many VDAs as possible are to be paid for by the hour with the on-demand billing model, and use the <a href="https://docs.citrix.com/en-us/citrix-virtual-apps-desktops-service/manage-deployment/autoscale.html" rel="external nofollow">Citrix Autoscale</a> feature to control costs. By using Citrix Autoscale (a feature exclusive to the DaaS cloud service brokering subsystem) VMs are powered on as needed with anticipation for peak hours. During off peak hours, however, VMs are shut down, so it's important to consolidate loads with the hosted-shared model and for all models ensure that users save their work and ideally log off gracefully from their sessions. Reserved instance capacity can be used for infrastructure components like the Cloud Connectors (which remain on 24/7) and a predetermined number of VDAs that will always remain on (for example, 10% of peak). Besides providing significant discount compared to On-Demand pricing, Reserve Instances also provide a capacity reservation when used in a specific Availability Zone.
</p>

<h4>
	VDA Instance Sizing and Cost Management
</h4>

<p>
	When running a fleet of VDAs on AWS, choosing the right instance type for your different workloads (VDAs) is a key decision, with substantial performance, manageability, and cost considerations. Choose too small of an instance and performance can suffer. Choose too large of an instance, and you're paying for resources you're not using. Choosing the right instance type ends up being a balancing act, and often requires fine-tuning for each specific workload.
</p>

<p>
	Which AWS EC2 instance type to choose for your VDAs depends heavily upon the specific workload and delivery type. However, as a general guideline, "M" series instances are often most suitable for hosted-shared whereas "T" series instances are suitable for VDI. "M" series has balanced CPU and RAM designed for the mostly predictable resource consumption across multiple sessions on a host. "T" series are "burstable" in nature designed for the mostly unpredictable characteristics of VDI (for example - one minute a user is idling and the next they are running a macro calculation). For extra details on instance type selection and pricing, readers can refer to the <a href="#sources" rel="">Citrix on AWS cost estimation presentation</a> (in sources section).
</p>

<p>
	For more information regarding instance selection (especially as it applies to the hosted shared delivery model) sees <a href="https://www.citrix.com/blogs/2018/08/16/citrix-scalability-in-a-cloud-world-2018-edition/" rel="external nofollow">Citrix Scalability in a Cloud World â€“ 2018 Edition</a>. This article, while slightly dated, discusses leading practices regarding instance selection based on performance, manageability, cost, reserved vs. on demand pricing models, and LoginVSI scalability testing. These concepts and considerations are still valid today, even though instance choices and pricing have likely changed since its initial publication.
</p>

<p>
	<em><strong>Note:</strong> Some newer AWS instance types will not show up by default in the Machine Catalog creation wizard in Studio (either CVAD or DaaS). The UI is populated with instance types from a static XML file which resides on Delivery Controllers (CVAD) or Cloud Connectors (DaaS). This XML can be modified to include newer instance types, but this file is overwritten with default values during upgrades (both Citrix initiated Cloud Connector updates or customer-initiated Delivery Controller upgrades). See <a href="https://support.citrix.com/article/CTX139707?_ga=2.25237309.1017824996.1576508025-674023236.1532570336" rel="external nofollow">CTX139707</a> for more details on how to update the list of available AWS instance types.</em> During this round of testing (a point in time reference) the M5.2Xlarge instance type (8vCPU, 32 GB RAM) turned out to be the winner in terms of $/user/hour (with an industry standard sample workload). Your numbers - given your specific workload characteristics and available AWS pricing - can vary, but the process and tooling can be used to approximate your monthly IaaS costing more accurately. Regardless of how you determine the instance types you start with, it is important to monitor usage over time and adjust as needed to keep the balance between resource availability, consumption, and cost. Customers ought to consider using services such as <a href="/en-us/tech-zone/learn/tech-insights/performance-analytics.html" rel="">Citrix Analytics for Performance</a> - the information such services provide can play a key role in keeping performance up and costs down.
</p>

<h4>
	Application Design
</h4>

<p>
	An extra consideration includes application design. As customers plan to migrate workloads to a cloud platform such as AWS, they must ensure that app performance is not impacted. A rule of thumb which has applied for over 20 years is that the data ought to reside as near as possible to the workload. This means more complex applications architectures ought to respect this rule. An example of this includes apps with a front-end and back-end (database). To avoid adding latency which will impact application performance, both the front-end and back-end are to be migrated. An alternative would be a hybrid approach using a mix of on-premises (for complex apps) and cloud hosted workloads (for simple applications). It is important to always consult with application vendors for compatibility. The linked Tech Zone decision matrix compares the different
</p>

<p>
	<a class="ipsAttachLink ipsAttachLink_image" href="//media.invisioncic.com/m329563/monthly_2024_02/design-decisions_application-delivery-methods_004.png.c8fa33172d0f18635529fb6f4cfaf1d2.png" data-fileid="2761" data-fileext="design-decisions_application-delivery-methods_004.png" rel=""><img alt="design-decisions_application-delivery-methods_004.png" class="ipsImage ipsImage_thumbnailed" data-fileid="2761" style="height: auto;" width="2361" src="//media.invisioncic.com/m329563/monthly_2024_02/design-decisions_application-delivery-methods_004.png.c8fa33172d0f18635529fb6f4cfaf1d2.png" loading="lazy" height="4155.36"></a>
</p>

<p>
	, which include Hosted Shared Applications (single and multi-use) and Hosted Shared Desktops. The workload segmentation decision-making process these article outlines can be used as a guide for the workload design process.
</p>

<p>
	 
</p>

<p>
	One final word on application design, the Enterprise Layer Manager appliance does not currently run on AWS, and does not currently support exporting layered images into an immediately consumable disk format for use on AWS. If App Layering support on AWS is critical for your migration or deployment, email <a href="mailto:aws@citrix.com" rel="">aws@citrix.com</a> with information about your project. You’ll be added to the list to be an early adopter candidate for future releases, and your voice will be heard. For more information on Citrix App Layering, refer to the <a href="https://docs.citrix.com/en-us/citrix-app-layering/4.html" rel="external nofollow">product documentation</a> and <a href="/en-us/tech-zone/design/reference-architectures/app-layering.html" rel="">App Layering reference architecture</a>.
</p>

<h2>
	Control Layer Considerations
</h2>

<p>
	In the Citrix Architectural Design Framework, the Control layer defines the components that control the Citrix solution. This includes components like Active Directory (forest/domain, OU, and user group structure, group policies, and such), Microsoft SQL database usage, Citrix licensing, session brokering and administration, load management, and VDA provisioning/image management. As with previous sections of this document, here we focus on the considerations which are most important for Citrix virtualization systems on AWS, and provide links to existing documentation/guidance on others.
</p>

<p>
	One of the most impactful decisions you are making for control layer components is the session brokering and administration choice. This decision is critical, with substantial implications on cost, complexity, availability, and ongoing maintenance efforts. We start by reviewing the deployment models we introduced earlier in this document, then dig more deeply into the AWS specific considerations.
</p>

<h3>
	Control Layer: Greenfield/Cloud Only Deployment
</h3>

<p>
	The green field or cloud only deployment model uses cloud services across the board. n). The AWS specific implications on the design of your Citrix virtualization system are minimal, but we walk you through them anyway. Since Citrix Cloud provides most of the infrastructure and administrative components as a service, you won't have to worry about SQL databases, Citrix License Servers, Citrix Director servers and more.
</p>

<h3>
	Control Layer: Hybrid Deployment
</h3>

<p>
	Remember that with the hybrid deployment model, you're going to be building/managing some of the Citrix virtualization system components, otherwise it is a green field or cloud only deployment by definition. The interesting thing here is that, in the context of the Control layer, they're almost identical.
</p>

<h3>
	Control Layer: Lift and Shift Deployment
</h3>

<p>
	With the legacy lift and shift deployment model, you're deploying all key control layer components (including Active Directory and all Citrix session brokering/management components) on AWS. If you have to go down the "lift and shift" path, it is both a blessing and a curse. It is a blessing in that most of these considerations have been thoroughly documented in various published works that are already available. It is a curse in that you'll have a lot more work to do both up front and over time to build, manage, secure, and maintain these components.
</p>

<p>
	If you're a "lift and shift"er, you want to review and reference the following before you continue: collectively, they cover most of the design decisions you must consider to be successful deploying Citrix on AWS using the lift and shift deployment model:
</p>

<ul>
	<li>
		<a href="https://aws.amazon.com/blogs/apn/using-aws-directory-service-and-amazon-rds-with-citrix-virtual-apps-and-desktops/" rel="external nofollow">Using AWS Directory Service and Amazon RDS with Citrix Virtual Apps and Desktops</a> (blog)
	</li>
	<li>
		<a href="https://s3-us-west-2.amazonaws.com/apnblog.awspartner.com/Citrix+Virtual+Apps+and+Desktops/Citrix+Ready-Amazon+RDS+Deployment+Guide_v1.pdf" rel="external nofollow">Deploying Citrix Virtual Apps and Desktop with AWS Directory Service and Amazon RDS â€“ Version 1.0</a> (deployment guide)
	</li>
</ul>

<h3>
	Active Directory Considerations
</h3>

<p>
	All deployment models for Citrix virtualization systems on AWS require Microsoft Active Directory. For a compelling user experience, functional Active Directory services must be available in every AWS region where you've got VDAs deployed. The structure and complexity of your Active Directory implementation must be carefully considered, but fortunately Citrix virtualization can flexibly integrate with various different AD designs and servicing models.
</p>

<p>
	When deploying Active Directory on AWS, customers can build/maintain their own Active Directory Domain Controllers using Windows Server instances, use <a href="https://aws.amazon.com/directoryservice/" rel="external nofollow">AWS Directory Service for Microsoft Active Directory</a>, or a combination of the two. Active Directory trusts can also be used to connect two or more AD forests/domains depending upon the customer's needs.
</p>

<p>
	For customers looking to minimize the administrative overhead required to build and maintain functional Active Directory services, the <a href="https://aws.amazon.com/directoryservice/" rel="external nofollow">AWS Directory Service for Microsoft Active Directory</a> (also known as AWS Managed Microsoft AD) is an option worth considering. This service provides you with a fully functional Active Directory forest/domain without the overhead of building and maintaining Windows Server VM instances. AWS Managed Microsoft AD is built on highly available, AWS-managed infrastructure. Each directory is deployed across multiple Availability Zones, and monitoring automatically detects and replaces domain controllers that fail. In addition, data replication and automated daily snapshots are configured for you. You do not have to install software, and AWS handles all patching and software updates. With AWS Managed Microsoft AD, you can use native Microsoft administrative tools, manage Windows machines and users with Microsoft Group Policy, join EC2 instances and AWS RDS for SQL Server instances to it, and even setup Active Directory trusts with existing AD instances to support various complex Enterprise scenarios.
</p>

<p>
	Customers who choose to use the AWS Managed Microsoft AD service with Citrix virtualization technologies can expect these technologies to work with this AWS service, though there are a few important considerations to consider before doing so. For starters - you won't have Domain Administrator, Enterprise Administrator, or other 'super user' type access to the AD instance. You do, however, have full control of your own container at the root of the directory where you can create users, computers, groups, OU's, and group policies.
</p>

<p>
	A few other things you CAN NOT do:
</p>

<ul>
	<li>
		Create AD objects in any of the default containers (such as /Computers): they're read-only. This brings up a common mistake some customers make when using Citrix's MCS provisioning technology: you must choose to create the machine accounts for your MCS managed VDAs in a container/OU that's writeable - if you don't choose such a location, MCS won't be able to create the machine accounts.
	</li>
	<li>
		Install and configure some AD integrated features such as Certificate Services. As such, this impacts customers who will be using Citrix's Federated Authentication Services ("FAS") technology (which requires AD integrated Certificate Services): these customers must build and manage their own Active Directory on AWS using EC2 Windows Server instances.
	</li>
	<li>
		Have local Server Administrator equivalence by default. In an 'out of the box' Active Directory installation, the Domain Administrators group is added to the local Server Administrators group by default. If you're using the AWS Managed Microsoft AD service, you must create your own server administrators' group, add your own users to it, create and apply a group policy to add your group to the built-in Server Administrators group on member servers/workstations.
	</li>
</ul>

<p>
	While trust relationships, site/service configuration, replication, and other AD related topics will not be covered in this paper, Citrix has provided extensive documentation on these topics applicable to all three deployment models.
</p>

<p>
	<em><strong>Note:</strong> <a href="https://aws.amazon.com/directoryservice/" rel="external nofollow">AWS Directory Service for Microsoft Active Directory</a> is a "Citrix Ready Verified" offering. While not officially supported by Citrix, the service IS fundamentally native Microsoft Active Directory - it is just managed by AWS instead of the customer. This AWS service does have some limitations imposed upon it to deliver it as a service at scale, and the currently known/most impactful limitations for a Citrix environment are listed here.</em> For more information on Active Directory requirements for green field and hybrid deployments (environments using Citrix Cloud and the CVAD Service for session brokering and administration) see <a href="https://docs.citrix.com/en-us/citrix-cloud/citrix-cloud-resource-locations/citrix-cloud-connector/technical-details.html" rel="external nofollow">Citrix Cloud Connector Technical Details</a>. Besides covering <a href="https://docs.citrix.com/en-us/citrix-cloud/citrix-cloud-resource-locations/citrix-cloud-connector/technical-details.html#supported-active-directory-functional-levels" rel="external nofollow">supported Active Directory functional levels</a>, this article also covers <a href="https://docs.citrix.com/en-us/citrix-cloud/citrix-cloud-resource-locations/citrix-cloud-connector/technical-details.html#deployment-scenarios-for-cloud-connectors-in-active-directory" rel="external nofollow">deployments scenarios for Cloud Connectors in Active Directory</a>.
</p>

<p>
	For more information on Active Directory requirements for lift and shift deployments (environments using customer managed session brokering and administration via Citrix Virtual Apps and Desktops LTSR or CR versions) see <a href="https://docs.citrix.com/en-us/citrix-virtual-apps-desktops/system-requirements.html#active-directory-functional-levels" rel="external nofollow">CVAD System Requirements, Active Directory Functional Levels</a>.
</p>

<h3>
	Session Brokering and Administration Considerations
</h3>

<p>
	As you've probably already gathered by now, the choice of how you provide session brokering and administration services is critical, and has broad reaching implications on overall cost, manageability, maintenance, and available capabilities for your Citrix virtualization system. As we've already discussed, Citrix recommends the use of the Citrix Cloud service (DaaS) for this critical component, but for certain requirements and scenarios, deploying a customer managed session brokering and administration subsystem (via CVAD LTSR or CR releases) can be necessary or recommended. The following table highlights some of these requirements and scenarios for your consideration:
</p>

<table>
	<thead>
		<tr>
			<th>
				Attribute/Capability
			</th>
			<th>
				Customer Managed CVAD (Citrix Virtual Apps and Desktops, LTSR, or CR versions)
			</th>
			<th>
				Cloud Service DaaS (Citrix DaaS, provided by Citrix Cloud)
			</th>
		</tr>
	</thead>
	<tbody>
		<tr>
			<td>
				Requires outbound Internet connectivity to Citrix Cloud.
			</td>
			<td>
				<strong>NO</strong> - Delivery Controllers don't require outbound Internet connectivity, though they must be able to communicate to AWS infrastructure for MCS provisioning to function.
			</td>
			<td>
				<strong>YES</strong> - Cloud Connectors communicate over the Internet to Citrix Cloud, though these connections can be proxied. See <a href="https://docs.citrix.com/en-us/citrix-cloud/citrix-cloud-resource-locations/citrix-cloud-connector/proxy-firewall-configuration.html" rel="external nofollow">How to Set up a Proxy Server for Citrix Cloud Connector</a> for more details. For strictly air gapped deployments, this is often a show stopper.
			</td>
		</tr>
		<tr>
			<td>
				Requires the customer to provide highly available Microsoft SQL database services.
			</td>
			<td>
				<strong>YES</strong> - CVAD (in both LTSR and CR release types) requires the customer to provide and highly available Microsoft SQL database services. These can be provided by building SQL Servers on EC2 instances, or by using the AWS RDS for SQL Server service.
			</td>
			<td>
				<strong>NO</strong> - DaaS does not require customers to touch the SQL server: highly available database services are provided by the Citrix Cloud delivery platform and are transparent to customers.
			</td>
		</tr>
		<tr>
			<td>
				Requires the customer to apply patches and upgrades to Citrix software over time to maintain security and supportability, and to get access to new features and capabilities.
			</td>
			<td>
				<strong>YES</strong> - customers are responsible for installation, configuration, patching, securing, and upgrading both Citrix software and underlying operating system for all components in a CVAD based session brokering and administration system. They're also responsible for maintaining high availability of each component, including Citrix Delivery Controllers, Studio installations, Director, and Citrix Licensing.
			</td>
			<td>
				<strong>NO</strong> - Cloud Connectors (the only session brokering and administrative component that resides in the customer's VPC) are automatically updated and maintained by Citrix. Customers are responsible for patching and maintaining the Windows <strong>Server operating system</strong> on the EC2 Cloud Connector instances, and new features and capabilities are available immediately, without requiring the customer to manually update the Cloud Connectors.
			</td>
		</tr>
		<tr>
			<td>
				Ability to use advanced services provided by Citrix Cloud, including the <a href="https://docs.citrix.com/en-us/citrix-virtual-apps-desktops-service/manage-deployment/autoscale.html" rel="external nofollow">Citrix Autoscale feature</a>.
			</td>
			<td>
				<strong>Sometimes</strong> - not all advanced services are available to customer managed CVAD deployments, and when they are, can require the installation and configuration of extra components. The Autoscale feature is not available for CVAD environments.
			</td>
			<td>
				<strong>YES</strong> - DaaS is designed to work 'out of the box' with other Citrix Cloud services, and these services are typically pre-configured so the customer simply turns them on. The <a href="https://docs.citrix.com/en-us/citrix-virtual-apps-desktops-service/manage-deployment/autoscale.html" rel="external nofollow">Autoscale feature</a>, which provides the ability to granularly control the quantity and power state of VDAs, is impactful for VDA deployments on public cloud. It can provide substantial infrastructure cost savings in scenarios where you're paying for only the capacity you need.
			</td>
		</tr>
		<tr>
			<td>
				Ability to have complete control over all subsystem components, including timing of upgrade and maintenance activities.
			</td>
			<td>
				<strong>YES</strong> - since every component is installed, configured, and maintained by the customer, the customer has complete control over the versioning, configuration, and availability of each component (albeit at substantially increased cost of infrastructure, complexity, and administrative overhead).
			</td>
			<td>
				<strong>NO</strong> - with DaaS, customers give up some measure of control, but gain simplicity, reduced infrastructure costs, and substantially reduced administrative overhead.
			</td>
		</tr>
		<tr>
			<td>
				Ability to license based on concurrent users vs. named users.
			</td>
			<td>
				<strong>YES</strong> - CVAD can be licensed by CCU.
			</td>
			<td>
				<strong>YES</strong> - CCU licensing is available. See <a href="https://www.citrix.com/blogs/2020/04/08/concurrent-licensing-is-here-for-citrix-virtual-apps-and-desktops-service/" rel="external nofollow">this blog</a> for details.
			</td>
		</tr>
	</tbody>
</table>

<h3>
	Cloud Connectors, Delivery Controllers, and Resource Locations
</h3>

<p>
	Since both green field and hybrid models use cloud services (DaaS) for session brokering and administration, you deploy Cloud Connectors to create a <a href="https://docs.citrix.com/en-us/citrix-virtual-apps-desktops-service/install-configure/resource-location.html" rel="external nofollow">resource location</a> in each region where you plan to host VDAs. When you create a resource location in a region, you build a highly available configuration by deploying <strong>n+1</strong> Cloud Connector instances and spreading the Cloud Connectors across Availability Zones in that region. Cloud Connectors are typically placed in separate private subnets from the VDAs to simplify security policy application, and the Cloud Connector instances must have outbound Internet access to facilitate connecting to Citrix Cloud. Placing them in a separate subnet from VDAs allows administrators to apply different routing policies to the two different resource types.
</p>

<p>
	 
</p>

<p>
	<a class="ipsAttachLink ipsAttachLink_image" href="//media.invisioncic.com/m329563/monthly_2024_02/reference-architectures_citrix-virtual-apps-and-desktops-on-aws_013.png.a69aeeac501f41dc9cefe9b3f448685d.png" data-fileid="2762" data-fileext="reference-architectures_citrix-virtual-apps-and-desktops-on-aws_013.png" rel=""><img alt="reference-architectures_citrix-virtual-apps-and-desktops-on-aws_013.png" class="ipsImage ipsImage_thumbnailed" data-fileid="2762" style="height: auto;" width="767" src="//media.invisioncic.com/m329563/monthly_2024_02/reference-architectures_citrix-virtual-apps-and-desktops-on-aws_013.png.a69aeeac501f41dc9cefe9b3f448685d.png" loading="lazy" height="697.97"></a>
</p>

<p>
	<em>Diagram 13: Citrix DaaS Resource Location design pattern with separate subnets for VDAs and Cloud Connectors.</em>
</p>

<p>
	 
</p>

<p>
	The same general concepts apply when we're talking about Delivery Controllers (CVAD), though we use the term zone vs. resource location in the customer managed brokering subsystem. Also note that Cloud Connector instances on EC2 are great candidates for reserved pricing since they are running anytime the system needs to be up. See <a href="https://docs.citrix.com/en-us/citrix-virtual-apps-desktops-service/install-configure/install-cloud-connector/cc-scale-and-size.html" rel="external nofollow">this article</a> for more information about sizing Cloud Connector instances.
</p>

<h3>
	Citrix DaaS Site Design Considerations
</h3>

<h4>
	Resource Locations and Zones
</h4>

<p>
	Using <a href="https://docs.citrix.com/en-us/citrix-virtual-apps-desktops-service/manage-deployment/zones.html" rel="external nofollow">Citrix zones</a> (not to be confused with Availability Zones) can help users in remote regions connect to resources without necessarily forcing their connections to traverse large segments of the WAN. In a Citrix DaaS environment, each resource location is considered a zone. When you create a resource location and install a Cloud Connector, a zone is automatically created for you. Each zone can have a different set of resources, based on your unique needs and environment. For more information on zones, see the following <a href="https://docs.citrix.com/en-us/citrix-virtual-apps-desktops-service/manage-deployment/zones.html" rel="external nofollow">link</a>.
</p>

<h4>
	Machine Catalogs, Delivery Groups, and Resource Locations
</h4>

<p>
	Citrix administrators ought to ensure that VDAs are also spread across Availability Zones (AZ). An AWS Availability Zone (AZ) is one or more discrete data centers with redundant power, networking, and connectivity in an AWS Region - a physical location around the world where AWS cluster data centers. A virtual private cloud (VPC) is a virtual network which spans Availability Zones in the Region. Subnets are a required subcomponent of a VPC, and virtual network interfaces are each attached to a single subnet. Each subnet must reside entirely within one Availability Zone and cannot span zones. By launching VDAs in separate Availability Zones, you can protect your applications from the failure of a single location. See <a href="https://docs.aws.amazon.com/vpc/latest/userguide/what-is-amazon-vpc.html" rel="external nofollow">What is an Amazon VPC?</a> for more information. To ensure VDAs are spread between AZs you can create a Machine Catalog per AZ (using one Host Connection per AZ) which then can map to a single Delivery Group.
</p>

<h4>
	Provisioning in AWS: Machine Creation Services
</h4>

<p>
	Starting with the release of CVAD 1811, role-based authentication can be used when creating a host connection for <a href="https://www.citrix.com/blogs/2019/02/04/role-based-authentication-for-citrix-virtual-apps-and-desktops-in-aws/" rel="external nofollow">MCS provisioning in AWS</a>. An IAM role or IAM user account associated with a Delivery Controller or Cloud Connector on an EC2 instance can be used in the place of a user's secret key and API key, enabling increased security, delegated administrative rights, and PKI-based environments with temporary credentials and session tokens. To configure a host connection using role-based authentication, first create an IAM role with the permissions described in <a href="https://support.citrix.com/article/CTX140429" rel="external nofollow">CTX140429</a>. <a href="https://aws.amazon.com/premiumsupport/knowledge-center/assign-iam-role-ec2-instance/" rel="external nofollow">Associate this role with an EC2 instance</a> with a CVAD 1811+ Delivery Controller or a Cloud Connector. On versions of CVAD earlier than 1811, admins must provide the API Key (Access Key) and Secret Key of an IAM user to create a host connection.
</p>

<p>
	After creating the host connection, create a machine catalog as described <a href="https://docs.citrix.com/en-us/citrix-virtual-apps-desktops/install-configure/machine-catalogs-create.html" rel="external nofollow">here</a> using an AMI created from the master VDA image in AWS. For more details about MCS in AWS, see the following articles: <a href="https://support.citrix.com/article/CTX241160" rel="external nofollow">Citrix MCS on AWS Deep Dive 1</a> and <a href="https://support.citrix.com/article/CTX234562" rel="external nofollow">How MCS works after pooled VMs are created in AWS</a>.
</p>

<p>
	Another item that ought to be considered when deploying VDAs in AWS using MCS is <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-initialize.html" rel="external nofollow">EBS Volume initialization</a> (also known as pre-warming or hydration). For volumes that were restored from snapshots, the storage blocks must be pulled down from Amazon S3 and written to the volume before you can access them. This preliminary action takes time and can cause a significant increase in the latency of I/O operations the first time each block is accessed. Volume performance is achieved after all blocks have been downloaded and written to the volume. See <a href="https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ebs-initialize.html" rel="external nofollow">Initializing Amazon EBS Volumes on Windows</a> for AWS recommended steps to Initialize Amazon EBS Volumes on Windows instances and see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-initialize.html" rel="external nofollow">Initializing Amazon EBS Volumes on Linux</a> for Linux instances.
</p>

<p>
	See <a href="#operations-layer-considerations" rel="">Infrastructure (or Platform) Layer Considerations</a> for details on VPC design as it relates to MCS.
</p>

<h4>
	Troubleshooting Machine Creation Services
</h4>

<p>
	This section lists some common issues and associated recommendations/resolution links.
</p>

<ul>
	<li>
		Some newer AWS instance types will not show up by default in the Machine Catalog creation wizard in Studio (either CVAD or DaaS). The UI is populated with instance types from a static XML file which resides on Delivery Controllers (CVAD) or Cloud Connectors (DaaS). This XML can be modified to include newer instance types, but this file is overwritten with default values during upgrades (both Citrix initiated Cloud Connector updates or customer-initiated Delivery Controller upgrades). See <a href="https://support.citrix.com/article/CTX139707" rel="external nofollow">Updating AWS Instance Types for XenDesktop</a> for more details on how to update the list of available AWS instance types.
	</li>
	<li>
		<a href="https://support.citrix.com/article/CTX222527" rel="external nofollow">MCS Provisioning fails on AWS EC2 when using Dedicated instances</a>
	</li>
	<li>
		<a href="https://support.citrix.com/article/CTX248735" rel="external nofollow">Unable to create AWS hosting connection on Citrix Cloud DDC when proxy is configured on connector server</a>
	</li>
	<li>
		<a href="https://support.citrix.com/article/CTX219734" rel="external nofollow">When Creating Machines with MCS and AWS an Error "XDDS:2367399e" Occurs</a>
	</li>
	<li>
		<a href="https://support.citrix.com/article/CTX219734" rel="external nofollow">Configure the Volume Worker instance to use the Machine Catalog VPC and not the default VPC</a>
	</li>
	<li>
		<a href="https://support.citrix.com/article/CTX225276" rel="external nofollow">How to Ensure Region Compatibility When Using XenApp and XenDesktop MCS in AWS</a>
	</li>
	<li>
		<a href="https://www.citrix.com/blogs/2019/10/16/troubleshooting-tips-from-the-field-for-machine-creation-services-in-aws/" rel="external nofollow">Troubleshooting tips from the field for Machine Creation Services in AWS</a>
	</li>
</ul>

<h2>
	Infrastructure (or Platform) Layer Considerations
</h2>

<p>
	In the Citrix Architectural Design Framework, the Infrastructure (or Platform) layer defines the physical elements where the Citrix workloads run. In this document, that of course refers to AWS. AWS provides many cloud services (165+) and is both the oldest and largest of the Hyperscale Cloud providers in existence today. It was also the first public cloud supported by Citrix virtualization technology, and is a compelling option for new or existing Citrix customers looking to move existing or run new Citrix virtualization workloads in 'the Cloud'.
</p>

<h3>
	Infrastructure as Code and the AWS Object Model
</h3>

<p>
	To understand how Citrix virtualization technologies are integrated with and run on top of AWS, it is useful to start with a basic understanding of the object model behind some of their key/relevant services. This also allows us to describe the AWS platform in terms that are familiar to most IT professionals. To facilitate this understanding, we refer to the following diagram which represents the design pattern for a DaaS resource location on AWS:
</p>

<p>
	 
</p>

<p>
	<a class="ipsAttachLink ipsAttachLink_image" href="//media.invisioncic.com/m329563/monthly_2024_02/reference-architectures_citrix-virtual-apps-and-desktops-on-aws_014.png.369eb841d59cf8557448c94d5e4feeb4.png" data-fileid="2763" data-fileext="reference-architectures_citrix-virtual-apps-and-desktops-on-aws_014.png" rel=""><img alt="reference-architectures_citrix-virtual-apps-and-desktops-on-aws_014.png" class="ipsImage ipsImage_thumbnailed" data-fileid="2763" style="height: auto;" width="823" src="//media.invisioncic.com/m329563/monthly_2024_02/reference-architectures_citrix-virtual-apps-and-desktops-on-aws_014.png.369eb841d59cf8557448c94d5e4feeb4.png" loading="lazy" height="650.17"></a>
</p>

<p>
	<em>Diagram 14: Deployed "Resource Location" architecture/design pattern for Citrix DaaS on AWS.</em>
</p>

<p>
	 
</p>

<p>
	This design pattern is the foundation of most Citrix virtualization system architectures on AWS. It is also not just one massive pattern - it is built on various different, well maintained and documented design patterns for Enterprise IT on AWS. These patterns are represented, documented, and reproduced using <a href="https://aws.amazon.com/cloudformation/" rel="external nofollow">AWS CloudFormation</a> templates. AWS provides a library of <a href="https://aws.amazon.com/quickstart/" rel="external nofollow">Quick Start templates</a> which can be run as-is, layered together ('nested') with other templates, and even duplicated and customized for your own specific needs. This highlights a couple of the other major advantages of public cloud infrastructure: infrastructure as code, and the 'pay as you go' nature of many cloud services. We dig more deeply into infrastructure as code in the Citrix virtualization world shortly, but we emphasize the point with a quick touchpoint that will likely resonate for the expected readers of this paper: for many enterprise IT architects, having access to such a vast library of services, design patterns, and technology tools at your fingertips is awesome. Combined with the ability to pay for resources as you consume them and simply remove them when you're done? This is a powerful way to learn about or evaluate new stuff, and it makes the ROI for at scale investments much easier to understand and communicate.
</p>

<p>
	Back to the AWS object model for a moment: the top level object in diagram 14 is the <a href="https://aws.amazon.com/about-aws/global-infrastructure/regions_az/" rel="external nofollow">AWS Region</a>. You can think of AWS regions as clusters of well-connected but strategically separated data centers called <a href="https://aws.amazon.com/about-aws/global-infrastructure/regions_az/" rel="external nofollow">Availability Zones</a>. Each region will typically include 2 or more Availability Zones, which consist of one or more physical buildings with redundant power, networking, and connectivity. As of the time of this writing, AWS has 23 regions globally, which consist of 69 availability zones, but it is important to note that they're constantly investing in new regions and AZs. These numbers, while staggering to most of us, are likely already outdated by the time you read this. This highlights one of the other benefits of moving to public cloud infrastructure on AWS: you continue to benefit from the investments they're making (on a scale well beyond the reach of most IT organizations or even governments) over time. This continuous evolution/improvement, while daunting for change-averse IT organizations and business cultures, provides a broad reaching set of empowering benefits for Enterprise IT as it adapts to this 'new' model.
</p>

<p>
	AWS region adoption choices are often based on proximity, services available, cost, compliance, or SLA. While choosing one or more right regions for your Citrix virtualization system is beyond the scope of this document, consider at least the following when making your choices:
</p>

<ul>
	<li>
		If you have one or more existing, customer-managed data centers you are connecting to AWS, consider one or more regions which provide the lowest latency network connectivity to your data centers and major offices.
	</li>
	<li>
		All regions can not have the AWS services or instance types you're looking for. AWS deploys new services or instance types initially to a few main regions, then expands to the rest over time. Also, newer regions cannot have older instance types - do your research before you build whenever possible.
	</li>
	<li>
		CVAD sites and DaaS resource locations are bound to a specific region. High availability for individual components of a site/resource location (such as cloud connectors, StoreFront servers, and ADC/Gateway VPX instances) is accomplished by placing resources in multiple availability zones in a given region.
	</li>
	<li>
		Don't go overboard spreading your infrastructure across regions: while it is easy to do on AWS, consider cost and complexity relative to the payoff you expect before you scale any system. You do end up paying for network traffic and storage traffic as well sometimes. The costs can be trivial for traffic while it is local to a region, but goes up when the traffic traverses regions or the Internet.
	</li>
</ul>

<p>
	Stepping up a layer in Diagram 14 now, let's look at some of the networking constructs in this design pattern. The primary network construct on AWS is the VPC or "Virtual Private Cloud." VPCs are a regional construct (they span AZs) - you have at least one VPC in each region you deploy Citrix virtualization tech into. VPCs have a CIDR block of IP addresses defined, which must be unique if your network design routes traffic between multiple VPCs. VPCs are further broken down into subnets, and subnets are tied to an AZ (that is they do NOT span AZs in a region).
</p>

<p>
	Subnets also have different attributes and objects associated with them, including routing policies and security policies. This is why the design patterns highlighted in this document (and other Citrix documentation) recommend putting VDAs in separate subnets from Cloud Connectors - so you can assign different routing and security policies to VDAs and Cloud Connectors.
</p>

<p>
	Outbound Internet access from any subnet in a VPC (a regional construct) can be handled many different ways, but a common method is using <a href="https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html" rel="external nofollow">NAT Gateways</a> to provide Internet connectivity to private subnets. Public subnets are often served by <a href="https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Internet_Gateway.html" rel="external nofollow">Internet Gateways</a>, which facilitate the routing of inbound connections to services you make accessible from the Internet.
</p>

<p>
	Subnets are also commonly labeled as 'public' and 'private'. A public subnet is a subnet with Internet routable IP addresses assigned (in addition to the private IP addresses) and is associated with a route table that has a route to an Internet Gateway (IGW) for both inbound and outbound Internet traffic. A private subnet is a subnet with only private IP addresses assigned, and is associated with a route table that has a route for outbound internet access through a NAT Gateway or NAT Instances which reside in a public subnet. In a Citrix virtualization system, the Gateway virtual server (VIP) usually resides in a public subnet since it accepts inbound connections from client devices over the Internet and is used to securely proxy Citrix virtualization traffic into private subnets in a VPC.
</p>

<p>
	There are many ways to build networks on AWS, with many innovative features and techniques available that you can't get elsewhere. We're not going to introduce you to them all here, but two tools/techniques worth looking into are <a href="https://docs.aws.amazon.com/vpc/latest/peering/what-is-vpc-peering.html" rel="external nofollow">VPC peering</a> and <a href="https://aws.amazon.com/transit-gateway/" rel="external nofollow">transit gateways</a>. These two constructs help introduce you to routing traffic between VPCs simply (<a href="https://docs.aws.amazon.com/vpc/latest/peering/what-is-vpc-peering.html" rel="external nofollow">VPC peering</a>) or in a more Enterprise ready, hybrid cloud friendly model (<a href="https://aws.amazon.com/transit-gateway/" rel="external nofollow">transit gateways</a>).
</p>

<p>
	There's much more we can dig into here, and for the curious and motivated, there's a mountain of public domain knowledge available at your fingertips to learn more. For now, let's bring this back around to design patterns underneath all the diagrams you've seen in this paper.
</p>

<p>
	One of the compelling attributes of the AWS platform is that it has been built on publicly consumable APIs. Why is this compelling? For one thing, this means that much any type of infrastructure component you can run on AWS can be <strong>reproducibly built from code</strong>. When combined with a powerful and comprehensive deployment service such as <a href="https://aws.amazon.com/cloudformation/" rel="external nofollow">AWS CloudFormation</a>, customers have a powerful framework for learning about, customizing, deploying, and managing IT systems. The concept of <a href="https://infrastructure-as-code.com/" rel="external nofollow">Infrastructure as Code</a> can be new or perplexing for many traditional Enterprise focused technologists, but it can be transformational once adopted and practiced.
</p>

<p>
	As we mentioned earlier, AWS provides a library of CloudFormation based <a href="https://aws.amazon.com/quickstart/" rel="external nofollow">Quick Start templates</a> which can be run as-is, layered together ('nested') with other templates, and even duplicated and customized for your own specific needs. This library of templates is managed and maintained by AWS, in cooperation with technology partners such as Citrix, and these templates are often open-sourced (meaning they can be duplicated and modified as needed). As of the time of writing, the following Quick Start templates are available for Citrix technologies on AWS:
</p>

<ul>
	<li>
		<a href="https://aws.amazon.com/quickstart/architecture/citrix-adc-vpx/" rel="external nofollow">Citrix ADC for Web Applications</a> - deploys highly available Citrix ADC VPX instances on AWS. While the use case focus differs slightly, this design pattern is functional and relevant for Citrix Gateway deployments with CVAD/DaaS also.
	</li>
</ul>

<h3>
	Summary - Understanding Design Patterns for Citrix on AWS
</h3>

<p>
	Confused yet? If so, don't be alarmed: this can well be the start of your Citrix on AWS public cloud journey, and we've merely skimmed the surface of many deep topics here. Hopefully, however, we've successfully illustrated the following salient points:
</p>

<ul>
	<li>
		Infrastructure as Code is a powerful concept that can revolutionize the way complete systems are designed, built, and maintained.
	</li>
	<li>
		When deploying systems on AWS' public cloud, different components of any given solution can be represented by code, and built on-demand using AWS CloudFormation and other technologies.
	</li>
	<li>
		These components are represented by stack templates when using AWS CloudFormation, and templates can be copied and modified, as needed, to achieve the desired results.
	</li>
	<li>
		Templates can be nested, building complete systems (such as a fully functioning DaaS resource location on AWS) from the individual design patterns (templates).
	</li>
	<li>
		The <a href="https://github.com/aws-quickstart/quickstart-citrix-daas" rel="external nofollow">Citrix DaaS on AWS</a> Quick Start template is built upon three AWS managed/maintained foundation templates, which are well documented. Start with the following links to learn more about each:
	</li>
	<li>
		By using templates and performing trial builds, an Enterprise technologist can learn about, evaluate, and design systems that meet the specific needs of their organization or customer.
	</li>
</ul>

<h3>
	AWS Infrastructure Layer - extra Resources
</h3>

<p>
	The following resources can be used to help more about Citrix virtualization on AWS requirements and leading practices:
</p>

<ul>
	<li>
		<a href="/en-us/tech-zone/build/tech-papers/citrix-communication-ports.html" rel="">Communication Ports Used by Citrix Technologies</a>: a good global reference for the communication ports used by different components of the Citrix virtualization stack.
	</li>
</ul>

<h2>
	Operations Layer Considerations
</h2>

<p>
	This section defines the operational activities that administrators perform on a periodic basis. Many of these are not specific to AWS, and are detailed in existing published documentation. In the following tables, we've summarized some of the more important or AWS specific tasks. Readers can refer to the <a href="https://docs.citrix.com/en-us/citrix-virtual-apps-desktops/2203-ltsr/monitor" rel="external nofollow">Monitor topic</a> in Citrix product documentation for more information.
</p>

<h3>
	On-Demand Tasks
</h3>

<p>
	The following table outlines the tasks that are expected to be performed on-demand based on application requirements and troubleshooting efforts.
</p>

<table>
	<thead>
		<tr>
			<th>
				Component
			</th>
			<th>
				Task
			</th>
			<th>
				Description
			</th>
		</tr>
	</thead>
	<tbody>
		<tr>
			<td>
				Generic
			</td>
			<td>
				Update Knowledge Base
			</td>
			<td>
				When the Citrix Team troubleshoots issues related to the environment, they are to identify solutions to problems. KBA ought to be created for each issue to help support future troubleshooting activities.
			</td>
		</tr>
		<tr>
			<td>
				Citrix DaaS
			</td>
			<td>
				Modify Image
			</td>
			<td>
				Images are to be updated as required to support requests. The updates will likely be monthly, but more frequent updates may be required for testing.
			</td>
		</tr>
		<tr>
			<td>
				Citrix DaaS
			</td>
			<td>
				Publish Image
			</td>
			<td>
				When images are modified, they are tested and published.
			</td>
		</tr>
		<tr>
			<td>
				AWS
			</td>
			<td>
				Verify instance launch
			</td>
			<td>
				When a new instance is launched via MCS, verify that the instance has been created in the AWS console, and that there are available IPs in the pool for the given VPC. MCS-provisioned machines will not be created if there are no available IPs in the VPC pool.
			</td>
		</tr>
		<tr>
			<td>
				AWS
			</td>
			<td>
				Verify on-prem image efficacy
			</td>
			<td>
				An instance created from any on-prem image ought to be tested for launchability and viability before being used to update production instances.
			</td>
		</tr>
		<tr>
			<td>
				AWS
			</td>
			<td>
				Modify IAM user/ group permissions
			</td>
			<td>
				As needed, IAM user and group permissions ought to be reviewed to reduce the number of users with administrative access and to implement the "least privilege" methodology.
			</td>
		</tr>
		<tr>
			<td>
				AWS
			</td>
			<td>
				Modify Security Groups
			</td>
			<td>
				As needed, Security Groups are to be reviewed to grant or remove access for different traffic protocols from various IPs or IP ranges. Ingress and egress rules are to be modified to implement network traffic lockdowns.
			</td>
		</tr>
		<tr>
			<td>
				AWS and Citrix DaaS
			</td>
			<td>
				Update machines in a Machine Catalog
			</td>
			<td>
				As needed, update machine images to include any necessary modifications. A new AMI must be created of the modified image, and used to update the Machine Catalog. See the Update and Upgrade Process section of this document for more details.
			</td>
		</tr>
		<tr>
			<td>
				AWS and Citrix DaaS
			</td>
			<td>
				Roll back updates to a Machine Catalog
			</td>
			<td>
				As needed, in the case that a machine image must be rolled back, a previous AMI with the last known working configuration can be used to update machines in the Machine Catalog.
			</td>
		</tr>
	</tbody>
</table>

<h3>
	Daily Periodic Tasks
</h3>

<p>
	The following table outlines the tasks that ought to be performed daily.
</p>

<table>
	<thead>
		<tr>
			<th>
				Component
			</th>
			<th>
				Task
			</th>
			<th>
				Description
			</th>
		</tr>
	</thead>
	<tbody>
		<tr>
			<td>
				Generic
			</td>
			<td>
				Review Citrix Director, Windows Performance Monitor, Event Log, and other monitoring software alerts
			</td>
			<td>
				Check for warnings or alerts within Citrix Director, event logs, or other monitoring software. Investigate the root cause of the alert if any. <strong>Note:</strong> A computer and monitor can be set up to display the Citrix Director dashboard to create a heads-up display for the Citrix department so that the status of the environment is clearly visible. Monitoring recommendations for Citrix Virtual Apps and Desktops are included in the <a href="https://docs.citrix.com/en-us/citrix-virtual-apps-desktops/2203-ltsr/monitor" rel="external nofollow">Monitoring</a> section of the Virtual Apps and Desktops Best Practices guide.
			</td>
		</tr>
		<tr>
			<td>
				Generic
			</td>
			<td>
				Verify backups completed successfully
			</td>
			<td>
				Verify all scheduled backups have been completed successfully. This can include but is not limited to user data (user profiles / home folders), application data, Citrix databases, Citrix StoreFront configuration, Citrix license files.
			</td>
		</tr>
		<tr>
			<td>
				Generic
			</td>
			<td>
				Test environment access
			</td>
			<td>
				Simulate a connection both internally and externally to validate that desktop and application resources are available before most users log on for the day. This connection is to be tested throughout the day and can even be automated.
			</td>
		</tr>
		<tr>
			<td>
				Citrix Virtual Apps and Desktops
			</td>
			<td>
				Virtual machine power checking
			</td>
			<td>
				Verify that the appropriate number of idle desktops and application servers are powered on and registered with the Delivery Controllers to confirm availability for user workloads.
			</td>
		</tr>
		<tr>
			<td>
				AWS
			</td>
			<td>
				Perform checks for instance health
			</td>
			<td>
				Check the AWS console to verify the state of the instances and underlying hardware. All instances ought to pass the two health checks when powered on.
			</td>
		</tr>
		<tr>
			<td>
				Citrix Virtual Apps and Desktops
			</td>
			<td>
				Perform incremental backup of Citrix-related databases
			</td>
			<td>
				Perform incremental-data backups of the following Citrix databases: Site Database, Configuration Logging Database, Monitoring Database
			</td>
		</tr>
	</tbody>
</table>

<h3>
	Weekly Periodic Tasks
</h3>

<p>
	The following table outlines the tasks that are to be performed on a weekly basis.
</p>

<table>
	<thead>
		<tr>
			<th>
				Component
			</th>
			<th>
				Task
			</th>
			<th>
				Description
			</th>
		</tr>
	</thead>
	<tbody>
		<tr>
			<td>
				Generic
			</td>
			<td>
				Review the latest hotfixes and patches
			</td>
			<td>
				Review, test, and deploy the latest Citrix <a href="https://support.citrix.com/product/xd/" rel="external nofollow">hotfixes</a> and ascertain whether the Delivery Controllers and Server-Based OS / Desktop-Based OS virtual machines require them. For Microsoft updates deployed via SCCM or WSUS to machines in AWS, all machines receive these updates when powered on. If Citrix Power Management is employed, there can be machines in the Machine Catalog that are not regular turned on. When performing image updates, it is best to use a dynamic master instance that is powered on during all update cycles. AMIs can then be created from this instance and include all necessary patches. <strong>Note:</strong> Any required hotfixes are to be tested using the recommended testing process before the implementation in Production.
			</td>
		</tr>
		<tr>
			<td>
				Generic
			</td>
			<td>
				Create Citrix environment status report
			</td>
			<td>
				Create a report on overall environment performance (server health, resource usage, user experience) and number of Citrix issues (close rate, open issues, and so on).
			</td>
		</tr>
		<tr>
			<td>
				Generic
			</td>
			<td>
				Review status report
			</td>
			<td>
				Review the Citrix status report to identify any trends or common issues.
			</td>
		</tr>
		<tr>
			<td>
				Generic
			</td>
			<td>
				Maintain internal support knowledge base
			</td>
			<td>
				Create KBA and issue resolution scripts to address Level-1 and Level-2 support requests. Review KBA and issue resolution scripts for accuracy, compliance, and feasibility.
			</td>
		</tr>
		<tr>
			<td>
				Citrix Virtual Apps and Desktops
			</td>
			<td>
				Check <strong>Configuration Logging reports</strong>
			</td>
			<td>
				Confirm that Citrix Site-wide changes implemented during the previous week were approved through change control.
			</td>
		</tr>
		<tr>
			<td>
				Citrix Virtual Apps and Desktops
			</td>
			<td>
				Perform full backup of Citrix-related databases
			</td>
			<td>
				Perform full-data backups of the following Citrix databases: Site Database, Configuration Logging Database, Monitoring Database.
			</td>
		</tr>
		<tr>
			<td>
				AWS
			</td>
			<td>
				Perform snapshots of all EBS volumes
			</td>
			<td>
				All Elastic Block Storage volumes are to be snapshotted on a periodic basis. Snapshots can be managed and groomed in the AWS EC2 console.
			</td>
		</tr>
	</tbody>
</table>

<h3>
	Monthly Periodic Tasks
</h3>

<p>
	The following table outlines the tasks that are to be performed on a monthly basis.
</p>

<table>
	<thead>
		<tr>
			<th>
				Component
			</th>
			<th>
				Task
			</th>
			<th>
				Description
			</th>
		</tr>
	</thead>
	<tbody>
		<tr>
			<td>
				Generic
			</td>
			<td>
				Perform capacity assessment
			</td>
			<td>
				Conduct environment performance and capacity assessment of the Citrix environment to determine environment utilization and any scalability requirements. Review monthly reports from monitoring tools to assess environment performance and capacity, including, but not limited to: Virtual server computes (CPU and RAM) allocation, Licensing, Network bandwidth. Procure software and or licenses and build extra servers as needed. <strong>Note:</strong> Recommendations for performing a capacity assessment are included in <a href="/en-us/tech-zone/design/design-decisions/single-server-scalability.html" rel="">Design Decision: Single Server Scalability</a>
			</td>
		</tr>
		<tr>
			<td>
				Generic
			</td>
			<td>
				Review elevated privilege access
			</td>
			<td>
				Review which users and groups have elevated permissions to the environment and assess whether ongoing elevated access is required. Remove any accounts that no longer require these administrative rights. Primarily only IAM users and roles that are to be used to assign elevated privileges, with tightly restricted access to individual user, local, or root accounts.
			</td>
		</tr>
	</tbody>
</table>

<h3>
	Yearly Periodic Tasks
</h3>

<p>
	The following table outlines the tasks that are to be performed on a yearly basis.
</p>

<table>
	<thead>
		<tr>
			<th>
				Component
			</th>
			<th>
				Task
			</th>
			<th>
				Description
			</th>
		</tr>
	</thead>
	<tbody>
		<tr>
			<td>
				Generic
			</td>
			<td>
				Conduct Citrix policy assessment
			</td>
			<td>
				Review Citrix policies and determine whether new policies are required and existing policies must be updated.
			</td>
		</tr>
		<tr>
			<td>
				Generic
			</td>
			<td>
				Review software upgrades
			</td>
			<td>
				Review and assess the requirement for new Citrix software releases or versions.
			</td>
		</tr>
		<tr>
			<td>
				Generic
			</td>
			<td>
				Perform Business Continuity Plan (BCP)/ Disaster Recovery (DR) test
			</td>
			<td>
				Conduct functional BCP/DR test to confirm DR readiness. This plan is to include a yearly restore test to validate the actual restore process from backup data is functioning correctly.
			</td>
		</tr>
		<tr>
			<td>
				Generic
			</td>
			<td>
				Perform application assessment
			</td>
			<td>
				Review the usage of applications outside and within the Citrix environment. Assess the validity of adding more applications to the Citrix Site, removing applications that are no longer required, or upgrading the applications to the latest version.
			</td>
		</tr>
		<tr>
			<td>
				AWS
			</td>
			<td>
				Assess Network Security Group Accesses
			</td>
			<td>
				As features or applications are added or removed from the Citrix infrastructure servers or application servers, the Network Security Groups associated with those instances are to also be assessed and modified if necessary, to add or remove any ports or protocols.
			</td>
		</tr>
	</tbody>
</table>

<h2>
	Sources
</h2>

<p>
	Goal of this reference architecture is to assist you with planning your own implementation. To make this job easier, we would like to provide you with source diagrams that you can adapt in your own detailed designs and implementation guides: <a href="https://citrix.sharefile.com/d-sfe684d1948d44982ab252bdccacf5482" rel="external nofollow">source diagrams</a>.
</p>
]]></description><guid isPermaLink="false">80</guid><pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate></item><item><title>Reference Architecture: Citrix DaaS - Azure</title><link>https://community.citrix.com/tech-zone/design/reference-architectures/virtual-apps-and-desktops-azure/</link><description><![CDATA[<h2>
	Introduction
</h2>

<p>
	This guide assists with the Architecture and deployment model of Citrix DaaS on Microsoft Azure.
</p>

<p>
	The combination of Citrix Cloud and Microsoft Azure makes it possible to spin up new Citrix virtual resources with greater agility and elasticity, adjusting usage as requirements change. Virtual Machines on Azure support all the control and workload components required for a Citrix DaaS deployment. Citrix Cloud and Microsoft Azure have common control plane integrations that establish identity, governance, and security for global operations.
</p>

<p>
	This document also provides guidance on prerequisites, architecture design considerations, and deployment guidance for customer environments. The document highlights the design decisions and deployment considerations across the following five key architectural principles:
</p>

<ul>
	<li>
		<p>
			<strong>Operations</strong> - Operations includes a wide variety of topics such as image management, service monitoring, business continuity, support, and others. Various tools are available to assist with automation of operations including Azure PowerShell, Azure CLI, ARM Templates, and Azure API.
		</p>
	</li>
	<li>
		<p>
			<strong>Identity</strong> - One of the cornerstones of the entire picture of Azure is the identity of a person and their role-based access (RBAC). Azure identity is managed through Azure Active Directory (Azure AD) and Azure AD Domain Services. The customer must decide which way to go for its identity integration.
		</p>
	</li>
	<li>
		<p>
			<strong>Governance</strong> - The key to governance is establishing the policies, processes, and procedures associated with the planning, architecture, acquisition, deployment, and operational management of Azure resources.
		</p>
	</li>
	<li>
		<p>
			<strong>Security</strong> - Azure provides a wide array of configurable security options and the ability to control them so that customers can customize security to meet the unique requirements of their organization's deployments. This section helps to understand how Azure security capabilities can help you fulfill these requirements.
		</p>
	</li>
	<li>
		<p>
			<strong>Connectivity</strong> - Connecting Azure virtual networks with the customer's local/cloud network is referred to as hybrid networking. This section explains the options for network connectivity and network service routing.
		</p>
	</li>
</ul>

<h2>
	Planning
</h2>

<p>
	The three most common scenarios for delivering Citrix Apps and Desktops through Azure are:
</p>

<ul>
	<li>
		Greenfield deployment with Citrix Cloud delivering resource locations in Azure. This scenario is delivered via the Citrix DaaS and used when customers prefer to go to a subscription model and outsource control plane infrastructure to Citrix.
	</li>
	<li>
		Extending an on-premises deployment into Azure. In this scenario, the customer has a current on-premises control layer and would like to add Azure as a Citrix resource location for new deployments or migration.
	</li>
	<li>
		Lift and shift. With this scenario, customers deploy their Citrix Management infrastructure into Azure and treat Azure as a site, using Citrix ADC and StoreFront to aggregate resources from multiple sites.
	</li>
</ul>

<p>
	This document focuses on the Citrix Cloud deployment model. Customers can plan and adopt these services based on their organization needs:
</p>

<h3>
	Citrix DaaS
</h3>

<p>
	Citrix DaaS simplifies the delivery and management of Citrix technologies, helping customers to extend existing on-premises software deployments or move 100 percent to the cloud. Deliver secure access to Windows, Linux, and Web apps and Windows and Linux virtual desktops. Manage apps and desktops centrally across multiple resource locations while maintaining a great end-user experience.
</p>

<h2>
	Conceptual Reference Architecture
</h2>

<p>
	This conceptual architecture provides common guidelines for deployment of a Citrix Cloud resource location in Azure which will be discussed in the following sections.
</p>

<p>
	 
</p>

<p>
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="reference-architectures_virtual-apps-and-desktops-azure_001.png" data-fileid="3367" href="//media.invisioncic.com/m329563/monthly_2024_02/reference-architectures_virtual-apps-and-desktops-azure_001.png.05fe948db41be5dc575cfda7f1d6f050.png" rel=""><img alt="reference-architectures_virtual-apps-and-desktops-azure_001.png" class="ipsImage ipsImage_thumbnailed" data-fileid="3367" style="height: auto;" width="1707" src="//media.invisioncic.com/m329563/monthly_2024_02/reference-architectures_virtual-apps-and-desktops-azure_001.png.05fe948db41be5dc575cfda7f1d6f050.png" loading="lazy" height="1177.83"></a>
</p>

<p>
	 
</p>

<p>
	Diagram-1: Citrix Cloud Conceptual Reference Architecture
</p>

<p>
	Refer to the <a href="/en-us/tech-zone/design/design-decisions/azure-instance-scalability.html" rel="">design guide</a> on the scalability and economics of delivering Citrix DaaS on Microsoft Azure
</p>

<h2>
	Operations
</h2>

<p>
	In the operations subject area, this guide dives deeper into planning for the workspace environment requirements and hierarchy for foundational services. At the top layer, is found the subscription, resource group, and regional design considerations. Followed by common questions for VM storage, user profile storage, and Master Image management/provisioning. Also provided is guidance on Reserved instance optimization with Autoscale and planning for Business Continuity/Disaster Recovery.
</p>

<h3>
	Naming Conventions
</h3>

<p>
	The naming of resources in Microsoft Azure is important because:
</p>

<ul>
	<li>
		Most resources cannot be renamed after creation
	</li>
	<li>
		Specific resource types have different naming requirements
	</li>
	<li>
		Consistent naming conventions make resources easier to locate and can indicate the role of a resource
	</li>
</ul>

<p>
	The key to success with naming conventions is establishing and following them across your applications and organizations.
</p>

<p>
	When naming Azure subscriptions, verbose names make understanding the context and purpose of each subscription clear. Following a naming convention can improve clarity when working in an environment with many subscriptions.
</p>

<p>
	A recommended pattern for naming subscriptions is:
</p>

<table style="width: 1000px;">
	<thead>
		<tr>
			<th>
				<strong>Variable</strong>
			</th>
			<th style="text-align: left;">
				<strong>Example</strong>
			</th>
			<th>
				<strong>Description</strong>
			</th>
		</tr>
	</thead>
	<tbody>
		<tr>
			<td>
				<strong>[System]</strong>
			</td>
			<td style="text-align: left;">
				CTX (Citrix), CORE (Azure)
			</td>
			<td>
				Three letter identifier for the product, application, or service that the resource supports.
			</td>
		</tr>
		<tr>
			<td>
				<strong>[Role]</strong>
			</td>
			<td style="text-align: left;">
				XAW (XenApp Workers), VDA (Virtual Delivery Agent), CC (Cloud Connector), CVA (Citrix Virtual Apps)
			</td>
			<td>
				Three letter identifier for a subsystem of the service.
			</td>
		</tr>
		<tr>
			<td>
				<strong>[Environment]</strong>
			</td>
			<td style="text-align: left;">
				D, T, P (dev, test, or prod)
			</td>
			<td>
				Identifies the environment for the resource
			</td>
		</tr>
		<tr>
			<td>
				<strong>##</strong>
			</td>
			<td style="text-align: left;">
				01, 02
			</td>
			<td>
				For resources that have more than one named instance (web servers, and so on).
			</td>
		</tr>
		<tr>
			<td>
				<strong>[Location]</strong>
			</td>
			<td style="text-align: left;">
				WU (West US), EU (East US), SCU (South Central US)
			</td>
			<td>
				Identifies the Azure region into which the resource is deployed
			</td>
		</tr>
	</tbody>
</table>

<p>
	When naming resources in Azure use common prefixes or suffixes to identify the type and context of the resource. While all the information about type, metadata, context, is available programmatically, applying common affixes simplifies visual identification. When incorporating affixes into your naming convention, it is important to clearly specify whether the affix is at the beginning of the name (prefix) or at the end (suffix).
</p>

<p>
	A well-defined naming scheme identifies the system, role, environment, instance count, and location of an Azure resource. Naming can be enforced using an Azure Policy.
</p>

<table style="width: 1000px;">
	<thead>
		<tr>
			<th>
				<strong>Service</strong>
			</th>
			<th>
				<strong>Scope</strong>
			</th>
			<th>
				<strong>Suggested Pattern</strong>
			</th>
			<th>
				<strong>Example</strong>
			</th>
		</tr>
	</thead>
	<tbody>
		<tr>
			<td>
				<strong>Subscriptions</strong>
			</td>
			<td>
				Global
			</td>
			<td>
				<code>[System][Environment]##[Location]-sub</code>
			</td>
			<td>
				<code>WSCD01scu-sub</code>
			</td>
		</tr>
		<tr>
			<td>
				<strong>Resource Groups</strong>
			</td>
			<td>
				Global
			</td>
			<td>
				<code>[System]-[Role]-[Environment]##-[Location]-rg</code>
			</td>
			<td>
				<code>CTX-Apps-P01-CUS-rg</code>
			</td>
		</tr>
		<tr>
			<td>
				<strong>Virtual Network</strong>
			</td>
			<td>
				Resource Group
			</td>
			<td>
				<code>[System][Environment]##[Location]-vnet</code>
			</td>
			<td>
				<code>CTXP01cus-vnet</code>
			</td>
		</tr>
		<tr>
			<td>
				<strong>Subnet</strong>
			</td>
			<td>
				Parent VNET
			</td>
			<td>
				<code>[Descriptive Context]</code>
			</td>
			<td>
				<code>DMZ - 10.0.1.0/24 Infrastructure - 10.0.2.0/24</code>
			</td>
		</tr>
		<tr>
			<td>
				<strong>Storage Account</strong>
			</td>
			<td>
				Resource Group
			</td>
			<td>
				<code>[System][Role][Environment]##[Location]</code> Note: Must be lower case alphanumeric
			</td>
			<td>
				<code>ctxinfd01scu</code>
			</td>
		</tr>
		<tr>
			<td>
				<strong>Container</strong>
			</td>
			<td>
				Storage Account
			</td>
			<td>
				<code>[Descriptive Context]</code>
			</td>
			<td>
				<code>vhds</code>
			</td>
		</tr>
		<tr>
			<td>
				<strong>Virtual Machine</strong>
			</td>
			<td>
				Resource Group
			</td>
			<td>
				<code>[System][Role][Environment]##[Location]</code> Note: Must be 15 characters or less.
			</td>
			<td>
				<code>CTXSTFD01scu</code>
			</td>
		</tr>
		<tr>
			<td>
				<strong>Network Interface</strong>
			</td>
			<td>
				Resource Group
			</td>
			<td>
				<code>[vmname]-nic#</code>
			</td>
			<td>
				<code>CTXSTFD01scu-nic1</code>
			</td>
		</tr>
		<tr>
			<td>
				<strong>Public IPs</strong>
			</td>
			<td>
				Resource Group
			</td>
			<td>
				<code>[vmname]-pip</code>
			</td>
			<td>
				<code>CTXSTFD01scu-pip</code>
			</td>
		</tr>
		<tr>
			<td>
				<strong>Virtual Network Gateway</strong>
			</td>
			<td>
				Virtual Network
			</td>
			<td>
				<code>[System][Environment]##[Location]-vng</code>
			</td>
			<td>
				<code>WSCD01scu-vng</code>
			</td>
		</tr>
		<tr>
			<td>
				<strong>Local Network Gateway</strong>
			</td>
			<td>
				Resource Group
			</td>
			<td>
				<code>[System][Environment]##[Location]-lng</code>
			</td>
			<td>
				<code>WSCD01scu-lng</code>
			</td>
		</tr>
		<tr>
			<td>
				<strong>Availability Sets</strong>
			</td>
			<td>
				Resource Group
			</td>
			<td>
				<code>[System][Role]-as</code>
			</td>
			<td>
				<code>CTXSTF-as</code>
			</td>
		</tr>
		<tr>
			<td>
				<strong>Load Balancer</strong>
			</td>
			<td>
				Resource Group
			</td>
			<td>
				<code>[System][Role]-lb</code>
			</td>
			<td>
				<code>CTXNSG-lb</code>
			</td>
		</tr>
		<tr>
			<td>
				<strong>Workspaces</strong>
			</td>
			<td>
				Subscription
			</td>
			<td>
				<code>[System][Environment]-analytics</code>
			</td>
			<td>
				<code>CTXP-analytics</code>
			</td>
		</tr>
		<tr>
			<td>
				<strong>Tags</strong>
			</td>
			<td>
				Resource
			</td>
			<td>
				<code>[Descriptive Context]</code>
			</td>
			<td>
				<code>Finance</code>
			</td>
		</tr>
		<tr>
			<td>
				<strong>Key Vault</strong>
			</td>
			<td>
				Subscription
			</td>
			<td>
				<code>[System][Environment]-vault</code>
			</td>
			<td>
				<code>CTXP-vault</code>
			</td>
		</tr>
	</tbody>
</table>

<h3>
	Subscriptions
</h3>

<p>
	Selecting a subscription model is a complex decision that involves understanding the growth of the customer's Azure footprint within and outside the Citrix deployment. Even if the Citrix deployment is small, the customer might still have a large amount of other resources that are reading/writing heavily against the Azure API, which can have a negative impact on the Citrix environment. The reverse is also true, where many Citrix resources can consume an inordinate number of the available API calls, reducing availability for other resources within the subscription.
</p>

<h4>
	Single Subscription workspace model
</h4>

<p>
	In a single subscription model, all core infrastructure and Citrix infrastructure are located in the same subscription. This is the configuration recommended for deployments that require up to 2,500 Citrix VDAs (can be session, pooled VDI, or persistent VDI). The limits are subject to change, check the following for most <a href="https://docs.citrix.com/en-us/citrix-virtual-apps-desktops-service/limits.html" rel="external nofollow">up to date VDA limits</a>. Refer to the following <a href="https://www.citrix.com/blogs/2020/05/06/improving-azure-performance-with-machine-creation-services/" rel="external nofollow">blog</a> for the latest start-shutdown scale numbers within a single subscription,
</p>

<p>
	Diagram-2: Azure Single Subscription workspace model
</p>

<p>
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="reference-architectures_virtual-apps-and-desktops-azure_002.png" data-fileid="3369" href="//media.invisioncic.com/m329563/monthly_2024_02/reference-architectures_virtual-apps-and-desktops-azure_002.png.6e8cde3b7a59084d3ca8f3d47621ac4b.png" rel=""><img alt="reference-architectures_virtual-apps-and-desktops-azure_002.png" class="ipsImage ipsImage_thumbnailed" data-fileid="3369" style="height: auto;" width="1812" src="//media.invisioncic.com/m329563/monthly_2024_02/reference-architectures_virtual-apps-and-desktops-azure_002.png.6e8cde3b7a59084d3ca8f3d47621ac4b.png" loading="lazy" height="1195.92"></a>
</p>

<p>
	 
</p>

<h4>
	Multi-Subscription workspace model
</h4>

<p>
	In this model, core infrastructure and Citrix infrastructure are in separate subscriptions to manage the scalability in large deployments. Often enterprise deployments with multi-region infrastructure designs are broken into multiple subscriptions to prevent reaching Azure subscription limits.
</p>

<p>
	 
</p>

<p>
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="reference-architectures_virtual-apps-and-desktops-azure_003.png" data-fileid="3371" href="//media.invisioncic.com/m329563/monthly_2024_02/reference-architectures_virtual-apps-and-desktops-azure_003.png.6a9ad008a7dfb36f8001ac8197eaa47c.png" rel=""><img alt="reference-architectures_virtual-apps-and-desktops-azure_003.png" class="ipsImage ipsImage_thumbnailed" data-fileid="3371" style="height: auto;" width="1842" src="//media.invisioncic.com/m329563/monthly_2024_02/reference-architectures_virtual-apps-and-desktops-azure_003.png.6a9ad008a7dfb36f8001ac8197eaa47c.png" loading="lazy" height="1252.56"></a>
</p>

<p>
	 
</p>

<p>
	Diagram-3: Azure Multi-Subscription workspace model
</p>

<p>
	The following questions provide guidance to help customer's understand the Azure subscription options and plan their resources.
</p>

<table style="width: 1000px;">
	<thead>
		<tr>
			<th>
				Component
			</th>
			<th>
				Requirement
			</th>
		</tr>
	</thead>
	<tbody>
		<tr>
			<td>
				Will the Azure subscription contain only Citrix resources?
			</td>
			<td>
				Determine if the Azure subscription will be used for dedicated Citrix resources or if the Citrix resources will be shared with other systems.
			</td>
		</tr>
		<tr>
			<td>
				Single or Multiple subscription deployment?
			</td>
			<td>
				Typically, multiple subscription deployments are for larger deployments where single subscription limitations are an issue and more granular security controls are necessary.
			</td>
		</tr>
		<tr>
			<td>
				What Azure Limits are likely to be reached? How many resources are in a resource Group?
			</td>
			<td>
				Resource Groups has limits and Machine Creation Services (MCS) requires either 2 or 3 disks per VM resource. Review <a href="https://docs.microsoft.com/en-us/azure/azure-subscription-service-limits" rel="external nofollow">Azure subscription limits</a> while planning the solution.
			</td>
		</tr>
		<tr>
			<td>
				What permissions are necessary for the Citrix Virtual Apps and Desktops service principle on the Azure subscription?
			</td>
			<td>
				Citrix DaaS requires the creation of resource groups and resources within the subscription. For example, when the service principle cannot be granted full access to a subscription, then it needs to be granted Contributor access to a pre-created resource group.
			</td>
		</tr>
		<tr>
			<td>
				Will Development and Test environments be created in separate subscriptions from Production?
			</td>
			<td>
				Isolating Development and Test subscriptions from Production enables the application and change of global Azure services in an isolated environment and silos resource utilization. This practice has benefits for security, compliance, and subscription performance. Creating separate subscriptions for these environments does add complexity to image management. Consider These trade-offs based on the customer's needs.
			</td>
		</tr>
	</tbody>
</table>

<h3>
	Azure Regions
</h3>

<p>
	An Azure region is a set of data centers deployed within a latency-defined perimeter and connected through a dedicated regional low-latency network. Azure gives customers the flexibility to deploy applications where they need to. Azure is generally available in 59 regions around the world, with plans announced for 19 more regions as of the end of 2022.
</p>

<p>
	A geography is a discrete market, typically containing two or more Azure regions, that preserve data residency and compliance boundaries. Geographies allow customers with specific data-residency and compliance needs to keep their data and applications close.
</p>

<p>
	Availability Zones are physically separate locations within an Azure region. Each Availability Zone is made up of one or more data centers equipped with independent power, cooling and networking. Availability Zones allow customers to run mission-critical applications with high availability and low-latency replication. To ensure resiliency, there's a minimum of three separate zones in all enabled regions.
</p>

<p>
	Consider these factors when choosing your region.
</p>

<table style="width: 1000px;">
	<thead>
		<tr>
			<th>
				<strong>Component</strong>
			</th>
			<th>
				<strong>Requirement</strong>
			</th>
		</tr>
	</thead>
	<tbody>
		<tr>
			<td>
				Compliance and data residency
			</td>
			<td>
				Do customers have specific compliance or data-residency requirements? Microsoft can copy customer data between Regions within a given Geo for data redundancy or other operational purposes. For example, Azure Globally Redundant Storage (GRS) replicates Blob and Table data between two regions within the same Geo for enhanced data durability if there is a major data center disaster. Certain Azure services do not enable the customer to specify the region where the service will be deployed. These services can store customer data in any of Microsoft's data centers unless specified. Review the <a href="https://azure.microsoft.com/en-us/global-infrastructure/regions/" rel="external nofollow">Azure Regions map</a> website for the latest updates.
			</td>
		</tr>
		<tr>
			<td>
				Service availability
			</td>
			<td>
				Review service availability within the tentative regions. Service Availability by region helps the customer to determine which services are available within a region. While an Azure Service can be supported in a given region, not all Service features are available in sovereign clouds, such as Azure Government, Germany, and China.
			</td>
		</tr>
		<tr>
			<td>
				Determine the target Azure regions for the Citrix deployment.
			</td>
			<td>
				Review the proximity of Azure region to users and customer data centers.
			</td>
		</tr>
		<tr>
			<td>
				Are multiple Azure regions required?
			</td>
			<td>
				Multiple Azure regions are typically considered for the following high-level reasons: - Proximity to application data or end users - Geographic Redundancy for Business Continuity and Disaster Recovery - Azure Feature or Service availability
			</td>
		</tr>
	</tbody>
</table>

<h3>
	Availability Sets
</h3>

<p>
	An Availability Set is a logical grouping capability that can be used in Azure to ensure that the VM resources placed within an Availability Set are isolated from each other when they are deployed within an Azure data center. Azure ensures that the VMs placed within an Availability Set run across multiple physical servers, compute racks, storage units, and network switches. If a hardware or Azure software failure occurs, only a subset of your VMs is impacted, and the overall application stays up and remains available to customers. Availability Sets are an essential capability when customers want to build reliable cloud solutions.
</p>

<p>
	Each component of a Citrix deployment is in its own Availability Set to maximize overall availability for Citrix. For example, Cloud Connectors use a separate Availability Set, another for Citrix Application Delivery Controllers (ADC), StoreFront, and so forth.
</p>

<p>
	Once availability sets are optimized, the next step is to build resiliency around VM downtime within the availability sets. That minimizes/eliminates service downtime when VMs are restarted or redeployed by Microsoft. This can be expanded to planned maintenance events as well. There are two features that you can use which can increase the reliability of the overall service.
</p>

<p>
	These two features do not protect against unplanned maintenance/crashes.
</p>

<ul>
	<li>
		Azure Planned Maintenance
	</li>
	<li>
		Azure Scheduled Events
	</li>
</ul>

<h3>
	Azure Planned Maintenance
</h3>

<p>
	Azure periodically does updates to improve the reliability, performance, and security of the host infrastructure in Azure. If maintenance requires a reboot, Microsoft sends a notice. Using Azure Planned Maintenance, it is possible to capture these notices and proactively take action on them on the customer's schedule, instead of on Microsoft's schedule.
</p>

<p>
	Make use of the planned maintenance feature by sending email notifications to the service owner of each tier (for manual intervention) and build runbooks to automate the service protection.
</p>

<h3>
	Azure Scheduled Events
</h3>

<p>
	Azure Scheduled Events is an Azure Metadata Service that gives notices programmatically to applications to alert of immediate maintenance. It provides information about upcoming maintenance events (for example reboot) so the application administrator can prepare for and limit disruption. While it might sound like planned maintenance, it is not. The key difference is that these events are fired for planned maintenance and sometimes non-planned maintenance. For example, if Azure is doing host healing activities and needs to move VMs on a short notice.
</p>

<p>
	These events are consumed programmatically, and will give the following advance notice:
</p>

<ul>
	<li>
		Freeze â�� 15 Minutes
	</li>
	<li>
		Reboot â�� 15 Minutes
	</li>
	<li>
		Redeploy â�� 10 Minutes
	</li>
</ul>

<h3>
	Disaster Recovery (DR)
</h3>

<p>
	Azure can provide a highly cost-effective DR solution for Citrix customers looking to gain immediate value from cloud adoption today. The deployment model topology determines the DR solution implementation.
</p>

<h3>
	Extending the Architecture
</h3>

<p>
	Under this topology, the management infrastructure remains on-premises, but workloads are deployed to Azure. If the on-premises data center is not reachable, existing connected users remain connected, but new connections will not be possible because the management infrastructure is unavailable.
</p>

<p>
	To protect the management infrastructure, pre-configure Azure Site Recovery to recover the management infrastructure into Azure. This is a manual process and once recovered, your environment can be made operational. This option is not seamless and cannot recover components such as ADC VPX, however for organizations with more a more flexible recovery time objective (RTO) it can reduce the operational costs.
</p>

<h3>
	Hosting Architecture
</h3>

<p>
	When deploying this topology, the Citrix Management infrastructure is deployed into Azure and treated as a separate site. This provides functional isolation from on-premises deployment in the event of a site failure. Use Citrix ADC and StoreFront to aggregate resources and provide users a near instant failover between Production and Disaster Recovery resources.
</p>

<p>
	The presence of the Citrix Infrastructure in Azure means that no manual processes need to be invoked and no systems need to be restored before users can access their core workspace.
</p>

<h3>
	Cloud Services Architecture
</h3>

<p>
	When using Citrix Cloud, Azure becomes just another resource location. This topology provides the simplest deployment as the management components are hosted by Citrix as a Service, and Disaster Recovery workloads can be achieved without deploying duplicate infrastructure to support it. The user experience during failover in the event of a disaster can be seamless.
</p>

<p>
	The items in the following table help the customer with their DR planning:
</p>

<table style="width: 1000px;">
	<thead>
		<tr>
			<th>
				<strong>Component</strong>
			</th>
			<th>
				<strong>Requirement</strong>
			</th>
		</tr>
	</thead>
	<tbody>
		<tr>
			<td>
				What are the RTO and RPO requirements of the Citrix environment?
			</td>
			<td>
				RTO - Targeted duration of time and a service level within which a business process must be restored after a disaster. RPO - The interval of time that might pass during a disruption before the quantity of data lost during that period exceeds the Business Continuity Plan's maximum allowable threshold or tolerance.��
			</td>
		</tr>
		<tr>
			<td>
				What is the desired outcome when a service disruption occurs in the entire region where your Azure virtual machine application is deployed?
			</td>
			<td>
				Review these options in alignment with the customer's RTO and RPO for DR. Disaster Recovery of a Citrix environment in Azure can be addressed with Azure Site Recover, passive Secondary Site, and active Site Azure Site. Recovery only supports Server OS (Citrix infrastructure and Server VDAs). Client OS is not supported (for example persistent desktops created using ARM Templates). Also, Machine Catalogs created by MCS (Server or Client VDA) must be recreated using a Recovery Task.
			</td>
		</tr>
	</tbody>
</table>

<h3>
	Resource Groups
</h3>

<p>
	Resource Groups (RG) in Azure are a collection of assets in logical groups for easy or even automatic provisioning, monitoring, and access control, and for more effective management of their costs. The benefit of using RGs in Azure is grouping related resources that belong to an application together, as they share a unified lifecycle from creation to usage and finally, de-provisioning.
</p>

<p>
	The key to having a successful design of resource groups is understanding the lifecycle of the resources that are included in them.
</p>

<p>
	Resource Groups are tied to Machine Catalogs at creation time and cannot be added or changed later. To add extra Resource Groups to a Machine Catalog, the Machine Catalog must be removed and recreated.
</p>

<h3>
	Image Management
</h3>

<p>
	Image management is the process of creating, upgrading, and assigning an image that is consistently applied across development, test, and production environments. Consider the following when developing an image management process:
</p>

<h3>
	On-Demand Provisioning
</h3>

<p>
	The customer needs to determine if MCS be used to manage the Azure non-persistent machines or create their own Azure Resource Manager (ARM) templates. When a customer uses MCS to create machine catalogs, the Azure on-demand provisioning feature reduces storage costs, provides faster catalog creation and faster virtual machine (VM) power operations. With Azure on-demand provisioning, VMs are created only when Citrix DaaS initiates a power-on action, after the provisioning completes. A VM is visible in the Azure portal only when it is running, while in Citrix Studio, all VMs are visible, regardless of power status. Machines created via ARM templates or MCS can be power managed by Citrix using an Azure host connection in Citrix Studio.
</p>

<h3>
	Storage Account Containers
</h3>

<p>
	The customer needs to decide the organizational structure for the storing the source (or golden) images from which to create the virtual machines using Citrix Machine Creation Services (MCS). Citrix MCS images can be sourced from snapshots, managed or unmanaged disks and can reside on standard or premium storage. Unmanaged disks are accessed through general-purpose storage accounts and are stored as VHDs within Azure Blob storage containers. Containers are folders which can be used to separate Production, Test, and Development images.
</p>

<h3>
	Image Replication
</h3>

<p>
	The customer needs to determine the appropriate process for replicating images across regions and how Citrix App Layering technology might be used within the overall image management strategy. PowerShell scripts can be used with Azure Automation to schedule image replication. More information on Citrix App Layering can be found <a href="https://docs.citrix.com/en-us/citrix-app-layering/4.html" rel="external nofollow">here</a>, but keep in mind that Elastic Layering requires an SMB File share that does not reside on Azure Files. See the <strong>File Servers</strong> section for supported SMB share technologies that support Elastic Layering.
</p>

<h3>
	File Server Technologies
</h3>

<p>
	Azure offers several file server technologies that can be used to store Citrix user data, roaming profile information or function as targets for Citrix Layering shares. These options include the following:
</p>

<ul>
	<li>
		Standalone File Server
	</li>
	<li>
		File Servers using Storage Replica
	</li>
	<li>
		Scale Out File Server (SOFS) with Storage Spaces Direct (S2D)
	</li>
	<li>
		Distributed File System â�� Replication (DFS-R)
	</li>
	<li>
		Third-party storage appliances from Azure Marketplace (such as NetApp, and others)
	</li>
</ul>

<p>
	The customer must select file server technologies that best meet their business requirements. The following table outlines some benefits and considerations for each of the different file serving technologies.
</p>

<table style="width: 1000px;">
	<thead>
		<tr>
			<th>
				<strong>Options</strong>
			</th>
			<th>
				<strong>Benefits</strong>
			</th>
			<th>
				<strong>Considerations</strong>
			</th>
		</tr>
	</thead>
	<tbody>
		<tr>
			<td>
				Standalone File Server
			</td>
			<td>
				Well known and tested. Compatible with existing backup/restore products
			</td>
			<td>
				Single point of failure. No data redundancy. Outage for monthly patching, measured in minutes.
			</td>
		</tr>
		<tr>
			<td>
				File Servers using Storage Replica
			</td>
			<td>
				Block Level Replication. SMB 3.0. Storage Agnostic (SAN, Cloud, Local, and so on). Offers Synchronous and Asynchronous Replication. Recommended when multi-region access is required
			</td>
			<td>
				Manual failover needed. Uses 2x disk space. Manual failover still has downtime, measured in minutes. DNS dependency.
			</td>
		</tr>
		<tr>
			<td>
				SOFS on Storage Spaces Direct
			</td>
			<td>
				Highly available. Multi-node and Multi-disk HA. Scale up or scale out. SMB 3.0 and 3.1. Transparent failover during planned and unplanned maintenance activities. Recommended for user profile storage within Azure
			</td>
			<td>
				Uses 2-3x disk space. Third-party back-up software support can be limited by the vendor. Does not support multi-region deployment
			</td>
		</tr>
		<tr>
			<td>
				Distributed File System â�� Replication
			</td>
			<td>
				Proven technology for file-based replication. Supports PowerShell
			</td>
			<td>
				Domain-based. Cannot be deployed in an active-active configuration.
			</td>
		</tr>
		<tr>
			<td>
				Third-party storage applications
			</td>
			<td>
				Deduplication technologies. Better use of storage space.
			</td>
			<td>
				Extra cost. Proprietary management tools.
			</td>
		</tr>
	</tbody>
</table>

<p>
	The recommended file server virtual machine types are generally DS1, DS2, DS3, DS4, or DS5, with the appropriate selection depending on customer use requirements. For best performance, ensure that premium disk support is selected. Extra guidance can be found on Microsoft Azure <a href="https://docs.microsoft.com/en-us/windows-server/remote/remote-desktop-services/rds-storage-spaces-direct-deployment" rel="external nofollow">documentation</a>.
</p>

<h3>
	Infrastructure Cost Management
</h3>

<p>
	Two technologies are available that can be used to reduce the costs of the Citrix environment in Azure, reserved instances and Citrix Autoscale.
</p>

<h3>
	Reserved Instances
</h3>

<p>
	Azure Reserved VM Instances (RIs) significantly reduce costsâ��up to 72 percent compared to pay-as-you-go pricesâ��with one-year or three-year terms on Windows and Linux virtual machines (VMs). When customers combine the cost savings gained from Azure RIs with the added value of the Azure Hybrid Benefit, they can save up to 80 percent. The 80% is calculated based on a three-year Azure Reserved Instance commitment of a Windows Server when compared to the normal pay-as-you-go rate.
</p>

<p>
	While Azure Reserved Instances require making upfront commitments on <strong>compute</strong> capacity, they also provide flexibility to exchange or cancel reserved instances at any time. A reservation only covers the virtual machine compute costs. It does not reduce any of the additional software, networking, or storage charges. This is good for the Citrix infrastructure and the minimum capacity needed for a use case (on and off hours).
</p>

<p>
	Citrix Autoscale feature supports reserved instances as well to further reduce your costs - you can now use Autoscale for bursting in the cloud. In a delivery group you can tag machines that need to be autoscaled and exclude your reserved instances (or on-premises workloads) - you can find more info here: <a href="https://docs.citrix.com/en-us/citrix-virtual-apps-desktops-service/manage-deployment/autoscale/restrict-autoscale.html#restrict-autoscale-to-certain-machines-in-a-delivery-group" rel="external nofollow">Restrict Autoscale to certain machines in a Delivery Group</a>.
</p>

<h3>
	Citrix Autoscale
</h3>

<p>
	Autoscale is a feature exclusive to the Citrix DaaS that provides a consistent, high-performance solution to proactively power manage your machines. It aims to balance costs and user experience. Autoscale incorporates the deprecated Smart Scale technology into the Studio power management solution.
</p>

<table style="width: 1000px;">
	<thead>
		<tr>
			<th>
				<strong>Machine Type</strong>
			</th>
			<th>
				<strong>Schedule-based</strong>
			</th>
			<th>
				<strong>Load-based</strong>
			</th>
			<th>
				<strong>Load and schedule-based</strong>
			</th>
		</tr>
	</thead>
	<tbody>
		<tr>
			<td>
				<strong>Server OS</strong> machines hosting published applications or hosted shared desktops (Server VDI)
			</td>
			<td>
				Supported
			</td>
			<td>
				Supported
			</td>
			<td>
				Supported
			</td>
		</tr>
		<tr>
			<td>
				<strong>Desktop OS</strong> machines hosting static persistent (dedicated) VDI desktops
			</td>
			<td>
				Supported. During periods when machines are powered off (for example, after working hours), users can trigger machines to power on through the Citrix Receiver. You can set Autoscale's Power Off Delay so Autoscale does not automatically power machines off before the user can establish a session.
			</td>
			<td>
				Supported only for unassigned machines.
			</td>
			<td>
				Supported only for unassigned machines.
			</td>
		</tr>
		<tr>
			<td>
				<strong>Desktop OS</strong> - machines hosting - random non-persistent VDI desktops (pooled VDI desktops)
			</td>
			<td>
				Supported
			</td>
			<td>
				Supported. Use the Session Count scaling metric and set the maximum number of sessions to 1.
			</td>
			<td>
				Supported. Use the Session Count scaling metric and set the minimum number of machines to 1.
			</td>
		</tr>
	</tbody>
</table>

<p>
	 
</p>

<p>
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="reference-architectures_virtual-apps-and-desktops-azure_004.png" data-fileid="3373" href="//media.invisioncic.com/m329563/monthly_2024_02/reference-architectures_virtual-apps-and-desktops-azure_004.png.e8bff69e839ceadb267b34a8702c9fde.png" rel=""><img alt="reference-architectures_virtual-apps-and-desktops-azure_004.png" class="ipsImage ipsImage_thumbnailed" data-fileid="3373" style="height: auto;" width="1280" src="//media.invisioncic.com/m329563/monthly_2024_02/reference-architectures_virtual-apps-and-desktops-azure_004.png.e8bff69e839ceadb267b34a8702c9fde.png" loading="lazy" height="716.8"></a>
</p>

<p>
	 
</p>

<p>
	Diagram-4: Citrix Autoscale Flow
</p>

<p>
	You can read more about Citrix Autoscale <a href="https://docs.citrix.com/en-us/citrix-virtual-apps-desktops-service/manage-deployment/autoscale.html" rel="external nofollow">here</a>.
</p>

<h3>
	Optimizing End-User Experience
</h3>

<p>
	Optimizing the end-user experience includes balancing the end user's perception of responsiveness with the business needs of staying within a budget. This section discusses the design concepts and decisions around providing an environment that is correctly sized for the business and the end user.
</p>

<h3>
	Defining the User Workspace
</h3>

<p>
	Review the following high-level questions to better understand existing use cases and the resources needed for their end users.
</p>

<table style="width: 1000px;">
	<thead>
		<tr>
			<th>
				<strong>Topic</strong>
			</th>
			<th>
				<strong>Question</strong>
			</th>
		</tr>
	</thead>
	<tbody>
		<tr>
			<td>
				Number of Users
			</td>
			<td>
				How many users are expected within the environment? Did the assessment phase determine the appropriate VDI Model? (Virtual Apps or Virtual Desktops)
			</td>
		</tr>
		<tr>
			<td>
				Use Cases
			</td>
			<td>
				What types of applications will be consumed by the end users? What are the VDA requirements for the applications? How will the applications be delivered best? (Virtual Apps vs Virtual Desktops)
			</td>
		</tr>
		<tr>
			<td>
				User Group working hours
			</td>
			<td>
				When will users be accessing the environment? What are the peak hours? What is the expected consumption throughout the day? (The consumption of users during specific hours helps identify workspace requirements for scale automation and Azure reserved Instance purchasing.)
			</td>
		</tr>
		<tr>
			<td>
				Location
			</td>
			<td>
				Where are the end users located? Deploy workspaces across multiple regions or only in a single region?
			</td>
		</tr>
		<tr>
			<td>
				User and Application Data
			</td>
			<td>
				Where is the user and application data stored? Will data be contained solely in Azure, only on-premises, or a mix of both? What is the maximum tolerable latency for accessing the user data?
			</td>
		</tr>
	</tbody>
</table>

<h3>
	Azure VM Instance Types
</h3>

<p>
	Each Citrix component uses an associated virtual machine type in Azure. Each VM series available is mapped to a specific category of workloads (general purpose, compute-optimized, and so forth) with various sizes controlling the resources allocated to the VM (CPU, Memory, IOPS, network, and others).
</p>

<p>
	Most Citrix deployments use the D-Series and F-Series instance types. The D-Series is commonly used for the Citrix infrastructure components and sometimes for the user workloads when they require extra memory beyond what is found in the F-Series instance types. F-Series instance types are the most common in the field for user workloads because of their faster processors which bring with them the perception of responsiveness.
</p>

<p>
	<strong>Why D-Series or F-Series?</strong> From a Citrix perspective, most infrastructure components (Cloud Connectors, StoreFront, ADC, and so on) use CPU to run core processes. These VM types have a balanced CPU to Memory ratio, are hosted on uniform hardware (unlike the A-Series) for more consistent performance and support premium storage. Certainly, customers adjust their instance types to meet their needs and their budget.
</p>

<p>
	The size and number of components within a customer's infrastructure will always depend on customer's requirements, scale, and workloads. However, with Azure we have the ability to scale dynamically and on-demand! For cost-conscious customers, starting smaller and scaling up is the best approach. Azure VMs require a reboot when changing size so plan these events within scheduled maintenance windows only and under established change control policies.
</p>

<h3>
	How about Scale-up or Scale-out?
</h3>

<p>
	Review the following high-level questions to better understand a customer's use case and the resources needed for their end users. This also helps them to plan their workload well in advance.
</p>

<p>
	Scaling up is best when the cost per user per hour needs to be the lowest and a larger impact can be tolerated if the instances fail. Scaling out is preferred when the impact of a single instance failure needs to be minimized. The following table provides some example instance types for different Citrix components.
</p>

<table style="width: 1000px;">
	<thead>
		<tr>
			<th>
				<strong>Component</strong>
			</th>
			<th>
				<strong>Recommended Instance Type</strong>
			</th>
		</tr>
	</thead>
	<tbody>
		<tr>
			<td>
				Delivery Controllers, Cloud Connectors
			</td>
			<td>
				Standard DS2_v2 or DS2_v3 with Premium SSD storage
			</td>
		</tr>
		<tr>
			<td>
				Scale Up Server OS User Workloads
			</td>
			<td>
				Standard_F16s_v2 VMs with Virtual App were identified to have the lowest $/user/hr cost compared to other instances. Standard_DS5_v2 VMs were also cost competitive compared to other instances
			</td>
		</tr>
		<tr>
			<td>
				Scale Out Server OS User Workloads
			</td>
			<td>
				Standard_F4_v2 and Standard_F8_v2 instances support a lower user count however provide more flexibility of power management operations due to smaller user container sizes. This allows machines to be more effectively deallocated to save costs on Pay-as-You-Go instances. Also, the failure domains are smaller when scaling out.
			</td>
		</tr>
		<tr>
			<td>
				Desktop OS User Workloads
			</td>
			<td>
				Standard_F2_v2 has the lowest dual-core cost and performs well with Windows 10.
			</td>
		</tr>
	</tbody>
</table>

<p>
	The latest instance type study was done to provide great insight in this area and we highly recommend the <a href="https://www.citrix.com/content/dam/citrix/en_us/documents/reference-material/citrix-virtual-desktops-hosted-on-microsoft-azure.pdf" rel="external nofollow">read</a>. In all cases, customers evaluate the instance types with their workloads.
</p>

<p>
	For graphic-intensive workloads, consider the <a href="https://docs.microsoft.com/en-us/azure/virtual-machines/nvv4-series" rel="external nofollow">NVv4-series</a> virtual machines. They are powered by AMD EPYC 7002 processors and virtualized Radeon MI25 GPU. These virtual machines are optimized and designed for VDI and remote visualization. With partitioned GPUs, NVv4 offers the right size for workloads requiring smaller GPU resources at the most optimal price. Alternative the NVv3 series is optimized and designed for remote visualization, streaming, gaming, encoding, and VDI scenarios using frameworks such as OpenGL and DirectX. These VMs are backed by the NVIDIA Tesla M60 GPU. For further GPU options check the other <a href="https://docs.microsoft.com/en-us/azure/virtual-machines/sizes-gpu" rel="external nofollow">offerings</a> from Azure.
</p>

<p>
	While scaling up is usually a preferred model to reduce the cost, Autoscale can benefit from smaller instances (15â��20 sessions per host). Smaller instances host fewer user sessions than larger instances. Therefore, in the case of smaller instances, Autoscale puts machines into drain state much faster because it takes less time for the last user session to be logged off. As a result, Autoscale powers off smaller instances sooner, thereby reducing costs. You can read more about instance size considerations for Autoscale in the <a href="https://docs.citrix.com/en-us/citrix-virtual-apps-desktops-service/manage-deployment/autoscale.html#instance-size-considerations" rel="external nofollow">official documentation</a>.
</p>

<h3>
	Storage
</h3>

<p>
	Just like any other computer, a virtual machine in Azure use disks as a place to store an operating system, applications, and data. All Azure virtual machines have at least two disks â�� a Windows operating system disk and a temporary disk. The operating system disk is created from an image, and both the operating system disk and the image are stored within Azure as virtual hard disks (VHDs). Virtual machines may also have extra disks attached as data disks, also stored as VHDs.
</p>

<p>
	Azure Disks are designed to deliver enterprise-grade durability. Three performance tiers for storage exist that can be selected when creating disks: Premium SSD Disks, Standard SSD, and Standard HDD Storage, and the disks may be either managed or unmanaged. Managed disks are the default and are not subject to the storage account limitations like the unmanaged disks.
</p>

<p>
	Managed Disks are recommended over the Unmanaged Disks by Microsoft. Consider Unmanaged Disks by exception only. Standard Storage (HDD and SSD) includes transaction costs (storage I/O) that must be considered but have lower costs per disk. Premium Storage has no transaction costs but have higher per disk costs and offers an improved user experience.
</p>

<p>
	The disks offer no SLA unless an Availability Set is used. Availability Sets are not supported with Citrix MCS but should be included with Citrix Cloud Connector, ADC, and StoreFront.
</p>

<h2>
	Identity
</h2>

<p>
	The section focuses on Identity controls, workspace user planning, and the end-user experience. The primary design consideration is managing identities within both Azure and Citrix Cloud tenants.
</p>

<p>
	Microsoft Azure Active Directory (Azure AD) is an identity and access management cloud solution that provides directory services, identity governance, and application access management. A single Azure AD directory is automatically associated with an Azure subscription when it is created.
</p>

<p>
	Every Azure subscription has a trust relationship with an Azure AD directory to authenticate users, services, and devices. Multiple subscriptions can trust the same Azure AD directory, but a subscription will only trust a single Azure AD directory.
</p>

<p>
	Microsoft's identity solutions span on-premises and cloud-based capabilities, creating a single user identity for authentication and authorization to all resources, regardless of location. This concept is known as Hybrid Identity. There are different design and configuration options for hybrid identity using Microsoft solutions, and in some cases, it might be difficult to determine which combination will best meet the needs of an organization.
</p>

<h3>
	Common Identity Design Considerations
</h3>

<p>
	Usually extending the customers Active Directory Site to Azure uses the use of Active directory replication to provide identity and authentication with the Citrix Workspace. A common step is to use AD Connect to replicate user to Azure Active Directory which provides you with the subscription-based activation required for Windows 10.
</p>

<p>
	It is recommended to extend local Active Directory Domain Services to the Azure Virtual Network Subnet for full features and extensibility. Azure Role-Based Access Control (RBAC) helps provide fine-grained access management for Azure resources. Too many permissions can expose and account to attackers. Too few permissions mean that employees can't get their work done efficiently. Using RBAC, administrator can give employees the exact permissions they need.
</p>

<h3>
	Authentication
</h3>

<p>
	Domain Services (either AD DS or Azure AD DS) are required for core Citrix functionality. RBAC is an authorization system built on the Azure Resource Manager that provides fine-grained access management of resources in Azure. RBAC allows you to granularly control the level of access that users have. For example, you can limit a user to only manage virtual networks and another user to manage all resources in a resource group. Azure includes several built-in roles that you can use.
</p>

<p>
	Azure AD Authentication is supported for Citrix Workspace, Citrix DaaS, and Citrix ADC/StoreFront authentication. For full SSON with Azure AD, Citrix Federated Authentication Service (FAS) or Azure AD DS (for core Domain Services) must be used.
</p>

<p>
	Citrix FAS supports single sign-on (SSO) to DaaS in Citrix Workspace. Citrix FAS is typically adopted if you're using one of the following identity providers:
</p>

<ul>
	<li>
		Azure Active Directory
	</li>
	<li>
		Okta
	</li>
	<li>
		SAML 2.0
	</li>
	<li>
		Citrix Gateway
	</li>
</ul>

<p>
	Active Directory and Azure Active Directory Outcomes
</p>

<ul>
	<li>
		Azure Active Directory Provisioned Tenant
	</li>
	<li>
		List of desired Organizational roles for Azure RBAC with mapping to Built-In or Custom Azure Roles
	</li>
	<li>
		List of desired Admin access levels (Account, Subscription, Resource Group and so on)
	</li>
	<li>
		Procedure to grant access/role to new users for Azure
	</li>
	<li>
		Procedure to assign JIT (just in time) elevation for users for specific tasks
	</li>
</ul>

<p>
	Here is an example architecture of namespace layout and authentication flow.
</p>

<p>
	 
</p>

<p>
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="reference-architectures_virtual-apps-and-desktops-azure_005.png" data-fileid="3375" href="//media.invisioncic.com/m329563/monthly_2024_02/reference-architectures_virtual-apps-and-desktops-azure_005.png.f3fdb5ed9e990dcae67806e196034694.png" rel=""><img alt="reference-architectures_virtual-apps-and-desktops-azure_005.png" class="ipsImage ipsImage_thumbnailed" data-fileid="3375" style="height: auto;" width="1842" src="//media.invisioncic.com/m329563/monthly_2024_02/reference-architectures_virtual-apps-and-desktops-azure_005.png.f3fdb5ed9e990dcae67806e196034694.png" loading="lazy" height="1252.56"></a>
</p>

<p>
	 
</p>

<p>
	Diagram-5: Architecture of namespace layout and authentication flow
</p>

<h3>
	Citrix Cloud Administration + Azure AD
</h3>

<p>
	By default, Citrix Cloud uses the Citrix Identity provider to manage the identity information for all users who access the Citrix Cloud. Customers can change this to use Azure Active Directory (AD) instead. By using Azure AD with Citrix Cloud, Customers can:
</p>

<ul>
	<li>
		Use their own Active Directory, so they can control auditing, password policies, and easily disable accounts when needed.
	</li>
	<li>
		Configure multifactor authentication for a higher level of security against the possibility of stolen sign-in credentials.
	</li>
	<li>
		Use a branded sign-in page, so your users know they're signing in at the right place.
	</li>
	<li>
		Use federation to an identity provider of your choice including ADFS, Okta, and Ping, among others.
	</li>
</ul>

<p>
	Citrix Cloud includes an Azure AD app that allows Citrix Cloud to connect with Azure AD without the need for you to be logged in to an active Azure AD session. Citrix Cloud Administrator Login allows Azure AD identities to be used in the customers Citrix Cloud tenant.
</p>

<ul>
	<li>
		Determine if Citrix Cloud administrators use their Citrix Identity or Azure AD to access the Citrix Cloud the URL will follow the format <code><a href="https://citrix.cloud.com/go/%7BCustomer" ipsnoembed="false" rel="external nofollow">https://citrix.cloud.com/go/{Customer</a> Determined}</code>
	</li>
	<li>
		Identify the Authentication URL for Azure AD authentication into Citrix Cloud
	</li>
</ul>

<h2>
	Governance
</h2>

<p>
	Azure Governance is a collection of concepts and services that are designed to enable management of your various Azure resources at scale. These services provide the ability to organize and structure your subscriptions in a logical way, to create, deploy, and reusable Azure native packages of resources. This subject is focused on establishing the policies, processes, and procedures associated with the planning, architecture, acquisition, deployment, operation, and management of Azure resources.
</p>

<h3>
	Citrix Cloud Administrator Login
</h3>

<p>
	Determine if Citrix Cloud administrators use their Citrix Identity, Active Directory Identity, or Azure AD to access Citrix Cloud. Azure AD integration enables multifactor authentication into Citrix Cloud for administrators. Identify the Authentication URL for Azure AD authentication into Citrix Cloud. URL follows the format <code><a href="https://citrix.cloud.com/go/%7BCustomer" ipsnoembed="false" rel="external nofollow">https://citrix.cloud.com/go/{Customer</a> Determined}</code>.
</p>

<h3>
	RBAC permissions and delegation
</h3>

<p>
	Using Azure AD customers can implement their governance policies using Role-Based Access Control (RBAC) of Azure resources. One of the primary tools for the application of these permissions is the concept of a Resource Group. Think of a Resource Group as a bundle of Azure resources that share lifecycle and administrative ownership.
</p>

<p>
	In the context of a Citrix environment organize these in a way that will allow for proper delegation between teams and promote the concept of least privilege. A good example is when a Citrix Cloud deployment uses a Citrix ADC VPX provisioned from the Azure Marketplace for external access. Although a core piece of Citrix infrastructure, the Citrix ADCs might have a separate update cycle, set of admins, and so on This would call for separating the Citrix ADCs from the other Citrix components into separate Resource Groups so the Azure RBAC permissions can be applied through the administrative zones of tenant, subscription, and resources.
</p>

<h3>
	MCS Service Principal
</h3>

<p>
	To access resources that are secured by an Azure AD tenant, the entity that requires access must be represented by a security principal. This is true for both users (user principal) and applications (service principal). The security principal defines the access policy and permissions for the user/application in the Azure AD tenant. This enables core features such as authentication of the user/application during sign-in, and authorization during resource access.
</p>

<p>
	Determine the permissions allocated to the Service Principal used by the Citrix MCS service.
</p>

<p>
	Subscription scope service principals have Contributor rights to the applicable subscription used by the Citrix environment. Narrow Scope service principals have granular RBAC applied to the Resource Groups containing the network, Master Images, and VDAs. Narrow Scope Service Principals are recommended to limit the permissions only to the permissions required by the service. This adheres to the security concept of "least privilege".
</p>

<h3>
	Tagging
</h3>

<p>
	Customer applies tags to their Azure resources giving metadata to logically organize them into a taxonomy. Each tag consists of a name and a value pair. For example, they can apply the name "Environment" and the value "Production" to all the resources in production.
</p>

<p>
	The customer can retrieve all the resources in your subscription with that tag name and value. Tags enable them to retrieve related resources from different resource groups. This approach is helpful when admin need to organize resources for billing or management.
</p>

<p>
	There is a limit of 15 tags per Resource. Citrix MCS creates 2 tags per VM so a customer is limited to 13 tags for MCS machines. MCS non-persistent machines are deleted during reboot. This removes Azure VM-specific characteristics such as tags, boot diagnostics If tags are required, it is recommended to create an Azure Append policy and apply it to the applicable MCS Resource Groups.
</p>

<h3>
	Azure Policy
</h3>

<p>
	Azure policies can control aspects such as tagging, permitted SKUs, encryption, Azure region, and naming convention. There are default policies available and the capability to enforce custom policies. Azure policies can be applied at the subscription or Resource Group level. Multiple policies can be defined. Policies applied at the Resource Group level take precedence over Subscription Level policy.
</p>

<p>
	Control and standardize all aspects of Azure across the Citrix environment. Hard quota forces the policy and not permits exceptions. Soft quota audits for policy enforcement and notifying if the policy is not met. Refer to the Azure documentation for more detailed information to define the policies.
</p>

<p>
	 
</p>

<p>
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="reference-architectures_virtual-apps-and-desktops-azure_006.png" data-fileid="3377" href="//media.invisioncic.com/m329563/monthly_2024_02/reference-architectures_virtual-apps-and-desktops-azure_006.png.70ec342a7a4171bd042e719e56604dae.png" rel=""><img alt="reference-architectures_virtual-apps-and-desktops-azure_006.png" class="ipsImage ipsImage_thumbnailed" data-fileid="3377" style="height: auto;" width="1795" src="//media.invisioncic.com/m329563/monthly_2024_02/reference-architectures_virtual-apps-and-desktops-azure_006.png.70ec342a7a4171bd042e719e56604dae.png" loading="lazy" height="1184.7"></a>
</p>

<p>
	 
</p>

<p>
	Diagram-6: Azure Governance Access Policy and RBAC
</p>

<h2>
	Security
</h2>

<p>
	Security is integrated into every aspect of Azure. Azure offers unique security advantages derived from global security intelligence, sophisticated customer-facing controls, and a secure hardened infrastructure. This powerful combination helps protect applications and data, support compliance efforts, and provide cost-effective security for organizations of all sizes.
</p>

<h3>
	Securing storage accounts provisioning by Citrix Virtual Apps and Desktops service
</h3>

<p>
	As stated previously, MCS is the service (within Citrix Virtual Apps and Desktops) responsible for spinning up machines in the customer subscription. MCS uses uses an AAD identity â�� Application service principal for access to Azure resource groups to perform different actions.<br>
	For storage account type of resources, MCS requires the <code>listkeys</code> permission to acquire the key when needed for different actions (write/read/delete).<br>
	Per our current implementation, an MCS requirement for:
</p>

<ul>
	<li>
		Storage account network is access from the public internet.
	</li>
	<li>
		Storage account RBAC is <code>listkeys</code> permission
	</li>
</ul>

<p>
	For some organizations keeping the Storage account endpoint public is a concern. Here is an analysis of the assets created and stored when deploying VMs with managed disk (the default behavior).
</p>

<ul>
	<li>
		Table Storage: We maintain machine configuration and state data in table storage in the primary storage account (or a secondary one, if the primary one is being used for Premium disks) for the catalog. There is no sensitive information within the tables.
	</li>
	<li>
		Locks: For certain operations (allocating machines to storage accounts, replicating disks), we use a lock object to synchronize operations from multiple plug-in instances. Those files are empty blobs and include no sensitive data.
	</li>
</ul>

<p>
	For machine catalogs created before Oct 15 2020, MCS creates an additional storage account for identity disks:
</p>

<ul>
	<li>
		Disk Import: When importing disks (identity, instruction), we upload the disk as a page blob. We then create a managed disk from the page blob and delete the page blob. The transient data does include sensitive data for computer object names and password. This does not apply for all machine catalogs created post Oct 15 2020.
	</li>
</ul>

<p>
	Using a narrow Scope Service Principal applied to the specific resource groups is recommended to limit the permissions only to the permissions required by the service. This adheres to the security concept of "least privilege". Refer to <a href="https://support.citrix.com/article/CTX219243" rel="external nofollow">CTX219243</a> and <a href="https://support.citrix.com/article/CTX224110" rel="external nofollow">CTX224110</a> for more details.
</p>

<h3>
	IaaS - Azure Security Center Monitoring
</h3>

<p>
	Azure Security Center analyzes the security state of Azure resources. When the Security Center identifies potential security vulnerabilities, it creates recommendations that guide the customer through the process of configuring the needed controls. Recommendations apply to Azure resource types: virtual machines (VMs) and computers, applications, networking, SQL, and Identity and Access. There are a few best practices that you have to follow:
</p>

<ul>
	<li>
		Control VM access and Secure privileged access.
	</li>
	<li>
		Provisioning antimalware to help identify and remove malicious software.
	</li>
	<li>
		Integrate your antimalware solution with the Security Center to monitor the status of your protection.
	</li>
	<li>
		Keep your VMs current and ensure at deployment that the images you built include the most recent round of Windows and security updates.
	</li>
	<li>
		Periodically redeploy your VMs to force a fresh version of the OS.
	</li>
	<li>
		Configuring network security groups and rules to control traffic to virtual machines.
	</li>
	<li>
		Provisioning web application firewalls to help defend against attacks that target your web applications.
	</li>
	<li>
		Addressing OS configurations that do not match the recommended baselines.
	</li>
</ul>

<h2>
	Network Design
</h2>

<p>
	Network security can be defined as the process of protecting resources from unauthorized access or attack by applying controls to network traffic. The goal is to ensure that only legitimate traffic is allowed. Azure includes a robust networking infrastructure to support your application and service connectivity requirements. Network connectivity is possible between resources located in Azure, between on-premises and Azure hosted resources, and to and from the internet and Azure.
</p>

<h3>
	Virtual Network (VNet) Segmentation
</h3>

<p>
	Azure virtual networks are similar to a LAN on your on-premises network. The idea behind an Azure virtual network is that you create a single private IP address spaceâ��based network on which customers can place all their Azure virtual machines. The best practice is to segment the larger address space into subnets and create network access controls between subnets. Routing between subnets happens automatically, and you don't need to manually configure routing tables.
</p>

<p>
	Use a <strong>Network Security Group</strong> (NSG). NSGs are simple, stateful packet inspection devices that use the 5-tuple (the source IP, source port, destination IP, destination port, and layer 4 protocol) approach to create allow/deny rules for network traffic. Rules allow or deny traffic to and from a single IP address, to and from multiple IP addresses, or to and from entire subnets.
</p>

<p>
	Customers can create custom, or user-defined, routes called User-defined Routes (UDRs) in Azure to override Azure's default system routes, or to add extra routes to a subnet's route table. In Azure, admins can create a route table, then associate the route table to zero or more virtual network subnets. Each subnet can have zero or one route table associated to it.
</p>

<p>
	NSGs and UDRs are applied at the subnet-level within a Virtual Network. When designing a Citrix Virtual Network in Azure it is recommended to design the virtual network with this in mind, creating subnets for similar components, allowing for the granular application of NSGs and UDRs as needed. An example of this would be segmenting the Citrix infrastructure into its own subnet, with a corresponding subnet for each use case.
</p>

<p>
	Identify the ports and protocols required for Citrix and the supporting technologies. Review to verify these ports are allowed within the Network Security Groups used in the environment. Network Security Groups can limit inbound and outbound communications to a defined set of IP, Virtual Networks, Service Tags, or Application Security Groups.
</p>

<p>
	 
</p>

<p>
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="reference-architectures_virtual-apps-and-desktops-azure_007.png" data-fileid="3379" href="//media.invisioncic.com/m329563/monthly_2024_02/reference-architectures_virtual-apps-and-desktops-azure_007.png.0221b19440650c835b669f5fc6d5e6da.png" rel=""><img alt="reference-architectures_virtual-apps-and-desktops-azure_007.png" class="ipsImage ipsImage_thumbnailed" data-fileid="3379" style="height: auto;" width="1795" src="//media.invisioncic.com/m329563/monthly_2024_02/reference-architectures_virtual-apps-and-desktops-azure_007.png.0221b19440650c835b669f5fc6d5e6da.png" loading="lazy" height="1184.7"></a>
</p>

<p>
	 
</p>

<p>
	Diagram-7: Azure Security Center and Network Security using NSG and ASG
</p>

<h2>
	Connectivity
</h2>

<p>
	Connecting Azure virtual networks with customers local / cloud network is referred to as hybrid networking. This section explains the options for network connectivity and network service routing. Customers can connect their on-premises computers and networks to a virtual network using any combination of the following options:
</p>

<ul>
	<li>
		Point-to-site virtual private network (VPN): Established between a virtual network and a single computer in a customer network. Each computer that wants to establish connectivity with a virtual network must configure its connection. This connection type is great for just getting started with Azure, or for developers, because it requires little or no changes to the customer's existing network. The communication between your computer and a virtual network is sent through an encrypted tunnel over the internet.
	</li>
	<li>
		Site-to-site VPN: Established between an on-premises VPN device and an Azure VPN Gateway that is deployed in a virtual network. This connection type enables any on-premises resource that the customer authorizes to access a virtual network. The communication between an on-premises VPN device and an Azure VPN gateway is sent through an encrypted tunnel over the internet.
	</li>
	<li>
		Azure ExpressRoute: Established between the customer's network and Azure, through an ExpressRoute partner. This connection is private. Traffic does not go over the internet.
	</li>
</ul>

<p>
	The primary considerations for Azure to Customer connectivity are bandwidth, latency, security, and cost. Site to Site VPNs have lower bandwidth limits than Express Route and are dependent on the performance of the edge router used by the customer. SLAs are available on the VPN Gateway SKUs. Site to Site VPNs use IPSEC over the internet.
</p>

<p>
	Express Routes are dedicated private connections and not over the internet. This results in lower latency when using Express Route. Also Express Route can scale up to 10 Gbps. Express Route is configured using a certified partner. Consider the configuration time by these providers during project planning. Express Route costs have a Microsoft component and an Express Route provider component.
</p>

<p>
	Typically these connections are shared across multiple services (database replication, domain traffic, application traffic, and so on) In a hybrid cloud deployment there may be scenarios where internal users require their ICA traffic to go through this connection to get to their Citrix apps in Azure, therefore monitoring its bandwidth is critical.
</p>

<p>
	With ADC and traditional StoreFront optimal gateway routing may also be used to direct a user's connection to an ADC using an office's ISP rather than the Express Route or VPN to Azure.
</p>

<h3>
	User-Defined Routes (UDRs)
</h3>

<p>
	Typically customers use a UDR to route Azure traffic to a firewall appliance within Azure or a specific virtual network. For example, North/South traffic from a VDA to the internet. If large amounts of traffic are routed to third party firewall appliances within Azure this can create a resource bottleneck or availability risk if these appliances are not sized or configured appropriately. Use NSGs to supplement third-party firewalls as much as possible where appropriate. Consider Azure Network Watcher if traffic introspection is required.
</p>

<h3>
	Virtual network peering
</h3>

<p>
	Virtual network peering seamlessly connects two Azure virtual networks. Once peered, the virtual networks appear as one, for connectivity purposes. The traffic between virtual machines in the peered virtual networks is routed through the Microsoft backbone infrastructure like traffic is routed between virtual machines in the same virtual network, through private IP addresses only.
</p>

<p>
	Azure supports:
</p>

<ul>
	<li>
		VNet peering - connecting VNets within the same Azure region
	</li>
	<li>
		Global VNet peering - connecting VNets across Azure regions
	</li>
</ul>

<p>
	Consider using VNet peering to enable the communication between VMs between VNets for customers deploying workloads on multiple VNets.
</p>

<p>
	 
</p>

<p>
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="reference-architectures_virtual-apps-and-desktops-azure_008.png" data-fileid="3381" href="//media.invisioncic.com/m329563/monthly_2024_02/reference-architectures_virtual-apps-and-desktops-azure_008.png.6d00479e05f5f48dba2a9a0a715495db.png" rel=""><img alt="reference-architectures_virtual-apps-and-desktops-azure_008.png" class="ipsImage ipsImage_thumbnailed" data-fileid="3381" style="height: auto;" width="1795" src="//media.invisioncic.com/m329563/monthly_2024_02/reference-architectures_virtual-apps-and-desktops-azure_008.png.6d00479e05f5f48dba2a9a0a715495db.png" loading="lazy" height="1184.7"></a>
</p>

<p>
	 
</p>

<p>
	Diagram-8: Data center Connectivity and Routes
</p>

<h3>
	Citrix ADC
</h3>

<p>
	Citrix ADC on Microsoft Azure ensures that organizations have access to secure and optimized applications and assets deployed in the cloud and provides the flexibility to establish a networking foundation that adjusts to the changing needs of an environment. In the event of a data center failure, Citrix ADC automatically redirects user traffic to a secondary site, with no interruptions for users. Load balancing and global server load balancing across several data centers further ensures optimum server health, capacity, and utilization.
</p>

<p>
	Discuss with the customer and define the following use cases for each Resource Location:
</p>

<table style="width: 1000px;">
	<thead>
		<tr>
			<th>
				<strong>Access Method</strong>
			</th>
			<th>
				<strong>Considerations</strong>
			</th>
		</tr>
	</thead>
	<tbody>
		<tr>
			<td>
				Internal only
			</td>
			<td>
				A Citrix ADC is not required if only internal access is needed.
			</td>
		</tr>
		<tr>
			<td>
				External access via Citrix ADC Gateway Service.
			</td>
			<td>
				The Citrix Cloud ADC Gateway Service provides ICA Proxy (secure remote connectivity only).
			</td>
		</tr>
		<tr>
			<td>
				External access via Citrix ADC VPX deployed in Azure Resource Location
			</td>
			<td>
				A customer needs to consider a Citrix ADC VPX appliance in Azure if they require the following: 1. Multifactor authentication with full SSON 2. Endpoint scanning 3. Advanced authentication or pre-authentication policies 4. Citrix SmartAccess policies. Note: These requirements prompt the need for authentication to occur at the Citrix ADC rather than the Workspace Experience service. StoreFront is required if authentication is managed by a Citrix ADC Gateway virtual server.
			</td>
		</tr>
	</tbody>
</table>

<h3>
	Citrix ADC - Deployment Model
</h3>

<p>
	Active-Active deployments use standalone Citrix ADC nodes that can be scaled out using the Azure Load Balancer. Active-Passive pairs facilitate stateful failover of ICA traffic in the event of a node failure however they are limited to the capacity of a single VPX. Active-Passive nodes also require Azure Load Balancer.
</p>

<p>
	Multiple NICs are recommended to isolate the SNIP, NSIP, and VIP traffic to maximize the throughput available for Citrix ADC Gateway or other services.
</p>

<h2>
	Monitoring DaaS Solution in Azure
</h2>

<p>
	Monitoring your Citrix deployment provides you with several benefits: increased performance, higher availability, lower cost, enhanced security, and satisfied users. Both Microsoft and Citrix provide a set of core tools and services to assist with monitoring the environment. This paper contains an overview of the available tools along with recommendations for areas to monitor targeted for Citrix deployments in Azure.
</p>

<p>
	The Microsoft tools and services include the following: Azure Monitor, Azure Advisor, Azure Service Health, Microsoft Sentinel, Azure Network Watcher, and Azure Spend. The Citrix tools and services include the following: Citrix Monitor, Citrix Analytics, and Citrix Managed Services. Some of these services do incur extra charges, but most of them are included with your subscription.
</p>

<p>
	This document provides a list of the recommended tools and a section where we identify baseline values of key elements to monitor. We also recommend configurations for the values to help you successfully deploy Citrix in Azure.
</p>

<h3>
	Microsoft
</h3>

<p>
	This section covers the Microsoft Azure tools and services that can be used to monitor your Citrix Virtual Apps and Desktops service deployment in Azure.
</p>

<h4>
	Azure Monitor
</h4>

<p>
	For a Citrix deployment in Azure, Azure Monitor is the best place to start. Azure Monitor helps you improve both the performance and availability of your Citrix deployment. Azure Monitor collects and analyzes the telemetry received from both your on-premises and Azure environments. Using Azure Monitor allows for proactive responses to issues with resources before users need to open a ticket with your help desk. Azure Monitor consists of six different services that can be used with one another to manage your Citrix resources:
</p>

<ul>
	<li>
		<p>
			Metrics: A collection of numerical values that represent a particular aspect of an Azure resource at a point in time.
		</p>
	</li>
	<li>
		<p>
			Alerts: A collection of conditions being monitored and acting as triggers to initiate an associated action when the condition occurs.
		</p>
	</li>
	<li>
		<p>
			Logs: A collection of data written to logs and available for analysis through Azure Metrics.
		</p>
	</li>
	<li>
		<p>
			Dashboards: A customizable view of information available on monitored resources.
		</p>
	</li>
	<li>
		<p>
			Application Insights: A service that monitors your web applications and supports performance optimizations and troubleshooting.
		</p>
	</li>
</ul>

<h4>
	Metrics
</h4>

<p>
	Azure Metrics is the single most powerful tool available in Azure Monitor for tracking the health of your Citrix resources. The term “metrics” represents information about a particular aspect of a resource that is distilled to a numerical value. Metrics are tracked over time and reported on at a specific interval. For instance, the number of active sessions on a Citrix VDA host is collected every 30 seconds and displayed in a real-time chart.
</p>

<p>
	Azure Metrics allows for the tracking and alerting of metrics for each of your Citrix resources. Azure Metrics provides metrics for the Citrix virtual machines (VMs) and the underlying virtual machine host. Azure Metrics also has the ability to add diagnostic extensions to gather metrics from the guest operating system. Metrics are provided in near real-time and can be viewed through the Metrics Explorer charts. Metrics Explorer charts can compare metrics from different resources and saved to Dashboards for monitoring the environment.
</p>

<p>
	To monitor Citrix virtual machine resources in Azure, be sure to enable the Guest OS Metrics through the Diagnostic Settings for the virtual machine. This setting automatically does the following:
</p>

<ul>
	<li>
		<p>
			Enables performance counters for CPU, Memory, Disk, and Network at one-minute intervals.
		</p>
	</li>
	<li>
		<p>
			Enables event log entry collection (Warning level and above).
		</p>
	</li>
	<li>
		<p>
			Provides the option to collect Custom performance counters and event logs.
		</p>
	</li>
</ul>

<p>
	Guest OS metrics are retained for 93 days when sent to Azure Monitor Metrics.
</p>

<p>
	The following extra settings are recommended for Citrix deployments in Azure:
</p>

<ul>
	<li>
		<p>
			Enable the <strong>Sinks &gt; Azure Monitor &gt; Send diagnostic data to Azure Monitor</strong> setting. This setting allows the use of Custom counters to collect multi-dimensional metrics and enables alerting on the Guest OS metrics.
		</p>
	</li>
	<li>
		<p>
			Enable Crash dump settings when troubleshooting an issue with Citrix or Microsoft Support. This setting places the dump files directly in a storage container where you can easily retrieve them.
		</p>
	</li>
</ul>

<p>
	Collecting metrics is a powerful way to track the health and performance of your Citrix resources. Azure Metrics can track and alert on any metric that is available as a Windows performance monitor counter. Metrics are the basis for orchestration which uses rules to automate actions within Azure.
</p>

<h4>
	Alerts
</h4>

<p>
	The primary purpose for monitoring your Citrix infrastructure in Azure is to can proactively respond to issues before the users are adversely affected. Alerts notify you or take automated action on a condition that needs to be handled quickly. Although not all disruptions provide warning signs, the diligent use of alerts can prevent most common scenarios.
</p>

<p>
	Conditions for an alert can be based on a set of predefined signals that Azure provides or upon Guest OS metrics. These signals include metric values (the most common), log search results, Azure Activity log events, or even the health of the Azure platform. You need to set the alerts at a level that provides advanced notice of a potential issue while minimizing the frequency alerts that require action. An alert rule is a condition that must be met for the alert to fire off when enabled. The alert rule can then run a set of actions defined in an Action Group. The available actions include the following:
</p>

<ul>
	<li>
		Notifications by email, SMS, Push, or Voice
	</li>
	<li>
		Triggering of an Automation Runbook, Azure Function, Logic App, Event Hub, or Webhook
	</li>
	<li>
		Creation of an ITSM Ticket
	</li>
</ul>

<p>
	Alerts can be scoped to a particular resource group, region, or resource type. When configuring alerts for multiple targets, only a single condition can be specified and the targets must all support that condition. For metrics-based conditions, the alert rule definition includes the severity level along with the ability to resolve the alert automatically. Once fired, alerts need to be acknowledged when automated responses are not employed to handle the alert condition. Alerts do entail a monthly cost and Azure displays the estimated cost for acceptance when the alert rule is created.
</p>

<h4>
	Logs
</h4>

<p>
	Sometimes, metrics are not available for a particular event that you want to monitor for within your Citrix deployment. When metrics are not available, logs can be monitored for entries that indicate the event has occurred. Azure Monitor Logs can accept logs from Azure Services, virtual machine agents, or from applications using Application Insights. A Log Analytics workspace is required where the log data can be stored for analysis. These logs can then be aggregated and queried for key entries that indicate conditions which need to be managed. The query results can be viewed through either a dashboard or a workbook.
</p>

<p>
	Azure Monitor Metrics is limited to numerical data only. Azure Monitor Logs can store and analyze different data types, which provide an advantage in some situations. The log analysis requires the use of a query which must be created and maintained. The queries are written in the Kusto Query Language (KQL), which is the same language used by Azure Data Explorer.
</p>

<h4>
	Dashboards
</h4>

<p>
	Dashboards represent a visual way to monitor your Citrix environment daily. Dashboards consist of tiles that come from any number of gallery selections. The possible tiles include metrics charts, security charts, user information, automation, or a direct link to any resource or resource group. Custom dashboards can be created that focus on a particular role or set of resources. Each dashboard can be shared or private and each portal user can have up to 100 private dashboards and an unlimited number of shared dashboards.
</p>

<h4>
	Application Insights
</h4>

<p>
	If you have web applications that are hosted in Azure and delivered via Citrix, use Application Insights to monitor your applications that are coded on popular web platforms. Application Insights can integrate with your DevOps process using a software development kit (SDK) or the Application Insights Agent. Application Insights then combines the telemetry provided with performance counters and other diagnostic information. These insights can help with diagnosing issues and provide a deeper understanding of how users interact with your application.
</p>

<p>
	Application Insights delivers the information collected to Azure Monitor. You can use Microsoft PowerBi or similar tools to analyze the raw data stored in Azure Monitor. Some of the areas that can be monitored with Insights include the following:
</p>

<ul>
	<li>
		<p>
			What pages are most popular and what time of day they load.
		</p>
	</li>
	<li>
		<p>
			What pages are failing to load to help you diagnose resource issues.
		</p>
	</li>
	<li>
		<p>
			Load performance for your web application from the perspective of the user’s browser.
		</p>
	</li>
	<li>
		<p>
			Any exceptions that occur, whether caused by the server or browser code.
		</p>
	</li>
	<li>
		<p>
			Any custom events or metrics that you choose to instrument with the Insights SDK.
		</p>
	</li>
</ul>

<p>
	The Application Insights console lets you manage the performance of your web applications on Citrix to provide a better end-user experience.
</p>

<h3>
	Azure Advisor
</h3>

<p>
	Azure Advisor is a service that analyzes your resource configurations in the background and makes recommendations to help improve your Azure Deployment. These recommendations are grouped into five categories: Cost, Security, Reliability, Operational Excellence, and Performance. The Security category comes from the Microsoft Defender for Cloud. For each category, the Advisor lists the resources affected and provides guidance on how to improve the resource configuration. You can filter the recommendations by resource type and subscription.
</p>

<p>
	Azure Advisor supports the configuration of Alerts to monitor for situations where your Azure environment falls outside the best practices recommendations. See the [Azure Advisor Alerts](#Azure Advisor Alerts) section later in this document for recommendations.
</p>

<h3>
	Microsoft Defender for Cloud
</h3>

<p>
	Defender for Cloud is a service that combines functionality previously found in Azure Security Center and Azure Defender. This service continuously assesses your Azure resources and provides and overall score that indicates the security posture of your deployments. Azure Advisor’s Security recommendations are directly from Defender for Cloud. Defender for Cloud also provides direct guidance on how to resolve any issues the service identifies. The recommendations come from the Azure Security Benchmark, an Azure-specific set of guidelines authored by Microsoft.
</p>

<p>
	Defender for Cloud with enhanced security features can be deployed in a hybrid configuration to support on-premises deployments along with other cloud providers.
</p>

<p>
	For Citrix deployments, enabling Defender for Cloud provides the following features that secure your Citrix resources:
</p>

<ul>
	<li>
		<p>
			Risk assessment for resources being accessed from the internet, such as source IP address and frequency.
		</p>
	</li>
	<li>
		<p>
			Just-in-time (JIT) VM access that limits when ports are open for initial inbound connections. Microsoft recommends JIT for all jump box or bastion host connections.
		</p>
	</li>
	<li>
		<p>
			Adaptive network hardening (ANH) which further hardens the Network Security Group (NSG) rules. ANH uses machine learning algorithms, trusted configurations, threat intelligence, and other factors to provide recommendations.
		</p>
	</li>
	<li>
		<p>
			Fileless attack detection which periodically scans a running machine’s memory to look for malicious payloads running in memory to avoid disk-based detection software.
		</p>
	</li>
	<li>
		<p>
			Integration with Microsoft Sentinel.
		</p>
	</li>
</ul>

<h3>
	Microsoft Sentinel
</h3>

<p>
	Microsoft Sentinel is a both a Security Information and Event Management (SIEM) and Security Orchestration, Automation, and Response (SOAR) system. Sentinel was designed and built as a cloud-native service. Using sophisticated artificial intelligence, Sentinel continuously monitors all content sources and hunts for suspicious activity.<br>
	Sentinel provides a central location for collecting and monitoring data at scale through agents and data connectors. Security incidents are tracked through triggered alerts and automated responses to common tasks. Sentinel can operate across multiple clouds and with your on-premises infrastructure, making it ideal for hybrid Citrix environments.
</p>

<p>
	The Content hub provides a simple interface to enable out-of-the-box pre-packaged solutions for Sentinel. These packages contain Analytics Rules, Hunting Queries, Playbooks, Data Connectors, and Workbooks that are specific to their topics. The following Content hubs are recommended for your Citrix deployment in Azure:
</p>

<ul>
	<li>
		<p>
			<strong>Azure Firewall</strong> to help increase the security of the networking communication.
		</p>
	</li>
	<li>
		<p>
			<strong>Cybersecurity Maturity Model Certification CMMC</strong> to meet CyberSecurity compliance guidelines within your environment.
		</p>
	</li>
	<li>
		<p>
			<strong>Microsoft Sentinel Deception</strong> to protect against all threats.
		</p>
	</li>
	<li>
		<p>
			<strong>Microsoft Insider Risk Management</strong> to help protect against insider threats.
		</p>
	</li>
	<li>
		<p>
			<strong>Threat Analysis Response</strong> to manage and correlate threat activity.
		</p>
	</li>
</ul>

<p>
	Data Connectors provide a way to interface Sentinel with other Azure services and third-party systems. The connectors provide the data that is analyzed by Sentinel for potential threats. The following Data Connectors are recommended for your Citrix deployment in Azure:
</p>

<ul>
	<li>
		<p>
			<strong>Azure Active Directory</strong> for information about user identities, sign-ins, provisioning, and so on
		</p>
	</li>
	<li>
		<p>
			<strong>Azure Active Directory Identity Protection</strong> for security alerts with identities.
		</p>
	</li>
	<li>
		<p>
			<strong>Azure Activity</strong> for any Azure resource activity.
		</p>
	</li>
	<li>
		<p>
			<strong>Azure DDoS Protection</strong> for information on Distributed Denial of Service attacks through flow logs and DDoS notifications.
		</p>
	</li>
	<li>
		<p>
			<strong>Azure Firewall</strong> for information on firewall activity, network rules and DNS proxies.
		</p>
	</li>
	<li>
		<p>
			<strong>Azure Key Vault</strong> for information on Azure Key Vault activity.
		</p>
	</li>
	<li>
		<p>
			<strong>Azure Storage Account</strong> for information on Azure storage account activity for blogs, queues, tables, files, and resource access.
		</p>
	</li>
	<li>
		<p>
			<strong>Citrix Analytics</strong> for information gathered by Citrix Analytics (see the Citrix Analytics section).
		</p>
	</li>
	<li>
		<p>
			<strong>Citrix Web App Firewall</strong> for Citrix firewall activity.
		</p>
	</li>
	<li>
		<p>
			<strong>Microsoft Defender for Cloud</strong> for security alerts originating from Defender.
		</p>
	</li>
	<li>
		<p>
			<strong>Microsoft Office 365</strong> for any Office activity, assuming your Office 365 tenant is the same tenant as used for your Citrix deployment.
		</p>
	</li>
	<li>
		<p>
			<strong>Threat Intelligence – TAXII</strong> for identifying and remediating potential threats.
		</p>
	</li>
	<li>
		<p>
			<strong>Windows Firewall</strong> for events generated by Windows Firewall service running on Citrix servers.
		</p>
	</li>
	<li>
		<p>
			<strong>Windows Security Events via Azure Monitor Agent (AMA)</strong> for events from the Windows Security event log-on Citrix servers.
		</p>
	</li>
</ul>

<p>
	Microsoft Sentinel supports data connectors from a wide variety of vendors. These vendors included security, networking, and application vendors. Consider reviewing the available data connectors at least annually to keep Sentinel effective as possible.
</p>

<h3>
	Azure Service Health
</h3>

<p>
	Azure Service Health provides an easy way to monitor the Azure infrastructure that is hosting your Citrix deployment. Service Health lets you monitor service issues, view upcoming planned maintenance, and track Health and Security advisories. You can filter the active issues and planned maintenance by subscription, region, and service. Any issues with widespread impact are displayed under the <strong>Service Issues blade</strong>.
</p>

<p>
	With health alerts, you can monitor the health of your own Azure resources. Use health alerts to configure automated notification of service outages or planned maintenance that affect your resources. See the <a href="#azure-service-health-alerts" rel="">Azure Service Health alerts</a> section later in this document for recommendations.
</p>

<p>
	If you have other services that you use frequently, we recommend subscribing to those services as well. If you set up your alerts correctly, you receive notification of any outages when they happen and planned maintenance does not catch you off guard.
</p>

<h3>
	Azure Network Watcher Traffic Analytics
</h3>

<p>
	While Citrix is built to be secure by design, users are still a weak link and login credentials can be compromised. When running Citrix in Azure, one of the best ways to secure access to your applications and data is by monitoring the network traffic. Traffic Analytics is designed to provide you relevant information by analyzing the network traffic flows. By combining raw flow logs with a knowledge of the network topology, Traffic Analytics can provide a comprehensive view of the network communication. The reports include the most active hosts or host pairs, top protocols in use, blocked traffic, open ports, rogue networks, and traffic distribution.
</p>

<p>
	To use Traffic Analytics, your Citrix resources need to be in a region that supports both Network Security Groups (NSGs) and Log Analytics Workspaces. You also need to enable Network Watcher in the same region. For each network security group that includes Citrix resources, create an NSG flow log and enable both Flow Logs Version 2 and Traffic Analytics when creating it. For regulatory compliance, be sure that your Log Analytics Workspace is in the same country as where the NSG flow logs are generated.
</p>

<blockquote class="ipsQuote">
	<div class="ipsQuote_citation">
		Quote
	</div>

	<div class="ipsQuote_contents ipsClearfix" data-gramm="false">
		<p>
			NOTE: At a minimum, create NSG flow logs for your Citrix Cloud Connectors, Delivery Controllers, ADC appliances, and StoreFront servers.
		</p>
	</div>
</blockquote>

<p>
	Use Traffic Analytics to identify malicious traffic, host spots and busy hosts. Always remember that clients are going to a specific set of hosts, so sometimes normal traffic may appear in the “Frequent conversation” list. The geo-map can be used to visualize the communication sources and quickly identify unexpected and possibly malicious traffic sources. Reviewing the traffic flow patterns, open ports, and blocked traffic can provide you insights into potential threats or unprotected attack vectors.
</p>

<h3>
	Azure Cost Management
</h3>

<p>
	Azure Cost Management and Billing allows you to configure alerts to warn you when your cost limits have been reached. Spend alerts are the best way to manage your Citrix resources. For large enterprises, enabling budget, credit, and quota alerts help you identify any potential misconfiguration or misuse of Azure resources.
</p>

<ul>
	<li>
		<p>
			<strong>Budget Alerts</strong>: An alert is sent when either the usage or dollar amount reaches a predefined limit based on a previously established budget.
		</p>
	</li>
	<li>
		<p>
			<strong>Credit Alerts</strong>: The system generates credit alerts automatically when 90% and 100% of your prepayment (monetary commitment) is achieved.
		</p>
	</li>
	<li>
		<p>
			<strong>Department Spending Quota Alerts</strong>: Quota alerts are configured only through the Enterprise Agreement (EA) portal. When triggered, the portal sends an email to department owners when their spend reaches a defined percentage.
		</p>
	</li>
</ul>

<p>
	Creating a monthly budget with spend alerts provides you advance notice when resources are unexpectedly provisioned. Common reasons for unexpected spend include automation errors, autoscaling misconfiguration, or even malicious intent by trusted insiders. The sooner you are alerted to the additional cost the sooner you can resolve the issue.
</p>

<h3>
	Baseline Metrics and Alerts for Azure
</h3>

<p>
	The key to a good monitoring environment is knowing what is important to monitor and which items require immediate attention. You don’t want to monitor every available metric because you end up storing information that is not useful. Information collection and storage have costs associated with it, so use it wisely. Here we provide a baseline of Metrics/Counters to monitor and suggest alerts that can give you a starting point to monitor your Citrix environment. You can build on this baseline and include other performance counters or events that you feel are helpful for your environment.
</p>

<h4>
	Metrics and Alert Thresholds
</h4>

<p>
	For a Citrix deployment, we are going to focus primarily on the Guest OS metrics of Citrix virtual machines. Poor server performance metrics typically indicate that the users are about to experience unpleasant issues, if they are not already. For instance, when the Max Input Delay for a user’s session reaches a predefined delay we know that users are experiencing latency. You can configure the Action group to send an email to the Citrix administrators alerting them to the server's issues. By setting the notification alert to fire off when the Max Input Delay approaches a value known to be unacceptable, admins can intervene proactively.
</p>

<p>
	We have provided the performance counters to monitor along with suggested thresholds for alerting on those counters when used in a Citrix deployment. The suggested alert thresholds are likely to provide advanced notice of user dissatisfaction. Adjust the values and time periods to meet your business needs:
</p>

<h4>
	All Citrix Servers
</h4>

<p>
	Here is the list of perfmon counters to monitor for all Citrix servers in the deployment:
</p>

<ul>
	<li>
		<p>
			Processor\%Processor time
		</p>

		<ul>
			<li>
				<p>
					This counter is the amount of time a processor is not idle.
				</p>
			</li>
			<li>
				<p>
					Alert when the average is greater than 80% for a sustained 15 minutes.
				</p>
			</li>
			<li>
				<p>
					Determine the processes that are consuming the most CPU and identify the cause of the high CPU usage using Task Manager or Citrix Monitor.
				</p>
			</li>
			<li>
				<p>
					If all processes are consuming an expected level of CPU time, then it is time to increase capacity for the server or the Delivery Group.
				</p>
			</li>
		</ul>
	</li>
	<li>
		<p>
			System\Processor queue length
		</p>

		<ul>
			<li>
				<p>
					This counter is the number of threads in a processor queue waiting to be processed.
				</p>
			</li>
			<li>
				<p>
					Alert when greater than 5* [number of cores] over a 5-minute interval.
				</p>
			</li>
			<li>
				<p>
					Determine which processes are consuming the most CPU and identify the cause of the CPU usage using Task Manager or Citrix Monitor.
				</p>
			</li>
			<li>
				<p>
					If all processes are consuming an expected level of CPU time, then it is time to increase capacity for the server or the Delivery Group.
				</p>
			</li>
		</ul>
	</li>
	<li>
		<p>
			Memory\Available Bytes
		</p>

		<ul>
			<li>
				<p>
					This counter is the amount of memory not allocated to processes or cache.
				</p>
			</li>
			<li>
				<p>
					Alert when the available amount of RAM is under 20% of the total RAM over a 5-minute interval.
				</p>
			</li>
			<li>
				<p>
					Determine which processes are consuming the memory using Task Manager or Citrix Monitor. Identify any configuration changes that can reduce that level of RAM consumption. Use this metric with the Memory Pages/sec and Paging File %usage counters.
				</p>
			</li>
			<li>
				<p>
					If all processes are consuming the expected amount of memory, then it is time to increase capacity for the server or the Delivery Group.
				</p>
			</li>
		</ul>
	</li>
	<li>
		<p>
			Memory\Pages/sec
		</p>

		<ul>
			<li>
				<p>
					This counter is the number of pages per second that are swapped from disk to running memory.
				</p>
			</li>
			<li>
				<p>
					Alert when the pages per second are consistently over 10.
				</p>
			</li>
			<li>
				<p>
					Look for applications that are causing the page swaps using Task Manager. Investigate possible alternative configurations. Use this metric with the Memory Available Bytes and Paging Files\%usage counters.
				</p>
			</li>
			<li>
				<p>
					If possible, increase the amount of RAM available to the host. If that is not an option, attempt to isolate the application to a set of dedicated servers.
				</p>
			</li>
		</ul>
	</li>
	<li>
		<p>
			Paging File\%usage
		</p>

		<ul>
			<li>
				<p>
					This counter is the percentage of the current page file that is in use.
				</p>
			</li>
			<li>
				<p>
					Alert when the page file usage is greater than 80% for 60 minutes.
				</p>
			</li>
			<li>
				<p>
					Look for applications that are causing the page file usage using Task Manager. Investigate possible alternative configurations. Use this metric with the Memory Available Bytes and Memory Pages/sec counters.
				</p>
			</li>
			<li>
				<p>
					If possible, increase the amount of RAM available to the host.
				</p>
			</li>
		</ul>
	</li>
	<li>
		<p>
			LogicalDisk\%Disk Time (_total)
		</p>

		<ul>
			<li>
				<p>
					This counter represents the amount of time the Logical disk is not idle.
				</p>
			</li>
			<li>
				<p>
					Alert when the % disk time is greater than 90% for 15 minutes.
				</p>
			</li>
			<li>
				<p>
					Look for applications that are causing the high disk usage using Task Manager or Citrix Monitor. Investigate what might be causing the high disk utilization. Use this metric with other logical and physical disk metrics.
				</p>
			</li>
			<li>
				<p>
					If all activity looks normal, look for a way to move the applications to disks with higher performing disk subsystems.
				</p>
			</li>
		</ul>
	</li>
	<li>
		<p>
			LogicalDisk\Current disk queue length
		</p>

		<ul>
			<li>
				<p>
					This counter represents the number transactions waiting for the logical disk to process them.
				</p>
			</li>
			<li>
				<p>
					Alert when the current disk queue is greater than 3 for 15 minutes.
				</p>
			</li>
			<li>
				<p>
					Look for applications that are causing the high disk usage using Task Manager or Citrix Monitor. Investigate what might be causing the high disk utilization. Use this metric with other logical and physical disk metrics.
				</p>
			</li>
			<li>
				<p>
					If all activity looks normal, look for a way to move the applications to disks with higher performing disk subsystems.
				</p>
			</li>
		</ul>
	</li>
	<li>
		<p>
			PhysicalDisk\%Disk Time (_total)
		</p>

		<ul>
			<li>
				<p>
					This counter represents the amount of time the Physical disk is not idle.
				</p>
			</li>
			<li>
				<p>
					Alert when the % disk time is greater than 90% for 15 minutes.
				</p>
			</li>
			<li>
				<p>
					Look for applications that are causing the high disk usage using Task Manager or Citrix Monitor. Investigate what might be causing the high disk utilization. Use this metric with other logical and physical disk metrics.
				</p>
			</li>
			<li>
				<p>
					If all activity looks normal, look for a way to move the applications to disks with higher performing disk subsystems.
				</p>
			</li>
		</ul>
	</li>
	<li>
		<p>
			PhysicalDisk\Current disk queue length
		</p>

		<ul>
			<li>
				<p>
					This counter represents the number transactions waiting for the physical disk to process them.
				</p>
			</li>
			<li>
				<p>
					Alert when the current disk queue is greater than 3 for 15 minutes.
				</p>
			</li>
			<li>
				<p>
					Look for applications that are causing the high disk usage using Task Manager or Citrix Monitor. Investigate what might be causing the high disk utilization. Use this metric with other logical and physical disk metrics.
				</p>
			</li>
			<li>
				<p>
					If all activity looks normal, look for a way to move the applications to disks with higher performing disk subsystems.
				</p>
			</li>
		</ul>
	</li>
	<li>
		<p>
			Network Interface\Bytes Total/sec
		</p>

		<ul>
			<li>
				<p>
					This counter shows the rate at which the network adaptor is processing data packets for the network.
				</p>
			</li>
			<li>
				<p>
					Alert when Bytes Total per second are greater than 80% of the NIC’s speed for 5 minutes.
				</p>
			</li>
			<li>
				<p>
					Look for applications that are causing the high network usage using Task Manager to investigate what might be causing the high disk utilization. Use this metric with other logical and physical disk metrics.
				</p>
			</li>
			<li>
				<p>
					If all activity looks normal, look for a way to increase the network bandwidth or increase capacity to the Delivery Group.
				</p>
			</li>
		</ul>
	</li>
	<li>
		<p>
			User Input Delay per Session\Max Input Delay
		</p>

		<ul>
			<li>
				<p>
					This metric provides the maximum input delay for the session in milliseconds. The metric measures the time between when the user provides mouse or keyboard input and their input is processed by the system.
				</p>
			</li>
			<li>
				<p>
					Alert when a session’s input delay is greater than 1000 ms for 2 minutes.
				</p>
			</li>
			<li>
				<p>
					Look for applications that are causing high CPU, disk, or network using using the Task Manager or Citrix Monitor.
				</p>
			</li>
			<li>
				<p>
					If activity looks normal, the best approach is to increase capacity to the Delivery Group.
				</p>
			</li>
		</ul>
	</li>
</ul>

<h4>
	Cloud Connectors
</h4>

<p>
	In addition to the counters for all Citrix Servers, enable the following custom performance counters for your Citrix Cloud Connectors. These counters monitor for key failures in the Cloud Connectors:
</p>

<ul>
	<li>
		<p>
			Citrix High Availability Service\Database Transaction Errors/sec
		</p>

		<ul>
			<li>
				<p>
					This metric represents the number of database transaction failures per second.
				</p>
			</li>
			<li>
				<p>
					Ideally, this number is 0.
				</p>
			</li>
			<li>
				<p>
					Alert when the counter is greater than 0.
				</p>
			</li>
		</ul>
	</li>
	<li>
		<p>
			Citrix High Availability Service\Failed Leased Enumerations
		</p>

		<ul>
			<li>
				<p>
					This metric represents the number of failed enumerations for clients.
				</p>
			</li>
			<li>
				<p>
					Ideally, this number is 0.
				</p>
			</li>
			<li>
				<p>
					Alert when the counter is greater than 0.
				</p>
			</li>
		</ul>
	</li>
	<li>
		<p>
			Citrix High Availability Service\Failed Leased Launches
		</p>

		<ul>
			<li>
				<p>
					This metric represents the number of failed launches for clients.
				</p>
			</li>
			<li>
				<p>
					Ideally, this number is 0.
				</p>
			</li>
			<li>
				<p>
					Alert when the counter is greater than 0.
				</p>
			</li>
		</ul>
	</li>
	<li>
		<p>
			Citrix High Availability Service\Registration Rejects/sec
		</p>

		<ul>
			<li>
				<p>
					This metric represents the number of registrations rejected per second.
				</p>
			</li>
			<li>
				<p>
					Ideally, this number is 0.
				</p>
			</li>
			<li>
				<p>
					Alert when the counter is greater than 0.
				</p>
			</li>
		</ul>
	</li>
</ul>

<h4>
	Citrix Virtual Delivery Agent Virtual Machines
</h4>

<p>
	In addition to the counters for all Citrix Servers, enable the following custom performance counters for your Citrix Virtual Delivery Agent hosts. These counters monitor for key failures:
</p>

<ul>
	<li>
		<p>
			ICA Session\Latency - Session Average
		</p>

		<ul>
			<li>
				<p>
					This metric provides the average ICA latency for a user session in milliseconds.
				</p>
			</li>
			<li>
				<p>
					Use this metric to monitor the user experience, the value should be under 150 ms for a good user experience and anything over 300 ms is considered degraded.
				</p>
			</li>
			<li>
				<p>
					If you are seeing high latency values, look into enabling Adaptive Transport to help mitigate the effects of the latency.
				</p>
			</li>
		</ul>
	</li>
	<li>
		<p>
			User Input Delay per Session\Max Input Delay
		</p>

		<ul>
			<li>
				<p>
					This metric provides the maximum input delay for the session (in milliseconds). The metric measures the time between when the user provides mouse or keyboard input and their input is processed by the system.
				</p>
			</li>
			<li>
				<p>
					Use this metric to monitor the user experience, the value should be under 500 ms, with under 150 ms being considered good and anything over 1000 ms considered unacceptable.
				</p>
			</li>
		</ul>
	</li>
	<li>
		<p>
			Terminal Services\Active Sessions
		</p>

		<ul>
			<li>
				<p>
					This metric provides the number of active sessions on the Citrix VDA host.
				</p>
			</li>
			<li>
				<p>
					Monitor this metric for multi-session hosts.
				</p>
			</li>
			<li>
				<p>
					Use this metric to correlate with other metrics by showing active user counts on the graph.
				</p>
			</li>
		</ul>
	</li>
	<li>
		<p>
			CitrixPrinting\Total Jobs Failed
		</p>

		<ul>
			<li>
				<p>
					This metric represents the total number of print jobs that failed on the Citrix VDA host and should be low.
				</p>
			</li>
			<li>
				<p>
					Monitor this metric to see the number of print jobs that are failing on the Citrix hosts.
				</p>
			</li>
			<li>
				<p>
					Excessive failed print jobs can point to issues with the Printer Drivers installed on the Citrix host.
				</p>
			</li>
		</ul>
	</li>
</ul>

<p>
	Enable the following custom performance counters for your Citrix Virtual Delivery Agent VMs that are running Citrix Profile Management:
</p>

<ul>
	<li>
		<p>
			CitrixProfileManagement\Logon Duration
		</p>

		<ul>
			<li>
				<p>
					This metric represents the total time in seconds for the user logon event to complete.
				</p>
			</li>
			<li>
				<p>
					Monitor this metric to understand the user logon experience. This metric includes the time takes to load the user profile down to the user’s session.
				</p>
			</li>
		</ul>
	</li>
	<li>
		<p>
			CitrixProfileManagement\Logoff Duration
		</p>

		<ul>
			<li>
				<p>
					This metric represents the total time in seconds for the user logoff event to complete.
				</p>
			</li>
			<li>
				<p>
					Monitor this counter to track how long the user logoff event is taking. This metric includes the time it takes for the users data to be written back to the profile location.
				</p>
			</li>
		</ul>
	</li>
	<li>
		<p>
			CitrixProfileManagement\Processed Logoff Files-Above 5MB
		</p>

		<ul>
			<li>
				<p>
					This metric represents the number of files greater than 5MB that are uploaded to the user profile store during logoff.
				</p>
			</li>
			<li>
				<p>
					Monitor this metric to determine if enabling Large File Handling or folder redirection can improve the user logon experience.
				</p>
			</li>
		</ul>
	</li>
	<li>
		<p>
			CitrixProfileManagement\Processed Logon Files-Above 5MB
		</p>

		<ul>
			<li>
				<p>
					This metric represents the number of files greater than 5MB that are copied down from the user profile storage during logon.
				</p>
			</li>
			<li>
				<p>
					Monitor this metric to determine if you must enable profile streaming or Large File Handling to reduce logon times.
				</p>
			</li>
		</ul>
	</li>
</ul>

<p>
	Enable Application Log collection on your Citrix Virtual Delivery Agent VMs. Set the following configurations as a baseline:
</p>

<ul>
	<li>
		<p>
			Alert on any RDP Licensing Errors.
		</p>
	</li>
	<li>
		<p>
			Alert on these Security Warnings.
		</p>

		<ul>
			<li>
				<p>
					Event ID 4625: An account failed to log on.
				</p>
			</li>
			<li>
				<p>
					Event ID 4771: Kerberos pre-authentication failed.
				</p>
			</li>
		</ul>
	</li>
	<li>
		<p>
			Alert on these Citrix Warning or Error messages.
		</p>

		<ul>
			<li>
				<p>
					Event ID 1001: The Citrix Desktop Service failed to obtain a list of delivery controllers with which to register.
				</p>
			</li>
			<li>
				<p>
					Event ID 1017: The Citrix Desktop Service failed to register with any delivery controller.
				</p>
			</li>
			<li>
				<p>
					Event ID 1022: The Citrix Desktop Service failed to register with any controllers in the last 5 minutes.
				</p>
			</li>
			<li>
				<p>
					Event ID 6013: System uptime, use to find Citrix servers that are not getting rebooted after patching.
				</p>
			</li>
		</ul>
	</li>
</ul>

<h4>
	Citrix StoreFront Servers
</h4>

<p>
	In addition to the counters for all Citrix Servers, enable the following custom performance counters for your Citrix StoreFront servers. The counters monitor for poor performance:
</p>

<ul>
	<li>
		<p>
			ASP.NET\Request Queued
		</p>

		<ul>
			<li>
				<p>
					The number of requests ASP has in the queue waiting to be processed.
				</p>
			</li>
			<li>
				<p>
					Alert when the values are significantly outside the baseline norms. Establish baselines based on the environment.
				</p>
			</li>
		</ul>
	</li>
	<li>
		<p>
			ASP.NET\Requests Rejected
		</p>

		<ul>
			<li>
				<p>
					The number of requests rejected because the request queue is full.
				</p>
			</li>
			<li>
				<p>
					Alert when the number of rejected requests is greater than one.
				</p>
			</li>
		</ul>
	</li>
</ul>

<h4>
	Citrix Federated Authentication Service (FAS) Servers
</h4>

<p>
	In addition to the counters for all Citrix Servers, enable the following custom performance counters for your Citrix Federated Authentication Service hosts. These metrics monitor for performance-related issues:
</p>

<ul>
	<li>
		<p>
			Citrix Federated Authentication Service\High Load Level
		</p>

		<ul>
			<li>
				<p>
					This metric tracks the number of certificate signing requests per minute that the Federated Authentication Service accepts.
				</p>
			</li>
			<li>
				<p>
					Track this metric because once the High Load level is met, desktops, and applications fail to launch.
				</p>
			</li>
		</ul>
	</li>
</ul>

<h4>
	Azure ExpressRoute Metrics
</h4>

<p>
	If you have an ExpressRoute connection to an on-premises data center or to a peered network, monitor that connection. You need to understand your bandwidth needs and to know how much billable egress traffic is leaving Azure. The key metrics to watch are as follows:
</p>

<ul>
	<li>
		<p>
			ExpressRoute circuit\BitsInPerSecond
		</p>

		<ul>
			<li>
				<p>
					This metric is the number of bits coming into Azure per second. This data is free.
				</p>
			</li>
			<li>
				<p>
					Use this metric for ExpressRoute capacity planning.
				</p>
			</li>
			<li>
				<p>
					Alert on this metric when it reaches 80% of your available circuit ingress bandwidth.
				</p>
			</li>
		</ul>
	</li>
	<li>
		<p>
			ExpressRoute circuit\BitsOutPerSecond
		</p>

		<ul>
			<li>
				<p>
					This metric is the number of bits leaving Azure per second. This data is billable.
				</p>
			</li>
			<li>
				<p>
					Use this metric for ExpressRoute capacity planning and for budgeting for data egress.
				</p>
			</li>
			<li>
				<p>
					Alert on this metric when it reaches 80% of your available circuit egress bandwidth.
				</p>
			</li>
		</ul>
	</li>
	<li>
		<p>
			ExpressRoute circuit\GlobalReachBitsInPerSecond
		</p>

		<ul>
			<li>
				<p>
					This metric is the number of bits coming into to Azure per second to peered ExpressRoute circuits (this data is free).
				</p>
			</li>
			<li>
				<p>
					Use this metric for ExpressRoute capacity planning.
				</p>
			</li>
			<li>
				<p>
					Alert on this metric when it reaches 80% of your available circuit ingress bandwidth.
				</p>
			</li>
		</ul>
	</li>
	<li>
		<p>
			ExpressRoute circuit\GlobalReachBitsOutPerSecond
		</p>

		<ul>
			<li>
				<p>
					This metric is the number of bits leaving Azure per second to peered ExpressRoute circuits (this data is billable).
				</p>
			</li>
			<li>
				<p>
					Use this metric for ExpressRoute capacity planning and for budgeting for data egress.
				</p>
			</li>
			<li>
				<p>
					Alert on this metric when it reaches 80% of your available circuit egress bandwidth.
				</p>
			</li>
		</ul>
	</li>
	<li>
		<p>
			ExpressRoute Gateway Connection\BitsInPerSecond
		</p>

		<ul>
			<li>
				<p>
					This metric is the number of bits coming into to Azure per second for a specific connection to an ExpressRoute circuit (this data is free).
				</p>
			</li>
			<li>
				<p>
					Alert on this metric when it reaches 80% of your connection circuit ingress bandwidth.
				</p>
			</li>
		</ul>
	</li>
	<li>
		<p>
			ExpressRoute Gateway Connection\BitsOutPerSecond
		</p>

		<ul>
			<li>
				<p>
					This metric is the number of bits leaving Azure per second for a specific connection to an ExpressRoute circuit (this data is billable).
				</p>
			</li>
			<li>
				<p>
					Alert on this metric when it reaches 80% of your connection egress bandwidth.
				</p>
			</li>
		</ul>
	</li>
	<li>
		<p>
			ExpressRoute Virtual Network Gateway\PacketsPerSecond
		</p>

		<ul>
			<li>
				<p>
					This metric is the number of inbound packets traversing the ExpressRoute gateway.
				</p>
			</li>
			<li>
				<p>
					Alert on this metric when it drops low enough to indicate it is no longer receiving traffic.
				</p>
			</li>
		</ul>
	</li>
	<li>
		<p>
			ExpressRoute Virtual Network Gateway\CPU Utilization
		</p>

		<ul>
			<li>
				<p>
					This metric is CPU utilization of the gateway instance.
				</p>
			</li>
			<li>
				<p>
					High CPU utilization indicates a performance bottleneck.
				</p>
			</li>
			<li>
				<p>
					Alert on this metric when it CPU utilization exceeds 85%.
				</p>
			</li>
		</ul>
	</li>
</ul>

<h3>
	Azure Advisor Alerts
</h3>

<p>
	Azure Advisors provide upwards of 280 alerts. This section provides the recommended alerts to configure in Azure Advisor for your Citrix environment. The alerts are categorized for your convenience into Reliability, Cost, Performance, and Operational Excellence. Each alert has a short description that includes why this alert is important to track in a Citrix environment. Several of the alerts can also be enforced via Azure Policy. These alerts only need to be configured one time and take about 30 minutes.
</p>

<h4>
	Reliability Alerts
</h4>

<ul>
	<li>
		<p>
			<strong>Enable Backups on your Virtual Machines</strong>: Notifies you when your VMs are not enabled for automatic backup. Routinely back up all your Citrix infrastructure VMs.
		</p>
	</li>
	<li>
		<p>
			<strong>Enable soft delete for your Recovery Services vaults</strong>: Notifies you when your Recovery Services vault data is set for hard or permanent delete instead of a soft delete. Use soft delete to avoid losing your Recovery Services Citrix infrastructure in the case of an accidental deletion.
		</p>
	</li>
	<li>
		<p>
			<strong>Enable Soft Delete to protect your blob data</strong>: Notifies you when your Blob Storage data is set for hard or permanent delete instead of a soft delete. Use soft delete to avoid losing any blog storage data for Citrix applications or users in the case of an accidental deletion.
		</p>
	</li>
	<li>
		<p>
			<strong>Enable Cross Region Restore for your Recovery Services Vault</strong>: Notifies you when your Recovery Services Vault is not enabled for cross-region restore, which means you cannot recover outside of your current region. Use to protect your Recovery Services Citrix infrastructure so it can be brought online in a different region if the primary region is inaccessible.
		</p>
	</li>
</ul>

<ul>
	<li>
		<p>
			<strong>Move to production gateway SKUs from Basic gateways</strong>: Notifies you when your Gateways are using the Basic SKU which has lower performance than a Production SKU. Always use production gateway SKUs for Citrix infrastructure and users to provide the best performance and end user experience.
		</p>
	</li>
	<li>
		<p>
			<strong>Enable Active-Active gateways for redundancy</strong>: Notifies you when your gateways are not set up for active-active fault tolerance. Always configure active-active gateways for a fault-tolerant Citrix infrastructure.
		</p>
	</li>
	<li>
		<p>
			<strong>Implement multiple ExpressRoute circuits in your Virtual Network for cross-premises resiliency</strong>: Notifies you when your ExpressRoute circuits are not set up for high availability. Always configure ExpressRoute circuits for high-availability so your Citrix infrastructure is available to all users.
		</p>
	</li>
</ul>

<ul>
	<li>
		<strong>Use ExpressRoute GlobalReach to improve your design for disaster recovery</strong>: Notifies you when your ExpressRoute circuits are not using GlobalReach. Always configure ExpressRoute circuits for Global Reach to improve your disaster recovery design and make it more resilient.
	</li>
</ul>

<ul>
	<li>
		<p>
			<strong>Repair your log alert rule:</strong> Notifies you when a log alert rule is broken. If you are using Log Alert rules for monitoring your Citrix environment, you want to enable this alert so you know when the rule is broken and not performing correctly.
		</p>
	</li>
	<li>
		<p>
			<strong>Log alert rule was disabled</strong>: Notifies you when a log alert rule was disabled. If you are using Log Alert rules for monitoring your Citrix environment, you want to enable this alert so you know when the rule is disabled and not running at all.
		</p>
	</li>
</ul>

<h3>
	Cost Alerts
</h3>

<ul>
	<li>
		<p>
			<strong>Right-size or shutdown underutilized virtual machines</strong>: Notifies you when the machine instance type for a VM is not being fully used so that you can select a smaller and less-expensive VM to meet your business needs. Use this alert to reduce the costs of your Citrix infrastructure.
		</p>
	</li>
	<li>
		<p>
			<strong>Repurpose or delete idle virtual network gateways</strong>: Notifies you when you have virtual network gateways that are idle and can be removed to reduce costs. Use this alert to reduce costs and complexity of your network infrastructure.
		</p>
	</li>
	<li>
		<p>
			<strong>Delete ExpressRoute circuits in the provider status of Not Provisioned</strong>: Notifies you when you have ExpressRoute circuits that are not fully provisioned. Use this alert to remove incomplete ExpressRoute circuits.
		</p>
	</li>
	<li>
		<p>
			<strong>Use Standard Storage to store Managed Disks snapshots</strong>: Notifies you when you are using more expensive storage to store managed disk snapshots. Use this alert to save money when storing disk snapshots.
		</p>
	</li>
</ul>

<h3>
	Performance Alerts
</h3>

<ul>
	<li>
		<p>
			<strong>Improve user experience and connectivity by deploying VMs closer to user’s location</strong>: Notifies you when users are accessing Citrix resources that are far away from the user. Use for data center and site location to place users close to their Citrix resources.
		</p>
	</li>
	<li>
		<p>
			<strong>Match production Virtual Machines with Production Disks for consistent performance</strong>: Notifies you when your production VMs are not using production disks. Always use production disks for production VMs for your Citrix VMs.
		</p>
	</li>
</ul>

<ul>
	<li>
		<p>
			<strong>Consider increasing the size of your VPN Gateway SKU to address high CPU</strong>: Notifies you when your VPN Gateway SKUs are not optimal for your usage. Enable this alert if you have a high number of VPN users that may be affected by VPN gateway performance when accessing Citrix resources.
		</p>
	</li>
	<li>
		<p>
			<strong>Consider increasing the size of your VNet Gateway SKU to address consistently high CPU use</strong>: Notifies you when your VNet Gateway SKUs are not optimal for your usage. Enable this alert if you have a high number of VNet Gateways that may be affected when routing traffic between VNets for Citrix resources.
		</p>
	</li>
</ul>

<ul>
	<li>
		<strong>Upgrade your ExpressRoute circuit bandwidth to accommodate your bandwidth needs</strong>: Notifies you when your ExpressRoute circuit bandwidth is not optimal for your current usage. Use this alert when you have one or more ExpressRoute circuits for your Citrix infrastructure.
	</li>
</ul>

<ul>
	<li>
		<strong>Enable Accelerated Networking to improve network performance and latency</strong>: Notifies you when VMs would benefit from the use of Accelerated Networking. Use this alert to identify which Citrix VMs must have accelerated networking enabled.
	</li>
</ul>

<h3>
	Operational Excellence Alerts
</h3>

<ul>
	<li>
		<p>
			Use Azure Policy to enable certain policies within the Azure environment. Here is a list of alerts that verify the Azure policy is in place:
		</p>

		<ul>
			<li>
				<p>
					<strong>Enforce ‘Add or replace a tag on resources’ in Azure Policy</strong>: used to verify that all Citrix resources are properly tagged.
				</p>
			</li>
			<li>
				<p>
					<strong>Enforce ‘Allowed locations’ in Azure Policy</strong>: used to verify that access to the Citrix resources is restricted to particular locations to prevent malicious intent originating from untrusted locations.
				</p>
			</li>
			<li>
				<p>
					<strong>Enforce ‘Allowed virtual machine SKUS’ in Azure Policy</strong>: used to prevent VMs from being created that fall outside the cost parameters for an environment. This policy is useful in preventing bitcoin mining with costly GPU instances.
				</p>
			</li>
			<li>
				<p>
					<strong>Enforce ‘Inherit a tag from the resource group’ in Azure Policy</strong>: used to verify any resources in a resource group also inherit tags assigned to that resource group. This policy is useful for tracking auto-created Citrix resources.
				</p>
			</li>
		</ul>
	</li>
	<li>
		<p>
			<strong>Enable Traffic Analytics to view insights into traffic patterns across Azure resources</strong>: Notifies you when Traffic Analytics is not enabled for Azure resources. Used to secure the Citrix resources and prevent inadvertent or malicious access to data accessible through Citrix hosts.
		</p>
	</li>
	<li>
		<p>
			<strong>Implement ExpressRoute Monitor on Network Performance Monitor for end-to-end monitoring</strong>: Notifies you when ExpressRoute circuit traffic is not being used to secure the Citrix resources. This policy helps identify and prevent accidental or malicious access to data over an ExpressRoute connection.
		</p>
	</li>
</ul>

<ul>
	<li>
		<p>
			<strong>Add Azure Monitor to your virtual machine (VM) labeled as production</strong>: Notifies you when a production VM does not have Azure Monitor enabled. Used to identify any Citrix VMs not running Azure Monitor.
		</p>
	</li>
	<li>
		<p>
			<strong>You have disks which have not been attached to a VM for more than 30 days</strong>: Notifies you when disks are not being actively used. Useful for reducing storage costs by removing unused disks.
		</p>
	</li>
</ul>

<h3>
	Azure Service Health Alerts
</h3>

<p>
	This section provides the recommended service health alerts to configure. The list identifies the key services that are used by a Citrix deployment. Each alert has a short description that includes why this alert is important to track. These only need to be configured one time and take about 15 minutes or so to complete. We recommend subscribing to notification alerts for the following services used most often for Citrix environments running in Azure:
</p>

<ul>
	<li>
		<p>
			<strong>API Management</strong>: Used to manage Azure services from the Citrix Cloud.
		</p>
	</li>
	<li>
		<p>
			<strong>Activity Logs &amp; Alerts</strong>: Used to monitor the Citrix server logs and generate alerts.
		</p>
	</li>
	<li>
		<p>
			<strong>Alerts &amp; Metrics</strong>: Used to monitor the Citrix server metrics and generate alerts.
		</p>
	</li>
	<li>
		<p>
			<strong>Azure Active Directory</strong>: Used for authentication to the Citrix servers, the Azure portal and to Citrix Workspaces.
		</p>
	</li>
	<li>
		<p>
			<strong>Azure Monitor</strong>: Used to monitor the Citrix Resources hosted in Azure.
		</p>
	</li>
	<li>
		<p>
			<strong>Azure Policy</strong>: Used to secure access to the Azure resources and enforce business rules across the Citrix environment.
		</p>
	</li>
	<li>
		<p>
			<strong>Azure Private Link</strong>: Used to connect to Azure services from within the Citrix deployment.
		</p>
	</li>
	<li>
		<p>
			<strong>Azure Sentinel</strong>: Used to monitor the security of the Citrix resources in Azure.
		</p>
	</li>
	<li>
		<p>
			<strong>Backup</strong>: Used to back up your Citrix resources in the cloud.
		</p>
	</li>
	<li>
		<p>
			<strong>ExpressRoute</strong>: Used to connect on-premises resources with Citrix deployment in Azure.
		</p>
	</li>
	<li>
		<p>
			<strong>Key Vault</strong>: Used to manage the encryption keys that secure Citrix server volumes and the user data stored at rest.
		</p>
	</li>
	<li>
		<p>
			<strong>Log Analytics</strong>: Used to monitor the logs for events that affect Citrix resources and need alerts.
		</p>
	</li>
	<li>
		<p>
			<strong>Microsoft Azure Portal</strong>: Used to manage the Azure resources where the Citrix deployment is running.
		</p>
	</li>
	<li>
		<p>
			<strong>Network Infrastructure</strong>: Used to monitor the communication between the Citrix resources, the on-premises data centers, and the remote users.
		</p>
	</li>
	<li>
		<p>
			<strong>Network Watcher</strong>: Used to monitor the network traffic between Citrix and Azure resources.
		</p>
	</li>
	<li>
		<p>
			<strong>Site Recovery</strong>: Used for providing high-availability and cross-site disaster recovery capabilities to your Citrix deployment.
		</p>
	</li>
	<li>
		<p>
			<strong>Storage</strong>: Used to host the boot volumes for all Citrix resources in the cloud and to store user data.
		</p>
	</li>
	<li>
		<p>
			<strong>VPN Gateway \ Virtual WAN</strong>: Used to connect users and on-premises resources with the Citrix deployment in Azure.
		</p>
	</li>
	<li>
		<p>
			<strong>Virtual Machines</strong>: Used to host the Citrix Workloads in Azure.
		</p>
	</li>
	<li>
		<p>
			<strong>Virtual Network</strong>: Used to communicate between the Citrix resources hosted in the Azure Cloud and remote users in addition to the on-premises data centers.
		</p>
	</li>
</ul>

<p>
	While configuring these service alerts, watch for other services included for your environment.
</p>

<h2>
	Citrix
</h2>

<p>
	This section covers the Citrix Tools and Services that can be used to monitor your Citrix Virtual Apps and Desktops service deployment in Azure.
</p>

<h3>
	Citrix Monitor
</h3>

<p>
	Citrix Monitor is the recommended tool from Citrix to monitor your Citrix Cloud deployment. The tool consists of the following components:
</p>

<ul>
	<li>
		<p>
			<em>Dashboard</em>: The main display that provides a real-time overview of the environment. The <em>Dashboard</em> includes key metrics, such as connection and machine failures, total sessions, average logon duration, and Citrix VDA hosts status. All of the reports and charts provide drill-down capabilities for identified issues.
		</p>
	</li>
	<li>
		<p>
			<em>Trends</em>: Provides trend information for the following: Sessions, Failures, Logon Performance, Load Evaluation, Capacity Management, Machine usage, Resource Utilization, and Application Probes.
		</p>
	</li>
	<li>
		<p>
			<em>Alerts and Alert Policies</em>: Interface to set up alerts for pre-defined Citrix alert policies.
		</p>
	</li>
	<li>
		<p>
			<em>Applications</em>: Console to manage Application and Desktop probes and review the Application analytics.
		</p>
	</li>
</ul>

<h4>
	Trends
</h4>

<p>
	Historical data is saved only for the last 90 days and is available to view through the <strong>Trends</strong> section of Citrix Monitor. The key trends to monitor for your Citrix deployment are as follows:
</p>

<p>
	<strong>Connection Failures</strong> Connection failures can point to issues with particular Citrix VDA VMs or to particular users. The failed connection tab provides information on connections that fail because of the following common issues: client connection errors, licensing errors, unavailable capacity, machine failures or configuration errors. The single-session and multi-session failures show servers that failed to start, hung on boot or did not register.
</p>

<p>
	<strong>Logon Performance</strong> Logon performance provides an overview of how long user logons are taking and it breaks them down into the following categories:
</p>

<ul>
	<li>
		<p>
			<em>Brokering Time</em>: This is the time that it takes Citrix to broker the session between the client and the Citrix VDA host. If this time is long, the issue lies with the Citrix infrastructure, start by verifying the Cloud Connectors and any StoreFront servers have sufficient capacity.
		</p>
	</li>
	<li>
		<p>
			<em>VM Start time</em>: This is the time that elapses between when the user clicks the icon to access their desktop and the time it takes to start the Virtual Machine for them. If this metric seems too long, consider increasing the buffer capacity for the delivery group.
		</p>
	</li>
	<li>
		<p>
			<em>HDX Connection Time</em>: The time it takes to set up the HDX connection between the client and the Citrix VDA host. If this is metric seems slow, look at the network connections. Verify that packets are not getting dropped excessively and the network bandwidth utilization is under 80%.
		</p>
	</li>
	<li>
		<p>
			<em>Authentication Time</em>: The time it takes to complete the authentication for the remote session. If this time is long, research which AD Domain Controllers (DCs) are being used for authentication. Verify that your sites and services are configured so the closest DCs are being used to authenticate and they have the compute capacity to handle the session load.
		</p>
	</li>
	<li>
		<p>
			<em>GPO Time</em>: The time it takes to apply the group policy settings (including Citrix policies) to the session. If the metric is too long, you can drill down by clicking the “Detailed Drilldown” link to view each GPO's time. Look at the number of GPOs being applied and either consolidate the GPOs or find a third-party solution that applies GPOs synchronously instead of asynchronously.
		</p>
	</li>
	<li>
		<p>
			<em>Logon Scripts Time</em>: The time it takes to run any logon scripts before the Windows Explorer starts. If this metric is too long, investigate the Logon scripts that are being applied through GPO. Look for ways to optimize the logon scripts.
		</p>
	</li>
	<li>
		<p>
			<em>Profile Load Time</em>: The time it takes to load the Windows user profile before the interactive session starts. Important to remember that if you are using Citrix Profile Management, the load time is included in this metric. If you are using another Profile Management solution that relies on Windows profiles, the actual profile load time is included in the Interactive Session metric. To reduce load times, you can use Citrix Profile Management with the “Large file handing” feature enabled or move to streamed profiles.
		</p>
	</li>
	<li>
		<p>
			<em>Interactive Session Time</em>: The time it takes to grant the user keyboard and mouse control after the Windows profile loads. This metric includes three phases: pre-userinit, userinit, and shell. This time includes third-party profile solutions that run after the Windows profile loads and before the user is granted control of the desktop.
		</p>
	</li>
</ul>

<p>
	<strong>Resource Utilization</strong> This chart provides a view of the key metrics and a comparison of the previous 24 hours to the current metrics. This chart is useful for determining at a glance where the performance bottleneck might be when you are seeing long logon times or failed connections. If you identify trends with machines, you can use Azure Monitor to investigate further.
</p>

<p>
	Citrix Policy controls Resource Monitoring and enables it by default. Citrix Policy for Process Monitoring is disabled by default because it consumes extra resources, but it provides detailed information for processes.
</p>

<h4>
	Alerts
</h4>

<p>
	Similar to Azure Alerts, Citrix alerts can be configured to email you alerts for metrics that are important to resolve quickly. Set alert policies for failures to reduce the amount of effort involved with reviewing the site metrics frequently. This frees you up to work on higher priority tasks. With the Premium license, you can set values at Warning and Critical levels to receive emails. When monitoring your Citrix deployment in Azure, the following alerts are recommended:
</p>

<h5>
	Site Policies
</h5>

<p>
	The Site Policies aggregate alerts across all delivery groups, users, and machines and provide warnings for site-wide events. These alerts are useful to let you know when you have any site resources falling outside the benchmark areas.
</p>

<ul>
	<li>
		<p>
			<strong>Connection failure rate</strong>: The percentage of connection failures over the past hour. Set an alert after carefully reviewing your baseline values for this counter. All environments have a base failure rate that occurs naturally as users attempt to connect, though 0% is the ideal value.
		</p>
	</li>
	<li>
		<p>
			<strong>Connection failure count</strong>: The number of failed connections over the past hour. Set an alert after carefully reviewing your baseline values for this counter. All environments have a base failure count that occurs naturally as users attempt to connect, though 0 is the ideal value.
		</p>
	</li>
	<li>
		<p>
			<strong>Failed machines (Single-session OS)</strong>: The number of failed Single-session OS machines. Set an alert when this counter has a value greater than 1.
		</p>
	</li>
	<li>
		<p>
			<strong>Failed machines (Multi-session OS)</strong>: The number of failed Multi-session OS machines. Set an alert when this counter has a value greater than 1.
		</p>
	</li>
	<li>
		<p>
			<strong>Average logon duration</strong>: The average time for a user to log on over the past hour. Citrix recommends a warning when the average logon duration time exceeds 45 seconds. A better metric might be when the average logon duration exceeds 125% of your baseline logon time.
		</p>
	</li>
</ul>

<h5>
	Delivery Group and Multi-session Policies
</h5>

<p>
	These metrics are aggregated at the Delivery Group, Multi-session, or Single-session machine level. These metrics are useful to watch when you need to focus on a particular set of resources to verify they are performing as expected. For example, when you want to monitor the user experience for the virtual desktops dedicated to executives. In those cases, you might have tighter alerting on any failure rates or average logons events.
</p>

<ul>
	<li>
		<strong>Connection failure rate</strong>: The percentage of connection failures over the past hour. Set an alert after carefully reviewing your baseline values for this counter. All environments have a base failure rate that occurs naturally as users attempt to connect, though 0% is the ideal value.
	</li>
</ul>

<ul>
	<li>
		<strong>Connection failure count</strong>: The number of failed connections over the past hour. Set an alert after carefully reviewing your baseline values for this counter. All environments have a base failure count that occurs naturally as users attempt to connect, though 0 is the ideal value.
	</li>
</ul>

<ul>
	<li>
		<p>
			<strong>ICA RTT (Average)</strong>: Average ICA Round-Trip Time. Citrix recommends that a warning alert be set when 5 or more sessions experience an ICA RTT of 300 ms or longer.
		</p>
	</li>
	<li>
		<p>
			<strong>Average logon duration</strong>: The average time for a user to log on over the past hour. Citrix recommends a warning when the average logon duration time exceeds 45 seconds. A better metric might be when the average logon duration exceeds 125% of your baseline logon time.
		</p>
	</li>
</ul>

<h5>
	User Policies
</h5>

<p>
	The user alerts are the only alerts not aggregated across multiple resources. Since they are not aggregated, you can alert on the actual values when they fall outside the acceptable ranges.
</p>

<ul>
	<li>
		<strong>ICA RTT</strong>: ICA/HDX Round-Trip Time (RTT) in milliseconds (ms). Any RTT latency under 50 ms is considered ideal. Typically, the user experience starts to degrade when the RTT latency exceeds 100 ms for an extended period. The alert is triggered when ICA RTT is greater than the threshold set.
	</li>
</ul>

<h4>
	Applications
</h4>

<p>
	The <strong>Applications</strong> section of Citrix Monitor provides insights into the health and usage information of published desktops and applications. If the Citrix Probe Agent is installed on a machine and configured through the console, the probe results for the last 24 hours are shown. Citrix Monitor shows the probe results along with any other application analytics for faults and errors giving you a summary view of the environment’s health. The probes show the stage in the launch process where the application failed, such as authentication, enumeration, or ICA file download. This information is invaluable when troubleshooting application launch issues. Using the application monitoring allows you to pro-actively address issues before they become outages.
</p>

<h3>
	Citrix Analytics
</h3>

<p>
	Citrix Analytics is a cloud-based service that aggregates data gleaned from Citrix users across devices, networks, and applications. The sole purpose of Citrix Analytics is to identify relationships and trends that can lead to actionable insights. Analytics relies on built-in Machine Learning (ML) algorithms to find behavioral anomalies that can indicate issues with Citrix users. Citrix Analytics works with third-party providers, including Microsoft, to gather data for analysis and has these offerings:
</p>

<p>
	<strong>Citrix Analytics for Security</strong>: Focuses on user and application behavior, looking primarily for insider threats or malicious behavior.
</p>

<p>
	<strong>Citrix Analytics for Performance</strong>: Focuses on the user experience. The performance analytics uses data from virtual applications and desktops to generate a User Experience score from key factors that define the user experience.
</p>

<p>
	Citrix Analytics integrates with the following products to provide comprehensive views:
</p>

<ul>
	<li>
		<p>
			Citrix Virtual Apps and Desktops
		</p>
	</li>
	<li>
		<p>
			Citrix Application Delivery Controller (NetScaler)
		</p>
	</li>
	<li>
		<p>
			Citrix Secure Workspace Access (Access Control)
		</p>
	</li>
	<li>
		<p>
			Citrix Gateway
		</p>
	</li>
	<li>
		<p>
			Citrix Content Collaboration
		</p>
	</li>
	<li>
		<p>
			Citrix Endpoint Management
		</p>
	</li>
	<li>
		<p>
			Citrix Secure Browser
		</p>
	</li>
	<li>
		<p>
			Microsoft Graph Security
		</p>
	</li>
	<li>
		<p>
			Microsoft Active Directory
		</p>
	</li>
</ul>

<p>
	Any data collected is retained for 13 months or 396 days or until 90 days after subscription termination.
</p>

<p>
	Data can be integrated into any SIEM service that supports Kafka topics or Logstash-based data connectors, such as Microsoft Sentinel. Data can also be exported in a comma-separated value (CSV) format for analysis on other systems.
</p>

<p>
	Citrix Analytics is accessed through your Citrix Cloud account. Once set up and configured, you gain access to dashboards that provide information and recommendations compiled by Citrix Analytics.
</p>

<table>
	<thead>
		<tr>
			<th>
				Dashboard
			</th>
			<th>
				Information Provided
			</th>
			<th>
				Citrix Analytics Service
			</th>
		</tr>
	</thead>
	<tbody>
		<tr>
			<td>
				Users
			</td>
			<td>
				User-behavior patterns
			</td>
			<td>
				Security
			</td>
		</tr>
		<tr>
			<td>
				User Access
			</td>
			<td>
				Summary of risky domains and the volume of ingress/egress data
			</td>
			<td>
				Security
			</td>
		</tr>
		<tr>
			<td>
				App Access
			</td>
			<td>
				Summary of the domains, URL, and apps accessed by users
			</td>
			<td>
				Security
			</td>
		</tr>
		<tr>
			<td>
				Share Links
			</td>
			<td>
				Summary of the organizational share link patterns
			</td>
			<td>
				Security
			</td>
		</tr>
		<tr>
			<td>
				Access Assurance Location
			</td>
			<td>
				Summary of the logon and access details for Citrix Virtual Apps and Desktops users
			</td>
			<td>
				Security
			</td>
		</tr>
		<tr>
			<td>
				Reports
			</td>
			<td>
				Custom report creation with available metrics
			</td>
			<td>
				Security
			</td>
		</tr>
		<tr>
			<td>
				User Experience
			</td>
			<td>
				Summary of the key site performance metrics
			</td>
			<td>
				Performance
			</td>
		</tr>
		<tr>
			<td>
				Infrastructure
			</td>
			<td>
				Summary of the status and health of your site virtual machines
			</td>
			<td>
				Performance
			</td>
		</tr>
	</tbody>
</table>

<p>
	Citrix Analytics-Security provides these reports, risk assessment scores and indicators for the users, share links, and IP address locations. Custom risk indicators can be created in addition to custom policies to refine the conditions used for the risk assessment. You can enable a feature called Request End User Response, which immediately alerts the user when unusual activity is observed. Watchlists is another feature that allows you to monitor specific users who represent a potential threat or higher risk. You receive weekly emails from Citrix Analytics-Security with important risk indicators and users identified.
</p>

<h2>
	Sources
</h2>

<p>
	The goal of this reference architecture is to assist you with planning your own implementation. To make this job easier, we would like to provide you with source diagrams that you can adapt in your own detailed designs and implementation guides: <a class="ipsAttachLink" data-fileext="vsdx" data-fileid="35421" href="https://community.citrix.com/applications/core/interface/file/attachment.php?id=35421&amp;key=707fb6dace5c99e251964aef0f54ad19" rel="">reference-architectures_virtual-apps-and-desktops-azure.vsdx</a><a class="ipsAttachLink" data-fileid="o_1i3l24i4o1lnh59d1tl3u7l1t3cj" href="https://community.citrix.com/applications/core/interface/file/attachment.php?id=o_1i3l24i4o1lnh59d1tl3u7l1t3cj" rel="">reference-architectures_virtual-apps-and-desktops-azure.vsdx</a>
</p>

<h2>
	References
</h2>

<h3>
	Operations
</h3>

<ul>
	<li>
		<p>
			General Governance
		</p>

		<ul>
			<li>
				<a href="https://docs.microsoft.com/en-us/azure/architecture/aws-professional/services" rel="external nofollow">AWS to Azure services comparison</a>
			</li>
			<li>
				<a href="https://docs.microsoft.com/en-us/azure/security/governance-in-azure" rel="external nofollow">Governance in Azure</a>
			</li>
			<li>
				<a href="https://docs.microsoft.com/en-us/azure/security/blueprints/financial-services-regulated-workloads" rel="external nofollow">Azure Blueprint Automation: Financial Services Blueprint for Regulated Workloads</a>
			</li>
			<li>
				<a href="https://docs.microsoft.com/en-us/azure/security/blueprints/payment-processing-blueprint" rel="external nofollow">Azure Blueprint Automation: Payment Processing for PCI DSS-compliant environments</a>
			</li>
			<li>
				<a href="https://docs.microsoft.com/en-us/azure/security/blueprints/fedramp" rel="external nofollow">Azure Blueprint Automation - Web Applications for FedRAMP</a>
			</li>
		</ul>
	</li>
	<li>
		<p>
			Subscription Governance
		</p>

		<ul>
			<li>
				<a href="https://docs.microsoft.com/en-us/azure/billing/billing-enterprise-mgmt-group-overview" rel="external nofollow">Organize your resources with Azure Management Groups</a>
			</li>
			<li>
				<a href="https://docs.microsoft.com/en-us/azure/azure-resource-manager/resource-manager-subscription-governance" rel="external nofollow">Azure enterprise scaffold - prescriptive subscription governance</a>
			</li>
		</ul>
	</li>
	<li>
		<p>
			Tagging
		</p>

		<ul>
			<li>
				<a href="https://docs.microsoft.com/en-us/azure/azure-resource-manager/resource-group-using-tags" rel="external nofollow">Use tags to organize your Azure resources</a>
			</li>
		</ul>
	</li>
	<li>
		<p>
			Cost Management
		</p>

		<ul>
			<li>
				<a href="https://docs.microsoft.com/en-us/azure/cost-management/" rel="external nofollow">Cloud (Cost Management)</a>
			</li>
		</ul>
	</li>
	<li>
		<p>
			Policy
		</p>

		<ul>
			<li>
				<a href="https://docs.microsoft.com/en-us/azure/azure-policy/azure-policy-introduction" rel="external nofollow">What is Azure Policy?</a>
			</li>
			<li>
				<a href="https://docs.microsoft.com/en-us/azure/azure-policy/json-samples" rel="external nofollow">Templates for Azure Policy</a>
			</li>
		</ul>
	</li>
	<li>
		<p>
			Naming Conventions
		</p>

		<ul>
			<li>
				<a href="https://docs.microsoft.com/en-us/azure/architecture/best-practices/naming-conventions" rel="external nofollow">Prescriptive Guidance</a>
			</li>
		</ul>
	</li>
	<li>
		<p>
			Resource Locks
		</p>

		<ul>
			<li>
				<a href="https://docs.microsoft.com/en-us/azure/azure-resource-manager/resource-group-lock-resources" rel="external nofollow">Lock resources to prevent unexpected changes</a>
			</li>
		</ul>
	</li>
</ul>

<h3>
	Identity
</h3>

<ul>
	<li>
		<p>
			Reference Architectures
		</p>

		<ul>
			<li>
				<p>
					<a href="https://docs.microsoft.com/en-us/azure/security/azure-security-identity-management-best-practices" rel="external nofollow">Best Practices</a>
				</p>
			</li>
			<li>
				<p>
					<a href="https://docs.microsoft.com/en-us/azure/active-directory/role-based-access-built-in-roles" rel="external nofollow">Built-in Roles</a>
				</p>
			</li>
			<li>
				<p>
					<a href="https://docs.microsoft.com/en-us/azure/active-directory/role-based-access-control-custom-roles" rel="external nofollow">Custom Roles</a>
				</p>
			</li>
			<li>
				<p>
					<a href="https://docs.microsoft.com/en-us/azure/active-directory/role-based-access-control-create-custom-roles-for-internal-external-users" rel="external nofollow">Role Assignment</a>
				</p>
			</li>
			<li>
				<p>
					<a href="https://docs.microsoft.com/en-us/azure/active-directory/role-based-access-control-access-change-history-report" rel="external nofollow">Audit Report for Roles</a>
				</p>
			</li>
			<li>
				<p>
					<a href="https://docs.microsoft.com/en-us/azure/security-center/security-center-just-in-time" rel="external nofollow">Just-In-Time Access</a>
				</p>
			</li>
			<li>
				<p>
					<a href="https://docs.microsoft.com/en-us/azure/active-directory/msi-overview" rel="external nofollow">Azure-Managed Service Identity</a>
				</p>
			</li>
		</ul>
	</li>
	<li>
		<p>
			AAD Privileged Identity (PIM)
		</p>

		<ul>
			<li>
				<p>
					<a href="https://docs.microsoft.com/en-us/azure/active-directory/pim-azure-resource" rel="external nofollow">Privileged Identity Management - 2 Min Read</a>
				</p>
			</li>
			<li>
				<p>
					<a href="https://docs.microsoft.com/en-us/azure/active-directory/active-directory-privileged-identity-management-configure" rel="external nofollow">Privileged Identity Management - 8 Min Read</a>
				</p>
			</li>
			<li>
				<p>
					<a href="https://docs.microsoft.com/en-us/azure/active-directory/privileged-identity-management/azure-pim-resource-rbac" rel="external nofollow">Privileged Identity Management for Azure Resources</a>
				</p>
			</li>
			<li>
				<p>
					<a href="https://docs.microsoft.com/en-us/azure/active-directory/connect/active-directory-aadconnect-topologies" rel="external nofollow">Topologies for Azure AAD Connect for Ad Sync/ ADFS</a>
				</p>
			</li>
			<li>
				<p>
					<a href="https://support.citrix.com/article/CTX224111" rel="external nofollow">Azure Active Directory and Citrix XenApp and XenDesktop</a>
				</p>
			</li>
		</ul>
	</li>
</ul>

<h3>
	Governance
</h3>

<ul>
	<li>
		<p>
			Level 100
		</p>

		<ul>
			<li>
				<p>
					<a href="https://docs.microsoft.com/en-us/azure/security/azure-security" rel="external nofollow">Introduction to Azure Security</a>
				</p>
			</li>
			<li>
				<p>
					<a href="https://www.microsoft.com/en-us/cloud-platform/information-protection" rel="external nofollow">Persistent information security for your sensitive data</a>
				</p>
			</li>
		</ul>
	</li>
	<li>
		<p>
			Level 200
		</p>

		<ul>
			<li>
				<a href="https://docs.microsoft.com/en-us/azure/security/azure-security-services-technologies" rel="external nofollow">Azure Security Services and Technologies</a>
			</li>
		</ul>
	</li>
	<li>
		<p>
			Level 400
		</p>

		<ul>
			<li>
				<p>
					<a href="https://docs.microsoft.com/en-us/azure/security/azure-isolation" rel="external nofollow">Isolation in Azure - Compute, Storage</a>
				</p>
			</li>
			<li>
				<p>
					<a href="https://channel9.msdn.com/events/Ignite/Microsoft-Ignite-Orlando-2017/BRK2000?term=Encryption" rel="external nofollow">[Video] Encryption key management strategies for compliance</a>
				</p>
			</li>
		</ul>
	</li>
	<li>
		<p>
			Reference Architectures:
		</p>

		<ul>
			<li>
				<p>
					<a href="https://docs.microsoft.com/en-us/azure/security/security-best-practices-and-patterns" rel="external nofollow">Azure security best practices and patterns</a>
				</p>
			</li>
			<li>
				<p>
					<a href="https://docs.microsoft.com/en-us/azure/security/azure-security-encryption-atrest#azure-resource-providers-encryption-model-support" rel="external nofollow">Azure security encryption by service</a>
				</p>
			</li>
			<li>
				<p>
					<a href="https://docs.microsoft.com/en-us/azure/security/azure-security-iaas" rel="external nofollow">Azure security for IaaS workloads</a>
				</p>
			</li>
			<li>
				<p>
					<a href="https://www.microsoft.com/en-us/TrustCenter/Privacy/gdpr/default.aspx" rel="external nofollow">All about GDPR readiness</a>
				</p>
			</li>
			<li>
				<p>
					<a href="https://azure.microsoft.com/en-us/resources/templates/encrypt-running-vmss-windows/" rel="external nofollow">This template enables encryption on a running Windows VM Scale Set</a>
				</p>
			</li>
		</ul>
	</li>
</ul>

<h3>
	Security
</h3>

<ul>
	<li>
		<p>
			Level 100
		</p>

		<ul>
			<li>
				<p>
					<a href="https://docs.microsoft.com/en-us/azure/security/azure-security" rel="external nofollow">Introduction to Azure Security</a>
				</p>
			</li>
			<li>
				<p>
					<a href="https://www.microsoft.com/en-us/cloud-platform/information-protection" rel="external nofollow">Persistent information security for your sensitive data</a>
				</p>
			</li>
		</ul>
	</li>
	<li>
		<p>
			Level 200
		</p>

		<ul>
			<li>
				<a href="https://docs.microsoft.com/en-us/azure/security/azure-security-services-technologies" rel="external nofollow">Azure Security Services and Technologies</a>
			</li>
		</ul>
	</li>
	<li>
		<p>
			Level 300
		</p>

		<ul>
			<li>
				<p>
					<a href="https://docs.microsoft.com/en-us/azure/security/azure-isolation" rel="external nofollow">Isolation in Azure - Compute, Storage</a>
				</p>
			</li>
			<li>
				<p>
					<a href="https://channel9.msdn.com/events/Ignite/Microsoft-Ignite-Orlando-2017/BRK2000?term=Encryption" rel="external nofollow">[Video] Encryption key management strategies for compliance</a>
				</p>
			</li>
		</ul>
	</li>
	<li>
		<p>
			Reference Architectures:
		</p>

		<ul>
			<li>
				<p>
					<a href="https://docs.microsoft.com/en-us/azure/security/security-best-practices-and-patterns" rel="external nofollow">Azure security best practices and patterns</a>
				</p>
			</li>
			<li>
				<p>
					<a href="https://docs.microsoft.com/en-us/azure/security/azure-security-encryption-atrest#azure-resource-providers-encryption-model-support" rel="external nofollow">Azure security encryption by service</a>
				</p>
			</li>
			<li>
				<p>
					<a href="https://docs.microsoft.com/en-us/azure/security/azure-security-iaas" rel="external nofollow">Azure security for IaaS workloads</a>
				</p>
			</li>
			<li>
				<p>
					<a href="https://www.microsoft.com/en-us/TrustCenter/Privacy/gdpr/default.aspx" rel="external nofollow">All about GDPR readiness</a>
				</p>
			</li>
		</ul>
	</li>
</ul>

<h3>
	Azure Monitor
</h3>

<ul>
	<li>
		<p>
			Level 100
		</p>

		<ul>
			<li>
				<a href="https://azure.microsoft.com/en-us/services/monitor/" rel="external nofollow">Azure Monitor - high level</a>
			</li>
		</ul>
	</li>
	<li>
		<p>
			Level 200
		</p>

		<ul>
			<li>
				<a href="https://docs.microsoft.com/en-us/azure/monitoring-and-diagnostics/" rel="external nofollow">Azure Monitoring overview</a>
			</li>
		</ul>
	</li>
	<li>
		<p>
			Reference Architectures
		</p>

		<ul>
			<li>
				<a href="https://docs.microsoft.com/en-us/azure/architecture/best-practices/monitoring" rel="external nofollow">Azure Architecture Center Best Practices for Monitoring</a>
			</li>
		</ul>
	</li>
	<li>
		<p>
			Documentation
		</p>

		<ul>
			<li>
				<p>
					<a href="https://azure.microsoft.com/en-us/resources/videos/index/?services=monitor" rel="external nofollow">Azure Monitor videos</a>
				</p>
			</li>
			<li>
				<p>
					<a href="https://docs.microsoft.com/en-us/azure/log-analytics" rel="external nofollow">Azure Log Analytics</a>
				</p>
			</li>
		</ul>
	</li>
</ul>

<h3>
	Connectivity
</h3>

<ul>
	<li>
		<p>
			Level 100
		</p>

		<ul>
			<li>
				<p>
					<a href="https://docs.microsoft.com/en-us/azure/virtual-network/virtual-networks-overview" rel="external nofollow">Introduction to Azure Virtual Network</a>
				</p>
			</li>
			<li>
				<p>
					<a href="https://docs.citrix.com/en-us/citrix-gateway-service/citrix-gateway-service.pdf" rel="external nofollow">Citrix ADC</a>
				</p>
			</li>
		</ul>
	</li>
	<li>
		<p>
			Level 200
		</p>

		<ul>
			<li>
				<a href="https://docs.microsoft.com/en-us/azure/virtual-network/virtual-network-for-azure-services" rel="external nofollow">Virtual Network Integration for Azure Services</a>
			</li>
		</ul>
	</li>
	<li>
		<p>
			Documentation
		</p>

		<ul>
			<li>
				<p>
					<a href="https://docs.citrix.com/en-us/citrix-virtual-apps-desktops-service/netscaler.html" rel="external nofollow">Citrix ADC Documentation</a>
				</p>
			</li>
			<li>
				<p>
					<a href="https://www.citrix.com/content/dam/citrix/en_us/documents/reference-material/validated-reference-design-netscaler-and-microsoft-azure.pdf" rel="external nofollow">NetScaler VPX Deployment Guide</a>
				</p>
			</li>
		</ul>
	</li>
</ul>

<p>
	 
</p>

<p>
	 
</p>

<p>
	 
</p>

<p>
	 
</p>

<p>
	 
</p>

<p>
	 
</p>

<p>
	 
</p>

<p>
	 
</p>
]]></description><guid isPermaLink="false">99</guid><pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate></item><item><title>Reference Architecture: Citrix DaaS - GCP Architecture with the Managed Service for Microsoft Active Directory for CSPs</title><link>https://community.citrix.com/tech-zone/design/reference-architectures/csp-gcp/</link><description><![CDATA[
<h2>Introduction</h2>
<p>The purpose of this document is to provide design and architectural guidance for Citrix Service Providers (CSPs) looking to use the Google Cloud Platform (GCP) as a Citrix DaaS resource location with the <strong>Managed Service for Microsoft Active Directory</strong>.</p>
<p>This document does not intend to provide step-by-step guidance on how to deploy Citrix DaaS for CSPs. It assumes understanding of the <a href="/en-us/tech-zone/design/reference-architectures/csp-cvads.html">CSP Virtual Apps and Desktops Reference Architecture</a>, which provides in-depth design and deployment considerations for a Citrix DaaS environment for CSPs.</p>
<p>For detailed guidance on Citrix DaaS on GCP, refer to the <a href="/en-us/tech-zone/toc/by-solution/daas-for-gcp.html">Solution Hub for Citrix DaaS on Google Cloud</a>.</p>
<p>We start this document by reviewing the most common GCP elements you need to understand to comfortably utilize this document. Google has created their own ways to name and organize components in GCP, so understanding them is vital for a successful design and deployment.</p>
<p>Next, we review the details of the Managed AD Service, its similarities and differences with the traditional Microsoft Active Directory, and the deployment models you can use as a CSP to provision your GCP managed resource locations.</p>
<p>Finally, we cover the steps required to deploy a Managed AD Service domain in GCP.</p>
<h2>Terminology</h2>
<p>While several services provide a similar functionality across the different public cloud providers, the terminology can be different. The following are the most common GCP elements that you need to understand as you follow through this reference architecture, as described on the GCP documentation.</p>
<ul>
<li><strong>VPC Network:</strong> GCP's virtual network object. Virtual Private Cloud networks (VPCs) in GCP are global, meaning you can deploy subnets to a VPC from each GCP region. You can deploy VPCs in auto-mode, which creates all subnets and CIDR ranges automatically, or in custom-mode, which lets you create subnets and CIDR ranges manually. Non-overlapping VPCs from different projects can be connected through VPC peering.</li>
<li><strong>VPC Peering:</strong> A VPC peering allows you to connect VPCs which would otherwise be disconnected. In this case, the GCP Managed AD Service creates a VPC peering automatically to connect our VPC to the Managed AD Service VPC.</li>
<li><strong>Shared VPC:</strong> A shared VPC can be spanned across multiple projects, eliminating the requirement to create separate VPCs for each project, or the utilization of VPC peering.</li>
<li><strong>GCP Organization:</strong> An organization represents the root node in the GCP resource hierarchy. To create an organization, GCP Cloud Identity or Google Workspace (formerly G-Suite) are required. An organization is not required, but it is highly recommended to deploy one for your production environments to better organize and manage your resources.</li>
<li><strong>Folders:</strong> A folder is utilized to organize resources within GCP, and they can contain more folders, or projects. For example, you can create folders to separate projects by department, environment type, or any other criteria. A folder is not always required, but same as with organizations, they are recommended for better resource organization.</li>
<li><strong>Project:</strong> A project provides an abstract grouping of resources within GCP, and all resources in GCP must belong to a project. Under normal circumstances, VM instances from one project cannot communicate with VM instances in another project, unless a VPC peering or a Shared VPC are utilized.</li>
<li><strong>Billing Account:</strong> A billing account represents the payment profile to be utilized to pay for GCP consumption. A billing account can be linked to multiple projects, but a project can only be linked to a single billing account.</li>
<li><strong>IAM:</strong> GCP's Identity and Access Management platform is utilized to grant user permissions to perform actions on GCP resources. This platform is also utilized to deploy and manage Service Accounts.</li>
<li><strong>Service Account:</strong> A service account is a GCP account that is not connected to an actual user, but instead represents a VM instance or an application. Service accounts can be granted permissions to perform different actions on the various GCP APIs. A service account is required to connect Citrix DaaS to GCP and enable Machine Creation Services.</li>
<li><strong>GCE:</strong> Google Compute Engine is the GCP platform in which you deploy compute resources, including VM instances, disks, instance templates, instance groups, and more.</li>
<li><strong>GCE Instance:</strong> A GCE instance is any VM deployed on the GCE platform. Cloud Connectors, golden images, the AD management VM, and any other virtual machine in the environment are considered GCE instances.</li>
<li><strong>Instance Template:</strong> A "baseline" resource you can utilize to deploy VMs and instance groups in GCP. The Citrix MCS process copies the golden image into an instance template, which is then utilized to deploy catalog machines.</li>
<li><strong>Cloud DNS:</strong> The GCP service utilized to manage DNS zones and records. With the creation of the Managed AD Service, Cloud DNS is automatically configured to forward DNS queries to the managed domain controllers.</li>
</ul>
<h2>Managed AD Service on GCP</h2>
<p>GCP's <a href="https://cloud.google.com/managed-microsoft-ad">Managed Service for Microsoft Active Directory</a> is a fully managed Active Directory service on the Google Cloud Platform. This service provides you with a fully functional Active Directory forest/domain without the overhead of building and maintaining Windows Server VM instances.</p>
<p>The Managed AD Service is built on highly available, Google-managed infrastructure, and delivered as a managed service. Each directory is deployed across multiple GCP zones and monitoring automatically detects and replaces domain controllers that fail. You do not have to install software, and Google handles all patching and software updates.</p>
<p>The Managed AD Service automatically deploys and manages highly available Active Directory domain controllers on an isolated GCP project and VPC network. A VPC peering is deployed automatically with the service for your AD-dependent workloads to reach Active Directory. Additionally, Google Cloud DNS is automatically configured to forward all DNS queries to the Managed AD Service.</p>
<h3>Managed AD Service Considerations</h3>
<p>While there are many similarities between a traditional Microsoft Active Directory environment and the Managed AD Service in GCP, a few considerations must be kept in mind when deploying GCP's Managed AD Service.</p>
<ol>
<li>Domain controller access is restricted, and you can only manage your domain by deploying management instances and installing the Remote Server Administration tools.</li>
<li>A shared VPC must be deployed before adding new customers / projects on the GCP shared resource location. Projects must belong to a shared VPC to be able to reach the managed AD domain. Resources deployed on a project with a VPC that is peered to a shared VPC are not able to reach the Managed AD Service domain. For more details, check the GCP <a href="https://cloud.google.com/vpc/docs/vpc-peering#restrictions">VPC peering requirements</a> page and the <a href="/en-us/tech-zone/learn/poc-guides/gcp-shared-vpc.html">Google Cloud Platform (GCP) Shared VPC Support with Citrix DaaS</a> tech-zone PoC guide.</li>
<li>Domain Administrator / Enterprise Administrator account permissions are not available, these accounts are only used by GCP to manage the domain for you.</li>
<li>AD objects cannot be created in any of the default containers (such as /Computers), they're read-only. This limitation brings up a common mistake when using Citrix's MCS provisioning technology, you must create the machine accounts for your MCS managed VDAs in a container/OU that's writeable. If you don't choose such a location, MCS is not be able to create the machine accounts.</li>
<li>Some AD integrated features such as Certificate Services cannot be installed. As such, this limitation impacts CSPs who need to utilize Citrix's Federated Authentication Services (FAS) technology (which requires AD integrated Certificate Services). These customers must build and manage their own Active Directory on Google Cloud using Windows Server VM instances.</li>
<li>Two main organizational units (OUs) are created by the service. The <strong>"Cloud"</strong> OU, which hosts all your managed AD resources. You have full control in this OU and any of its children. And the <strong>"Cloud Services Object"</strong> OU, which is used by GCP to manage the domain. Resources and the OU itself are read-only, except for some attributes being writable.</li>
<li>The service automatically creates <a href="https://cloud.google.com/managed-microsoft-ad/docs/objects#groups">several AD user groups</a> to allow for different AD administrative functions. You can manage the membership of these user groups.</li>
<li>An account is created at service creation with a default name of <strong>"setupadmin"</strong>. This account is utilized to manage the domain. <a href="https://cloud.google.com/managed-microsoft-ad/docs/objects#delegated_administrator">Check this page</a> for the full list of permissions for the <strong>"setupadmin"</strong> account.</li>
<li>Trusts can be configured as one-way, outbound trusts to an on-premises Active Directory environment. With this configuration, the Managed AD Service domain is the <em>"trusting"</em> domain hosting the computer accounts, and the on-premises domain is the <em>"trusted"</em> domain hosting the user accounts. This model is commonly utilized with the Resource Forest deployment, which is explained in the following section.</li>
</ol>
<h3>Managed AD Service Forest Design Considerations</h3>
<p>In the context of a Citrix Service Provider, the Managed AD Service can be deployed under two different Active Directory forest design models.</p>
<p>The first and simpler way to deploy the Managed AD Service is by using the organizational forest design model. In this model, the GCP managed AD service hosts both the user accounts and resources (computer accounts), plus any administrative accounts.</p>
<p>Under normal circumstances, an organization forest allows for a trust to be configured to establish a relationship with another organizational forest. However, keep in mind that the GCP managed AD service only supports one-way outbound trusts.</p>
<p></p><p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-gcp_001.png.29a294574dd0b7c8e5d5e6c507feb742.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="3105" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-gcp_001.png.29a294574dd0b7c8e5d5e6c507feb742.png" width="652" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_csp-gcp_001.png" loading="lazy" height="599.84"></a></p>
<p>The second type of forest design model is the resource forest. In this model, a one-way outbound trust is configured to establish a relationship with an on-premises Active Directory environment.</p>
<p>As explained before, in this deployment model, the Managed AD Service is the <em>"trusting"</em> forest hosting the resources, and the on-premises AD is the <em>"trusted"</em> forest where user identities reside. In other words, the Managed AD Service domain allows for users in the on-premises domain to access its resources.</p>
<table>
<thead>
<tr>
<th>NOTE:</th>
</tr>
</thead>
<tbody>
<tr>
<td>Keep in mind the <a href="https://docs.citrix.com/en-us/citrix-cloud/citrix-cloud-resource-locations/citrix-cloud-connector/technical-details.html#deployment-scenarios-for-cloud-connectors-in-active-directory">Citrix Cloud Connector Technical Details</a> when designing your Active Directory forest models. Cloud Connectors cannot traverse forest trusts, user accounts from an on-premises Active Directory are not visible in Citrix Cloud unless a set of Cloud Connectors is deployed in that forest.</td>
</tr>
</tbody>
</table>
<p></p><p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-gcp_002.png.6b2678a34336454d67ffa6194ddac68e.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="3107" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-gcp_002.png.6b2678a34336454d67ffa6194ddac68e.png" width="1012" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_csp-gcp_002.png" loading="lazy" height="455.4"></a></p>
<h2>Architecture</h2>
<p>We understand that not all CSPs are at the same stage on their cloud adoption journey. For an in depth explanation of the various design patterns for Citrix on GCP, check <a href="/en-us/tech-zone/design/reference-architectures/citrix-google-virtualization.html#design-patterns-for-citrix-virtualization-on-google-cloud">this section</a> of the Citrix Virtualization on Google Cloud reference architecture.</p>
<p>Also, we're assuming full understanding of the Citrix Cloud multitenancy and customer management features available to CSPs. Those features are covered in depth on the <a href="/en-us/tech-zone/design/reference-architectures/csp-cvads.html">CSP Virtual Apps and Desktops Reference Architecture</a>.</p>
<h3>Managed Service for Microsoft Active Directory for CSPs Design Pattern</h3>
<p>The Managed Service for Microsoft Active Directory for CSPs design pattern focuses on the combination of the different architecture models available to CSPs utilizing GCP managed resource locations, while using the Managed AD Service.</p>
<p>Partners deploying their managed DaaS offerings with Citrix Cloud can use the exclusive customer management and multitenancy features available to CSPs. These multitenancy features allow CSPs to deploy multiple customers on a shared Citrix Cloud control plane / tenant, or provide them with their dedicated control plane / tenant.</p>
<p>Citrix Cloud can be deployed with shared or dedicated resource locations on GCP. Different metrics can help a CSP determine which model better aligns to the specific requirements of each customer, and they can be based on end customer size, security and compliance requirements, cost savings, or more.</p>
<p></p><p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-gcp_003.png.fafe784b7850240d16b062ac4c36a48f.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="3109" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-gcp_003.png.fafe784b7850240d16b062ac4c36a48f.png" width="1020" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_csp-gcp_003.png" loading="lazy" height="510"></a></p>
<p>While being an optional component, GCP Organizations (<strong>1</strong>) can be used to manage the hierarchy of the different projects and folders on the CSPs GCP subscription. Also, notice that the GCP subscription and resources utilized for a specific end customer can potentially belong to the end customer and not the CSP.</p>
<p>A shared VPC network (<strong>2</strong>) is deployed on a resource location where multiple customers share components like the Managed AD Service domain, golden images, and Citrix Cloud Connectors. Other customers can be hosted on dedicated VPCs and resource locations (<strong>3</strong>) under the same GCP organization. These customers have their own Managed AD Service domain, golden images, and Citrix Cloud Connectors.</p>
<p>The Managed AD Service can be deployed on the shared resource location (<strong>4</strong>) or in a dedicated resource location (<strong>5</strong>). This process creates a project (which cannot be accessed) and a network peering from your VPC to the VPC hosting the Managed AD Service.</p>
<p>As explained before, whenever you deploy new customers / projects on the shared resource location, they must belong to the shared VPC to be able to reach the Managed AD Service domain. Resources deployed on a project with a VPC that is peered to your shared VPC are not able to reach the Managed AD Service domain. This limitation has to do with VPCs not being transitive. The Managed AD Service domain on the shared resource location is different from the one on dedicated resource locations.</p>
<p>A separate GCP project is recommended to host each customer's resources (VDAs) on a shared resource location (<strong>6</strong>). This consideration allows for easier resource management and IAM permission application for the administrators in charge of supporting the different environments.</p>
<p>Also, per leading practices, the shared VPC host project will not host any resources (<strong>7</strong>). This project is only used to deploy the shared VPC and the Managed AD Service domain.</p>
<table>
<thead>
<tr>
<th>NOTE:</th>
</tr>
</thead>
<tbody>
<tr>
<td>While the Managed AD Service domain is deployed from the host project, the actual resources (domain controllers and VPC network) belong to a project managed by Google. You do not have access to this project.</td>
</tr>
</tbody>
</table>
<p>A shared Citrix Cloud tenant (<strong>8</strong>) is provisioned to deploy and manage the resources of multiple customers. These customers share the Citrix Virtual Apps and Desktop Service components (like Delivery Controllers, Databases, Director, Studio, Licensing, and APIs).</p>
<p>A dedicated <a href="https://docs.citrix.com/en-us/citrix-workspace/experience.html">Citrix Workspace Experience</a> (<strong>9</strong>) is deployed for each customer. The dedicated Workspace Experience allows CSPs to brand the login page, along with customizing the access URL for each customer. Each customer uses the Citrix Gateway Service for authentication and HDX connections to their resources.</p>
<p>A dedicated Citrix Cloud tenant (<strong>10</strong>) can be provisioned for the bigger, most complex customers. This dedicated environment provides an isolated Citrix Virtual Apps and Desktop service, along with all of its components, and a dedicated Citrix Workspace Experience. There is no additional Citrix licensing costs to deploy a dedicated Citrix Cloud tenant</p>
<h2>Deploying the Managed Service for Microsoft Active Directory</h2>
<p>In this section, we cover the steps required to deploy the Managed AD Service domain. This section assumes that a GCP subscription is available, and resources such as projects, VPC networks, firewall configurations, and other GCP components have already been deployed.</p>
<p>1- On the navigation menu, go to <strong>IDENTITY &amp; SECURITY &gt; Identity &gt; Managed Microsoft AD</strong>.</p>
<p></p><p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-gcp_004.png.3e5d90fa0812905b03514188f0af62c8.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="3111" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-gcp_004.png.3e5d90fa0812905b03514188f0af62c8.png" width="1016" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_csp-gcp_004.png" loading="lazy" height="416.56"></a></p>
<p>2- On the <strong>Managed Service for Microsoft Active Directory</strong> screen, click <strong>CREATE NEW DOMAIN</strong>.</p>
<p></p><p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-gcp_005.png.1afb029570f0717c944bf38e8ee9ee5f.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="3113" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-gcp_005.png.1afb029570f0717c944bf38e8ee9ee5f.png" width="1018" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_csp-gcp_005.png" loading="lazy" height="295.22"></a></p>
<table>
<thead>
<tr>
<th>NOTES:</th>
</tr>
</thead>
<tbody>
<tr>
<td>*  Managed domain controllers are deployed with the ADDS and DNS roles.</td>
</tr>
<tr>
<td>*  Management VMs must be created separately.</td>
</tr>
</tbody>
</table>
<p>3- On the <strong>Create a new domain</strong> screen, enter the following information:</p>
<ul>
<li><strong>Fully qualified domain name</strong>: domain FQDN, for example, customer.com</li>
<li><strong>NetBIOS</strong>: this is automatically populated</li>
<li><strong>Select networks</strong>: networks that will have access to the service,</li>
<li><strong>CIDR Range</strong>: a /24 CIDR range for the VPC where the domain controllers are be deployed</li>
</ul>
<p></p><p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-gcp_006.png.25be8a78dda1d6b6094986771f7fafa7.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="3115" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-gcp_006.png.25be8a78dda1d6b6094986771f7fafa7.png" width="786" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_csp-gcp_006.png" loading="lazy" height="762.42"></a></p>
<table>
<thead>
<tr>
<th>NOTES:</th>
</tr>
</thead>
<tbody>
<tr>
<td>*  The VPC that is deployed as part of the service cannot be managed from the GCP console.</td>
</tr>
<tr>
<td>*  CIDR range must not overlap with your current subnets.</td>
</tr>
</tbody>
</table>
<p>4- Scroll down and enter the following information:</p>
<ul>
<li><strong>Region</strong>: GCP regions in which to deploy the Managed AD service domain</li>
<li><strong>Delegated Admin</strong>: name of the delegated administrator account</li>
<li>Click <strong>CREATE DOMAIN</strong></li>
</ul>
<p></p><p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-gcp_007.png.f42e3eae617a346c7a389fbc621ff00b.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="3117" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-gcp_007.png.f42e3eae617a346c7a389fbc621ff00b.png" width="792" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_csp-gcp_007.png" loading="lazy" height="649.44"></a></p>
<table>
<thead>
<tr>
<th>NOTES:</th>
</tr>
</thead>
<tbody>
<tr>
<td>*  The delegated administrator account resides on the Users container. While you can reset its password directly in the ADUC console, you cannot move the object to a different OU.</td>
</tr>
<tr>
<td>*  When joining a computer to the domain, its AD account is created under the <strong>Cloud &gt; Computers</strong> OU, not the default Computers container.</td>
</tr>
<tr>
<td>*  Service creation can take up to 60 minutes.</td>
</tr>
</tbody>
</table>
<p>5- Once creation is finalized, select your domain and click <strong>SET PASSWORD</strong>.</p>
<p></p><p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-gcp_008.png.8b9a3cd08c6a201f9ee975f1b0138f7a.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="3119" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-gcp_008.png.8b9a3cd08c6a201f9ee975f1b0138f7a.png" width="790" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_csp-gcp_008.png" loading="lazy" height="450.3"></a></p>
<p>6- On the <strong>Set password</strong> window, click <strong>CONFIRM</strong>.</p>
<p></p><p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-gcp_009.png.a411ebdedaa2c3f515285795481425cd.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="3121" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-gcp_009.png.a411ebdedaa2c3f515285795481425cd.png" width="598" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_csp-gcp_009.png" loading="lazy" height="316.94"></a></p>
<p>7- On the <strong>New password</strong> window, copy the password and click <strong>DONE</strong>.</p>
<p></p><p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-gcp_010.png.f30769d0f97674f4ae268fff438bdc53.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="3123" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-gcp_010.png.f30769d0f97674f4ae268fff438bdc53.png" width="598" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_csp-gcp_010.png" loading="lazy" height="293.02"></a></p>
<p>Once the service has been created and is ready for use, you can start deploying other instances and join them to the domain. You can also complete your Citrix DaaS site configuration.</p>]]></description><guid isPermaLink="false">84</guid><pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate></item><item><title>Reference Architecture: Citrix DaaS implementation with Azure Active Directory Domain Services for CSPs</title><link>https://community.citrix.com/tech-zone/design/reference-architectures/csp-cvads-aad/</link><description><![CDATA[
<h2>Architecture</h2>
<p><a href="https://docs.microsoft.com/en-us/azure/active-directory-domain-services/overview">Azure Active Directory Domain Services</a> is a fully managed Active Directory service on Microsoft Azure. Not to be confused with Azure AD, which is a cloud-based identity and authentication service for Microsoft services, Azure AD Domain Services (ADDS) provides managed domain controllers. Azure ADDS includes enterprise features like domain-join and group policy. While Azure AD leverages modern authentication and authorization protocols like OpenID Connect and OAuth 2.0, Azure ADDS utilizes traditional protocols that rely on Active Directory, like LDAP and Kerberos. Azure AD Domain Services automatically synchronizes identities from Azure AD to your managed AD environment.</p>
<p>Azure ADDS automatically deploys and manages highly available Active Directory domain controllers on your Azure subscription. Domain controller access is restricted, and you can only manage your domain by deploying management instances with Remote Server Administration tools. Additionally, Domain Admin and Enterprise Admin permissions are not available under the managed service. The Azure ADDS instance is deployed directly to a Virtual Network (VNet) within your subscription, resources can be deployed to the same VNet, or in different VNets. If resources are deployed to a different VNet, it must be connected to the Azure ADDS VNet via a VNet peering.</p>
<p>Azure ADDS can be deployed as a <a href="https://docs.microsoft.com/en-us/azure/active-directory-domain-services/concepts-resource-forest">user forest</a>, or a resource forest. For this implementation, we are deploying Azure ADDS as a user forest, without configuring a trust to an external on-premises AD environment. Also, the Citrix DaaS resources are deployed based on our <a href="/en-us/tech-zone/design/reference-architectures/csp-cvads.html">CSP reference architecture</a>.</p>
<h3>Architecture Scenario 1</h3>
<p>This deployment scenario implies the following considerations:</p>
<ul>
<li><strong>Azure AD</strong>:
<ul>
<li>Shared Azure AD tenant for all customers</li>
</ul></li>
<li><strong>Azure ADDS</strong>:
<ul>
<li>Shared Azure ADDS instance for all customers</li>
</ul></li>
<li><strong>Subscriptions</strong>:
<ul>
<li>Shared Azure subscription for smaller customers</li>
<li>Dedicated Azure subscriptions for larger customers</li>
</ul></li>
<li><strong>Network Connectivity</strong>:
<ul>
<li>VNET Peering from dedicated subscriptions to the shared subscription for Azure ADDS connectivity</li>
</ul></li>
</ul>
<p></p><p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_001.png.67065c0bacf99733ffdea32706f86f5d.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="2769" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_001.png.67065c0bacf99733ffdea32706f86f5d.png" width="938" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_csp-cvads-aad_001.png" loading="lazy" height="637.84"></a></p>
<h3>Architecture Scenario 2</h3>
<p>This deployment scenario implies the following considerations:</p>
<ul>
<li><strong>Azure AD</strong>:
<ul>
<li>Shared Azure AD tenant for all customers</li>
<li>Dedicated Azure AD tenant for larger customers</li>
</ul></li>
<li><strong>Azure ADDS</strong>:
<ul>
<li>Shared Azure ADDS instance for all customers</li>
</ul></li>
<li><strong>Subscriptions</strong>:
<ul>
<li>Shared Azure subscription for smaller customers</li>
<li>Dedicated Azure subscriptions for larger customers</li>
</ul></li>
<li><strong>Network Connectivity</strong>:
<ul>
<li>VNET Peering from dedicated subscriptions to the shared subscription for Azure ADDS connectivity</li>
</ul></li>
</ul>
<p></p><p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_002.png.e12c03ad69d3ad0292247879ebd858ec.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="2771" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_002.png.e12c03ad69d3ad0292247879ebd858ec.png" width="938" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_csp-cvads-aad_002.png" loading="lazy" height="619.08"></a></p>
<h3>Architecture Scenario 3</h3>
<p>This deployment scenario implies the following considerations:</p>
<ul>
<li><strong>Azure AD</strong>:
<ul>
<li>Shared Azure AD tenant for all customers</li>
<li>Dedicated Azure AD tenant for larger customers</li>
</ul></li>
<li><strong>Azure ADDS</strong>:
<ul>
<li>Shared Azure ADDS instance for small customers</li>
<li>Dedicated Azure ADDS instance for larger customers</li>
</ul></li>
<li><strong>Subscriptions</strong>:
<ul>
<li>Shared Azure subscription for smaller customers</li>
<li>Dedicated Azure subscriptions for larger customers</li>
</ul></li>
<li><strong>Network Connectivity</strong>:
<ul>
<li>No VNET peering from dedicated subscriptions to shared subscription</li>
</ul></li>
</ul>
<p></p><p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_003.png.ad90cf9e05f1dd11b56f8091e534034e.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="2773" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_003.png.ad90cf9e05f1dd11b56f8091e534034e.png" width="938" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_csp-cvads-aad_003.png" loading="lazy" height="628.46"></a></p>
<h2>Azure Resource Hierarchy</h2>
<p>When designing and organizing your Azure subscription resources, take the following resource hierarchy in consideration:</p>
<p></p><p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_004.png.6f89ddc7cfc2217ccc3c776a4c38cbcd.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="2775" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_004.png.6f89ddc7cfc2217ccc3c776a4c38cbcd.png" width="572" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_csp-cvads-aad_004.png" loading="lazy" height="348.92"></a></p>
<h2>Initial Assumptions</h2>
<h3>Azure ADDS</h3>
<ul>
<li>Azure AD tenant exists</li>
<li>Azure subscription exists</li>
<li>An Azure AD account with the following permissions is available:
<ul>
<li>Azure AD: Global Admin</li>
<li>Subscription: Contributor</li>
</ul></li>
<li>Azure ADDS will be deployed as a standalone user forest, no trust will be configured</li>
<li>While it is a possibility, existing AD users will not be synchronized via Azure AD Connect</li>
<li>Self-service password reset will be deployed to force password resets for password hash synchronization</li>
</ul>
<h3>Citrix Cloud</h3>
<ul>
<li>A Citrix Cloud subscription is available</li>
<li>Citrix Cloud Connector will be deployed</li>
<li>VDA master image will be deployed</li>
<li>Azure hosting connections will be configured</li>
<li>Machine Catalog and Delivery Group will be configured</li>
</ul>
<h2>Terminology</h2>
<p>The following are the most common Azure terms you need to understand, as described in the Azure documentation:</p>
<ul>
<li><strong>Azure subscriptions:</strong> Azure subscriptions are an agreement with Microsoft to use Azure services. Billing is tied to a subscription based on the resources consumed, and resources cannot be deployed without a subscription. Subscriptions allow you to organize access to resources. Subscription types include trial, pay as you go, Enterprise Agreement, and MSDN, and each one can have a different payment setup. Azure subscriptions must be tied to an Azure AD tenant.</li>
<li><strong>Azure AD:</strong> Azure AD is Microsoft’s cloud-based identity management service for users, groups, and devices. Azure AD is not to be considered a replacement to traditional Active Directory Domain Services, as it does not support LDAP or Kerberos. Multiple Azure subscriptions can be tied to a single Azure AD tenant. Azure AD offers different types of licenses (Free, Premium 1, and Premium 2) which provide different functionality based on the license level.</li>
<li><strong>Management Groups:</strong> Azure Management Groups are containers that allow you to manage access, policy, and compliance across multiple subscriptions. Management groups can contain subscriptions, or other management groups.</li>
<li><strong>Azure RBAC:</strong> Azure RBAC is utilized to manage authorization for Azure resources. Azure RBAC contains over 70 built-in roles and allows you to create custom roles to manage authorization to resources based on your requirements. Permissions are cascaded from management groups to subscriptions, from subscriptions to resources groups, and from resource groups to resources. The Owner RBAC role provides the highest level of permissions over an Azure Resource and also allows you to manage resource permissions for other users.</li>
<li><strong>Azure AD Roles:</strong> Azure AD roles are used to manage Azure AD related actions, like creating users, groups, app registrations, interaction with APIs, and more. The Global Administrator role grants the highest level of authorization in Azure AD, including access to all Azure AD features, manage roles and licensing for other users, and more. The Global Administrator role is automatically assigned to the user who first creates the Azure AD tenant.</li>
<li><strong>Custom Azure AD Domain:</strong> All new Azure AD tenants are created under the onmicrosoft.com domain, custom domains can be configured by validating ownership with your domain registrar.</li>
<li><strong>Resource Groups:</strong> Resource groups are logical containers utilized to organize resources within Azure and manage their permissions via RBAC. Typically, resources within a resource group share a similar lifecycle. A resource group cannot contain other resource groups, and Azure resources cannot be created unless you specify a resource group. While a Resource Group is deployed to an Azure region, it can contain resources from different regions.</li>
<li><strong>VNET:</strong> An Azure VNET is a software defined network that allows you to manage and deploy resources under an isolated address space in Azure. VNETs allow resources to communicate with other resources on the same VNET, the internet, resources in other VNETs, or on-premises. Access to and from VNETs is secured via Network Security Groups and you can also configure routes by implementing User Defined Routes. Azure VNETs are a layer 3 overlays, so they do not understand any layer 2 semantics like VLANs or GARP. All VNETs contain a main address space and must contain at least one subnet with an address space within it. VM IPs in a VNET are not attached to the actual VM instance, they are assigned to the VM NIC, which is managed as an independent resource.</li>
<li><strong>VNET Peering:</strong> A peering allows for 2 VNETs to connect and communicate via the Azure backbone, as opposed to the traditional VNET-to-VNET connection, which routes traffic through the public internet. Peerings allow for low latency and can be configured across different regions, different subscriptions, and even different Azure AD tenants. Peering connections are non-transitive by default, advanced configuration is required to change this behavior. In a hub and spoke architecture, a spoke VNET can only communicate with the hub, but it is unable to communicate with resources in other spokes.</li>
<li><strong>Network Security Group:</strong> A Network Security Group (NSG) is a set of rules that enable you to control inbound and outbound access to resources inside a VNET, they can be attached to a subnet or a NIC. Inbound and outbound rules within a Network Security Group are managed independently, and all rules must have a priority from 100 and 4096. By default, Network Security Groups include a set of default rules that permit traffic between resources in the same VNET, outbound internet access, among others. Network Security Groups have no relationship whatsoever with OS level firewall configurations and as a rule of thumb, a zero-trust approach is recommended when designing your Network Security Groups.</li>
<li><strong>App Registration:</strong> An app registration is an Azure AD account that allows an external application to interact with Azure APIs. When an app registration is created, Azure AD generates an app ID and a secret, which act as a user name and password. In this implementation, an app registration is created to allow Citrix Cloud to interact with Azure and perform machine creation and power management tasks.</li>
</ul>
<h2>Azure ADDS Considerations</h2>
<ul>
<li>Azure ADDS automatically synchronizes user identities from Azure AD</li>
<li>Synchronization works from Azure AD to Azure ADDS, not the opposite way</li>
<li>It can leverage users created in the Cloud, or users synced via Azure AD Connect</li>
<li>Azure AD Connect cannot be installed on an Azure ADDS environment to sync objects back to Azure AD</li>
<li>LDAP write functions only work for objects created directly on ADDS, not for users synced from Azure AD</li>
<li>Azure ADDS can only be used as a standalone domain (one forest, one domain only), not as an extension of an on-premises domain</li>
<li>The service is deployed on Azure Availability Zones where available</li>
<li>Azure ADDS is deployed as a user forest by default, at the moment of this writing, the resource forest deployment model is on preview</li>
<li>For users synced from Azure AD, the password hash is not synchronized until the users reset their password, Azure Self Service Password Reset is utilized to help users reset their passwords.</li>
<li>The AAD DC Administrators group, which is created when the Azure ADDS instance is deployed, cannot be edited inside ADUC. AAD DC Administrators group can only be edited from within Azure AD groups in the Azure console</li>
<li>For users synced from Azure AD:
<ul>
<li>The password cannot be reset from the ADUC console</li>
<li>Cannot be moved to a different OU</li>
<li>These users are typically used to manage the Azure ADDS instance as a CSP, end customer users can be created inside ADUC</li>
</ul></li>
<li>GPOs can be created and linked to the pre-created AADDC Computers and AADC Users organizational units, not to other pre-created OUs
<ul>
<li>You can create your own OU structure and deploy GPOs</li>
<li>Domain and Site level GPOs cannot be created</li>
</ul></li>
<li>OU lockdown is possible by utilizing the Delegation of Control Wizard on new OUs
<ul>
<li>Does not work on pre-created OUs</li>
</ul></li>
</ul>
<h2>Logon Process Considerations</h2>
<p>Azure ADDS synchronizes user accounts from the Azure AD tenant under which is created. It includes accounts created with a custom domain, accounts created with the initial onmicrosoft.com domain, and B2B accounts (external accounts added to Azure AD as guests). Based on the type of user account, users will have a different logon experience:</p>
<ul>
<li>Custom domain accounts:
<ul>
<li>Login using UPN (user@domain.com): Login successful</li>
<li>Login using NetBIOS (domain\user): Login successful</li>
</ul></li>
<li>Onmicrosoft domain accounts:
<ul>
<li>Login using UPN (user@domain.onmicrosoft.com): Login unsuccessful <em>(1)</em></li>
<li>Login using NetBIOS (domain\user): Login successful <em>(2)</em></li>
</ul></li>
<li>B2B accounts (guests):
<ul>
<li>Login using UPN (user@domain.com): Login unsuccessful</li>
<li>Login using NetBIOS (domain\user): Login unsuccessful <em>(3)</em></li>
</ul></li>
</ul>
<p><strong><em>NOTE:</em></strong><br>
<em>(1)</em> Adding an alternate UPN name is not allowed on Azure ADDS, so these users cannot login via UPN.</p>
<p><em>(2)</em> This works properly because the NetBIOS name is the same for all users.</p>
<p><em>(3)</em> These users cannot authenticate against Azure ADDs, even though they are synchronized, Azure does not have access to their password hash.</p>
<h2>Implementation</h2>
<h3>Azure Components</h3>
<h4>Step 1: Create a Resource Group for Azure ADDS</h4>
<p>1- On the Azure portal menu, select Resource Groups, and click <strong>Add</strong></p>
<p></p><p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_005.png.210a5201df55f5443eda023562cd7aa1.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="2777" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_005.png.210a5201df55f5443eda023562cd7aa1.png" width="936" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_csp-cvads-aad_005.png" loading="lazy" height="355.68"></a></p>
<p><strong>Considerations:</strong></p>
<ul>
<li>This step assumes an Azure subscription has been created and is ready to deploy the resources.</li>
</ul>
<p>2- On the Basics tab, enter the following information, and click <strong>Review + Create</strong></p>
<ul>
<li>Subscription</li>
<li>Resource group name</li>
<li>Resource group region</li>
</ul>
<p></p><p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_006.png.942094ab8789c0c671a9facdabbf1df6.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="2779" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_006.png.942094ab8789c0c671a9facdabbf1df6.png" width="594" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_csp-cvads-aad_006.png" loading="lazy" height="498.96"></a></p>
<p>3- On the Review + create tab, click <strong>Create</strong></p>
<p></p><p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_007.png.a0c90feed73eccfcdcae57e093dc770c.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="2781" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_007.png.a0c90feed73eccfcdcae57e093dc770c.png" width="426" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_csp-cvads-aad_007.png" loading="lazy" height="677.34"></a></p>
<p><strong>Considerations:</strong></p>
<ul>
<li>Repeat these steps to create resource groups for customer resources, networks, and more.</li>
<li>Optionally, you can pre-create resource groups for Citrix Machine Creation Services to utilize. Machine Creation Services (MCS) can only utilize empty resource groups.</li>
</ul>
<h4>Step 2: Create the Azure ADDS VNet</h4>
<p>1- On the Azure portal menu, select <strong>Virtual Networks</strong>, and click <strong>Add</strong>.</p>
<p></p><p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_008.png.c982ab678f0faad207e911dcb4c9bb1d.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="2783" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_008.png.c982ab678f0faad207e911dcb4c9bb1d.png" width="606" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_csp-cvads-aad_008.png" loading="lazy" height="424.2"></a></p>
<p>2- On the Basics tab, enter the following information, and click <strong>Next: IP Addresses</strong>:</p>
<ul>
<li>Subscription</li>
<li>Resource group name</li>
<li>VNET name</li>
<li>VNET region</li>
</ul>
<p></p><p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_009.png.2636aad4b03bcb957f6a288ae07aa201.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="2785" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_009.png.2636aad4b03bcb957f6a288ae07aa201.png" width="604" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_csp-cvads-aad_009.png" loading="lazy" height="483.2"></a></p>
<p>3- On the IP Addresses tab, enter the following information, and click <strong>Next: Security</strong>:</p>
<ul>
<li>IPv4 address space</li>
<li>Add subnets</li>
</ul>
<p></p><p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_010.png.6744b50db1f5655a6b7c8882c768aa41.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="2787" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_010.png.6744b50db1f5655a6b7c8882c768aa41.png" width="604" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_csp-cvads-aad_010.png" loading="lazy" height="628.16"></a></p>
<p><strong>Considerations:</strong></p>
<ul>
<li>Add subnets as determined by your network design decisions. In this case, we are adding a subnet for the ADDS service, and a subnet for shared infrastructure resources, including Citrix Cloud Connectors, master images, and so forth and so on.</li>
</ul>
<p>4- On the Security tab, configure <strong>DDoS and Firewall</strong> as required, and click <strong>Review + create</strong></p>
<p></p><p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_011.png.2223b66de309f6cc2403968dea6d6470.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="2789" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_011.png.2223b66de309f6cc2403968dea6d6470.png" width="596" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_csp-cvads-aad_011.png" loading="lazy" height="709.24"></a></p>
<p>5- On the Review + create tab, click <strong>Create</strong>.</p>
<p></p><p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_012.png.ff3f826ee82b70b56d8fa85dd1a1c912.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="2791" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_012.png.ff3f826ee82b70b56d8fa85dd1a1c912.png" width="594" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_csp-cvads-aad_012.png" loading="lazy" height="706.86"></a></p>
<p><strong>Considerations:</strong></p>
<ul>
<li>Repeat these steps to create customer networks, both in the same subscription, or any additional subscription.</li>
</ul>
<h4>Step 3: Configure VNet Peerings</h4>
<p>1- On the Azure portal menu, select <strong>Virtual Networks</strong>, and select the <strong>VNET</strong> where ADDS will be deployed.</p>
<p></p><p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_013.png.b38e9cd81738540ce9275caca010e79e.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="2793" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_013.png.b38e9cd81738540ce9275caca010e79e.png" width="952" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_csp-cvads-aad_013.png" loading="lazy" height="447.44"></a></p>
<p><strong>Considerations:</strong></p>
<ul>
<li>For this implementation, networking is designed in a hub and spoke architecture. A VNET peering will be configured from the Azure ADDS network (hub) to the customer networks (spokes).</li>
<li>By default, VNET peerings are not transitive, so spoke networks are not able to communicate with each other unless <a href="https://docs.microsoft.com/en-us/azure/active-directory-domain-services/overview">intentionally configured</a>.</li>
<li>If peering networks on different Azure subscriptions and Azure AD tenants:
<ul>
<li>Users must be added as guest users on the opposite subscription and be granted with RBAC permissions to peer networks.</li>
<li>Network Security Groups must be properly configured on both sides.</li>
</ul></li>
</ul>
<p>2- On the VNET blade, click <strong>Peerings</strong> and <strong>Add</strong>.</p>
<p></p><p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_014.png.391ed8f7f69a192cfb2c9885fbcac307.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="2795" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_014.png.391ed8f7f69a192cfb2c9885fbcac307.png" width="598" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_csp-cvads-aad_014.png" loading="lazy" height="843.18"></a></p>
<p>3- On the Add peering blade, enter the following information:</p>
<ul>
<li>Name of the peering from the source VNET to the destination VNET</li>
<li>Subscription</li>
<li>Destination virtual network</li>
<li>Name of the peering from the destination VNET to the source VNET</li>
</ul>
<p></p><p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_015.png.1fca21684a9a75cda34b07e9993bc981.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="2797" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_015.png.1fca21684a9a75cda34b07e9993bc981.png" width="598" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_csp-cvads-aad_015.png" loading="lazy" height="520.26"></a></p>
<p>4- Scroll down and click <strong>OK</strong></p>
<p></p><p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_016.png.2dc6a60167bfbc07f079e9d47b2928b7.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="2799" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_016.png.2dc6a60167bfbc07f079e9d47b2928b7.png" width="598" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_csp-cvads-aad_016.png" loading="lazy" height="418.6"></a></p>
<p><strong>Considerations:</strong></p>
<ul>
<li>Repeat these steps to peer other customer (spoke) networks.</li>
</ul>
<h4>Step 4: Create the Azure AD Domain Services instance</h4>
<p>1- On the Azure search bar, type <strong>Domain Services</strong>, and click <strong>Azure AD Domain Services</strong></p>
<p></p><p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_017.png.1489efc8fe011bfc8c8723e88860055b.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="2801" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_017.png.1489efc8fe011bfc8c8723e88860055b.png" width="938" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_csp-cvads-aad_017.png" loading="lazy" height="309.54"></a></p>
<p>2- On the Azure AD Domain Services page, click <strong>+ Add</strong>.</p>
<p></p><p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_018.png.c2a68865d2633fab2416fd3da22121bc.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="2803" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_018.png.c2a68865d2633fab2416fd3da22121bc.png" width="598" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_csp-cvads-aad_018.png" loading="lazy" height="430.56"></a></p>
<p>3- On the Basics tab, enter the following information, and click <strong>Next</strong>:</p>
<ul>
<li>Subscription</li>
<li>Resource group name</li>
<li>DNS domain name</li>
<li>Region</li>
<li>SKU</li>
<li>Forest type</li>
</ul>
<p></p><p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_019.png.ee3a6c90a29358653c40e2540c49e6c6.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="2805" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_019.png.ee3a6c90a29358653c40e2540c49e6c6.png" width="598" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_csp-cvads-aad_019.png" loading="lazy" height="663.78"></a></p>
<p><strong>Considerations:</strong></p>
<ul>
<li>The AAD DS instance region must match that of the network you pre-created on the previous steps.</li>
<li>A <strong>User Forest</strong> is the default type of forest on Azure ADDS, they synchronize all Azure AD user accounts to Azure ADDS so that they authenticate against the Azure ADDS instance. This model assumes user password hashes can be synced.</li>
<li>A <strong>Resource forest:</strong> is a recently supported type of forest, which is on preview. Under this deployment model, Azure ADDS is used to manage machine accounts. A one-way trust is configured from Azure ADDS (trusting domain) to an on-premises AD environment (the trusted domain). With this configuration, user accounts from the on-premises environment can log in to resources hosted in Azure which are joined to the Azure ADDS domain. This type of forest assumes network connectivity to the on-premises domain is configured.</li>
</ul>
<p>4- On the Networking tab, enter the following information, and click <strong>Next</strong>:</p>
<ul>
<li>Virtual Network</li>
<li>Subnet</li>
</ul>
<p></p><p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_020.png.dc67db757231886a6c8b2b200f9f1ee7.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="2807" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_020.png.dc67db757231886a6c8b2b200f9f1ee7.png" width="598" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_csp-cvads-aad_020.png" loading="lazy" height="669.76"></a></p>
<p>5- On the Administration tab, click <strong>Manage group membership</strong></p>
<p></p><p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_021.png.97636dc374fce329c7c44e7fbc1d5598.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="2809" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_021.png.97636dc374fce329c7c44e7fbc1d5598.png" width="598" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_csp-cvads-aad_021.png" loading="lazy" height="639.86"></a></p>
<p>6- On the Members blade, click <strong>+ Add members</strong></p>
<p></p><p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_022.png.334bfa47e5502a8a9c4567b09783ebc6.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="2811" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_022.png.334bfa47e5502a8a9c4567b09783ebc6.png" width="940" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_csp-cvads-aad_022.png" loading="lazy" height="282"></a></p>
<p>7- On the Add members blade, search for the accounts that you want to add as members of the AAD DC Administrators group.</p>
<p></p><p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_023.png.305034e4bd19ca7b980983044abd7a49.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="2813" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_023.png.305034e4bd19ca7b980983044abd7a49.png" width="598" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_csp-cvads-aad_023.png" loading="lazy" height="490.36"></a></p>
<p>8- Once the users have been added, click <strong>Select</strong></p>
<p></p><p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_024.png.0e23f30be5cde27c4a719ea7eaadbd47.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="2815" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_024.png.0e23f30be5cde27c4a719ea7eaadbd47.png" width="598" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_csp-cvads-aad_024.png" loading="lazy" height="436.54"></a></p>
<p>9- Back on the Administration tab, click <strong>Next</strong></p>
<p></p><p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_025.png.134300dea89ab04e39fffa763d1ea1d7.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="2817" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_025.png.134300dea89ab04e39fffa763d1ea1d7.png" width="598" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_csp-cvads-aad_025.png" loading="lazy" height="675.74"></a></p>
<p><strong>Considerations:</strong></p>
<ul>
<li>The AAD DC Administrators group membership can only be managed from Azure AD, it cannot be managed from the ADUC console in the Azure ADDS instance.</li>
</ul>
<p>10- On the Synchronization tab, click <strong>Next</strong></p>
<p></p><p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_026.png.31dab7ce64bd37bbd2b6e991b853f34f.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="2819" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_026.png.31dab7ce64bd37bbd2b6e991b853f34f.png" width="598" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_csp-cvads-aad_026.png" loading="lazy" height="663.78"></a></p>
<p><strong>Considerations:</strong></p>
<ul>
<li>This page can be optionally utilized to select which Azure AD objects to synchronize to Azure ADDS by selecting the Scoped sync type.</li>
</ul>
<p>11- On the Review tab, click <strong>Create</strong></p>
<p></p><p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_027.png.bc8357d6380764071efacc48a377d00c.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="2821" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_027.png.bc8357d6380764071efacc48a377d00c.png" width="598" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_csp-cvads-aad_027.png" loading="lazy" height="867.1"></a></p>
<p>12- On the confirmation pop-up, click <strong>OK</strong></p>
<p></p><p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_028.png.b3b0391a2d95a62111924bc7edd92196.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="2823" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_028.png.b3b0391a2d95a62111924bc7edd92196.png" width="598" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_csp-cvads-aad_028.png" loading="lazy" height="478.4"></a></p>
<p><strong>Considerations:</strong></p>
<ul>
<li>The process to create the Azure ADDS instance can take up to 1 hour.</li>
</ul>
<h4>Step 5: Configure DNS for the Azure ADDS VNET</h4>
<p>1- Once the Azure ADDS instance has been created, under <strong>Update DNS server settings for your virtual network</strong>, click <strong>Configure</strong></p>
<p></p><p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_029.png.26059153237b1f2e3cc41134998c2782.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="2825" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_029.png.26059153237b1f2e3cc41134998c2782.png" width="598" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_csp-cvads-aad_029.png" loading="lazy" height="592.02"></a></p>
<p><strong>Considerations:</strong></p>
<ul>
<li>This step automatically configures the DNS settings of the VNET where the Azure ADDS instance was created (Hub network). Once configured, all DNS queries are forwarded to the managed domain controllers.</li>
<li>Customer networks (spokes) must have their DNS settings updated manually.</li>
</ul>
<h4>Step 6: Configure DNS for the customer networks</h4>
<p>1- On the Azure portal menu, select <strong>Virtual Networks</strong>, and select your customer (spoke) VNET.</p>
<p></p><p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_030.png.58c505d28f3ef0c5945bcf07582a3135.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="2827" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_030.png.58c505d28f3ef0c5945bcf07582a3135.png" width="600" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_csp-cvads-aad_030.png" loading="lazy" height="462"></a></p>
<p>2- On the VNET blade, click <strong>DNS Servers</strong>, select <strong>Custom</strong>, enter the IP address of the managed domain controllers and click <strong>Save</strong></p>
<p></p><p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_031.png.a53cd2516843ab4f93640190e5e14de3.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="2829" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_031.png.a53cd2516843ab4f93640190e5e14de3.png" width="600" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_csp-cvads-aad_031.png" loading="lazy" height="372"></a></p>
<p><strong>Considerations:</strong></p>
<ul>
<li>Repeat these steps for every customer (spoke) VNET, and any other external VNET that is peered to the VNET hosting the Azure ADDS instance.</li>
</ul>
<h4>Step 7: Configure Self Service Password Reset (SSPR)</h4>
<p>1- On the Azure portal menu, select <strong>Azure Active Directory</strong>, and click <strong>Password reset</strong></p>
<p></p><p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_032.png.db41553447adf6326908f7a12f0281c4.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="2831" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_032.png.db41553447adf6326908f7a12f0281c4.png" width="600" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_csp-cvads-aad_032.png" loading="lazy" height="552"></a></p>
<p><strong>Considerations:</strong></p>
<ul>
<li>When Azure AD users are initially synced to Azure ADDS, their password hash is not synced, therefore, users must reset their password for this to occur. SSPR is utilized to allow for users to reset their passwords in a simple and secure manner.</li>
<li>User authentication against Azure ADDS does not work until this step is performed.</li>
<li>The step to enable SSPR is only required if it has not been previously configured.</li>
<li>This step is only required if Azure AD users are being managed from the Azure portal (not users synced from on-prem AD via Azure AD Connect). For users synced from on-prem AD via Azure AD connect, follow these steps.</li>
</ul>
<p>2- On the Properties blade, select <strong>All</strong>, and click <strong>Save</strong>.</p>
<p></p><p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_033.png.b78e00dd03e053359311c909e97e9b0a.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="2833" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_033.png.b78e00dd03e053359311c909e97e9b0a.png" width="940" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_csp-cvads-aad_033.png" loading="lazy" height="347.8"></a></p>
<p><strong>Considerations:</strong></p>
<ul>
<li>You can optionally choose Selected to enable SSPR only to a subset of users.</li>
<li>Next time the users login, they will be forced to register to SSPR.</li>
</ul>
<h4>Step 8: SSPR User Registration Process</h4>
<p>1- When a user logs in, they are redirected to the <strong>SSPR registration</strong> screen and configure their authentication methods.</p>
<p></p><p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_034.png.b35b5cd606252227d69c8167552a4708.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="2835" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_034.png.b35b5cd606252227d69c8167552a4708.png" width="938" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_csp-cvads-aad_034.png" loading="lazy" height="281.4"></a></p>
<p><strong>Considerations:</strong></p>
<ul>
<li>SSPR authentication methods can be selected on the SSPR configuration blade in the Azure portal.</li>
<li>For this example, SSPR has been enabled with the basic settings, which requires for a Phone an Email to be configured.</li>
</ul>
<p>2- Once the users enter their authentication information, the SSPR enrollment process is complete.</p>
<p></p><p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_035.png.b60b6218b0cb10de2ea813fe140264ff.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="2837" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_035.png.b60b6218b0cb10de2ea813fe140264ff.png" width="598" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_csp-cvads-aad_035.png" loading="lazy" height="209.3"></a></p>
<p>3- Users can now navigate to <a href="https://aka.ms/sspr">Self-Service Password Reset</a> to reset their password.</p>
<p></p><p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_036.png.1110f516079c5ecf0ba24017057a66d7.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="2839" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_036.png.1110f516079c5ecf0ba24017057a66d7.png" width="598" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_csp-cvads-aad_036.png" loading="lazy" height="544.18"></a></p>
<p><strong>Considerations:</strong></p>
<ul>
<li>Once this step is complete and the users reset their password, the password hash is synced from Azure AD to Azure ADDS.</li>
<li>For synced users, the ADUC cannot be utilized to reset their password.</li>
</ul>
<h4>Step 9: Create the AD management VM</h4>
<p>1- On the Azure portal menu, select <strong>Virtual Machines</strong>, and click <strong>Add</strong></p>
<p></p><p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_037.png.f8501bcb3779edb642b58e0cf2b39cbd.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="2841" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_037.png.f8501bcb3779edb642b58e0cf2b39cbd.png" width="598" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_csp-cvads-aad_037.png" loading="lazy" height="466.44"></a></p>
<p>2- On the Basics tab, enter the following information, and click <strong>Next: Disks</strong>:</p>
<ul>
<li>Subscription</li>
<li>Resource group</li>
<li>VM Name</li>
<li>Region</li>
<li>Availability options</li>
<li>Image</li>
<li>Size</li>
<li>Admin account details</li>
</ul>
<p></p><p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_038.png.6a86ba888bcc3a0b8b9af47ef0a9c776.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="2843" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_038.png.6a86ba888bcc3a0b8b9af47ef0a9c776.png" width="598" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_csp-cvads-aad_038.png" loading="lazy" height="568.1"></a></p>
<p></p><p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_039.png.a928dcb909b3a6c4aad4d6c8ac9be3b4.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="2845" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_039.png.a928dcb909b3a6c4aad4d6c8ac9be3b4.png" width="598" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_csp-cvads-aad_039.png" loading="lazy" height="532.22"></a></p>
<p>3- On the Disks tab, enter the <strong>OS Disk Type</strong>, and click <strong>Next: Networking</strong></p>
<p></p><p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_040.png.c9da625dc3c5d20aa21df415826cddbb.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="2847" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_040.png.c9da625dc3c5d20aa21df415826cddbb.png" width="598" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_csp-cvads-aad_040.png" loading="lazy" height="639.86"></a></p>
<p>4- On the Networking tab, configure the following information, and click <strong>Next: Management</strong>:</p>
<ul>
<li>Virtual network</li>
<li>Subnet</li>
<li>Public IP (if applicable)</li>
<li>Network security group</li>
</ul>
<p></p><p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_041.png.1b71483400b356500a20215edc5b6e39.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="2849" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_041.png.1b71483400b356500a20215edc5b6e39.png" width="598" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_csp-cvads-aad_041.png" loading="lazy" height="645.84"></a></p>
<p>5- On the Management tab, configure the following information, and click <strong>Next: Advanced</strong>:</p>
<ul>
<li>Monitoring</li>
<li>Auto-shutdown</li>
<li>Backup</li>
</ul>
<p></p><p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_042.png.22b0ce77497ed85b77bc4ed06028687b.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="2851" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_042.png.22b0ce77497ed85b77bc4ed06028687b.png" width="598" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_csp-cvads-aad_042.png" loading="lazy" height="514.28"></a></p>
<p></p><p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_043.png.690b1d9396c49a4708f7571a385c2922.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="2853" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_043.png.690b1d9396c49a4708f7571a385c2922.png" width="598" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_csp-cvads-aad_043.png" loading="lazy" height="322.92"></a></p>
<p>6- On the Advanced tab, leave the default settings, and click <strong>Next: Tags</strong></p>
<p></p><p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_044.png.04e193aacfa9bcce1629a0f0cf78bddf.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="2855" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_044.png.04e193aacfa9bcce1629a0f0cf78bddf.png" width="598" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_csp-cvads-aad_044.png" loading="lazy" height="651.82"></a></p>
<p>7- On the Tags tab, create any required tags for the VM instance, and click <strong>Next: Review + create</strong></p>
<p></p><p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_045.png.a57d5096624097b0be53c3a0abb4c3f4.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="2857" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_045.png.a57d5096624097b0be53c3a0abb4c3f4.png" width="596" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_csp-cvads-aad_045.png" loading="lazy" height="661.56"></a></p>
<p>8- On the Review + create tab, make sure all information is correct, and click <strong>Create</strong></p>
<p></p><p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_046.png.f93a8f5c98ffc8366eb0b27610129ec5.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="2859" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_046.png.f93a8f5c98ffc8366eb0b27610129ec5.png" width="596" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_csp-cvads-aad_046.png" loading="lazy" height="661.56"></a></p>
<p><strong>Considerations:</strong></p>
<ul>
<li>Repeat the previous steps to create all additional VMs: Cloud Connectors, Master Images, and so forth and so forth and so on.</li>
</ul>
<h4>Step 10: Join the Management VM to the domain</h4>
<p>1- Connect to the instance via RDP and open Server Manager, and click <strong>Add Roles and Features</strong></p>
<p></p><p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_047.png.8fe80572653f270e499359f86e287ea6.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="2861" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_047.png.8fe80572653f270e499359f86e287ea6.png" width="940" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_csp-cvads-aad_047.png" loading="lazy" height="667.4"></a></p>
<p>2- On the Add Roles and Features Wizard, add the following features:</p>
<ul>
<li>Role Administration Tools</li>
<li>ADDS and AD LDS Tools</li>
<li>Active Directory module for Windows PowerShell</li>
<li>AD DS Tools</li>
<li>AD DS Snap-ins and Command-Line Tools</li>
<li>Group Policy Management Console (GPMC)</li>
<li>DNS Manager</li>
</ul>
<p></p><p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_048.png.351e1c212f2784d50b4d5a124045fc56.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="2863" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_048.png.351e1c212f2784d50b4d5a124045fc56.png" width="598" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_csp-cvads-aad_048.png" loading="lazy" height="418.6"></a></p>
<p>3- When the installation finishes, join the VM to the Azure ADDS domain.</p>
<p></p><p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_049.png.2737f3bb3debe2b54b073b8794c2cb1b.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="2865" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_049.png.2737f3bb3debe2b54b073b8794c2cb1b.png" width="598" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_csp-cvads-aad_049.png" loading="lazy" height="526.24"></a></p>
<p><strong>Considerations:</strong></p>
<ul>
<li>Repeat the previous steps to join all other VMs to the Azure ADDS domain.</li>
<li>RSAT tools installation is only required for the VMs used to manage the Azure ADDS instance.</li>
<li>Make sure the password of the user account utilized to join the VMs to the Azure ADDS domain has been reset before attempting these steps.</li>
</ul>
<h4>Step 11: Create an Azure AD App Registration</h4>
<p>1- On the Azure portal menu, select <strong>Azure Active Directory &gt; App registrations &gt; + New registration</strong></p>
<p></p><p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_050.png.8624bff744be46795e5124092ed5d75f.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="2867" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_050.png.8624bff744be46795e5124092ed5d75f.png" width="940" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_csp-cvads-aad_050.png" loading="lazy" height="535.8"></a></p>
<p>2- On the Register an application blade, enter the following information, and click <strong>Register</strong>:</p>
<ul>
<li>App name</li>
<li>Supported account types</li>
<li>Redirect URL
<ul>
<li>Web</li>
<li>"<a href="https://citrix.cloud.com">https://citrix.cloud.com</a>"</li>
</ul></li>
</ul>
<p></p><p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_051.png.7209a4eaad10437a5acb350f0dcd691d.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="2869" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_051.png.7209a4eaad10437a5acb350f0dcd691d.png" width="598" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_csp-cvads-aad_051.png" loading="lazy" height="586.04"></a></p>
<p>3- On the Overview blade, copy the following values to a notepad:</p>
<ul>
<li>Application (client) ID</li>
<li>Directory (tenant) ID</li>
</ul>
<p></p><p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_052.png.009787332931bacf851eba55d8df713a.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="2871" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_052.png.009787332931bacf851eba55d8df713a.png" width="936" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_csp-cvads-aad_052.png" loading="lazy" height="290.16"></a></p>
<p><strong>Considerations:</strong></p>
<ul>
<li>The application ID and Directory ID values will be utilized later on when creating a hosting connection for Citrix MCS to manage Azure resources.</li>
</ul>
<p>4- Click on <strong>Certificates &amp; secrets</strong> and then <strong>+New client secret</strong></p>
<p></p><p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_053.png.3d6a97db7b0837d34951699939761b29.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="2873" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_053.png.3d6a97db7b0837d34951699939761b29.png" width="598" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_csp-cvads-aad_053.png" loading="lazy" height="520.26"></a></p>
<p>5- On the Add a client secret pop-up, enter a <strong>Description and Expiration</strong>, and click <strong>Add</strong></p>
<p></p><p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_054.png.024e13ce384885f38c733ff3d8119011.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="2875" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_054.png.024e13ce384885f38c733ff3d8119011.png" width="426" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_csp-cvads-aad_054.png" loading="lazy" height="443.04"></a></p>
<p>6- Back on the Certificates &amp; secrets screen, copy the value of the client secret</p>
<p></p><p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_055.png.fa53cae6ed7a0b835bc0d2ce592d7fb2.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="2877" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_055.png.fa53cae6ed7a0b835bc0d2ce592d7fb2.png" width="940" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_csp-cvads-aad_055.png" loading="lazy" height="169.2"></a></p>
<p><strong>Considerations:</strong></p>
<ul>
<li>While the Client ID acts as a user name for the app registration, the Client Secret acts as the password.</li>
</ul>
<p>7- Click on <strong>API permissions</strong> and then <strong>Add a permission</strong></p>
<p></p><p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_056.png.6a9de8b19bb8e2ba9a9b57c5928e43ee.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="2879" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_056.png.6a9de8b19bb8e2ba9a9b57c5928e43ee.png" width="940" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_csp-cvads-aad_056.png" loading="lazy" height="507.6"></a></p>
<p>8- On the Request API permissions blade, under <strong>APIs my organization uses</strong> search for <strong>Windows Azure</strong>, and select <strong>Windows Azure Active Directory</strong></p>
<p></p><p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_057.png.1da69aafcc38c36c4ca41e6f58d94cd5.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="2881" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_057.png.1da69aafcc38c36c4ca41e6f58d94cd5.png" width="430" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_csp-cvads-aad_057.png" loading="lazy" height="322.5"></a></p>
<p>9- On the Azure Active Directory Graph API blade, select <strong>Delegated Permissions</strong>, assign the <strong>Read all users’ basic profiles</strong> permission, and click <strong>Add permissions</strong></p>
<p></p><p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_058.png.e45303907e2e5554543c43a379f84981.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="2883" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_058.png.e45303907e2e5554543c43a379f84981.png" width="428" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_csp-cvads-aad_058.png" loading="lazy" height="856"></a></p>
<p>10- Back on the Request API permissions blade, under <strong>APIs my organization uses</strong> search for <strong>Windows Azure</strong> again, and select <strong>Windows Azure Service Management API</strong></p>
<p></p><p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_059.png.6698084f11ee5235d6966e3b0ff8f64c.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="2885" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_059.png.6698084f11ee5235d6966e3b0ff8f64c.png" width="428" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_csp-cvads-aad_059.png" loading="lazy" height="333.84"></a></p>
<p>11- On the Azure Service Management API blade, select <strong>Delegated Permissions</strong>, assign the <strong>Access Azure Service Management as organization users</strong> permission and click <strong>Add permissions</strong></p>
<p></p><p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_060.png.bdfd2ff22ffe77054e40d7663db203df.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="2887" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_060.png.bdfd2ff22ffe77054e40d7663db203df.png" width="432" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_csp-cvads-aad_060.png" loading="lazy" height="889.92"></a></p>
<p>12- On the Azure portal menu, click <strong>Subscriptions</strong> and copy the value of your <strong>Subscription ID</strong></p>
<p></p><p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_061.png.2559f67d46f5a8b103b9c3e99793e5dc.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="2889" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_061.png.2559f67d46f5a8b103b9c3e99793e5dc.png" width="940" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_csp-cvads-aad_061.png" loading="lazy" height="470"></a></p>
<p><strong>Considerations:</strong></p>
<ul>
<li>Copy the value of all subscriptions utilized to manage resources via Citrix MCS. The hosting connection for each Azure subscription must be configured independently.</li>
</ul>
<p>13- Select your subscription, and select <strong>Access Control (IAM) &gt; +Add &gt; Add role assignment</strong></p>
<p></p><p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_062.png.26effbe9e04a7371e36317bba9198d32.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="2891" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_062.png.26effbe9e04a7371e36317bba9198d32.png" width="598" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_csp-cvads-aad_062.png" loading="lazy" height="299"></a></p>
<p>14- On the Add role assignment blade, assign the <strong>Contributor</strong> role to the new app registration, and click <strong>Save</strong></p>
<p></p><p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_063.png.39a3f8f86c15f6f589f4f8b47a31d7b1.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="2893" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_063.png.39a3f8f86c15f6f589f4f8b47a31d7b1.png" width="430" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_csp-cvads-aad_063.png" loading="lazy" height="907.3"></a></p>
<p><strong>Considerations:</strong></p>
<ul>
<li>Repeat this step to add Contributor permissions to the registration on any additional subscription.</li>
<li>If utilizing a secondary subscription belonging to a separate Azure AD tenant, a new app registration must be configured.</li>
</ul>
<h3>Citrix Components</h3>
<h4>Step 1: Install the Cloud Connector</h4>
<p>1- Connect to the Cloud Connector VM via RDP and use a web browser to navigate to <a href="https://citrix.cloud.com">Citrix Cloud</a>. Enter your Citrix Cloud credentials and click <strong>Sign in</strong></p>
<p></p><p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_064.png.272aeacc522e99e1d50006e678a77487.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="2895" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_064.png.272aeacc522e99e1d50006e678a77487.png" width="1920" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_csp-cvads-aad_064.png" loading="lazy" height="998.4"></a></p>
<p>2- Under Domains, click <strong>Add New</strong></p>
<p></p><p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_065.png.f318541cc7c93486e361ac599dc7663c.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="2897" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_065.png.f318541cc7c93486e361ac599dc7663c.png" width="961" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_csp-cvads-aad_065.png" loading="lazy" height="249.86"></a></p>
<p>3- On the Domains tab under Identity and Access Management, click <strong>+Domain</strong></p>
<p></p><p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_066.png.f0fa8d9be041f9166c02cf323d69b223.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="2899" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_066.png.f0fa8d9be041f9166c02cf323d69b223.png" width="669" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_csp-cvads-aad_066.png" loading="lazy" height="147.18"></a></p>
<p>4- In the Add a Cloud Connector window click <strong>Download</strong></p>
<p></p><p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_067.png.a016a87ebb9094e75e8329ca83f9211e.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="2901" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_067.png.a016a87ebb9094e75e8329ca83f9211e.png" width="878" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_csp-cvads-aad_067.png" loading="lazy" height="518.02"></a></p>
<p>5- Save the cwcconnector.exe file to the instance.</p>
<p></p><p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_068.png.7353f38be3a4f8bf65cdcfa0db5ee09d.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="2903" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_068.png.7353f38be3a4f8bf65cdcfa0db5ee09d.png" width="938" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_csp-cvads-aad_068.png" loading="lazy" height="93.8"></a></p>
<p>6- Right-click the <strong>cwcconnector.exe</strong> file, and select <strong>Run as administrator</strong></p>
<p></p><p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_069.png.f5adb3c2aa867a92f68a24a829ea717d.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="2905" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_069.png.f5adb3c2aa867a92f68a24a829ea717d.png" width="430" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_csp-cvads-aad_069.png" loading="lazy" height="477.3"></a></p>
<p>7- On the Citrix Cloud Connector window, click <strong>Sign in</strong></p>
<p></p><p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_070.png.5f4554c14e111bc172298eb7cb359919.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="2907" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_070.png.5f4554c14e111bc172298eb7cb359919.png" width="487" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_csp-cvads-aad_070.png" loading="lazy" height="262.98"></a></p>
<p>8- On the sign-in window, enter your <strong>Citrix Cloud</strong> credentials, and click <strong>Sign in</strong></p>
<p></p><p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_071.png.6adb3f64992e9e8351f7c80f8e900ad9.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="2909" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_071.png.6adb3f64992e9e8351f7c80f8e900ad9.png" width="421" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_csp-cvads-aad_071.png" loading="lazy" height="517.83"></a></p>
<p>9- When the installation finishes, click <strong>Close</strong></p>
<p></p><p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_072.png.cc96637016f6ef779dd73e251579a28f.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="2911" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_072.png.cc96637016f6ef779dd73e251579a28f.png" width="481" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_csp-cvads-aad_072.png" loading="lazy" height="601.25"></a></p>
<p><strong>Considerations:</strong></p>
<ul>
<li>Cloud Connector installation can take up to 5 minutes.</li>
<li>At a minimum, 2 Cloud Connectors must be configured per resource location.</li>
</ul>
<h4>Step 2: Configure the VDA Master Image</h4>
<p>1- Connect to the Citrix VDA master image VM via RDP and use a web browser to navigate to <a href="https://www.citrix.com/downloads/citrix-virtual-apps-and-desktops/">Citrix Downloads</a> and download the latest <strong>Citrix VDA version</strong></p>
<p></p><p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_073.png.b4923cbd807467f853e0ce3c054f728d.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="2913" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_073.png.b4923cbd807467f853e0ce3c054f728d.png" width="946" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_csp-cvads-aad_073.png" loading="lazy" height="208.12"></a></p>
<p><strong>Considerations:</strong></p>
<ul>
<li>Citrix credentials are required to download the VDA software.</li>
<li>Either the LTSR or CR version can be installed.</li>
<li>A separate VDA installer must be downloaded for Server and Desktop OS machines.</li>
</ul>
<p>2- Right-click the VDA installer file, and select <strong>Run as administrator</strong></p>
<p></p><p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_074.png.b9e17fac76ddc7177bdcf537398fac8b.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="2915" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_074.png.b9e17fac76ddc7177bdcf537398fac8b.png" width="600" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_csp-cvads-aad_074.png" loading="lazy" height="438"></a></p>
<p>3- On the Environment page, select <strong>Create a master MCS image</strong></p>
<p></p><p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_075.png.b804393d4c0195cf17f7e25217646ce6.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="2917" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_075.png.b804393d4c0195cf17f7e25217646ce6.png" width="600" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_csp-cvads-aad_075.png" loading="lazy" height="450"></a></p>
<p>4- On the Core Components page, click <strong>Next</strong></p>
<p></p><p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_076.png.f8170b03dd4bd5a12a7da2913c39706a.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="2919" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_076.png.f8170b03dd4bd5a12a7da2913c39706a.png" width="600" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_csp-cvads-aad_076.png" loading="lazy" height="450"></a></p>
<p>5- On the Additional Components page, select the components that best apply to your requirements, and click <strong>Next</strong></p>
<p></p><p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_077.png.d25f73e5b0518a7585605061f0d9167c.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="2921" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_077.png.d25f73e5b0518a7585605061f0d9167c.png" width="600" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_csp-cvads-aad_077.png" loading="lazy" height="450"></a></p>
<p>6- On the Delivery Controller page, enter the following information, and click <strong>Next</strong>:</p>
<ul>
<li>Select “Do it manually”</li>
<li>Enter the FQDN of each Cloud Connector</li>
<li>Click <strong>Test Connection</strong> and then <strong>Add</strong></li>
</ul>
<p></p><p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_078.png.4ae725b7ae10167cd63a774064e078fd.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="2923" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_078.png.4ae725b7ae10167cd63a774064e078fd.png" width="598" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_csp-cvads-aad_078.png" loading="lazy" height="448.5"></a></p>
<p>7- On the Features page, check the boxes of the features you want to enable based on your deployment needs, then click <strong>Next</strong></p>
<p></p><p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_079.png.61525dae5cf290857f9aef2594220912.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="2925" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_079.png.61525dae5cf290857f9aef2594220912.png" width="598" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_csp-cvads-aad_079.png" loading="lazy" height="448.5"></a></p>
<p>8- On the Firewall page, select <strong>Automatically</strong>, and click <strong>Next</strong></p>
<p></p><p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_080.png.412f7b5aaf7123fa951f0acbbe50e59c.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="2927" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_080.png.412f7b5aaf7123fa951f0acbbe50e59c.png" width="598" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_csp-cvads-aad_080.png" loading="lazy" height="448.5"></a></p>
<p>9- On the Summary page, ensure all the details are correct, and click <strong>Install</strong></p>
<p></p><p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_081.png.b02bc92d8e177c505ac33926085fb952.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="2929" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_081.png.b02bc92d8e177c505ac33926085fb952.png" width="598" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_csp-cvads-aad_081.png" loading="lazy" height="442.52"></a></p>
<p>10- The VM will be restarted during installation</p>
<p></p><p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_082.png.a34a36f89fb0059e532fca92cb3648cf.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="2931" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_082.png.a34a36f89fb0059e532fca92cb3648cf.png" width="596" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_csp-cvads-aad_082.png" loading="lazy" height="190.72"></a></p>
<p>11- After the installation finishes, on the Diagnostics page, select the option that best fits your deployment needs, and click <strong>Next</strong></p>
<p></p><p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_083.png.644d0922da24c2abd5a9b0ae282bc020.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="2933" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_083.png.644d0922da24c2abd5a9b0ae282bc020.png" width="600" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_csp-cvads-aad_083.png" loading="lazy" height="450"></a></p>
<p>12- On the Finish page, make sure <strong>Restart machine</strong> is checked, and click <strong>Finish</strong></p>
<p></p><p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_084.png.22fd43e9d7bcdf6573a7d72c172439b0.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="2935" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_084.png.22fd43e9d7bcdf6573a7d72c172439b0.png" width="600" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_csp-cvads-aad_084.png" loading="lazy" height="450"></a></p>
<h4>Step 3: Create an Azure Hosting Connection</h4>
<p>1- On the Citrix Cloud hamburger menu, navigate to <strong>My Services &gt; DaaS</strong></p>
<p></p><p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_085.png.fce99d3a5d5c8ad885d3b30fe826290d.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="2937" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_085.png.fce99d3a5d5c8ad885d3b30fe826290d.png" width="299" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_csp-cvads-aad_085.png" loading="lazy" height="427.57"></a></p>
<p>2- In Web Studio, navigate to <strong>Hosting</strong>, and select <strong>Add Connection and Resources</strong></p>
<p></p><p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_087.png.b2b21bd720e921a8eef0f92a1eb82aa9.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="2939" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_087.png.b2b21bd720e921a8eef0f92a1eb82aa9.png" width="1913" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_csp-cvads-aad_087.png" loading="lazy" height="650.42"></a></p>
<p>4- On the Connection page, click the radio button next to <strong>Create a new connection</strong>, enter the following information, and click <strong>Next</strong>:</p>
<ul>
<li>Zone</li>
<li>Connection type</li>
<li>Azure environment</li>
</ul>
<p></p><p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_088.png.5f724dce1b525001fdea8000418a693d.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="2941" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_088.png.5f724dce1b525001fdea8000418a693d.png" width="876" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_csp-cvads-aad_088.png" loading="lazy" height="884.76"></a></p>
<p>5- On the Connection Details page, enter the following information, and click <strong>Use Existing</strong>:</p>
<ul>
<li>Subscription ID</li>
<li>Connection name</li>
</ul>
<p></p><p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_089.png.e881cc9f008c896dbe498e58b9e61b18.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="2943" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_089.png.e881cc9f008c896dbe498e58b9e61b18.png" width="870" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_csp-cvads-aad_089.png" loading="lazy" height="878.7"></a></p>
<p>6- On the Existing Service Principal page, enter the following information, and click <strong>OK</strong>:</p>
<ul>
<li>Active Directory ID</li>
<li>Application ID</li>
<li>Application Secret</li>
</ul>
<p></p><p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_090.png.eef827443f7bbc4c309d84b0fc470a19.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="2945" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_090.png.eef827443f7bbc4c309d84b0fc470a19.png" width="869" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_csp-cvads-aad_090.png" loading="lazy" height="860.31"></a></p>
<p>7- Back on the Connection Details page, click <strong>Next</strong></p>
<p></p><p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_091.png.ccc19f422dfeadee5c1f0f84cb4bd4df.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="2947" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_091.png.ccc19f422dfeadee5c1f0f84cb4bd4df.png" width="870" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_csp-cvads-aad_091.png" loading="lazy" height="878.7"></a></p>
<p>8- On the Region page, select the region where your Cloud Connector and VDA were deployed, and click <strong>Next</strong></p>
<p></p><p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_092.png.5ea0f7066c7b13e19d48b82ec29beb7b.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="2949" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_092.png.5ea0f7066c7b13e19d48b82ec29beb7b.png" width="861" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_csp-cvads-aad_092.png" loading="lazy" height="886.83"></a></p>
<p>9- On the Network page, enter a name for the resources, select the appropriate Virtual Network and Subnet, and click <strong>Next</strong></p>
<p></p><p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_093.png.2e41d68dbf7bdc1aa97d4cc51181d5be.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="2951" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_093.png.2e41d68dbf7bdc1aa97d4cc51181d5be.png" width="864" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_csp-cvads-aad_093.png" loading="lazy" height="881.28"></a></p>
<p>10- On the Summary page, ensure all the information is correct, and click <strong>Finish</strong></p>
<p></p><p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_094.png.cae09384a03a0eb7f619739012df0d9a.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="2953" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_094.png.cae09384a03a0eb7f619739012df0d9a.png" width="870" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_csp-cvads-aad_094.png" loading="lazy" height="870"></a></p>
<h4>Step 4: Create a Machine Catalog</h4>
<p>1- In Web Studio, navigate to <strong>Machine Catalogs</strong>, and select <strong>Create Machine Catalog</strong></p>
<p></p><p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_095.png.38567a259e4c15b78a44fccb9cec7526.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="2955" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_095.png.38567a259e4c15b78a44fccb9cec7526.png" width="1920" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_csp-cvads-aad_095.png" loading="lazy" height="998.4"></a></p>
<p>2- On the Introduction page, click <strong>Next</strong></p>
<p></p><p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_096.png.58851aab72b9a098f17c6a67fe99cf48.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="2957" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_096.png.58851aab72b9a098f17c6a67fe99cf48.png" width="877" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_csp-cvads-aad_096.png" loading="lazy" height="885.77"></a></p>
<p>3- On the Operating System page, select the appropriate OS, and click <strong>Next</strong></p>
<p></p><p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_097.png.c132b8d0689c6f2b551640701dc31af2.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="2959" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_097.png.c132b8d0689c6f2b551640701dc31af2.png" width="873" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_csp-cvads-aad_097.png" loading="lazy" height="881.73"></a></p>
<p><strong>Considerations:</strong></p>
<ul>
<li>Subsequent screens will slightly vary depending on the OS type selected in this page.</li>
</ul>
<p>4- On the Machine Management page, select the following information, and click <strong>Next</strong>:</p>
<ul>
<li>The machine catalog will use: machines that are powered managed</li>
<li>Deploy machines using: Citrix Machine Creation Services (MCS)</li>
<li>Resources: select your Azure hosting connection</li>
</ul>
<p></p><p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_098.png.be08e6c3ce567e8083d42cc0b19effbe.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="2961" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_098.png.be08e6c3ce567e8083d42cc0b19effbe.png" width="870" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_csp-cvads-aad_098.png" loading="lazy" height="878.7"></a></p>
<p>5- On the Desktop Experience page, select the options that best adjust to your requirements, and click <strong>Next</strong></p>
<p></p><p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_099.png.96f1a8e001311a9e287b00607a299854.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="2963" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_099.png.96f1a8e001311a9e287b00607a299854.png" width="861" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_csp-cvads-aad_099.png" loading="lazy" height="886.83"></a></p>
<p>6- On the Master Image page, select the master image, the functional level (VDA version), and click <strong>Next</strong></p>
<p></p><p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_100.png.bd46fabb4ee525f5b26736e3adb063ad.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="2965" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_100.png.bd46fabb4ee525f5b26736e3adb063ad.png" width="867" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_csp-cvads-aad_100.png" loading="lazy" height="875.67"></a></p>
<p>7- On the Storage and License Types, select the options that best adjust to your requirements, and click <strong>Next</strong></p>
<p></p><p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_101.png.9f31a87ae7a17d08195da9486fdb9bee.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="2967" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_101.png.9f31a87ae7a17d08195da9486fdb9bee.png" width="870" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_csp-cvads-aad_101.png" loading="lazy" height="870"></a></p>
<p>8- On the Virtual Machines page, configure the number of virtual machines to deploy, the machine size, and click <strong>Next</strong></p>
<p></p><p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_102.png.91d28d9f46492523a5106f8afce6b44f.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="2969" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_102.png.91d28d9f46492523a5106f8afce6b44f.png" width="860" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_csp-cvads-aad_102.png" loading="lazy" height="877.2"></a></p>
<p>9- On the Network Interface Cards page, add <strong>NICs</strong> as required, and click <strong>Next</strong></p>
<p></p><p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_105.png.5eeccf86f070557fe87e058c4a0269a1.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="2971" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_105.png.5eeccf86f070557fe87e058c4a0269a1.png" width="872" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_csp-cvads-aad_105.png" loading="lazy" height="880.72"></a></p>
<p>10- On the Write Back Cache page, select your write cache options, and click <strong>Next</strong></p>
<p></p><p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_103.png.4b18969361f85d9e574b2d0f475c9ac4.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="2973" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_103.png.4b18969361f85d9e574b2d0f475c9ac4.png" width="868" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_csp-cvads-aad_103.png" loading="lazy" height="876.68"></a></p>
<p>11- On the Resource Groups page, select between creating new resource groups for the Citrix MCS resources or using pre-created resource groups.</p>
<p></p><p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_104.png.0b057b3fd60d0b874ec006ee59d8a588.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="2975" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_104.png.0b057b3fd60d0b874ec006ee59d8a588.png" width="871" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_csp-cvads-aad_104.png" loading="lazy" height="879.71"></a></p>
<p><strong>Considerations:</strong></p>
<ul>
<li>Only empty resource groups appear on the list of existing resource groups.</li>
</ul>
<p>12- On the Active Directory Computer Accounts page, configure the following options, and click <strong>Next</strong>:</p>
<ul>
<li>Account option: Create new AD accounts</li>
<li>Domain: select your domain</li>
<li>OU: the OU where the computer accounts will be stored</li>
<li>Naming scheme: naming convention to be utilized</li>
</ul>
<p></p><p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_106.png.a859dac0bf1cb105b4a9e8b2b2579089.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="2977" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_106.png.a859dac0bf1cb105b4a9e8b2b2579089.png" width="872" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_csp-cvads-aad_106.png" loading="lazy" height="880.72"></a></p>
<p><strong>Considerations:</strong></p>
<ul>
<li>Numbers will replace the pound signs on the naming scheme</li>
<li>Be mindful of the NetBIOS 15-character limit when creating a naming scheme</li>
</ul>
<p>13- On the Domain Credentials page, click <strong>Enter credentials</strong></p>
<p></p><p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_107.png.2e4032d59d29e3439d2e94a48d4b8707.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="2979" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_107.png.2e4032d59d29e3439d2e94a48d4b8707.png" width="872" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_csp-cvads-aad_107.png" loading="lazy" height="872"></a></p>
<p>14- On the Windows Security pop-up, enter your domain credentials, and click <strong>Done</strong></p>
<p></p><p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_108.png.9b7b19e6eb9c7522c536037420120d7b.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="2981" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_108.png.9b7b19e6eb9c7522c536037420120d7b.png" width="861" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_csp-cvads-aad_108.png" loading="lazy" height="861"></a></p>
<p>15- On the Summary page, enter a name and description, and click <strong>Finish</strong></p>
<p></p><p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_109.png.6aa0fde8683ea96ff7c7235c8646d209.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="2983" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_109.png.6aa0fde8683ea96ff7c7235c8646d209.png" width="868" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_csp-cvads-aad_109.png" loading="lazy" height="894.04"></a></p>
<h4>Step 5: Create a Delivery Group</h4>
<p>1- In Web Studio, navigate to <strong>Delivery Groups</strong>, and select <strong>Create Delivery Group</strong></p>
<p></p><p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_110.png.fd681ac41044c66107be327f02017eaa.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="2985" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_110.png.fd681ac41044c66107be327f02017eaa.png" width="1913" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_csp-cvads-aad_110.png" loading="lazy" height="325.21"></a></p>
<p>2- On the Machines page, select your machine catalog, the number of machines, and click <strong>Next</strong></p>
<p></p><p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_112.png.b3afb5c605b4cb25221de2da3c5893a2.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="2987" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_112.png.b3afb5c605b4cb25221de2da3c5893a2.png" width="865" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_csp-cvads-aad_112.png" loading="lazy" height="882.3"></a></p>
<p>3- On the Users page select an authentication option, and click <strong>Next</strong></p>
<p></p><p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_113.png.bb7e94e2e6fe75b6fba8649561fd4788.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="2989" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_113.png.bb7e94e2e6fe75b6fba8649561fd4788.png" width="864" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_csp-cvads-aad_113.png" loading="lazy" height="872.64"></a></p>
<p>4- On the Applications page, click <strong>Add</strong></p>
<p></p><p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_114.png.c9e08ca9e8bde8085b949fa6cce230d7.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="2991" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_114.png.c9e08ca9e8bde8085b949fa6cce230d7.png" width="872" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_csp-cvads-aad_114.png" loading="lazy" height="889.44"></a></p>
<p>5- On the Add Applications page, select which applications you want to publish, and click <strong>OK</strong></p>
<p></p><p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_115.png.040d5583921965e1c573f47abf43fb7f.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="2993" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_115.png.040d5583921965e1c573f47abf43fb7f.png" width="875" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_csp-cvads-aad_115.png" loading="lazy" height="857.5"></a></p>
<p><strong>Considerations:</strong></p>
<ul>
<li>While most applications will show through the start menu, you can also optionally add applications manually.</li>
<li>This step can be skipped if you do not need to publish seamless applications.</li>
</ul>
<p>7- Back on the Applications page, click <strong>Next</strong></p>
<p></p><p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_116.png.fbfd21df180f0b91bf9e79595355f771.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="2995" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_116.png.fbfd21df180f0b91bf9e79595355f771.png" width="870" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_csp-cvads-aad_116.png" loading="lazy" height="887.4"></a></p>
<p>8- On the Desktops page, click <strong>Add</strong></p>
<p></p><p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_117.png.df96f98d26f1d39094fc0130c2648261.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="2997" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_117.png.df96f98d26f1d39094fc0130c2648261.png" width="875" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_csp-cvads-aad_117.png" loading="lazy" height="883.75"></a></p>
<p>9- On the Add Desktop page, configure the Desktop, and click <strong>OK</strong></p>
<p></p><p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_118.png.54be9d54cfc2f3dbc330ecc8ce9bbce7.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="2999" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_118.png.54be9d54cfc2f3dbc330ecc8ce9bbce7.png" width="866" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_csp-cvads-aad_118.png" loading="lazy" height="866"></a></p>
<p><strong>Considerations:</strong></p>
<ul>
<li>This step can be skipped if you do not need to publish full desktops.</li>
</ul>
<p>10- Back on the Desktops page, click <strong>Next</strong></p>
<p></p><p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_119.png.b22943d44ac29a32217418410c8d55ec.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="3001" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_119.png.b22943d44ac29a32217418410c8d55ec.png" width="870" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_csp-cvads-aad_119.png" loading="lazy" height="887.4"></a></p>
<p>11- On the Summary page, enter a name, a description, and click <strong>Finish</strong></p>
<p></p><p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_120.png.cbe2eae4d9893ecd1308ed529e0351b9.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="3003" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads-aad_120.png.cbe2eae4d9893ecd1308ed529e0351b9.png" width="871" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_csp-cvads-aad_120.png" loading="lazy" height="879.71"></a></p>]]></description><guid isPermaLink="false">82</guid><pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate></item><item><title>Reference Architecture: Citrix DaaS Standard for Azure</title><link>https://community.citrix.com/tech-zone/design/reference-architectures/citrix-managed-desktops/</link><description><![CDATA[
<h2>Audience</h2>
<p>This document is intended for technical professionals, IT decision-makers, partners, and system-integrators. This document also allows the administrator to explore, and adopt Citrix DaaS Standard for Azure to provide cloud-based workspaces to their employees. The reader must have a basic understanding of Citrix products, Citrix Cloud, and Microsoft® Azure services.</p>
<h2>Objective of this document</h2>
<p>This document comprises of a technical overview, architectural concepts, and adoption methodology on Citrix DaaS Standard for Azure. Multiple use cases on different verticals with conceptual architecture are also included to allow readers to understand and formulate the cloud-based virtual desktop solution.</p>
<h2>Introduction to Citrix DaaS Standard for Azure</h2>
<p>Citrix DaaS Standard for Azure is a cloud-based virtual apps and desktops solution. It enables businesses to deliver cloud-hosted virtual apps and desktops to any device, over the network, from any location. The operating system runs inside virtual machines on the Azure public cloud. All the necessary infrastructure (IaaS) support is provided from Citrix. Citrix managed Azure subscription is owned and managed by Citrix where Virtual Delivery Agents (VDAs) are running. The virtual apps and desktops are presented over the secured network to a customer’s endpoint devices where end-users access them through the Citrix Workspace app or a web browser.</p>
<p></p><p><a href="//media.invisioncic.com/m329563/monthly_2024_02/reference-architectures_citrix-managed-desktops_001.png.7dd72352ff568a69ba6ee8ad61505064.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="2722" src="//media.invisioncic.com/m329563/monthly_2024_02/reference-architectures_citrix-managed-desktops_001.png.7dd72352ff568a69ba6ee8ad61505064.png" width="1918" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_citrix-managed-desktops_001.png" loading="lazy" height="843.92"></a></p>
<p>The Citrix DaaS Standard architecture is divided up into multiple segments. All segments flow together to create a complete, end-to-end cloud-based virtual desktop solution for an organization.</p>
<ul>
<li>
<p><strong>Users segment-</strong> This section describes the end-user environment and end-point devices that are used to connect to resources. This section covers the end-point devices and Citrix Workspace app.</p>
</li>
<li>
<p><strong>Access segment-</strong> This section describes external connectivity to devices in the user segment. This section covers the Citrix Gateway service and Workspace configuration details.</p>
</li>
<li>
<p><strong>Control segment-</strong> This section describes components used to support the rest of the environment, which includes site design for the Citrix Cloud service, image management, and monitoring of Citrix DaaS Standard.</p>
</li>
<li>
<p><strong>Resource segment-</strong> This section captures information for the users personalization, applications, and images for the Citrix DaaS Standard environment.</p>
</li>
<li>
<p><strong>Platform segment-</strong> This section describes the cloud platform used to provision catalogs. Citrix Managed Azure Platform is based on Microsoft® Azure platform for Citrix VDAs, that is completely managed by Citrix. Customer-managed Azure subscriptions are used to provide hybrid connectivity to additional resources as required.</p>
</li>
<li>
<p><strong>Operations segment-</strong> This section contains customer-managed components such as Windows Active Directory service, Azure Active Directory, file servers, and Windows license servers. It is possible to provision file servers and license servers on customer-managed Azure subscription or in a customer data center with hybrid connectivity between Azure to an on-premises data center.</p>
</li>
</ul>
<p>The layered picture gives a holistic view of the Citrix DaaS Standard services. The details and internal architectures of Citrix Managed Azure Platform, hybrid connectivity, image management approach, and multiple deployment methodologies are explained in upcoming sections.</p>
<h3>Citrix DaaS Standard for Azure and traditional desktop solution</h3>
<p>Organizations typically adopt virtual desktop solutions based on their business needs. As companies expand their global footprint and increase productivity, IT is often left with the challenge to meet the growing demands and use cases. Organizations have started to adopt digital workspace solutions based on traditional desktop solutions. The virtual desktop solution has been around for a long time and traditionally was the only way to run a virtual desktop. This is cost-effective for companies that have a large employee base in a single region or geographic location.</p>
<p>The traditional virtual desktop solution requires substantial support from IT professionals. This includes customization of desktops, maintaining efficiency with the latest updates, assuring solid connectivity, and providing great user experience.</p>
<p>In a traditional virtual desktop infrastructure solution, IT administrators are responsible for the management of the implementations. Organizations often require a significant investment in capex for infrastructure. Apart from this process, the additional investment in securing the infrastructure must be in place, for example, localized threat detection solutions must be implemented to avoid any data breaches.</p>
<p>Most of the cloud service providers have observed these challenges faced by customers. To overcome this problem many leading vendors introduced Desktop as a Service (DaaS) to the market. DaaS solutions allow customers to quickly realize the benefits of VDI, switch from a capex to opex model, and reduce the required ongoing management effort. Citrix, one of the pioneers in the desktop virtualization field, has introduced the DaaS solution called “<strong>Citrix DaaS Standard for Azure</strong>.”</p>
<p>Citrix DaaS Standard is similar to a VDI solution. It offers the same user experience, and flexibility with greater visibility to the infrastructure and overcomes initial deployment haul and investments. Citrix DaaS Standard differs from the traditional desktop solution because instead of hosting desktops in an on-premises data center or even a public cloud location with full infrastructure management required, Citrix DaaS Standard uses a cloud-based back end from the Microsoft® Azure cloud platform while greatly simplifying setup and management tasks in a simple, turnkey solution.</p>
<p>Citrix DaaS Standard requires only a minimal investment to start, which is a good fit for small and medium-sized businesses. The organization does not need to invest in VDI or virtualization experts - Citrix DaaS Standard is well-suited for IT generalists to handle.</p>
<p>The following table compares the Citrix DaaS Standard solution with a traditional virtual desktop solution:</p>
<table>
<thead>
<tr>
<th><strong>Benefits</strong></th>
<th><strong>Citrix DaaS Standard</strong></th>
<th><strong>Traditional virtual desktop solution</strong></th>
</tr>
</thead>
<tbody>
<tr>
<td>Simplified virtual desktop implementation</td>
<td>Easy to deploy</td>
<td>Moderate deployment steps</td>
</tr>
<tr>
<td>Centralized desktop management</td>
<td>Complete centralized management solution</td>
<td>Multiple silos of infrastructure to manage</td>
</tr>
<tr>
<td>Data security</td>
<td>Reduced attack surface with key back-end maintained by Citrix</td>
<td>Additional considerations for ongoing optimal security</td>
</tr>
<tr>
<td>Issue resolution and recovery</td>
<td>Simplified</td>
<td>Moderate with sturdy IT resources</td>
</tr>
<tr>
<td>Capex ($)</td>
<td>Upfront investments not required</td>
<td>Moderate to the significant investment required</td>
</tr>
<tr>
<td>Opex ($)</td>
<td>Minimal deployment cost</td>
<td>Moderate for small scale deployment</td>
</tr>
<tr>
<td>Geographic coverage (workloads)</td>
<td>Supports multiple Geos across Azure regions</td>
<td>Bound to data center locations</td>
</tr>
<tr>
<td>Complexity and risk</td>
<td>Minimal</td>
<td>Moderate</td>
</tr>
<tr>
<td>Pay-as-you-go model</td>
<td>Highly applicable</td>
<td>Not applicable</td>
</tr>
<tr>
<td>Skilled resource requirement</td>
<td>Basic IT generalists</td>
<td>Skilled specialists often required</td>
</tr>
</tbody>
</table>
<h2>Why organizations adopt a Citrix DaaS Standard for Azure solution</h2>
<p>Many organizations desire to benefit from this era of the digital workspace. Their workforce expects a different set of work culture which means accessing their work from anywhere on any device at any time. Meanwhile, management wants to control IT spending. Cloud-based virtual apps and desktop solutions are the better choices when companies are looking for a cost-effective, simple solution to securely deliver the apps and desktops to their workforce.</p>
<p>Citrix DaaS Standard is a viable solution for customers looking for centralized management with standardized virtual desktop infrastructure. In the era of the digital workspace, Citrix enables an organization to deliver do-it-yourself cloud-based apps and desktop.</p>
<p></p><p><a href="//media.invisioncic.com/m329563/monthly_2024_02/reference-architectures_citrix-managed-desktops_002.png.a440e8ea3df4dcac61a9a3fe070eb008.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="2724" src="//media.invisioncic.com/m329563/monthly_2024_02/reference-architectures_citrix-managed-desktops_002.png.a440e8ea3df4dcac61a9a3fe070eb008.png" width="999" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_citrix-managed-desktops_002.png" loading="lazy" height="689.31"></a></p>
<p>The above diagram shows a high-level skeleton view for Citrix DaaS Standard. The control plane is hosted in Citrix Cloud and all the resources are provisioned on the Microsoft® Azure platform which is managed by Citrix. Citrix DaaS Standard customers have an option to choose the workload region (supported by Citrix) depending on their requirements.</p>
<p>Citrix DaaS Standard offers many advantages to IT by simplifying operations and delivering Windows desktops and apps securely to its workforce:</p>
<ul>
<li>
<p>Azure Virtual Desktop (AVD) instances hosted on a Citrix Managed Azure platform</p>
</li>
<li>
<p>Superior user experience which enables users to collaborate with their work culture</p>
</li>
<li>
<p>Simplified management and monitoring through Citrix Cloud</p>
</li>
<li>
<p>Secure remote access with multifactor authentication</p>
</li>
<li>
<p>Citrix Virtual Delivery Agents (VDAs) running within the Microsoft® Azure platform (Citrix Managed). The administrator can bring multiple Azure services including ExpressRoute, VPN services, Azure Files from customer-managed Azure subscription.</p>
</li>
</ul>
<h2>Citrix DaaS Standard for Azure use cases</h2>
<p>Citrix DaaS Standard has the ability to manage unforeseen business shifts in IT infrastructure on different vertical segments. Citrix DaaS Standard gives liberty to businesses from the complex act of implementation and management of the IT infrastructure. Complexity in terms of purchasing, supporting, upgrading, and most important is security.</p>
<p>In this section, some of the useful and constructive use cases on different verticals are discussed.</p>
<h3>Citrix DaaS Standard for Azure in Education services</h3>
<p>Today most of the universities are transforming their learning paths and skill development engagements. Students and lecturers must be there at the campus to access software and services required for their studies. This process may hamper or decrease overall time efficiency. With the current IT infrastructures, many education services are facing the challenges to meet the demand. Usually IT organizations purchase and build out an infrastructure that sits unused much of the year.</p>
<p>To overcome all the challenges faced by universities, Citrix has seen the opportunity to improve student productivity and engagements by hosting all necessary software and tools on the Citrix DaaS Standard service. Students can access their necessary resources anytime, anywhere, and from any device.</p>
<p></p><p><a href="//media.invisioncic.com/m329563/monthly_2024_02/reference-architectures_citrix-managed-desktops_011.png.8239e75638bb0edaadeca8ec3f9cd6ee.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="2726" src="//media.invisioncic.com/m329563/monthly_2024_02/reference-architectures_citrix-managed-desktops_011.png.8239e75638bb0edaadeca8ec3f9cd6ee.png" width="996" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_citrix-managed-desktops_011.png" loading="lazy" height="458.16"></a></p>
<p>The above diagram shows a conceptual Citrix DaaS Standard usage in universities. The administrator has to create the catalogs for individual machine types. The Student catalog uses a non-domain joined catalog. The administrator has to install the required application during the master image creation. For the Lecturers catalog, the separate image can be used to provision the VDAs which are domain joined desktops. If the university is already utilizing Azure AD with Office 365, no VNet peering or customer-managed components are necessary.</p>
<p>Here multiple catalogs share a resource location and virtual network. A virtual network is a unique per-connection for domain-joined catalogs, and per region for non-domain joined catalogs.</p>
<h3>Healthcare Solution using Citrix DaaS Standard for Azure</h3>
<p>In healthcare, field professionals have a pressing need to access real-time patient data and applications remotely and from multiple devices. Today many healthcare institutes are facing regulatory burdens and shrinking IT budgets which made their hands tied to traditional desktop technology. Citrix DaaS Standard offers a straightforward way to increase technological presence without a major refurbishment of a company’s systems and processes.</p>
<p></p><p><a href="//media.invisioncic.com/m329563/monthly_2024_02/reference-architectures_citrix-managed-desktops_012.png.a986b3c593d204272390ab55f6f1c537.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="2728" src="//media.invisioncic.com/m329563/monthly_2024_02/reference-architectures_citrix-managed-desktops_012.png.a986b3c593d204272390ab55f6f1c537.png" width="998" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_citrix-managed-desktops_012.png" loading="lazy" height="778.44"></a></p>
<p>Overall cost reduction is the top challenge. Citrix DaaS Standard generally saves money and time and there is no cost associated with the implementations. The above diagram shows the healthcare institutes using Citrix DaaS Standard in multiple resource locations and providing anywhere access, centralized management, and flexible working are the key drivers for this solution.</p>
<p>Key benefits of using Citrix DaaS Standard in healthcare institutes:</p>
<ul>
<li>
<p>Access file and patient’s data from anywhere</p>
</li>
<li>
<p>There is no cost associated with the upgrading and managing the IT infrastructure</p>
</li>
<li>
<p>Easier data backups and recovery</p>
</li>
<li>
<p>Flexible and predictable scale</p>
</li>
<li>
<p>Security and compliance</p>
</li>
<li>
<p>Focus on the primary mission, delivering the best care to patients</p>
</li>
</ul>
<h3>Citrix DaaS Standard for Azure for the Logistic industry</h3>
<p>The logistic company workforce always faces challenges in accessing the mission-critical data from anywhere and anytime. This data includes an inventory list from the warehouse, tracking orders, billing information, and so on. These kinds of circumstances always recede productivity.</p>
<p>By hosting their desktops and applications in the Citrix DaaS Standard, customers can focus on their core business without having to waste time and money on procurement and managing the infrastructure.</p>
<p>Key benefits of adopting Citrix DaaS Standard include:</p>
<ul>
<li>
<p>Low TCO</p>
</li>
<li>
<p>Mobility</p>
</li>
<li>
<p>Scalability</p>
</li>
<li>
<p>Security</p>
</li>
<li>
<p>Centralized Management</p>
</li>
</ul>
<h3>Mergers and Acquisitions</h3>
<p>Today there are huge barriers when brining two separate companies’ assets into one. Mergers and acquisitions take place in today’s business world to grow and expand the business market. But the real challenges are faced when merging IT infrastructure.</p>
<p>Positioning the IT infrastructure of two separate entities needs future infrastructure planning, utilization, and the management of legacy applications with their infrastructures.</p>
<p></p><p><a href="//media.invisioncic.com/m329563/monthly_2024_02/reference-architectures_citrix-managed-desktops_013.png.cf3278c80efb54d0a37afef08a9ad283.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="2730" src="//media.invisioncic.com/m329563/monthly_2024_02/reference-architectures_citrix-managed-desktops_013.png.cf3278c80efb54d0a37afef08a9ad283.png" width="997" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_citrix-managed-desktops_013.png" loading="lazy" height="488.53"></a></p>
<p>In the case organizations have multiple forests and multiple exchange servers, it is more cumbersome to consolidate.</p>
<p>The above diagram depicts the multiple Active Directory forest present on-premises when the merger or acquisitions take place. When organizations have multiple forests, all forests must be reachable by a single Azure AD Connect sync server. It is not necessary to join the server to a domain. In a case where it is necessary to reach all forests, the administrator can place the server in a perimeter network such as the DMZ. The goal of this solution is that a user is represented only once in Azure AD.</p>
<p>The advantage of Citrix DaaS Standard is, the administrator can easily consolidate two forests with a single Azure AD. The new demand and requirement of desktops are easily provisioned on Citrix DaaS Standard. This solution enhances user productivity.</p>
<p>There are other topologies available for Azure AD Connect and those are:</p>
<ul>
<li>
<p>Multiple forests, single sync server, users are represented in only one directory</p>
</li>
<li>
<p>Multiple forests: full mesh with optional GAL Sync</p>
</li>
<li>
<p>Multiple forests: account-resource forest</p>
</li>
</ul>
<p>For more information on different topologies for Azure AD Connect refer to the following <a href="https://docs.microsoft.com/en-us/azure/active-directory/hybrid/plan-connect-topologies">link</a>.</p>
<h3>Non-Domain Joined Desktops for DevOps and seasonal workers</h3>
<p>In Citrix DaaS Standard a virtual desktop can be domain joined or non-domain joined. When there is an urgent requirement to involve third-party developers in the project it is hard to provide a desktop with reliable connectivity. For example, a seasonal worker or contractor whose involvement in the project is as required as organization employees. Apart from this task, the administrator has to make sure that they are accessing resources securely.</p>
<p></p><p><a href="//media.invisioncic.com/m329563/monthly_2024_02/reference-architectures_citrix-managed-desktops_014.png.95adf0a87a44b313294a7bbcf80f157a.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="2732" src="//media.invisioncic.com/m329563/monthly_2024_02/reference-architectures_citrix-managed-desktops_014.png.95adf0a87a44b313294a7bbcf80f157a.png" width="959" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_citrix-managed-desktops_014.png" loading="lazy" height="700.07"></a></p>
<p>The above diagram shows a non-domain-joined desktop provisioned for contractors and any dev-ops worker. The administrator creates a catalog for the dev-ops team and provisions a desktop with a necessary application that is not joined to the corporate domain. The administrator can provide or use Azure multifactor authentication to add one more layer of security.</p>
<p>The end-user has to access their desktop through Citrix Workspace app using URL the provided by the Citrix administrator.</p>
<h2>Technical Overview of Citrix DaaS Standard for Azure architecture</h2>
<p>Citrix DaaS Standard is the simplest, fastest way to deliver Windows apps and desktops hosted in Microsoft® Azure. The Citrix DaaS Standard solution is managed through Citrix Cloud. The resource provisioning, capacity management, and workspace configuration are all done through the Citrix Cloud web-based tools.</p>
<p></p><p><a href="//media.invisioncic.com/m329563/monthly_2024_02/reference-architectures_citrix-managed-desktops_003.png.8a1d1060ae969a19b62d7b461c909484.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="2734" src="//media.invisioncic.com/m329563/monthly_2024_02/reference-architectures_citrix-managed-desktops_003.png.8a1d1060ae969a19b62d7b461c909484.png" width="1027" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_citrix-managed-desktops_003.png" loading="lazy" height="534.04"></a></p>
<p>The above diagram depicts the architecture for Citrix DaaS Standard. In the Citrix DaaS Standard solution, Azure subscription is managed by Citrix. Customer-managed Azure subscriptions and customer data center resources are owned and managed by the customer. The administrators have the power to provision and monitor VDAs from Citrix Cloud. End-users can access their desktops from anywhere, and any device. The above diagram is divided into four sections:</p>
<p><strong>Citrix Cloud:</strong> The Citrix Cloud hosts a complete control plane for Citrix DaaS Standard. Delivery Controllers, database instances, monitoring tools, and other infrastructure components are part of Citrix DaaS Standard. Apart from Citrix DaaS Standard, other services including Citrix Gateway service, Secure Private Access, and other services are hosted on Citrix Cloud.</p>
<p><strong>Citrix-Managed Azure Platform:</strong> Citrix VDAs are provisioned on this platform. Windows server and client operating systems are hosted on this platform. This platform communicates with Citrix Cloud through Citrix Cloud Connectors. A pair of Cloud Connectors is hosted within a virtual network in each resource location. End-customers do not have access to the Citrix managed Azure subscription including Cloud Connectors. Therefore, Citrix is responsible for the performance and management of the Cloud Connectors.</p>
<p>In case customers want to communicate with existing resources on their Azure platform, they can use a VNet peering between two virtual networks.  From the Citrix Cloud, customers can configure a VNet peering to their customer-managed virtual network by giving existing Azure subscription credentials.</p>
<p><strong>Customer-Managed Azure Platform:</strong> This platform is completely owned by the customer. This Azure platform is the home for multiple Azure services provisioned by the customer. These services are applied by providing high throughput connectivity to the Citrix Managed Azure platform using VNet peering. Currently, VNet peering is scoped to a single region.</p>
<p><strong>Customer Data Center:</strong> The resources in the data center are completely managed by the customer. In case the organization needs to use services that are running to Citrix DaaS Standard, the customer has to establish connectivity between the Azure Platform (owned by the customer) and data center by using site-to-site VPN.</p>
<h3>Citrix DaaS Standard for Azure instance types</h3>
<p>Citrix DaaS Standard uses general-purpose compute power from the Azure platform to provide different types of catalogs. A catalog is a group of identical virtual machines. Citrix DaaS Standard utilizes the D-series of VMs from Azure. The D-series VMs feature with fast CPUs and optimal CPU-to-memory configuration making them suitable for desktop workloads.</p>
<p>The administrator has the option to select a machine (a combination of CPU and memory) during catalog creation. Available machine types are as follows:</p>
<p><strong>Multi-Session:</strong> Contains machines that are accessed by more than one user simultaneously. Supported master images are Windows 10 EVD (Multi-session) and Windows 2016 Server.</p>
<table>
<thead>
<tr>
<th><strong>Machine type</strong></th>
<th><strong>Sessions</strong></th>
<th><strong>Virtual CPU</strong></th>
<th><strong>Memory (GB)</strong></th>
</tr>
</thead>
<tbody>
<tr>
<td>Light (D2s v3)</td>
<td>16</td>
<td>2</td>
<td>8</td>
</tr>
<tr>
<td>Medium (D2s v3)</td>
<td>10</td>
<td>2</td>
<td>8</td>
</tr>
<tr>
<td>Heavy (D2s v3)</td>
<td>4</td>
<td>2</td>
<td>8</td>
</tr>
<tr>
<td>Custom</td>
<td>-</td>
<td>2, 4, 8</td>
<td>4, 8, 16, 32</td>
</tr>
</tbody>
</table>
<p><strong>Static (personal desktops):</strong> This machine is a dedicated machine that has been assigned to a user during login. The desktop will only be used by that particular user. Any changes that are made to the desktop are retained at logoff.</p>
<p><strong>Random (pooled desktops):</strong> This machine is a non-persistent desktop. Any changes made in the desktops are discarded after logoff. Any authenticated users can access this machine.</p>
<table>
<thead>
<tr>
<th><strong>Machine type</strong></th>
<th><strong>Virtual CPU</strong></th>
<th><strong>Memory (GB)</strong></th>
</tr>
</thead>
<tbody>
<tr>
<td>B2s</td>
<td>2</td>
<td>4</td>
</tr>
<tr>
<td>D2s v3</td>
<td>2</td>
<td>8</td>
</tr>
<tr>
<td>D4s v3</td>
<td>4</td>
<td>16</td>
</tr>
<tr>
<td>D8s v3</td>
<td>8</td>
<td>32</td>
</tr>
</tbody>
</table>
<h2>Citrix DaaS Standard for Azure Networking</h2>
<p>To provide users with best possible experience, Citrix DaaS Standard supports a hybrid or all-in cloud strategy using networking services. The administrators have an option to connect with their existing cloud and on-premises infrastructure and services through VNet peering only if a customer has Azure subscription present in that workload region.</p>
<p>To set up a connection to the corporate data center or other resources, the administrators have to make use of the Azure VNet Peering feature. This process requires Microsoft® Azure Subscription Owner privileges.</p>
<h3>Azure VNet Peering</h3>
<p>Virtual Network (VNet) is the fundamental building block for the private network in the Azure platform. Virtual machines can securely communicate with each other, the Internet, and on-premises networks. The Citrix Managed Azure platform is completely managed by Citrix including creating VNets, applying the policies, and so on. Customers only have visibility of the machines provisioned for them which makes Citrix DaaS Standard a pure DaaS solution.</p>
<p>The Citrix DaaS Standard portal gives an option to connect a customer’s existing Azure resources by configuring a VNet peering between Citrix Managed to Customer Managed Azure Virtual Networks. VNet peering is scoped to a single region.</p>
<p></p><p><a href="//media.invisioncic.com/m329563/monthly_2024_02/reference-architectures_citrix-managed-desktops_004.png.72b4d8401f9969e44b79fa8954aaaf25.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="2736" src="//media.invisioncic.com/m329563/monthly_2024_02/reference-architectures_citrix-managed-desktops_004.png.72b4d8401f9969e44b79fa8954aaaf25.png" width="1680" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_citrix-managed-desktops_004.png" loading="lazy" height="974.4"></a></p>
<p>The VNet Peering is required for VDAs in Citrix DaaS Standard to contact on-premises domain controllers, file shares, and other resources. The customer’s Azure Platform needs to have connectivity to their on-premises resources using ExpressRoute, IPsec tunnels, and other site-to-site VPN technologies.</p>
<p>Learn more about VNet concepts, and VNet Peering by visiting the <a href="https://docs.microsoft.com/en-us/azure/virtual-network/virtual-networks-overview">link</a>.</p>
<h3>Hybrid Connectivity to on-premises resources</h3>
<p>To enable VDAs running on Citrix DaaS Standard to communicate with on-premises resources, customers have to make a hybrid connection between a customer-managed Azure platform to their on-premises resources. Microsoft® Azure gives multiple options for hybrid connectivity. This section outlines a feasible solution for connecting an on-premises network to Azure.</p>
<h3>VPN connection</h3>
<p>A VPN gateway is used to send encrypted traffic between a customer’s Azure virtual network and an on-premises location over the public Internet. Each VNet can have only one VPN gateway, but administrators can create multiple connections to the same VPN gateway. In such cases, all VPN tunnels share the available gateway bandwidth.</p>
<p>VPN based architecture is suitable for the hybrid application if traffic between the Azure cloud and on-premises is lightweight and the customer is willing to trade latency for the processing power of the cloud.</p>
<p>This service is more suitable when the customer is using on-premises Active Directory services, accessing tools and services from existing virtual machines, connecting branch offices, and so on.</p>
<h3>Azure ExpressRoute</h3>
<p>The on-premises networks to Microsoft® Azure cloud connection are extended over a private connection provided by the service provider using Azure ExpressRoute. With this connection, the organization can utilize on-premises resources effectively for Citrix DaaS Standard. For example, it is possible to store their profiles on-premises file server, share point, or existing storage for content collaboration services, and so on.</p>
<p>The key benefits for deploying ExpressRoute are layer 3 connectivity between the on-premises network and Azure cloud, higher reliability, dynamic routing, and global connection to Microsoft® services across all regions.</p>
<p>ExpressRoute circuits are available in a wide range of bandwidth from 50 Mbps to 10 Gbps. Customers need to check with their local service provider.</p>
<h2>Citrix DaaS Standard for Azure Deployment scenarios</h2>
<p>Citrix DaaS Standard support multiple deployment frameworks along with user authentication. In a simplified way, these are based on either the Active Directory service or Azure Active Directory Domain service usage.</p>
<h3>Non-domain-joined catalogs</h3>
<p>All non-domain joined catalogs feature VDAs which are not joined to a domain. In addition, the VDAs cannot have any access to an on-premises network.</p>
<p>Typical uses for non-domain-joined VDAs are DevOps and providing access to third-party users for code development and testing activities. In a normal workgroup, the client machine administrator does not have control over managing the users, deploy updates, and so on. But in Citrix DaaS Standard for Azure administrators have control over the machines and users the are authenticated. For user authentication there are three options:</p>
<ol>
<li>
<p>Non-domain-joined catalogs with Citrix managed Azure AD</p>
<p>Citrix-managed Azure AD is used to manage users. Here customers don’t must access resources from the on-premises network. This deployment is the simplest way to conduct POCs for non-domain-joined VDAs. Limited user management is performed through the Citrix DaaS Standard UI. The Citrix managed Azure AD does not offer all the options of Azure AD authentication, for example, MFA is not configurable with the Citrix managed Azure AD.</p>
</li>
<li>
<p>Non-domain-joined catalogs with customer-managed Azure AD</p>
<p>For end-user authentication, a customer-managed Azure AD likely to be used. Here customers can use Azure multifactor authentication (MFA) to help safeguard access to data and applications. This method is the simplest for end-users and MFA based configuration decisions taken care of by the administrators.</p>
</li>
<li>
<p>Non-domain-joined catalogs with customer on-premises Active Directory</p>
<p>End-user authentication uses a customer’s on-premises Active Directory service. Here the administrator has to install Citrix Cloud Connectors in the customer on-premises network. This method enables Citrix Workspace to access the on-premises Active Directory and authenticate users. However, the VDAs will not have any access to the on-premises network.</p>
</li>
</ol>
<h3>Domain-joined catalogs</h3>
<p>Domain-joined catalogs feature domain-joined VDAs that have access to a customer-managed Active Directory. This Active Directory is used for user authentication.</p>
<ol>
<li>
<p>Domain-joined VDAs using Azure Active Directory Domain Services (AADDS)</p>
<p>In this type of deployment, the customer sets up an AADDS in their customer-managed Azure platform. They can establish a VNet peering between the Citrix-managed VNet and the customer-managed VNet so the VDAs have access to the AADDS. For end-user authentication, customers can use either Azure Active Directory that is available from their Azure Subscription, or they can use the AADDS for regular Active Directory authentication.</p>
<p>The customer-managed Azure Subscription resources including AADDS are being used using VNet peering between two virtual networks within that region or location. Azure AD Domain Services is featuring all types of domain services including domain join, group policy, LDAP, Kerberos/NTLM authentication that is compatible with Windows Server Active Directory.</p>
</li>
<li>
<p>Domain Joined VDAs using customer on-premises Active Directory Domain Services</p>
<p>In this type of deployment, all VDAs are domain-joined. For end-user authentication, customers can use Windows Active Directory Domain services hosted in their on-premises environment. Here Citrix DaaS Standard is running in any part of the Azure region (within Citrix DaaS Standard scope).</p>
</li>
</ol>
<p></p><p><a href="//media.invisioncic.com/m329563/monthly_2024_02/reference-architectures_citrix-managed-desktops_006.png.a41a07f97f44632bc91e5a4f8b3a0596.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="2738" src="//media.invisioncic.com/m329563/monthly_2024_02/reference-architectures_citrix-managed-desktops_006.png.a41a07f97f44632bc91e5a4f8b3a0596.png" width="1851" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_citrix-managed-desktops_006.png" loading="lazy" height="832.95"></a></p>
<p>In case the customer is using Azure Active Directory authentication, the customer has to install Azure AD connect. The organization must run Azure AD connect on their data center which will be synced with Azure AD. Azure AD is hosted on Azure by the customer using their Azure Subscription. There will be a VNet peering required with the Citrix DaaS Standard environment. For authentication, this type of deployment uses the customer AD hosted within their data center.</p>
<p>Reference: <a href="https://docs.citrix.com/en-us/citrix-managed-desktops.html">Deployment scenarios</a></p>
<h2>Profile Management</h2>
<p>The user’s personal settings that are applied to the user’s virtual desktop and applications are retained using profile management. Citrix Profile Management ensures that personal settings, documents, shortcuts, templates, desktop wallpapers, cookies, and favorites always follow the user in non-persistent desktops.</p>
<p>The Active Directory Group Policy Objects allow the administrators to control the behavior of the Citrix user profiles. Profile Management optimizes profiles in an easy and reliable way. During the logoff and at interim stages, registry changes, files, and folders in the profile are saved to the user store for each user.</p>
<p>Citrix DaaS Standard offers multiple catalogs including multi-session, random-desktops supported by Windows 10 EVD and Windows 2016 servers. Customers have to create a user store in their Azure Subscription and profiles are fetched and written to the customer’s file share. The administrators have to make sure there is reliable network connectivity between Citrix DaaS Standard (multi-session and random catalog) and the file servers storing the user profiles.</p>
<p></p><p><a href="//media.invisioncic.com/m329563/monthly_2024_02/reference-architectures_citrix-managed-desktops_007.png.60ef9a7e48245eba92f31b5b76dd9c8c.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="2740" src="//media.invisioncic.com/m329563/monthly_2024_02/reference-architectures_citrix-managed-desktops_007.png.60ef9a7e48245eba92f31b5b76dd9c8c.png" width="1008" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_citrix-managed-desktops_007.png" loading="lazy" height="715.68"></a></p>
<p>The user store is the central network location for storing Citrix user profiles. File servers are created in customer’s Azure Subscription with Availability set. For a user store, any SMB or CIFS files share that can be used. Make sure that the shared path is accessible by the accounts used with Citrix user profiles.</p>
<p>Profiles are loaded to any non-persistent desktops from that shared path over the network. VNet peering uses Azure backbone which provides low latency and robust network. VNet peering supported within the region, so this option is scoped singled region or location.</p>
<p>Reference: <a href="https://docs.citrix.com/en-us/profile-management/current-release.html">Profile Management</a></p>
<h2>Profile Management using FSLogix profile container with Azure Files</h2>
<p>Most organizations integrate some form of a profile management solution. As a result of the profile solution, end-users can sometimes face challenges in accessing their profile over the network due to the profile management being unable to handle large files and modern settings.</p>
<p>To overcome these problems Microsoft® introduced the FSLogix container solution for profile and office 365. FSLogix provides the best performing end-user computing environment, reduces management costs, simplifies the computing infrastructure.</p>
<h3>FSLogix Profile Containers</h3>
<p>In Citrix DaaS Standard, multi-session and random desktop catalogs will have user profiles that are not retained after logoff. FSLogix is designed to roam profiles in a Citrix DaaS Standard environment. This solution is accomplished by allowing the complete user profile to be stored in a single container.</p>
<p>During logon, the container is dynamically attached to the machine (VDA) that is running on the Citrix Managed Azure Subscription using VHD or VHDX Microsoft® services. These profiles are available to the user’s system as a native-like user profile. The large files are elegantly handled by the FSLogix Profile Containers solution to help ensure optimal user experience.</p>
<h3>Office 365 Containers</h3>
<p>Users demand productive experience with Microsoft® Office including fast email, fast searching, fast access to OneDrive files, and so on. The data and search indexes are stored in the container vs the whole user profile.</p>
<p>This solution easy to integrate over any existing profile management solution. In case using a profile management solution and office container, it is recommended to exclude the portion of the profile managed by Office 365 container.</p>
<h3>Azure Files</h3>
<p>As previously stated, the user profile is stored as a container and this container is dynamically attached to the VDAs during logon. Supported by VHD or VHDX the user profile containers are immediately available and appear after user login. Containers or disks stored in the cloud that are accessible via SMB protocol. Azure Files offers complete management of file shares hosted in the customer-managed Azure Subscription.</p>
<p>Azure Files are easily managed through the Azure portal, providing greater resiliency (LRS, ZRS). In terms of scalability, it can grow to 100 TB with multiple partitions. There are also advantages of performance factors given that Azure files provide 10,000 to 100,000 IOPS.</p>
<p></p><p><a href="//media.invisioncic.com/m329563/monthly_2024_02/reference-architectures_citrix-managed-desktops_008.png.3999c2e77f28a554c8fde4c25942d102.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="2742" src="//media.invisioncic.com/m329563/monthly_2024_02/reference-architectures_citrix-managed-desktops_008.png.3999c2e77f28a554c8fde4c25942d102.png" width="995" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_citrix-managed-desktops_008.png" loading="lazy" height="686.55"></a></p>
<p>The administrator has to create Azure Files for storing profiles in customer-managed Azure subscription. The above picture shows Citrix Managed VDAs are fetching the profiles from Azure Files over the network. The customer has to set up the VNet peering between the subscriptions.</p>
<p>FSLogix profile container binaries have to be installed on the base image during the master image preparation. Once all the tools and applications are installed, the VM has to be shut down. When the user logs in to a non-persistent VDA (newly created) a profile is created on the file share. Any changes made in that desktop will be stored on that particular container.</p>
<p>Learn more about the FSLogix Profile container solution, at this <a href="https://docs.microsoft.com/en-us/azure/virtual-desktop/fslogix-containers-azure-files">link</a>.</p>
<p>Reference: <a href="https://docs.fslogix.com/">FSLogix</a></p>
<h2>Monitoring of Citrix DaaS Standard for Azure</h2>
<p>The Citrix DaaS Standard <strong>Monitor</strong> dashboard gives the details of desktop usage, sessions, and machines in the deployment. The administrators can also control sessions, power-managed machines, end-user running applications, and end-user running processes.</p>
<p>Monitor provides:</p>
<ul>
<li>
<p>Real-time data from the Citrix DaaS Standard services running in the background</p>
</li>
<li>
<p>Historical data stored in the Monitor database to access the usage report</p>
</li>
<li>
<p>Visibility of machines running on Citrix Managed Azure subscription</p>
</li>
<li>
<p>Controlling capability for applications running on the VDA</p>
</li>
<li>
<p>Also provides session control capability with power management options</p>
</li>
</ul>
<p></p><p><a href="//media.invisioncic.com/m329563/monthly_2024_02/reference-architectures_citrix-managed-desktops_009.png.925c385014535481c989c9829ff0a9ba.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="2744" src="//media.invisioncic.com/m329563/monthly_2024_02/reference-architectures_citrix-managed-desktops_009.png.925c385014535481c989c9829ff0a9ba.png" width="1920" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_citrix-managed-desktops_009.png" loading="lazy" height="998.4"></a></p>
<p>The Managed Desktop usage page appears when the administrator selects the <strong>Monitor</strong> tab. Here it gives complete information about all catalogs. It also gives graphs with the number of powered-on machines and peaks concurrent sessions at regular points during the time period selected.</p>
<h3>Controlling user’s applications and sessions</h3>
<p>From the Monitor dashboard, administrators can apply filters to log off or disconnect a session. This option can be found by searching for a user.</p>
<h3>Power-control machines</h3>
<p>Single session or multi-session machines are displayed by applying the filtered search. By clicking Power Control action on the portal the administrator gets an option to restart, force restart, shutdown, force shutdown, and start the machines running on the Citrix DaaS Standard environment.</p>
<p>Reference: <a href="https://docs.citrix.com/en-us/citrix-virtual-apps-desktops-standard-azure/monitor.html">Monitor</a></p>
<h2>User Access and Authentication</h2>
<p>Citrix Workspace app is the entry point to access desktops and apps running on the Citrix DaaS Standard platform. The user has to first be authenticated when they log in to Citrix Workspace. Citrix DaaS Standard supports the following user authentication methods:</p>
<ul>
<li>
<p>Citrix Managed Azure AD (AAD)</p>
</li>
<li>
<p>Customer's choice of Identity provider</p>
</li>
</ul>
<p><strong>Citrix Managed Azure AD:</strong> Azure Active Directory service is provided and managed by Citrix. Here the administrator does not need to provide or own any Azure infrastructure. Citrix has made it simple to manage, the admins have to add their users to the directory using the Citrix DaaS Standard UI.</p>
<p><strong>Customer's choice of Identity provider:</strong> In this authentication method, customers can use any available authentication method in Citrix Cloud. Including customer managed Azure Active Directory, Okta and SAML 2.0 based authentication mechanisms.</p>
<p></p><p><a href="//media.invisioncic.com/m329563/monthly_2024_02/reference-architectures_citrix-managed-desktops_010.png.424445cf2eb30a87b214842f95cc021a.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="2746" src="//media.invisioncic.com/m329563/monthly_2024_02/reference-architectures_citrix-managed-desktops_010.png.424445cf2eb30a87b214842f95cc021a.png" width="997" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_citrix-managed-desktops_010.png" loading="lazy" height="448.65"></a></p>
<p>One option is to synchronize user identities between cloud and local directories so that Citrix DaaS Standard users can access their resources from Citrix Cloud. Using a single set of credentials users are able to access their Citrix DaaS Standard resources through Citrix Workspace App. To achieve this, customers have to install and configure Azure AD Connect on their on-premises.</p>
<p>Azure AD Connect sync takes care of all the operation that is related to synchronize identity data between the on-premises environment and Azure AD.</p>
<p>Another option is to use <strong>customer-managed Azure AD</strong> with a non-domain joined catalog. In this scenario, the customer-managed Azure AD would be entirely in the cloud with no on-premises connection or synchronization. This method is ideal for customers who do not have any legacy Active Directory or on-premises infrastructure.</p>
<p>Reference: <a href="https://docs.citrix.com/en-us/citrix-virtual-apps-desktops-standard-azure/users.html#add-and-delete-users-in-managed-azure-ad">User Authentication</a></p>
<h3>Connect Citrix Cloud to Azure AD</h3>
<p>To connect the existing Azure Active Directory with Citrix Cloud, the administrator must have Global Admin privileges in the Azure AD. Citrix Cloud needs permission to access the user profile in addition to the basic profiles of the users in the Azure AD. The administrator has to select the “Identity and Access Management” from Citrix Cloud. Fill in all the required details and sign in to the Azure account to connect. Then Citrix Cloud accesses the account and acquires the information required for connection.</p>
<p>After the Azure AD user accounts are connected, users can sign in to Citrix Cloud using a URL that is configured during the initial connection or by selecting “Sign in with my company credentials”.</p>
<p>Reference: <a href="https://docs.citrix.com/en-us/citrix-cloud/citrix-cloud-management/identity-access-management/connect-azure-ad.html">AAD to Citrix Cloud</a></p>
<p>Advanced multifactor authentication is provided by Azure AD. Turn-on the available features on the customer Azure AD, which enables Citrix Cloud users to use those capabilities by default.</p>
<h2>Image Management</h2>
<p>Image Management is the process of creating a master or golden image that contains the operating systems and all the required applications. A single image is delivered to multiple target virtual machines by the image provisioning mechanism. The Citrix DaaS Standard solution uses Citrix proven Machine Creation Service (MCS) technology to provision virtual machines on the Citrix Managed Azure Subscription.</p>
<p>Machine Creation Services configures, starts, stops, and deletes virtual machines using Microsoft® Azure APIs. MCS is a disk-based provisioning approach that integrates well within the Microsoft® Azure cloud platform. Citrix DaaS Standard provides several Citrix-managed master images:</p>
<ul>
<li>
<p>Windows 10 Enterprise (single session)</p>
</li>
<li>
<p>Windows 10 EVD and Windows Server 2016 (multi-session)</p>
</li>
</ul>
<p>Citrix DaaS Standard supports both server and desktops OS environments. Citrix administrators can create three types of machine catalogs using Citrix Machine Creation Services. Machine types are:</p>
<ul>
<li>
<p><strong>Multi-session</strong> - Windows 10 EVD (Multi-session) or Windows Server 2016 with latest VDA</p>
</li>
<li>
<p><strong>Static (personal desktops)</strong> - Windows 10 Pro with latest VDA</p>
</li>
<li>
<p><strong>Random (pooled desktops)</strong> - Windows 10 Pro with latest VDA</p>
</li>
</ul>
<p>Citrix offers customers an option to build their own image by using existing master images. These master images are used by the administrator to create a virtual machine to build their customized image for Citrix DaaS Standard.</p>
<h3>Import a master image from Azure</h3>
<p>In the case customer has their customized images available in their Azure Subscription, images are directly imported to Citrix DaaS Standard. The administrator has to enter the <strong>Azure-generated URL</strong> for the Virtual Hard Disk (VHD).</p>
<p>Citrix runs the validation test on the imported image. The administrator has to make sure the image has all the requirements to run on Citrix DaaS Standard. The requirement is:</p>
<ul>
<li>
<p>Operating system support (Windows 10 Enterprise, Windows 10 Enterprise Virtual Desktop preview, or Windows Server 2016)</p>
</li>
<li>
<p>No configured Delivery Controllers</p>
</li>
<li>
<p>Valid Citrix VDA newer than 7.11 installed and matching the operating system (for example server VDA on server OS)</p>
</li>
<li>
<p>The personality.ini file must exist on the system drive (VDA is set to MCS provisioning)</p>
</li>
</ul>
<p>Note: Before importing a master image from Azure, administrator makes sure that the Azure Virtual Machine Agent is installed on the image.</p>
<p>Learn more about importing a master image from Azure and installation of VDA on the master image, at this <a href="https://docs.citrix.com/en-us/citrix-virtual-apps-desktops-standard-azure/master-images.html">link</a>.</p>
<p>To create and managed master images refer to <a href="https://docs.citrix.com/en-us/citrix-virtual-apps-desktops-standard-azure/master-images.html#prepare-a-new-image">product documentation</a>.</p>
<h3>Optimization of the image</h3>
<p>The image may contain multiple unused services that used to create the machine catalog on Citrix DaaS Standard. OS optimization helps to remove or disable unwanted services running on an image. Citrix has developed an optimization tool called “Citrix Optimizer.” This tool helps Citrix administrators to optimize various components in an environment. The tool is PowerShell based and also includes a graphical UI.</p>
<p>Citrix Optimizer runs in three different modes:</p>
<ul>
<li>
<p>Analyze - analyze the current system against a specified template and display any differences</p>
</li>
<li>
<p>Execute - apply the optimization from the template</p>
</li>
<li>
<p>Rollback - revert the optimization changes applied previously</p>
</li>
</ul>
<p>The administrator has to choose the relevant template from the selection for OS optimization. Also, the administrator has an option to select and disable unwanted services from the image. By disabling such services master image becomes easier to use on the Azure cloud platform. This tool helps in optimizing resource consumptions and overall performance.</p>
<p>Learn more about the installation and updates of Citrix Optimizer <a href="https://support.citrix.com/article/CTX224676">CTX224676</a>.</p>
<h2>Licensing and Azure Subscription</h2>
<p>Licensing for Citrix DaaS Standard handled by Citrix. The administrator has privileges to set up a Microsoft® RDS license server for Windows Server workloads.</p>
<p>The multi-session catalog requires a Remote Desktop Services client access license (RDS CAL). The Remote Desktop Services license server issues client access licenses to devices and users. The administrator can activate the license server by using the Remote Desktop Licensing Manager.</p>
<p>Activate the license server in any one of the available machines through Remote Desktop Licensing Manager. The VM must always be available and Citrix VDAs must be able to reach this license server. Specify the license server address and per-user license mode using Microsoft® Group Policy. The Remote Desktop licensing mode configured on the remote desktop server must match the type of RDS CALs available on the license server.</p>
<h3>Azure Subscription</h3>
<p>Citrix Managed Azure Subscription: This subscription is completely owned by Citrix, where the end user's desktop is running on this platform.</p>
<p>Customer Managed Azure Subscription: This subscription owned by a customer running their own licensed workloads on Microsoft® Azure platform has to go through the Azure Hybrid Benefit.</p>
<h3>Bring-Your-Own Azure Subscription</h3>
<p>The Citrix DaaS Standard solution allows customers to use Citrix’s Azure subscription or a customer’s Azure subscription. Customers can bring their own Azure subscription which in turn allows any existing Microsoft® Azure customer to easily adopt Citrix DaaS Standard as part of their overall Azure cloud strategy.</p>
<p>To enable BYO Azure flexibility, a customer must add one or more existing Azure subscriptions to Citrix DaaS Standard.  This action authorizes Citrix DaaS Standard to access customer subscriptions.</p>
<p>There are a few limitations on the BYO Azure subscription model that are described below:</p>
<ul>
<li>
<p>Supports only domain-joined catalogs</p>
</li>
<li>
<p>Customers can only get a “custom to create” catalogs option</p>
</li>
<li>
<p>Customer must create a new virtual network or have the option to select the existing one</p>
</li>
</ul>
<p>With the BYO Azure subscription model, the customer has full control over the VDAs running on their subscription. Also, image management becomes easier in terms of importing the image and managing the existing images.</p>
<p>Reference: <a href="https://docs.citrix.com/en-us/citrix-virtual-apps-desktops-standard-azure/subscriptions.html">Bring-your-own Azure Subscription</a></p>
<h3>Windows 10 EVD licensing</h3>
<p>Azure Virtual Desktops (AVD) also known as Windows 10 Enterprise Virtual Desktops service and capabilities are extended and enriched by Citrix DaaS Standard through Citrix Cloud. This progression of remote desktop service available only on the Microsoft® Azure platform.</p>
<p>To deploy and manage a multi-session catalog using Azure Virtual Desktops customer gets a Windows 10 Enterprise E3 entitlement. A new Windows 10 EVD operating system licensed as part of Azure Virtual Desktops in Azure.</p>
<p>Extra benefits of Azure Virtual Desktop are customer gets Windows 7 virtual desktop with free Extended Security Updates. AVD offers flexible service allowing administrators to virtualize both desktops and apps.</p>
<h2>Best Practices and Design Considerations for Citrix DaaS Standard for Azure</h2>
<p>While adopting the Citrix DaaS Standard service for an organization, solution architects and administrators have to consider best practices and design considerations. It is important to align these with business needs.</p>
<p>The Citrix DaaS Standard service components computing, storage, and networking (in Citrix managed Azure subscription) are all managed by Citrix. The architects do not need to worry about the infrastructure side unless on-premises connectivity is required. There are a few important points to considered though:</p>
<ul>
<li>
<p>Conducting a pre-assessment before moving to Citrix DaaS Standard</p>
</li>
<li>
<p>Deployment considerations and image optimization</p>
</li>
<li>
<p>Power Management</p>
</li>
<li>
<p>Security</p>
</li>
<li>
<p>Applying patches and antivirus software</p>
</li>
<li>
<p>Multifactor authentication</p>
</li>
<li>
<p>Profile Management</p>
</li>
</ul>
<h3>Conducting a pre-assessment before moving to Citrix DaaS Standard for Azure</h3>
<p>To gain an understanding of the workloads, the solution architect has to do pre-assessment of the desktops and applications that run in the Citrix DaaS Standard environment. It is critically imperative to design and gather resource requirement data for Citrix DaaS Standard.</p>
<p>Pre-assessment is useful to determine the specific applications required for the users, the licensing requirement, and calculate the cost associated with the deployment. Citrix provides the Citrix DaaS Standard cost calculator to understand cost estimation for the deployment. Actual prices may vary depending upon other factors including date of purchase, type of agreement with Citrix, and so on.</p>
<p>Calculate your total DaaS costs with the <a href="https://www.citrix.com/products/citrix-virtual-apps-and-desktops/resources/citrix-azure-calculator.html">Citrix DaaS Standard for Azure Cost Calculator</a>.</p>
<h3>Deployment considerations and image optimization</h3>
<p>Many organizations confront the challenge of effectively scaling resources to meet demand. In case merger and acquisition take place then the organization faces challenges when the data center is under-resourced. Citrix DaaS Standard makes it possible to mitigate the scalability constraints. Customers can provision compute on an availability region nearest to their data center situated with reliable connectivity.</p>
<p>All the end-users use Citrix Workspace app to access their resources and that is the only single-point of entry. In case customers are using a file server or any other services running on their Azure Subscription, it is the customer’s responsibility to implement VNet peering between subscriptions. At the back-end, the Azure backbone network with a bandwidth of 25 Gbps used to link between subscriptions.</p>
<p>There is a cost associated with CPU, memory, and bandwidth consumption so customers have to plan their deployment depending on the need.</p>
<p>Image Optimization is an important task where administrators have to perform on the master image. Disable all the unwanted services and remove the application which is not used by users. This optimization reduces fewer CPU cycles and memory consumption.</p>
<h3>Power Management</h3>
<p>Power management options are available for catalogs containing multi-session and single-session machines. This task helps in minimizing the cost associated with resource consumption on the Citrix Managed Azure platform.</p>
<p>The administrator has an option to set the working hours depending on the time zone. In some of the use cases, machines do not need to be powered-on after working hours. In such scenarios, power management is a viable option for administrators to power-off those machines. Here administrators can set the start and stop time. Perhaps there are other options available as well that are tuned by administrators to get the best balance of price to responsiveness:</p>
<ul>
<li>
<p>Disconnect idle sessions: Idle desktops are disconnected, and the user has to log in to Workspace to start the machine</p>
</li>
<li>
<p>Log off disconnected session: The administrator can set the time to log off disconnected sessions. Users experience longer logon times and lose any unsaved work, but the machine can power off if there are no logged-in sessions</p>
</li>
<li>
<p>Power-off delay: Set the time for a machine to be powered-on before it is eligible for power-off</p>
</li>
<li>
<p>Capacity buffer option: Gives the option to meet a sudden spike in demand by keeping a buffer of machines powered-on. This step has to be entered in percentage, a lower value decreases the cost while higher value ensures optimal user experience (no wait time)</p>
</li>
</ul>
<p>To create a power management schedule, refer to the reference section.</p>
<p>Reference: <a href="https://docs.citrix.com/en-us/citrix-virtual-apps-desktops-standard-azure/catalogs-manage.html#manage-power-management-schedules">Power Management</a>.</p>
<h3>Security</h3>
<p>Secure virtual desktops significantly mitigate risks to a company by being within the protected network. Network-level isolation secures the Citrix DaaS Standard from external threats. Only outbound connectivity to the Internet is enabled by default in virtual machines. To access these machines Citrix Workspace app is the single entry point for end-users. The administrators can use the support and troubleshoot option for machines that are domain-joined. Citrix prepared images to have Windows Defender Antivirus enabled by default. The customer has the option to make their images more secure during the master image preparation by installing different antivirus software. There are other considering factors an administrator need to take into the account when considering security:</p>
<ul>
<li>
<p>Applying patches and antivirus software: During the master image creation, it is best practice to apply relevant patches. This process makes the environment safe from malicious users that exploit vulnerabilities left open when operating systems are not kept up-to-date</p>
</li>
<li>
<p>Multifactor authentication: This layer of security in the form of multifactor authentication protects critical corporate resources accessed via Citrix DaaS Standard solutions. Most of the data breaches arising from credentials compromised by enabling MFA it mitigates the risk</p>
</li>
</ul>
<p>Azure multifactor authentication helps safeguard access to Citrix DaaS Standard. With Conditional Access, the administrator can implement automated access control for accessing Citrix DaaS Standard based on conditions. To learn more about Azure MFA follow the Microsoft® documentation.</p>
<p>For more information on security refer to the technical security overview documentation.</p>
<p>Reference: <a href="https://docs.citrix.com/en-us/citrix-virtual-apps-desktops-standard-azure/security.html">Technical security overview</a></p>
<h3>Profile Management</h3>
<p>Profile management ensures that the user’s personal settings are retained for non-persistent desktops. Profile management gives reliable roaming experience to users. The end-user personal settings, documents, shortcuts, templates, desktop wallpapers, cookies, and favorites always follow the user across different Windows machines on any device. Before implementing Profile Management on the environment few factors to be considered. This includes the type of catalog, understanding the application behavior, pilot test on a few users then going for all users, and network share to store all the profiles.</p>
<p>For a detailed explanation of deciding factors, refer the <a href="https://docs.citrix.com/en-us/profile-management/current-release.html">Profile management</a> documentation from Citrix.</p>
<p>For the user share to store the profile, it is recommended to create a Windows file share on customers Azure subscription and all the user profiles are stored in that particular share. During the login, the profile is fetched over the network using Azure backbone network. This reduces the latency and faster logon times to the machines.</p>
<h2>Sources</h2>
<p>Goal of this reference architecture is to assist you with planning your own implementation. To make this job easier, we would like to provide you with source diagrams that you can adapt in your own detailed designs and implementation guides: <a href="https://citrix.sharefile.com/d-sce6dbc0be05a4a1f8d1b9f619ac7faa1">source diagrams</a>.</p>
<h2>References</h2>
<p>The following resources are referenced for a better understanding of Citrix DaaS Standard for Azure:</p>
<p><a href="https://docs.citrix.com/en-us/citrix-daas-azure.html">Citrix DaaS Standard for Azure</a></p>
<p><a href="https://docs.citrix.com/en-us/citrix-daas-azure/security.html">Citrix DaaS Standard Architecture</a></p>]]></description><guid isPermaLink="false">79</guid><pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate></item><item><title>Reference Architecture: Citrix Endpoint Management with Android Enterprise Integration</title><link>https://community.citrix.com/tech-zone/design/reference-architectures/citrix-endpoint-management/</link><description><![CDATA[<h2>Citrix Endpoint Management Overview</h2><p>Citrix Endpoint Management simplifies device and app management with a comprehensive, unified endpoint management solution. It also enables anywhere, any-device access to everything people need to be productive - including intelligence features that guide and automate work. There are also cloud management options for Citrix Virtual Apps and Desktops. Citrix Endpoint Management is available as a service in Citrix Cloud that removes the need for the customer to manage infrastructure, allowing them to focus on the device policies and application management.</p><p>Citrix Endpoint Management has Mobile Device Management (MDM) and Mobile App Management (MAM) features. MDM features of Endpoint Management allow admins to deploy device policies and apps, retrieve asset inventories, and carry out actions on devices, such as a device wipe. MAM features of Endpoint Management allow securing the apps and data on Bring Your Own mobile devices, delivering mobile enterprise apps, locking apps, and wiping app data.</p><p>Refer to the <a rel="external nofollow" href="https://docs.citrix.com/en-us/xenmobile/server/advanced-concepts/xenmobile-deployment/reference-architecture-on-prem.html">Citrix documentation</a>, which illustrates the reference architectures for the Endpoint Management deployment, formerly known as XenMobile. The deployment scenarios include MDM-only, MAM-only, and MDM+MAM as the core architectures.</p><p>Refer to the <a rel="external nofollow" href="https://docs.citrix.com/en-us/citrix-endpoint-management/about.html#architecture">Product documentation</a>, which illustrates the Endpoint Management components and comprehensive reference architecture diagrams with communication flow. It also covers the core reference architecture, integration with Citrix Virtual Apps and Desktops, Endpoint Management connector for Exchange ActiveSync, and Citrix Gateway Connector for Exchange ActiveSync.</p><h2>Android Enterprise with Citrix Endpoint Management</h2><h3>Overview of Android Enterprise</h3><p>Google announced device admin deprecation with its 2019 Android release. Device management using device admin permissions is considered a legacy management approach for Android devices. Android Enterprise is a modern management platform.</p><p>Android Enterprise is a set of tools and services provided by Google as an enterprise management solution for Android devices. The program offers APIs and other tools for developers to integrate support for Android into their Enterprise Mobility Management (EMM) solutions like Citrix Endpoint Management.</p><p>With Android Enterprise:</p><ul><li><p>Customers can use Endpoint Management to manage company-owned Android devices and Bring Your Own (BYO) Android devices.</p></li><li><p>Customers can manage the entire device or a separate work profile on the device. The separate work profile isolates business accounts, apps, and data from personal accounts, apps, and data.</p></li><li><p>Customers can also manage devices dedicated to single-use, such as inventory management.</p></li></ul><p>When Endpoint Management integrated with managed Google Play to use Android Enterprise in the organization is called enterprise. Google defines that an enterprise is a binding between the organization and the mobile management (EMM) solution. All the users and devices that the organization manages through the EMM solution belong to its enterprise. When Endpoint Management integrates with Android Enterprise, the complete solution has these components:</p><ul><li><p>Citrix Endpoint Management: The Citrix Endpoint Management is the unified endpoint management for a secure digital workspace. Endpoint Management provides the means for IT administrators to manage devices and apps for their organizations.</p></li><li><p>Citrix Secure Hub: The Citrix DPC app. Secure Hub is the launchpad for Endpoint Management. Secure Hub enforces policies on the device.</p></li><li><p>Managed Google Play: A Google enterprise app platform that integrates with Citrix Endpoint Management and its API sets app policies and distributes apps.</p></li></ul><h3>Benefits of Android Enterprise with Citrix Endpoint Management</h3><p>Whether corporate or employee-owned, Citrix Endpoint Management, and Android Enterprise deliver the controls that organizations need to protect their information while enabling user productivity. Citrix Endpoint Management supports each of the Android Enterprise management modes, including BYOD (Android work profile) and corporate profiles, including COPE(Company Owned/Personally Enabled), COBO(Company Owned/Business Only), COSU(Corporate Owned, Single Use) use cases. For BYOD users, Android Enterprise managed by Citrix Endpoint Management users get peace of mind and personal privacy while IT benefits from data security and compliance.</p><p>When administered by Citrix Endpoint Management, Android Enterprise provides flexibility in protecting company information. Apply the multiple layers of Android security, including hardened security and Google Play Protection, and extend advanced device and app management controls from Citrix Endpoint Management.</p><p>For faster onboarding and enrollment, Citrix Endpoint Management supports the different provisioning options provided by Android Enterprise, including EMM token, zero-touch enrollment, NFC, and QR code. In addition to Android Enterprise managed by Citrix Endpoint Management, users get seamless access to their Android business apps through managed Google Play. When combined with Citrix Workspace, users also get access to all other apps, including virtual, SaaS, and web. Users also get more work done with Citrix mobile productivity apps, including Citrix Secure Mail and Citrix Content Collaboration with integrated workflows.</p><h3>Impact of device administration deprecation</h3><p>Google announced to deprecate the following Device Administration APIs. These APIs won’t work on devices running Android Q after you upgrade Secure Hub to target the Android Q API level:</p><ul><li><p>Disable camera: Controls access to device cameras.</p></li><li><p>Keyguard features: Control features that are related to the device lock, such as biometrics and patterns.</p></li><li><p>Expire password: Forces users to change their password after a configurable time.</p></li><li><p>Limit password: Sets restrictive password requirements.</p></li><li><p>The deprecated APIs have no impact on devices enrolled in Citrix MAM-only mode.</p></li></ul><p>With the increased need for Android devices in the enterprise world and its growing use cases, Google introduced Android Enterprise with modern management modes – work profile, fully managed, and dedicated device. Refer to <a rel="external nofollow" href="https://developers.google.com/android/work/overview">Google developer documentation</a> for more details about the use-cases and profiles.</p><h3>Reference Architecture for Android Enterprise with Citrix Endpoint Management</h3><p> </p><p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_citrix-endpoint-management_007.png.548adf2c0386fac4b1311ad4308d4af8.png" class="ipsAttachLink ipsAttachLink_image ipsRichText__align--block" data-fileid="2706" data-fileext="reference-architectures_citrix-endpoint-management_007.png" rel=""><img class="ipsImage ipsImage_thumbnailed" data-fileid="2706" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_citrix-endpoint-management_007.png.548adf2c0386fac4b1311ad4308d4af8.png" alt="reference-architectures_citrix-endpoint-management_007.png" width="1280" height="716" loading="lazy"></a></p><p> </p><p>To enroll a new customer through the EMM console, you need to create an enterprise. In an Android Enterprise deployment, an enterprise maintains control over various aspects of user devices, such as isolating work-related information from users' personal data, pre-configuring approved apps for the environment, or disabling device capabilities (for example, the camera). Refer to the <a rel="external nofollow" href="https://developer.android.com/work/dpc/build-dpc">Google documentation</a>.</p><p>On the CEM server, you bind Citrix as your EMM partner for Android Enterprise (a 3-step process). CEM creates an Enterprise Service Account, which is used to manage data via Google Play APIs. The Google Play infrastructure offer services that include a managed, private enterprise app delivery store.</p><p>Once the integration is set up, Citrix Endpoint Management and managed Google Play work seamlessly together to secure, configure, and manage organizations’ Android devices and the required public or corporate apps.</p><p>An admin uses the EMM console to perform a range of tasks, including configuring device settings and apps. The DPC Secure Hub creates and manages the work profile on the device on which it is installed. The work profile encrypts work-related information and keeps it separate from users' personal apps and data. Before creating the work profile, the DPC can also provision a managed Google Play Account for use on the device.</p><p>In Android Enterprise for work profile or fully managed devices, users receive their apps via the Managed Google Play Store. EMM Admins approve public apps for use and can also add private apps on the Managed Google Play Store. The OrgID binding with Citrix Endpoint Management controls visibility of the private apps, which are approved through the Managed Google Play store, for devices enrolled with that organization.</p><p>The Secure Hub applies the device policies as set by an admin to meet an organization's requirements and constraints. For example, security policy might require that device lock after a certain number of failed password attempts. The DPC queries the EMM console for current policies then applies the policies</p><p><strong>Provisioning methods:</strong></p><h3>Fully Managed Device Provisioning Method</h3><p><strong>QR code</strong> — Android 9 devices and higher have a QR code reader built-in. For this method, the user simply turns on the device, taps the welcome screen six times, and scans the QR code, which automatically starts the enrollment-provisioning process by connecting to Google Play to access the management profile.</p><p><strong>Android zero-touch</strong> — Using Android zero-touch enrollment, IT admins can create, edit, and delete UEM configurations. In doing so, devices or groups of devices can be shipped with the enrollment already complete. All the user needs to do is turn on the device, connect to Wi-Fi, and enter their password.</p><p><strong>EMM token</strong> — With this method, a user’s IT department provides them with a token. For Citrix Endpoint Management, the token is afw#xenmobile. This token has to be entered after the new device turns on when the user is prompted for “Email or phone.” Entering the correct EMM token downloads the Citrix Endpoint Management device policy controller app so that the user can simply enter credentials to get set up.</p><p><strong>NFC Bump</strong> — The NFC Bump method uses “Near Field Communication” to provision the device. Using NFC Bump, the new device must be nearby (4 centimeters) to another. Bulk enrollment of corporate-issued devices has always been a major headache for IT. With NFC Bump enrollment, IT enrolls a master device, carrying the MDM server details, and simply taps the device to other unenrolled devices to start the automated-enrollment process. Bulk enrollment made easy!</p><h3>BYOD Provisioning Method</h3><p>In addition to the Work Managed options above, the BYOD method is popular for workers using a personally owned device. With this method, IT manages the business data (the Android work profile), leaving all the personal data and applications private. In other words, IT only has visibility and control of the work applications and nothing else. With this method, there is no device management, only mobile application management (MAM).</p><h3>Migrate from device administration to Android Enterprise</h3><div class="ipsRichText__table-wrapper"><table style="min-width: 60px"><colgroup><col style="min-width:20px;"><col style="min-width:20px;"><col style="min-width:20px;"></colgroup><tbody><tr><th colspan="1" rowspan="1"><p>Site Details</p></th><th colspan="1" rowspan="1"><p>Default Enrollment Profile</p></th><th colspan="1" rowspan="1"><p>Comments/Recommendation</p></th></tr><tr><td colspan="1" rowspan="1"><p>New Site</p></td><td colspan="1" rowspan="1"><p>Android Enterprise – Fully Managed/Work Profile</p></td><td colspan="1" rowspan="1"><p>Any new sites default to Android Enterprise (AE). Recommendation: Set up AE if not already set up and enroll devices in AE, Device Admin is a legacy mode</p></td></tr><tr><td colspan="1" rowspan="1"><p>Existing Site with Android Enterprise (AE) setup</p></td><td colspan="1" rowspan="1"><p>Android Enterprise – Fully Managed/Work Profile</p></td><td colspan="1" rowspan="1"><p>Any sites with AE configured defaults to Android Enterprise. Recommendation: a) If the site is AE with no Device Admin enrollment – no change required b) If the site has Device Admin mode enrollment – make sure to update the Enrollment Profile for those devices to point to Legacy (device administrator)</p></td></tr><tr><td colspan="1" rowspan="1"><p>Existing Site NOT setup with Android Enterprise</p></td><td colspan="1" rowspan="1"><p>Legacy (device administrator)</p></td><td colspan="1" rowspan="1"><p>Sites without an Android Enterprise setup will default to Legacy (device administrator). Recommendation: Set up Android Enterprise and plan migration</p></td></tr></tbody></table></div><p>Android Enterprise includes support for fully managed and work profile device modes. The Google publication, <a rel="external nofollow" href="https://static.googleusercontent.com/media/android.com/en/enterprise/static/2016/pdfs/enterprise/Android-Enterprise-Migration-Bluebook_2019.pdf">Android Enterprise Migration Bluebook</a>, explains in detail about how legacy device administration and Android Enterprise differ. We recommend that you read the migration approach from Google. Also, refer to the <a rel="external nofollow" href="https://androidenterprisepartners.withgoogle.com/devices/">Android Enterprise Solution Directory</a> for a list of Android-recommended devices that meet the elevated enterprise requirements. And for more information, visit <a rel="external nofollow" href="https://www.citrix.com/products/citrix-endpoint-management/android-mdm.html">Citrix’s Android Enterprise product page</a>.</p><h3>Sources</h3><p>The goal of this reference architecture is to assist you with planning your own implementation. To make this job easier, we would like to provide you with source diagrams that you can adapt in your own detailed designs and implementation guides: <a class="ipsAttachLink" data-fileid="35420" data-fileext="pptx" data-extension="pptx" href="https://community.citrix.com/applications/core/interface/file/attachment.php?id=35420&amp;key=2e74f90ee8216ef94b540fbbeda32ede" rel="">reference-architectures_citrix-endpoint-management.pptx</a></p><h3>References</h3><p><a rel="external nofollow" href="https://docs.citrix.com/en-us/xenmobile/server/advanced-concepts/xenmobile-deployment/reference-architecture-on-prem.html">Reference Architecture for On-Premises Deployments</a></p><p><a rel="external nofollow" href="https://docs.citrix.com/en-us/citrix-endpoint-management/about.html#architecture">Core Reference Architectures of CEM</a></p><p><a rel="external nofollow" href="https://docs.citrix.com/en-us/citrix-endpoint-management/integration-intune-ems.html">CEM Product Document for EMS/Intune Integration</a></p><p><a rel="external nofollow" href="https://docs.citrix.com/en-us/citrix-endpoint-management/downloads/integration-intune-ems-getting-started-guide.pdf">Get Started with Intune Integration</a></p><p><a rel="external nofollow" href="https://developers.google.com/android/work/overview">Android Enterprise Google Guide</a></p><p><a rel="external nofollow" href="https://developer.android.com/work/dpc/build-dpc">Google document on build DPC</a></p><p><a rel="external nofollow" href="https://static.googleusercontent.com/media/android.com/en/enterprise/static/2016/pdfs/enterprise/Android-Enterprise-Migration-Bluebook_2019.pdf">Android Enterprise Migration Bluebook</a></p><p><a rel="external nofollow" href="https://androidenterprisepartners.withgoogle.com/devices/">Android Enterprise Solution Directory</a></p><p><a rel="external nofollow" href="https://docs.citrix.com/en-us/citrix-endpoint-management/device-management/android/android-enterprise.html">Citrix’s Android Enterprise product document</a></p><p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_citrix-endpoint-management_001.png.d30582663474f882d13f6e4b1b03a005.png" class="ipsAttachLink ipsAttachLink_image ipsRichText__align--block" data-fileid="2695" data-fileext="reference-architectures_citrix-endpoint-management_001.png" rel=""><img class="ipsImage ipsImage_thumbnailed" data-fileid="2695" src="//media.invisioncic.com/m329563/monthly_2024_02/reference-architectures_citrix-endpoint-management_001.thumb.png.19a3a031a34f3e1ab39df92b8bfbe1a0.png" alt="reference-architectures_citrix-endpoint-management_001.png" width="1000" height="560" loading="lazy"></a></p><p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_citrix-endpoint-management_002.png.f490213523b09ad168afc4ee98455fc7.png" class="ipsAttachLink ipsAttachLink_image ipsRichText__align--block" data-fileid="2697" data-fileext="reference-architectures_citrix-endpoint-management_002.png" rel=""><img class="ipsImage ipsImage_thumbnailed" data-fileid="2697" src="//media.invisioncic.com/m329563/monthly_2024_02/reference-architectures_citrix-endpoint-management_002.thumb.png.d335a206d333147109438a893267d1b1.png" alt="reference-architectures_citrix-endpoint-management_002.png" width="1000" height="560" loading="lazy"></a></p><p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_citrix-endpoint-management_003.png.45e24cbd225ff6ca278f4616a1eb6b5a.png" class="ipsAttachLink ipsAttachLink_image ipsRichText__align--block" data-fileid="2699" data-fileext="reference-architectures_citrix-endpoint-management_003.png" rel=""><img class="ipsImage ipsImage_thumbnailed" data-fileid="2699" src="//media.invisioncic.com/m329563/monthly_2024_02/reference-architectures_citrix-endpoint-management_003.thumb.png.df7e7a60c4c09ab0267dc1eaa2a18f53.png" alt="reference-architectures_citrix-endpoint-management_003.png" width="1000" height="560" loading="lazy"></a></p><p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_citrix-endpoint-management_004.png.220248e7d9b659cc11222a026d56e303.png" class="ipsAttachLink ipsAttachLink_image ipsRichText__align--block" data-fileid="2701" data-fileext="reference-architectures_citrix-endpoint-management_004.png" rel=""><img class="ipsImage ipsImage_thumbnailed" data-fileid="2701" src="//media.invisioncic.com/m329563/monthly_2024_02/reference-architectures_citrix-endpoint-management_004.thumb.png.ea1a8e48c8ce3b302358e0097fc646d5.png" alt="reference-architectures_citrix-endpoint-management_004.png" width="1000" height="560" loading="lazy"></a></p><p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_citrix-endpoint-management_005.png.2ca4c99cea1ffd3d2316780f6d7eb6d5.png" class="ipsAttachLink ipsAttachLink_image ipsRichText__align--block" data-fileid="2703" data-fileext="reference-architectures_citrix-endpoint-management_005.png" rel=""><img class="ipsImage ipsImage_thumbnailed" data-fileid="2703" src="//media.invisioncic.com/m329563/monthly_2024_02/reference-architectures_citrix-endpoint-management_005.thumb.png.bb8ff7964b59ce0e4b9b5f38c19028da.png" alt="reference-architectures_citrix-endpoint-management_005.png" width="1000" height="560" loading="lazy"></a></p><p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_citrix-endpoint-management_006.png.17e1081947a2efbf5e9802fbee41338b.png" class="ipsAttachLink ipsAttachLink_image ipsRichText__align--block" data-fileid="2705" data-fileext="reference-architectures_citrix-endpoint-management_006.png" rel=""><img class="ipsImage ipsImage_thumbnailed" data-fileid="2705" src="//media.invisioncic.com/m329563/monthly_2024_02/reference-architectures_citrix-endpoint-management_006.thumb.png.a9110c8ada9841053bfce4f4e59c100a.png" alt="reference-architectures_citrix-endpoint-management_006.png" width="1000" height="560" loading="lazy"></a></p><p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_citrix-endpoint-management_007.png.4189a3bc5a84595e58ff0d786c0548b1.png" class="ipsAttachLink ipsAttachLink_image ipsRichText__align--block" data-fileid="2707" data-fileext="reference-architectures_citrix-endpoint-management_007.png" rel=""><img class="ipsImage ipsImage_thumbnailed" data-fileid="2707" src="//media.invisioncic.com/m329563/monthly_2024_02/reference-architectures_citrix-endpoint-management_007.thumb.png.3708c9ee91acb8b5ccb9f37ba177caad.png" alt="reference-architectures_citrix-endpoint-management_007.png" width="1000" height="560" loading="lazy"></a></p>
<p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_citrix-endpoint-management_001.png.6d19e62de803573853ec28d56af31f10.png" class="ipsAttachLink ipsAttachLink_image" ><img data-fileid="2694" src="//media.invisioncic.com/m329563/monthly_2024_02/reference-architectures_citrix-endpoint-management_001.thumb.png.174d68c5a1228fda7079ac92b7423008.png" height="562" width="1000" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_citrix-endpoint-management_001.png" loading='lazy'></a></p>
<p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_citrix-endpoint-management_002.png.ca4d8e30c1c9419767aa64cd702e51d1.png" class="ipsAttachLink ipsAttachLink_image" ><img data-fileid="2696" src="//media.invisioncic.com/m329563/monthly_2024_02/reference-architectures_citrix-endpoint-management_002.thumb.png.07c5eea89f6ab982f6634767cdc4b0fc.png" height="562" width="1000" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_citrix-endpoint-management_002.png" loading='lazy'></a></p>
<p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_citrix-endpoint-management_003.png.6b514fd17bc966b3f062aaaef002ec8a.png" class="ipsAttachLink ipsAttachLink_image" ><img data-fileid="2698" src="//media.invisioncic.com/m329563/monthly_2024_02/reference-architectures_citrix-endpoint-management_003.thumb.png.12e1d59952d96f1bd5fbea174f148260.png" height="562" width="1000" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_citrix-endpoint-management_003.png" loading='lazy'></a></p>
<p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_citrix-endpoint-management_004.png.7a01608ab81bafbfa5dbbaf567cb9f9d.png" class="ipsAttachLink ipsAttachLink_image" ><img data-fileid="2700" src="//media.invisioncic.com/m329563/monthly_2024_02/reference-architectures_citrix-endpoint-management_004.thumb.png.cae743be1edfc0979dc82fa5a18733a5.png" height="562" width="1000" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_citrix-endpoint-management_004.png" loading='lazy'></a></p>
<p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_citrix-endpoint-management_005.png.a1ee6ad7cefffa9a144885b5cf99c42d.png" class="ipsAttachLink ipsAttachLink_image" ><img data-fileid="2702" src="//media.invisioncic.com/m329563/monthly_2024_02/reference-architectures_citrix-endpoint-management_005.thumb.png.fe1b3e1f46ff81be73679d550eb86c22.png" height="562" width="1000" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_citrix-endpoint-management_005.png" loading='lazy'></a></p>
<p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_citrix-endpoint-management_006.png.7f13a30f31628a47238a1f035c5040ef.png" class="ipsAttachLink ipsAttachLink_image" ><img data-fileid="2704" src="//media.invisioncic.com/m329563/monthly_2024_02/reference-architectures_citrix-endpoint-management_006.thumb.png.9edd31d53827453c8065fe060ea7a95c.png" height="562" width="1000" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_citrix-endpoint-management_006.png" loading='lazy'></a></p>]]></description><guid isPermaLink="false">77</guid><pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate></item><item><title>Reference Architecture: Citrix Service Provider DaaS</title><link>https://community.citrix.com/tech-zone/design/reference-architectures/csp-cvads/</link><description><![CDATA[<h2>
	Audience
</h2>

<p>
	This document is intended for IT decision makers, consultants, solution integrators, cloud engineers, and CSP Partners seeking to deploy or migrate an existing multitenant Citrix Virtual Apps and Desktops environment to the multitenant Citrix Cloud.
</p>

<h2>
	Executive Summary
</h2>

<p>
	The Citrix Service Provider Reference Architecture on Citrix Cloud uses a next-generation cloud service delivery approach that guides deployment architectures that scale quickly while increasing user-centric mobility for an expanding customer base.
</p>

<p>
	Citrix Cloud enables the delivery of Microsoft® Windows® and Linux® workspaces with people-centric secure applications and desktops. Hosted in the Service Provider managed environments from on-premises data centers to private or public clouds. Citrix Service Providers can take advantage of the flexible licensing programs to deliver cost-effective services based on subscriber usage.
</p>

<p>
	The reference architecture is easily adapted to meet specific provider and subscriber requirements. Service Providers can deliver a comprehensive set of workspace offerings and price points while simplifying management and scalability. The cloud-ready services model enables lower infrastructure and administrative costs, speed to market and scalability, greater customer satisfaction, and increased business success.
</p>

<h2>
	Introduction and Scope
</h2>

<p>
	This document provides architectural guidance for Citrix Service Providers (CSP) who use Citrix Cloud technologies to offer services to customers and subscribers. The Reference Architecture is intended to assist Service Providers scale from a small subscriber base to an extensive user base shared across multiple tenants and geographies.
</p>

<p>
	The Citrix CSP Reference Architecture is flexible and can be used to implement hosting environments within an array of infrastructures during any implementation phase.
</p>

<p>
	This documentation describes the design and implementation of the Citrix Cloud solution infrastructure to be vendor agnostic and uses standard wording for the specific technology in use.
</p>

<p>
	Multitenant resource locations managed by Citrix Service Providers are highly scalable and available. Along with outstanding performance and end-user experience, including the management and incorporation of additional services.
</p>

<p>
	This version of the Reference Architecture focuses on Citrix DaaS for Citrix Service Providers. At the time of publication, not all Workspace Services support multitenancy. We will expand the Scope of the reference architecture to cover the overall workspace services for CSPs in future versions.
</p>

<h2>
	Overview
</h2>

<h3>
	Citrix Cloud
</h3>

<p>
	Citrix Cloud is a platform that hosts and administers Citrix services, such as Citrix Workspace and Citrix Virtual Apps and Desktops. It connects to hosted resources through the Citrix Cloud Connector on any cloud or infrastructure.
</p>

<p>
	Citrix Cloud allows Citrix Service Providers to create multiple workspace-hosting environments as resource locations (for example, on-premises, public Cloud, private Cloud, or hybrid Cloud).
</p>

<p>
	 
</p>

<p>
	<a class="ipsAttachLink ipsAttachLink_image" href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads_001.png.7d34bbf67538f63bc020f8e90b3d13ad.png" data-fileid="3005" data-fileext="reference-architectures_csp-cvads_001.png" rel=""><img alt="reference-architectures_csp-cvads_001.png" class="ipsImage ipsImage_thumbnailed" data-fileid="3005" style="height: auto;" width="992" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads_001.png.7d34bbf67538f63bc020f8e90b3d13ad.png" loading="lazy" height="545.6"></a>
</p>

<p>
	 
</p>

<p>
	<a href="https://docs.citrix.com/en-us/citrix-cloud.html" rel="external nofollow">More information Citrix Cloud</a>
</p>

<h3>
	Citrix Workspace
</h3>

<p>
	Citrix Workspace is a unified, secure cloud platform managed by Citrix. Hosting providers can securely deliver applications and data while maintaining end-user experience and productivity in an increasingly mobile work style.
</p>

<p>
	<a href="https://docs.citrix.com/en-us/citrix-workspace.html" rel="external nofollow">More information on Citrix Workspace</a>
</p>

<h3>
	Citrix DaaS
</h3>

<p>
	Around 80% of our Citrix Service Providers offer application and desktop solutions to their customers. Traditionally these offerings are hosted and managed on-premises. Citrix DaaS adds flexibility by hosting Access and Control Layers in Citrix Cloud, providing the Service Provider flexibility and allowing them to focus on their customer workloads from their chosen Public Cloud or maintained on-premises.
</p>

<p>
	<a href="https://docs.citrix.com/en-us/citrix-virtual-apps-desktops-service/setup-for-citrix-service-providers.html" rel="external nofollow">More information on Citrix DaaS</a>
</p>

<h3>
	Citrix Cloud Connectors
</h3>

<p>
	The Cloud Connector is a Citrix component that authenticates and encrypts all communications between Citrix Cloud and Service Provider managed resource locations. All communication between Citrix Cloud and the Resource Location environment is encrypted, negating the need for ingress firewall rules.
</p>

<p>
	<a href="https://docs.citrix.com/en-us/citrix-virtual-apps-desktops-service/install-configure/cloud-connectors-install.html" rel="external nofollow">More information on Citrix Cloud Connectors</a>
</p>

<h2>
	Architecture Models for Citrix Service Providers
</h2>

<p>
	Citrix Cloud for Citrix Service Providers (CSPs) is the platform for delivering and managing Citrix technologies, helping Service Providers extend existing hosting deployments or move their customers to a hosted cloud solution. CSPs can rapidly create and deploy secure digital workspaces using Citrix Cloud while maintaining the control of sensitive data and resources hosted on-prem or in a chosen cloud.
</p>

<h3>
	Citrix DaaS for CSP
</h3>

<p>
	For CSPs, the traditional deployment is hosting a Citrix Virtual Apps and Desktops environment on-premises, deployed in the Service Provider's data center with highly available components. In the Citrix Cloud model for CSP, high availability is built into the management and control plane. The optional access layer lets the Citrix Service Provider focus on the customers' application data and critical services. This model also allows the Service Provider to add more services hosted by Citrix in the Cloud quickly
</p>

<p>
	 
</p>

<p>
	<a class="ipsAttachLink ipsAttachLink_image" href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads_002.png.1229711d0f5bb1f2a5c86e660a20616c.png" data-fileid="3007" data-fileext="reference-architectures_csp-cvads_002.png" rel=""><img alt="reference-architectures_csp-cvads_002.png" class="ipsImage ipsImage_thumbnailed" data-fileid="3007" style="height: auto;" width="995" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads_002.png.1229711d0f5bb1f2a5c86e660a20616c.png" loading="lazy" height="606.95"></a>
</p>

<p>
	 
</p>

<h3>
	Security and Isolation
</h3>

<p>
	The Citrix DaaS Architecture consists of layers that connect to create a complete end-to-end solution for Service Providers. For general conceptual architecture and to understand how all layers flow together, refer to <a href="https://docs.citrix.com/en-us/tech-zone.html" rel="external nofollow">Citrix Tech Zone</a>
</p>

<p>
	 
</p>

<p>
	<a class="ipsAttachLink ipsAttachLink_image" href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads_003.png.0cbc93117b8889aa945788823c679563.png" data-fileid="3009" data-fileext="reference-architectures_csp-cvads_003.png" rel=""><img alt="reference-architectures_csp-cvads_003.png" class="ipsImage ipsImage_thumbnailed" data-fileid="3009" style="height: auto;" width="987" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads_003.png.0cbc93117b8889aa945788823c679563.png" loading="lazy" height="523.11"></a>
</p>

<p>
	 
</p>

<h4>
	External Access Security
</h4>

<p>
	A multitenant environment is isolated from the internet using a blended approach. Using complimentary technologies such as Firewalls, Application Delivery Controllers, Packet Filtering, intrusion detection and prevention systems, and so forth. Access to a multitenant network from Citrix Cloud is made more accessible by using the Citrix Cloud Connectors or a Citrix Application Delivery Controller and Citrix StoreFront combination.
</p>

<h4>
	Management Separation
</h4>

<p>
	The core network services for a Service Provider are located in a separate partition that allows the hosting of shared services. Depending on the services offered, the components of this partition can include Active Directory Domain Controllers, Backup, Automation Services, DNS, and so forth.
</p>

<h4>
	Storage Security
</h4>

<p>
	Access to the file repositories of each tenant needs to be separated from other tenants. Isolation can be achieved by using dedicated shared servers that are protected using security partitions or permissions
</p>

<h4>
	Tenant Isolation
</h4>

<p>
	Partitioning of the tenants is defined by the level of separation demanded by the customers. Citrix recommends that each tenant be placed into a segregated network using a Software-defined Network (SDN) for their dedicated workloads and complimentary services, ensuring adequate security isolation boundaries with managed networks and IP management and routing.
</p>

<h3>
	Multitenant Architecture Models
</h3>

<p>
	Citrix Cloud multitenant DaaS enables Service Providers to manage multiple customers. Using the single instance of Citrix DaaS with shared multitenant Citrix Web Studio and Director consoles and using Role Based Access Control under the partner cloud account. Citrix license management is also centralized for easy allocation.
</p>

<p>
	Multitenancy capabilities provide economies of scale on a single shared infrastructure while providing the required isolation and data protection. Service Providers can make trade-offs about price and features to meet individual tenant requirements.
</p>

<p>
	The tenant isolation in multitenant deployments needs to include appropriate nomenclature to clearly define the objects that are shared or dedicated within the management consoles and control planes. For example {Tenant}-{Location}-{Group}. Multitenant DaaS supports two architecture models:
</p>

<ol>
	<li>
		Shared Resource Location for multiple tenants.
	</li>
	<li>
		Dedicated resource location per tenant.
	</li>
</ol>

<h3>
	Shared Resource Location
</h3>

<p>
	 
</p>

<p>
	<a class="ipsAttachLink ipsAttachLink_image" href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads_004.png.b9ba30b01fabd7615ab4eaf549cc2ec5.png" data-fileid="3011" data-fileext="reference-architectures_csp-cvads_004.png" rel=""><img alt="reference-architectures_csp-cvads_004.png" class="ipsImage ipsImage_thumbnailed" data-fileid="3011" style="height: auto;" width="995" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads_004.png.b9ba30b01fabd7615ab4eaf549cc2ec5.png" loading="lazy" height="537.3"></a>
</p>

<p>
	 
</p>

<p>
	[Shared Resource Location, showing an overview of the components that can be shared between tenants under Citrix Service Provider's cloud account]
</p>

<p>
	In this multitenant architecture model, customers or tenants of the Service Provider share the partner's Citrix DaaS deployment, the same resource location, and a hosted Active Directory. Each Customer has a dedicated Workspace experience allowing them to customize their workspace configurations, including authentication, branding, and Workspace URL, to align closely with the Customer's business name and brand.
</p>

<p>
	The advantage of this model is to provide the best economics for hosting a wide range of shared customers using shared infrastructure and management components. Service Providers can elastically scale quickly and incorporate small customers rapidly. Shared resource locations can be on-premises or hosted in a public or private cloud. This option won't allow for hosting at a customer data center.
</p>

<p>
	It is recommended that the Machine Catalogs managed in a shared resource location are dedicated per tenant and assigned to specific Customer scope. However, it is possible to share machine catalogs of some typical applications for small tenants based on the Service Provider's discretion. Additional Workspace Authentication considerations must be factored in when sharing Machine Catalogs across tenants. These topics are covered in the <a href="#considerations-when-using-a-shared-resource-location" rel="">Considerations when using a Shared Resource Location</a> section below. The naming convention also extends to objects managed by the Service Provider within the infrastructure. When managing shared Resource Location Delivery Groups, it is highly recommended that they are dedicated per tenant—assigned with correspondingly named Active Directory Security groups via the managing subscribers page on the cloud control plane. Adding individual users to a delivery group is not recommended due to the high administrative overhead and low scalability.
</p>

<p>
	In summary, under the shared resource location model, each Customer has dedicated workspace experience and delivery groups, but share: • Active Directory • Partner hosted Resource location and cloud connectors • Citrix DaaS
</p>

<p>
	The advantages of this model are the best economics, easy and fast cloud transition for an existing on-prem multitenant AD environment, and good elasticity and scalability. However, it has limitations for integrating custom environments with complex applications and high compliance requirements.
</p>

<h3>
	Dedicated Resource Location
</h3>

<p>
	 
</p>

<p>
	<a class="ipsAttachLink ipsAttachLink_image" href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads_005.png.cbda436141bfc1fe42d16c249f0825b4.png" data-fileid="3013" data-fileext="reference-architectures_csp-cvads_005.png" rel=""><img alt="reference-architectures_csp-cvads_005.png" class="ipsImage ipsImage_thumbnailed" data-fileid="3013" style="height: auto;" width="993" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads_005.png.cbda436141bfc1fe42d16c249f0825b4.png" loading="lazy" height="556.08"></a>
</p>

<p>
	 
</p>

<p>
	[Dedicated Resource Location, showing the dedicated and shared components between tenants under Citrix Service Providers cloud account]
</p>

<p>
	Compared with the shared resource location model, customers that need more isolation from their hosting provider can use the dedicated Resource location model. Sharing the Service Provider's DaaS instance but maintaining its isolated active directory, cloud connectors, and infrastructure resources.
</p>

<p>
	The dedicated Active Directory and infrastructure resources ensure higher customer isolation and security. Sharing cloud service instances maintains the ease of the license allocation and centralized management via the partner control plane, Studio, and Monitor console. This model can be hosted using the Service Providers data center, public or private cloud locations, or a customer's data center.
</p>

<p>
	Citrix recommends a rationale behind the nomenclature in the Citrix Studio indicating information about the workload of the machine catalogs. Assign each catalog and delivery group to specific tenant scope. Similarly named Active Directory Security groups are used instead of adding individual users as subscribers to be assigned to corresponding libraries on the partner cloud portal.
</p>

<p>
	This naming convention will be extended to all objects assigned or managed for the tenant, including, but not limited to, hosting connections, Active Directory objects, network subnets, and so forth.
</p>

<p>
	The dedicated resource location is typically focused on small to medium-customer adoption. In summary, Customers share CSP's Citrix DaaS under the dedicated resource location model, but each Customer has a dedicated:
</p>

<ul>
	<li>
		Workspace experience, partner-hosted resource location, active directory.
	</li>
	<li>
		Machine Catalog, delivery groups.
	</li>
	<li>
		Most likely have dedicated subnet/vNet.
	</li>
	<li>
		Possible Hosting Connection and different cloud location.
	</li>
</ul>

<p>
	For small customers, it is not the most economical model; however, there are many advantages of this architecture model:
</p>

<ul>
	<li>
		Less administration cost when compared to complete private isolation.
	</li>
	<li>
		Centralized management and easy license allocation.
	</li>
	<li>
		Supports hybrid and multi-cloud adoption.
	</li>
	<li>
		Good flexibility and scalability.
	</li>
	<li>
		Balanced approach and suits most common use cases.
	</li>
</ul>

<h3>
	Private Workspace (Non-Multitenant)
</h3>

<p>
	 
</p>

<p>
	<a class="ipsAttachLink ipsAttachLink_image" href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads_006.png.c728fd8357d7490595a0c0d938865016.png" data-fileid="3015" data-fileext="reference-architectures_csp-cvads_006.png" rel=""><img alt="reference-architectures_csp-cvads_006.png" class="ipsImage ipsImage_thumbnailed" data-fileid="3015" style="height: auto;" width="996" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads_006.png.c728fd8357d7490595a0c0d938865016.png" loading="lazy" height="537.84"></a>
</p>

<p>
	 
</p>

<p>
	[Private Workspace, showing that the tenant has a fully isolated Workspace and no service instance is shared from the Service Provider's Cloud account]
</p>

<p>
	Some large enterprise customers need the ability to have a private Workspace managed by their Citrix Service Provider. For complex applications. With strict security and compliance requirements, the private Workspace does not have any shared components with other customers of the same Service Provider. The Customer invites the Service Provider to manage the Cloud environment. This isolation allows for flexibility and control for the Customer and Service Provider. The management and control from the Citrix Service Providers perspective are duplicated, with the complete service instance being dedicated to the Customer.
</p>

<p>
	The design and deployment for this mode are the same as standalone enterprise accounts on Citrix Cloud. Except the Service Provider is invited to connect and administer these accounts, the deployment model before multitenant support became available at the end of 2019. The detailed design, deployment, and best practices of the single tenant-private workspace model can be found on <a href="https://docs.citrix.com/en-us/tech-zone.html" rel="external nofollow">Citrix Tech Zone</a>.
</p>

<h3>
	Combination of Different Architecture Models
</h3>

<p>
	The different architecture models aren't mutually exclusive. A Service Provider can apply each model or hybrid architecture under their partner cloud account or manage a separate Cloud Account for their large Customer. The Service Provider models are developed to be flexible to meet the needs of their customers, offering solutions for providing a return of investment on shared infrastructure or isolation to solve data sovereignty challenges
</p>

<p>
	 
</p>

<p>
	<a class="ipsAttachLink ipsAttachLink_image" href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads_007.png.d6acdbb531b8bb6d3177d49fa44f5690.png" data-fileid="3017" data-fileext="reference-architectures_csp-cvads_007.png" rel=""><img alt="reference-architectures_csp-cvads_007.png" class="ipsImage ipsImage_thumbnailed" data-fileid="3017" style="height: auto;" width="993" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads_007.png.d6acdbb531b8bb6d3177d49fa44f5690.png" loading="lazy" height="566.01"></a>
</p>

<p>
	 
</p>

<p>
	[Combined architecture models for customer use cases managed under a single Citrix Service Provider Account]
</p>

<h3>
	Workspace Experience and Authentication
</h3>

<p>
	Each Customer or tenant has its Workspace; the authentication method used can vary from tenant to tenant if necessary. There are several identity providers available to the customers of a Citrix Service Provider.
</p>

<h3>
	Active Directory
</h3>

<p>
	Default provider for a CSP, offering Citrix DaaS and authenticating using Kerberos to a shared or dedicated Active Directory, allowing multiple Customer domains using distinct UPN suffixes.
</p>

<p>
	Customers under a multitenant setup with a dedicated resource location under the partner account can use Active Directory credentials to authenticate users for their Office 365 access once the AD credentials are synced to their Azure AD.
</p>

<h3>
	Time-Based One-Time Password
</h3>

<p>
	Either single or multitenant with or without a token is a secondary authentication factor supporting the Times Based One-Time Password standards such as Citrix Single Sign On (SSO), Google, or Microsoft Authenticator.
</p>

<h3>
	Azure Active Directory
</h3>

<p>
	For customers with private Workspace (Single Tenant), a CSP can connect the Customer's Azure AD to its Citrix Cloud account and authenticate users to the Workspace.
</p>

<h3>
	Citrix Gateway
</h3>

<p>
	Citrix DaaS supports the use per tenant of an on-premises NetScaler Gateway and StoreFront that enables multiple authentication and authorization functions.
</p>

<h3>
	OKTA
</h3>

<p>
	Using a Cloud-based identity provider such as OKTA allows CSPs to authenticate Customers by providing a standard sign-in procedure, simplifying the management of multiple authentication points for CSPs.
</p>

<h3>
	SAML
</h3>

<p>
	Citrix Cloud supports using SAML (Security Assertion Markup Language) as an identity provider to authenticate subscribers signing in to their workspaces. SAML 2.0 interfaces allow the CSP to bring a provider of their choice to connect to the on-premises Active Directory.
</p>

<h3>
	Considerations when using a Shared Resource Location
</h3>

<p>
	When using a <strong>Shared Resource Location</strong> between tenants, the tenants share a single Active Directory (AD) deployment. Suppose AD is used as the identity provider for Workspace. In that case, Citrix Cloud directly contacts this shared AD via the CSP's Citrix Cloud Connector to validate the users' credentials and establish the User's identity. When Azure Active Directory (AAD), Citrix Gateway, Okta, or SAML is used as the identity provider, Citrix Cloud trusts the identity providers to validate the User's credentials and establish the User's identity.
</p>

<p>
	When a federated identity provider is used, Citrix Cloud won't allow it to assert an Identity for an AD domain to which the tenant does not have access. Because of this, even if the tenant owns the identity provider integration of the Workspace, it cannot assert the identity of another tenant. The Service Provider controls this by giving tenants access to particular domains, as shown in the <a href="#configure-federated-domain-for-the-new-customer" rel="">Configure Federated Domain for the New Customer</a> section below. Suppose the Service Provider wants to share an AD domain between tenants, for cost or ease of management purposes. In that case, these tenants cannot configure a Federated Identity Provider since the protection offered by Citrix Cloud is at the domain level. Suppose the Service Provider wants to use a Federated Identity Provider for these tenants. In that case, the identity provider must be fully managed by the Service Provider and not by any tenant. Failure to do so might allow a malicious tenant to assert the identity of a user in a different tenant.
</p>

<h3>
	Cloud Federated Authentication Service
</h3>

<p>
	The FAS service enables customers to connect their on-premises FAS deployment to the Service Provider account in Citrix Cloud. It allows end-users to achieve Single Sign On (SSO) to Citrix DaaS resources using a federated identity provider in Workspace such as Azure Active Directory or OKTA.
</p>

<p>
	The Federated Authentication Service (FAS) is only currently supported on the Service Providers cloud account. Currently, it is not supported with the <a href="/en-us/tech-zone/design/reference-architectures/csp-cvads.html#configure-federated-domain-for-the-new-customer" rel="">Federated Domain</a> option for CSPs, which allows customers to use their workspace configuration.
</p>

<h2>
	Deployment Considerations
</h2>

<p>
	The Citrix Service Providers Cloud model allows for various deployment options suited to the needs of the Service Providers' customers for a wide range of public clouds and hypervisors. Service Providers and their Customers can combine these deployment options to provide hybrid cloud migration or multi-cloud adoptions.
</p>

<p>
	 
</p>

<p>
	<a class="ipsAttachLink ipsAttachLink_image" href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads_008.png.90d88abdd5a568508cdcf2be55ec86f5.png" data-fileid="3019" data-fileext="reference-architectures_csp-cvads_008.png" rel=""><img alt="reference-architectures_csp-cvads_008.png" class="ipsImage ipsImage_thumbnailed" data-fileid="3019" style="height: auto;" width="994" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads_008.png.90d88abdd5a568508cdcf2be55ec86f5.png" loading="lazy" height="556.64"></a>
</p>

<p>
	 
</p>

<p>
	[Combined deployment options for tenants managed under a single Citrix Service Provider Account]
</p>

<p>
	When ordering Citrix DaaS from your chosen distributor, it is essential to consider the diverse customer base managed by the Service Provider via Citrix Cloud. If the Customer has an existing Citrix DaaS entitlement, they cannot be invited to participate as a tenant under the Citrix Service Provider's service instance. However, they can be invited to connect subsequently managed by the CSP. Other customers without an existing service instance can be invited or added to the Citrix Service Provider's instance to either a Shared or Dedicated Resource Location.
</p>

<p>
	Concerning the architecture models, there are two SKUs available to CSPs:
</p>

<p>
	Single Tenant SKU – The existing SKU that the Citrix Service Provider orders for their Customer and the entitlement and Service instance are allocated on the Customer Cloud Account. SKU maps to the single tenant-private workspace model.
</p>

<p>
	Multitenant SKU – The new SKU with entitlement is only delivered to the Citrix Service Provider Partner account, which allows managing and distributing licenses between multiple customers.
</p>

<h3>
	Data centers
</h3>

<p>
	Some Service Providers have invested in long-term infrastructure and compute to host services or meet stringent compliance requirements. To use these existing resources, the suitable option is to have the Resource location deployed in the Citrix Service Provider Datacenter.
</p>

<p>
	Citrix DaaS supports the leading hypervisors available. Including integration with Machine Creation Service and Provisioning Services, automating the delivery and operation of the compute resources.
</p>

<p>
	Service Providers typically offer a tired storage option to their customers to ensure that there is distributed performance to allow for their current offering and future expansion.
</p>

<h3>
	Microsoft Azure
</h3>

<p>
	Many of our Citrix Service Providers are also Microsoft Cloud Solution Providers. Azure is a public cloud option from Microsoft for Service Providers looking to host workloads flexibly and elastically. Citrix DaaS has built-in support for Azure capabilities allowing for Machine Creation Services Integration. Citrix Autoscale proactively manages the workloads to balance the costs and service levels demanded by the Customer. Any unused workloads would be reduced during off-peak hours and increased before peak hours.
</p>

<p>
	Service Providers hosting their customers in Resource Groups in Azure using a collection of assets (for example, Virtual networks, Virtual Machines, and Storage accounts) in logical allocations for easy automatic provisioning, monitoring, and access control. Dividing the dedicated or shared resource into separate Azure virtual networks, typically, the access is controlled by the Cloud Connectors linking the Azure resource to Citrix Cloud. For more recommendations about Citrix DaaS on Azure, see:
</p>

<p>
	<a href="https://www.citrix.com/blogs/2018/06/07/cloud-guidepost-citrix-virtual-apps-and-desktops-service-on-azure-part-2/" rel="external nofollow">Microsoft Azure</a>
</p>

<h3>
	AWS
</h3>

<p>
	AWS is another public hosting option for Citrix Service Providers looking to host workloads in a flexible and controllable environment. Using an operations cost model to grow their business according to customer demands. Citrix DaaS has built-in AWS capabilities allowing for Machine Creation Services Integration for on-demand provisioning with Citrix Autoscale to proactively manage the workloads to balance the Customer's cost and service levels. Any unused workloads would be reduced during off-peak hours and increased before peak hours.
</p>

<p>
	An Availability Group is a collection of assets in the Amazon Elastic Compute Cloud. For example(Virtual networks, Virtual Machines, and Storage accounts) in logical groups for easy or even automatic provisioning, monitoring, and access control. Resource Groups in EC2 are for grouping related resources that belong to Citrix Virtual Apps and Desktops deployment, as they share a unified resource.
</p>

<p>
	The Virtual Machines used for Citrix Virtual Apps and Desktops workloads in EC2 are typically T-type machines. These Virtual Machines have the best balance for CPU and memory for Citrix Service Providers. Scaling up and down busing Autoscale to accommodate customer requirements and control costs. Any unused workloads would be reduced during off-peak hours and increased before peak hours.
</p>

<p>
	For more details regarding Citrix Virtual Apps and Desktops on AWS, see:
</p>

<p>
	<a href="https://aws.amazon.com/about-aws/whats-new/2019/01/deploy-citrix-virtual-apps-and-desktops-service-on-aws-with-new-quick-start/" rel="external nofollow">AWS</a>
</p>

<h3>
	Google Cloud
</h3>

<p>
	The Google Public Cloud offering for Citrix DaaS allows Service Providers to provision and manage machines within a Project on the Google Cloud Platform (GCP), using Machine Creation Services (MCS) to provision workloads and enable lifecycle image management.
</p>

<p>
	The automated provisioning for GCP, working with Citrix Autoscale to scale up and down these workloads on demand. At least one Project is needed to run Citrix DaaS with the Compute Engine API and the "Cloud Resource Manager API. Controlled via a GCP Service Account and can be shared between multiple CGP Projects, and the MCS Service uses it to power manage the virtual machines.
</p>

<p>
	For details on setting up a Citrix DaaS resource location on GCP, see:
</p>

<p>
	<a href="https://docs.citrix.com/en-us/citrix-virtual-apps-desktops-service/install-configure/resource-location/google.html" rel="external nofollow">Google Cloud</a>
</p>

<h2>
	Deployment Steps
</h2>

<h3>
	Onboard a Customer
</h3>

<h4>
	Customer Dashboard
</h4>

<p>
	To add a new customer or invite an existing customer to be managed by the Citrix Service Provider, the onboarding process is the same for both multitenant and single-tenant customers.
</p>

<p>
	To simplify account sprawl and centralize customer management, the CSP Team recommends that the add customer option is used within the Service Provider using a service account. This option reduces the number of administrator accounts used when setting up separate customer cloud accounts—allowing for continual service management when administrators leave the CSP organization.
</p>

<h4>
	Add a new Customer
</h4>

<p>
	On the Citrix Cloud Dashboard page, select <strong>Customers</strong>
</p>

<p>
	 
</p>

<p>
	<a class="ipsAttachLink ipsAttachLink_image" href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads_009.png.b533e3fcbec4e293a5d6602c03ba817e.png" data-fileid="3021" data-fileext="reference-architectures_csp-cvads_009.png" rel=""><img alt="reference-architectures_csp-cvads_009.png" class="ipsImage ipsImage_thumbnailed" data-fileid="3021" style="height: auto;" width="280" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads_009.png.b533e3fcbec4e293a5d6602c03ba817e.png" loading="lazy" height="201.6"></a>
</p>

<p>
	 
</p>

<p>
	The Customer Dashboard displays a list of the Citrix Service Provider's managed tenants. To Add a new Customer, select <strong>Invite or Add</strong>:
</p>

<p>
	 
</p>

<p>
	<a class="ipsAttachLink ipsAttachLink_image" href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads_010.png.201bd57ef349a51760fc480c4399284f.png" data-fileid="3023" data-fileext="reference-architectures_csp-cvads_010.png" rel=""><img alt="reference-architectures_csp-cvads_010.png" class="ipsImage ipsImage_thumbnailed" data-fileid="3023" style="height: auto;" width="399" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads_010.png.201bd57ef349a51760fc480c4399284f.png" loading="lazy" height="319.2"></a>
</p>

<p>
	 
</p>

<p>
	Select <strong>Add and Continue</strong>
</p>

<p>
	 
</p>

<p>
	<a class="ipsAttachLink ipsAttachLink_image" href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads_011.png.7932e420a6319c02bcccaa98e64b848a.png" data-fileid="3025" data-fileext="reference-architectures_csp-cvads_011.png" rel=""><img alt="reference-architectures_csp-cvads_011.png" class="ipsImage ipsImage_thumbnailed" data-fileid="3025" style="height: auto;" width="518" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads_011.png.7932e420a6319c02bcccaa98e64b848a.png" loading="lazy" height="331.52"></a>
</p>

<p>
	 
</p>

<p>
	Complete the onboarding information for the Customer; make sure the email address used here is unique and has not been used for any other Citrix Cloud accounts:
</p>

<p>
	 
</p>

<p>
	<a class="ipsAttachLink ipsAttachLink_image" href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads_012.png.99a7cd4558c467afa84061f802280183.png" data-fileid="3027" data-fileext="reference-architectures_csp-cvads_012.png" rel=""><img alt="reference-architectures_csp-cvads_012.png" class="ipsImage ipsImage_thumbnailed" data-fileid="3027" style="height: auto;" width="427" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads_012.png.99a7cd4558c467afa84061f802280183.png" loading="lazy" height="435.54"></a>
</p>

<p>
	 
</p>

<p>
	This creates a new Customer with a unique Organization ID (Org ID).
</p>

<h4>
	Invite a Customer
</h4>

<p>
	To invite an existing Citrix Cloud Customer, managed by the Citrix Service Provider, you can select the Invite option.
</p>

<p>
	 
</p>

<p>
	<a class="ipsAttachLink ipsAttachLink_image" href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads_013.png.fbacbc03f9fc0722e59f09dd46aa20d3.png" data-fileid="3029" data-fileext="reference-architectures_csp-cvads_013.png" rel=""><img alt="reference-architectures_csp-cvads_013.png" class="ipsImage ipsImage_thumbnailed" data-fileid="3029" style="height: auto;" width="427" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads_013.png.fbacbc03f9fc0722e59f09dd46aa20d3.png" loading="lazy" height="281.82"></a>
</p>

<p>
	 
</p>

<p>
	Select <strong>Invite and Continue</strong>.
</p>

<p>
	 
</p>

<p>
	<a class="ipsAttachLink ipsAttachLink_image" href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads_014.png.6e8a30e99c3c834126f14643328292ef.png" data-fileid="3031" data-fileext="reference-architectures_csp-cvads_014.png" rel=""><img alt="reference-architectures_csp-cvads_014.png" class="ipsImage ipsImage_thumbnailed" data-fileid="3031" style="height: auto;" width="554" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads_014.png.6e8a30e99c3c834126f14643328292ef.png" loading="lazy" height="171.74"></a>
</p>

<p>
	 
</p>

<p>
	Copy the Invite Link and email it to the Administrator of the Customer you would like to invite:
</p>

<h3>
	Enable Citrix DaaS to a New Customer
</h3>

<p>
	After a new customer is onboarded or an existing customer accepts the invite, the Citrix Service Provider can enable services to that Customer (tenant).
</p>

<h4>
	Enable Single Tenant (private) Citrix DaaS
</h4>

<p>
	For a new customer in a private workspace to have single tenant service. For example, the Customer has their instance of Citrix DaaS. The CSP needs to make a $0 order via its distributor and "ship to" the Customer's Citrix Cloud account.
</p>

<p>
	Once the single tenant service instance is enabled for the Customer (stocking order fulfilled), the "Manage" option appears inside the <strong>Citrix DaaS</strong> tile. By selecting the "Manage" option, the Customer's instance of Studio loads.
</p>

<h4>
	Enable Multitenant Citrix DaaS
</h4>

<p>
	Assuming the CSP partner already has the multitenant Citrix DaaS entitlement fulfilled (Otherwise, it is enabled via a $0 stocking order from the distributor).
</p>

<p>
	Adding a new customer to be managed under the CSP's multitenant service, follow the steps:
</p>

<p>
	1 - In the Citrix Cloud Dashboard page, select Customers 2 - On the Customer Dashboard, locate the Customer you want to add services to and select the three-dot button, and select <strong>Add Services</strong>
</p>

<p>
	 
</p>

<p>
	<a class="ipsAttachLink ipsAttachLink_image" href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads_016.png.31b6d1afa7cbba741a3de84a4e6acd53.png" data-fileid="3033" data-fileext="reference-architectures_csp-cvads_016.png" rel=""><img alt="reference-architectures_csp-cvads_016.png" class="ipsImage ipsImage_thumbnailed" data-fileid="3033" style="height: auto;" width="326" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads_016.png.31b6d1afa7cbba741a3de84a4e6acd53.png" loading="lazy" height="247.76"></a>
</p>

<p>
	 
</p>

<p>
	3 - Select "Continue" next to Citrix DaaS
</p>

<p>
	 
</p>

<p>
	<a class="ipsAttachLink ipsAttachLink_image" href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads_017.png.ae8ae307a109b0e41b7c360315541b15.png" data-fileid="3035" data-fileext="reference-architectures_csp-cvads_017.png" rel=""><img alt="reference-architectures_csp-cvads_017.png" class="ipsImage ipsImage_thumbnailed" data-fileid="3035" style="height: auto;" width="530" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads_017.png.ae8ae307a109b0e41b7c360315541b15.png" loading="lazy" height="174.9"></a>
</p>

<p>
	 
</p>

<p>
	Once the "add service" process is completed (it can take a few minutes), the "Manage" option appears inside the <strong>DaaS</strong> tile within the tenant's cloud account. However, when selecting the "Manage" option, the "This instance of the Citrix DaaS is managed by your Citrix Service Provider" message is displayed.
</p>

<p>
	 
</p>

<p>
	<a class="ipsAttachLink ipsAttachLink_image" href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads_018.png.4b97250660ee83c7bb19c30e1d8dbafe.png" data-fileid="3037" data-fileext="reference-architectures_csp-cvads_018.png" rel=""><img alt="reference-architectures_csp-cvads_018.png" class="ipsImage ipsImage_thumbnailed" data-fileid="3037" style="height: auto;" width="844" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads_018.png.4b97250660ee83c7bb19c30e1d8dbafe.png" loading="lazy" height="270.08"></a>
</p>

<p>
	 
</p>

<h3>
	Configure Multitenant Citrix DaaS for the New Customer
</h3>

<p>
	This document focuses on the deployment configurations of multitenant architecture models. For single-tenant Citrix DaaS, refer to:
</p>

<p>
	<a href="https://docs.citrix.com/en-us/citrix-virtual-apps-desktops-service/install-configure.html" rel="external nofollow">Citrix DaaS</a>
</p>

<p>
	The following section of multitenant deployment uses a hybrid cloud solution as an example to run workloads in an on-premises data center.
</p>

<h4>
	Deploy a New Resource Location
</h4>

<p>
	The resource location and Domain are a 1:1 relationship.
</p>

<h5>
	Dedicated Resource Location
</h5>

<p>
	When onboarding a new tenant, a new active directory, resource location, and a pair of cloud connectors need to be configured for the tenant.
</p>

<h6>
	Shared Resource Location
</h6>

<p>
	The resource location, active directory, and cloud connectors only need to be set up when the first tenant of the resource location is onboarded. The subsequent tenants share the setup except for the actual resources to be consumed, for example, AD OU, VDAs, etc. The Service Provider is responsible for partitioning each tenant's active directory and resources with secure isolation.
</p>

<h5>
	Process
</h5>

<p>
	When connected to the <strong>Citrix Cloud Console</strong>, select Resource Location (Edit or Add New)
</p>

<p>
	 
</p>

<p>
	<a class="ipsAttachLink ipsAttachLink_image" href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads_019.png.64710bc07d295314715b999de4098a09.png" data-fileid="3039" data-fileext="reference-architectures_csp-cvads_019.png" rel=""><img alt="reference-architectures_csp-cvads_019.png" class="ipsImage ipsImage_thumbnailed" data-fileid="3039" style="height: auto;" width="187" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads_019.png.64710bc07d295314715b999de4098a09.png" loading="lazy" height="142.12"></a>
</p>

<p>
	Select Add Resource Location, and name the Resource location to the multitenant nomenclature. To add the Cloud Connector. Download and install the Cloud Connector to at least two dedicated Servers. For detailed steps, follow
</p>

<p>
	 
</p>

<p>
	<a href="https://support.citrix.com/article/CTX460279/installing-the-citrix-cloud-connector" rel="external nofollow">How to install Citrix Cloud Connector</a>
</p>

<p>
	You can view the Active Directory Domain and Cloud Connectors after deployment.
</p>

<p>
	 
</p>

<p>
	<a class="ipsAttachLink ipsAttachLink_image" href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads_020.png.8ec2ddba89e87c6d9474fab70be79ad0.png" data-fileid="3041" data-fileext="reference-architectures_csp-cvads_020.png" rel=""><img alt="reference-architectures_csp-cvads_020.png" class="ipsImage ipsImage_thumbnailed" data-fileid="3041" style="height: auto;" width="797" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads_020.png.8ec2ddba89e87c6d9474fab70be79ad0.png" loading="lazy" height="494.14"></a>
</p>

<p>
	 
</p>

<h4>
	Define Hosting Connection
</h4>

<p>
	Since it is possible that each resource location can be deployed in different cloud infrastructures, for example, Azure, GCP, AWS, and on-premises hypervisors, a new Hosting Connection to the resources need to be defined for the new resource location. Navigate to the hamburger menu at the top left of the page and choose <strong>Citrix Virtual Apps and Desktops</strong>.
</p>

<p>
	 
</p>

<p>
	<a class="ipsAttachLink ipsAttachLink_image" href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads_021.png.f790a3cfb36386d553ba74d4d9ffd509.png" data-fileid="3043" data-fileext="reference-architectures_csp-cvads_021.png" rel=""><img alt="reference-architectures_csp-cvads_021.png" class="ipsImage ipsImage_thumbnailed" data-fileid="3043" style="height: auto;" width="252" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads_021.png.f790a3cfb36386d553ba74d4d9ffd509.png" loading="lazy" height="264.6"></a>
</p>

<p>
	 
</p>

<p>
	Select <strong>Manage Service</strong>, the Citrix Studio loads, and select hosting from the <strong>Left-Hand Studio</strong> menu.
</p>

<p>
	 
</p>

<p>
	<a class="ipsAttachLink ipsAttachLink_image" href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads_022.png.be6caa8c15e32d319038bb9ec331e4b0.png" data-fileid="3045" data-fileext="reference-architectures_csp-cvads_022.png" rel=""><img alt="reference-architectures_csp-cvads_022.png" class="ipsImage ipsImage_thumbnailed" data-fileid="3045" style="height: auto;" width="222" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads_022.png.be6caa8c15e32d319038bb9ec331e4b0.png" loading="lazy" height="381.84"></a>
</p>

<p>
	 
</p>

<p>
	Select <strong>Add Connection or Resource</strong> from the <strong>Action</strong> pane. Select <strong>Create a new Connection</strong>, choose the <strong>Connection type</strong>, enter the credentials and address for the connection, and name the connection using the correct nomenclature.
</p>

<p>
	 
</p>

<p>
	<a class="ipsAttachLink ipsAttachLink_image" href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads_023.png.94eb78dbd0ac297ab8d17201679f2490.png" data-fileid="3047" data-fileext="reference-architectures_csp-cvads_023.png" rel=""><img alt="reference-architectures_csp-cvads_023.png" class="ipsImage ipsImage_thumbnailed" data-fileid="3047" style="height: auto;" width="592" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads_023.png.94eb78dbd0ac297ab8d17201679f2490.png" loading="lazy" height="449.92"></a>
</p>

<p>
	 
</p>

<p>
	Select the storage location for the Resources.
</p>

<p>
	Select the <strong>Network Associated</strong> with the new Customer.
</p>

<p>
	 
</p>

<p>
	<a class="ipsAttachLink ipsAttachLink_image" href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads_024.png.c49e3b923baacb3a49e641bbcc4f4ba3.png" data-fileid="3049" data-fileext="reference-architectures_csp-cvads_024.png" rel=""><img alt="reference-architectures_csp-cvads_024.png" class="ipsImage ipsImage_thumbnailed" data-fileid="3049" style="height: auto;" width="642" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads_024.png.c49e3b923baacb3a49e641bbcc4f4ba3.png" loading="lazy" height="333.84"></a>
</p>

<p>
	 
</p>

<p>
	Select the Scope of the Customer recently onboarded, review the hosting connection and choose <strong>Finish</strong>.
</p>

<p>
	 
</p>

<p>
	<a class="ipsAttachLink ipsAttachLink_image" href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads_025.png.f1761f519ff51fce53c086b6142ec39e.png" data-fileid="3051" data-fileext="reference-architectures_csp-cvads_025.png" rel=""><img alt="reference-architectures_csp-cvads_025.png" class="ipsImage ipsImage_thumbnailed" data-fileid="3051" style="height: auto;" width="519" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads_025.png.f1761f519ff51fce53c086b6142ec39e.png" loading="lazy" height="347.73"></a>
</p>

<p>
	 
</p>

<h4>
	Configure Machine Catalogs for the New Customer
</h4>

<p>
	On the CSP partner's Citrix Cloud portal page, navigate to Citrix DaaS and select <strong>Manage Service</strong>.
</p>

<p>
	From the Citrix Studio, select <strong>Machine Catalogs</strong>, and Create Machine Catalogs from the <strong>Action</strong> Pane.
</p>

<p>
	In this example, we are using machines created with Machine Creation Services hosted on a hypervisor in the data center that can control the power state. Select the appropriate Resource Location, Shared, Single, and so forth. For the corresponding Customer, assign the Machine Catalog, select <strong>Next</strong>
</p>

<p>
	 
</p>

<p>
	<a class="ipsAttachLink ipsAttachLink_image" href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads_026.png.354f1c00fbb3d952f88767d6d371ebcc.png" data-fileid="3053" data-fileext="reference-architectures_csp-cvads_026.png" rel=""><img alt="reference-architectures_csp-cvads_026.png" class="ipsImage ipsImage_thumbnailed" data-fileid="3053" style="height: auto;" width="583" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads_026.png.354f1c00fbb3d952f88767d6d371ebcc.png" loading="lazy" height="413.93"></a>
</p>

<p>
	 
</p>

<p>
	Add the Machines from the Corresponding Active Directory and the Zone for the Customer. Enter the name of the machines(s) and select <strong>OK</strong>. Confirm the Zone and the minimal functional level of the VDA installed on the machines to be added. Shown is a VDA from version 1811 or newer, select <strong>Next</strong>.
</p>

<p>
	 
</p>

<p>
	<a class="ipsAttachLink ipsAttachLink_image" href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads_027.png.309929dae3308a7f61fd3a001f22a4b8.png" data-fileid="3055" data-fileext="reference-architectures_csp-cvads_027.png" rel=""><img alt="reference-architectures_csp-cvads_027.png" class="ipsImage ipsImage_thumbnailed" data-fileid="3055" style="height: auto;" width="617" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads_027.png.309929dae3308a7f61fd3a001f22a4b8.png" loading="lazy" height="481.26"></a>
</p>

<p>
	 
</p>

<p>
	Choose the Scope of the new Customer, and select <strong>Next</strong>.
</p>

<p>
	 
</p>

<p>
	<a class="ipsAttachLink ipsAttachLink_image" href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads_028.png.527939b3fe40ef59354df2297d1df0c4.png" data-fileid="3057" data-fileext="reference-architectures_csp-cvads_028.png" rel=""><img alt="reference-architectures_csp-cvads_028.png" class="ipsImage ipsImage_thumbnailed" data-fileid="3057" style="height: auto;" width="607" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads_028.png.527939b3fe40ef59354df2297d1df0c4.png" loading="lazy" height="345.99"></a>
</p>

<p>
	 
</p>

<p>
	Since machine catalogs are created for specific customer scopes, a predefined naming convention is necessary for a multitenant deployment. The Machines appear in the Machine Catalog list.
</p>

<p>
	 
</p>

<p>
	<a class="ipsAttachLink ipsAttachLink_image" href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads_029.png.02c220737d1ceb4c43087b099667d795.png" data-fileid="3059" data-fileext="reference-architectures_csp-cvads_029.png" rel=""><img alt="reference-architectures_csp-cvads_029.png" class="ipsImage ipsImage_thumbnailed" data-fileid="3059" style="height: auto;" width="970" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads_029.png.02c220737d1ceb4c43087b099667d795.png" loading="lazy" height="261.9"></a>
</p>

<p>
	 
</p>

<p>
	Use the View Machines Search option to confirm the registration status of the new Machine Catalog.
</p>

<p>
	 
</p>

<p>
	<a class="ipsAttachLink ipsAttachLink_image" href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads_030.png.050334aa2cc9f86849ecbcb2f35e8037.png" data-fileid="3061" data-fileext="reference-architectures_csp-cvads_030.png" rel=""><img alt="reference-architectures_csp-cvads_030.png" class="ipsImage ipsImage_thumbnailed" data-fileid="3061" style="height: auto;" width="221" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads_030.png.050334aa2cc9f86849ecbcb2f35e8037.png" loading="lazy" height="41.99"></a>
</p>

<p>
	 
</p>

<p>
	 
</p>

<p>
	<a class="ipsAttachLink ipsAttachLink_image" href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads_031.png.0f5075c8dc91ff3b6b7f62d2325c485c.png" data-fileid="3063" data-fileext="reference-architectures_csp-cvads_031.png" rel=""><img alt="reference-architectures_csp-cvads_031.png" class="ipsImage ipsImage_thumbnailed" data-fileid="3063" style="height: auto;" width="968" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads_031.png.0f5075c8dc91ff3b6b7f62d2325c485c.png" loading="lazy" height="203.28"></a>
</p>

<p>
	 
</p>

<h4>
	Create Delivery Groups for the New Customer
</h4>

<p>
	Select <strong>Delivery Group</strong>from the Citrix Studio, and Create Delivery Group from the <strong>Action</strong> Pane. Read the Getting Started information and select <strong>Next</strong>. Select a relevant Machine Catalog assigned with the Customer's Scope, and select <strong>Next</strong>.
</p>

<p>
	 
</p>

<p>
	<a class="ipsAttachLink ipsAttachLink_image" href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads_032.png.e527c909ff5e19a923d213af8f87d86b.png" data-fileid="3065" data-fileext="reference-architectures_csp-cvads_032.png" rel=""><img alt="reference-architectures_csp-cvads_032.png" class="ipsImage ipsImage_thumbnailed" data-fileid="3065" style="height: auto;" width="630" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads_032.png.e527c909ff5e19a923d213af8f87d86b.png" loading="lazy" height="441"></a>
</p>

<p>
	 
</p>

<p>
	The recommendation is to leave the management of Users to Citrix Cloud and select <strong>Next</strong>.
</p>

<p>
	Select <strong>Add Applications</strong> from a source. Usually, it is the Start menu if an application appears on the corresponding VDA. All applications selected appear under the same delivery group and be available as Libraries to all subscribers that are later added via the Citrix Cloud portal. Separate delivery groups can be created for applications and user groups that need restricted access.
</p>

<p>
	Under the multitenant deployment, some delivery groups can contain applications with the same name for different tenants. To avoid confusion and clearly define the ownership of these applications. The recommendation is to update the application naming to be tenant-specific, as shown in the example below. The application name for User can remain unchanged.
</p>

<p>
	 
</p>

<p>
	<a class="ipsAttachLink ipsAttachLink_image" href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads_033.png.e9e23b6c03fd007778c4f952fd92e269.png" data-fileid="3067" data-fileext="reference-architectures_csp-cvads_033.png" rel=""><img alt="reference-architectures_csp-cvads_033.png" class="ipsImage ipsImage_thumbnailed" data-fileid="3067" style="height: auto;" width="704" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads_033.png.e9e23b6c03fd007778c4f952fd92e269.png" loading="lazy" height="535.04"></a>
</p>

<p>
	 
</p>

<p>
	 
</p>

<p>
	<a class="ipsAttachLink ipsAttachLink_image" href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads_034.png.19e702cfa15cd82f3d46f5cf6f9f292c.png" data-fileid="3069" data-fileext="reference-architectures_csp-cvads_034.png" rel=""><img alt="reference-architectures_csp-cvads_034.png" class="ipsImage ipsImage_thumbnailed" data-fileid="3069" style="height: auto;" width="360" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads_034.png.19e702cfa15cd82f3d46f5cf6f9f292c.png" loading="lazy" height="190.8"></a>
</p>

<p>
	 
</p>

<p>
	Assign the Scope of the Customer to the delivery group, and select <strong>Next</strong>
</p>

<p>
	 
</p>

<p>
	<a class="ipsAttachLink ipsAttachLink_image" href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads_035.png.5f6abbe0613d413e3239ee20e890385b.png" data-fileid="3071" data-fileext="reference-architectures_csp-cvads_035.png" rel=""><img alt="reference-architectures_csp-cvads_035.png" class="ipsImage ipsImage_thumbnailed" data-fileid="3071" style="height: auto;" width="584" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads_035.png.5f6abbe0613d413e3239ee20e890385b.png" loading="lazy" height="332.88"></a>
</p>

<p>
	 
</p>

<p>
	A delivery group is only assigned to a specific customer scope to isolate customers in a multitenant setup securely. Different customer scopes do not share delivery groups. The predefined naming convention for delivery groups is also necessary for a multitenant deployment.
</p>

<h3>
	Configure Federated Domain for the New Customer
</h3>

<p>
	Even though the nomenclature is similar, the CSP Domain Federation is not the same as the Federated Authentication Service (FAS).
</p>

<p>
	This step is not required for large customers under the single tenant (private Workspace) architecture model. Domains and resource locations are configured directly within the Customer's cloud account.
</p>

<p>
	For a new customer to be managed under the partner's multitenant Citrix DaaS deployment and maintain its own workspace experience. For example, the Customer needs to be federated to the Domain configured under the partner account to enable the Customers Gateway URL. Within the partner's Citrix Cloud account, select the Customers domain from the <strong>Domains</strong> tab in the Identity and access management page, and select <strong>Manage Federated Domain</strong>.
</p>

<p>
	 
</p>

<p>
	<a class="ipsAttachLink ipsAttachLink_image" href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads_036.png.bcbd335310838ab2215362b34e727900.png" data-fileid="3073" data-fileext="reference-architectures_csp-cvads_036.png" rel=""><img alt="reference-architectures_csp-cvads_036.png" class="ipsImage ipsImage_thumbnailed" data-fileid="3073" style="height: auto;" width="253" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads_036.png.bcbd335310838ab2215362b34e727900.png" loading="lazy" height="146.74"></a>
</p>

<p>
	 
</p>

<p>
	Please select one or more customers to be added to the Domain, allowing the tenant to use their customized Workspace Configurations.
</p>

<p>
	 
</p>

<p>
	<a class="ipsAttachLink ipsAttachLink_image" href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads_037.png.fbe71c9e19bec6846a47847dcaa1ce89.png" data-fileid="3075" data-fileext="reference-architectures_csp-cvads_037.png" rel=""><img alt="reference-architectures_csp-cvads_037.png" class="ipsImage ipsImage_thumbnailed" data-fileid="3075" style="height: auto;" width="846" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads_037.png.fbe71c9e19bec6846a47847dcaa1ce89.png" loading="lazy" height="431.46"></a>
</p>

<p>
	 
</p>

<p>
	Note: The Federated Domain for multitenant Citrix DaaS is for workspace configuration only. It is not integrated with ADFS or the Citrix Federated Authentication Service.
</p>

<h3>
	Subscribe Customer User Groups to Offerings
</h3>

<p>
	Under the Single Tenant architecture model, where each Customer has their service instance, managing subscribers to libraries are done directly within the Customer's cloud account. For details, refer to the online document:
</p>

<p>
	<a href="https://docs.citrix.com/en-us/citrix-cloud/citrix-cloud-management/assign-users-to-offerings-using-library.html" rel="external nofollow">Assign users and groups to service offerings using Library</a>
</p>

<p>
	Under multitenant architecture models, subscribing user groups to libraries is done inside the CSP partner's Citrix Cloud account. The preferred method is assigning well-named Active Directory groups to the library resources for easy administration and scalability.
</p>

<p>
	Add users to a published application or desktop offering from either a Shared or Dedicated resource location of the multitenant service. Locate the Library Offerings from the Citrix Cloud home page in the Library offers. Select the View Library option, search, or find the resource you want to add users to using the three-dot menu. Manage Subscribers, choose from the list of Managed domains, and then add the Resource Group.
</p>

<p>
	 
</p>

<p>
	<a class="ipsAttachLink ipsAttachLink_image" href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads_038.png.f950f8fc6b6cdacc52c09b79200ec0da.png" data-fileid="3077" data-fileext="reference-architectures_csp-cvads_038.png" rel=""><img alt="reference-architectures_csp-cvads_038.png" class="ipsImage ipsImage_thumbnailed" data-fileid="3077" style="height: auto;" width="765" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads_038.png.f950f8fc6b6cdacc52c09b79200ec0da.png" loading="lazy" height="413.1"></a>
</p>

<p>
	 
</p>

<h3>
	Configure Tenant Workspace
</h3>

<p>
	CSP multitenant Citrix DaaSDaaS allows each tenant to maintain its own Workspace Experience. To change the Workspace for a customer from the Citrix Cloud Dashboard page, select <strong>Customers</strong>and View Details. Select a customer and Expand using the Arrow. Select <strong>View Customer Details</strong>.
</p>

<p>
	 
</p>

<p>
	<a class="ipsAttachLink ipsAttachLink_image" href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads_039.png.e1321cbdd1625b93641fa48c6341349b.png" data-fileid="3079" data-fileext="reference-architectures_csp-cvads_039.png" rel=""><img alt="reference-architectures_csp-cvads_039.png" class="ipsImage ipsImage_thumbnailed" data-fileid="3079" style="height: auto;" width="438" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads_039.png.e1321cbdd1625b93641fa48c6341349b.png" loading="lazy" height="219"></a>
</p>

<p>
	 
</p>

<p>
	Select Access Customer Account (there is also an alternative way to access the Customer's account via Change Customer)
</p>

<p>
	 
</p>

<p>
	<a class="ipsAttachLink ipsAttachLink_image" href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads_040.png.869f0f4f15e5a9dadf9d053fc4faa514.png" data-fileid="3081" data-fileext="reference-architectures_csp-cvads_040.png" rel=""><img alt="reference-architectures_csp-cvads_040.png" class="ipsImage ipsImage_thumbnailed" data-fileid="3081" style="height: auto;" width="285" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads_040.png.869f0f4f15e5a9dadf9d053fc4faa514.png" loading="lazy" height="304.95"></a>
</p>

<p>
	 
</p>

<p>
	Confirm that you are leaving the Citrix Service Provider's Account to enter the <strong>Customer Account</strong> and select <strong>Continue</strong>.
</p>

<p>
	After entering the tenant's Citrix Cloud account, navigate to the hamburger menu and choose, Workspace configuration:
</p>

<p>
	 
</p>

<p>
	<a class="ipsAttachLink ipsAttachLink_image" href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads_041.png.92ea50a20c72875fb799194bb52ecb78.png" data-fileid="3083" data-fileext="reference-architectures_csp-cvads_041.png" rel=""><img alt="reference-architectures_csp-cvads_041.png" class="ipsImage ipsImage_thumbnailed" data-fileid="3083" style="height: auto;" width="256" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads_041.png.92ea50a20c72875fb799194bb52ecb78.png" loading="lazy" height="412.16"></a>
</p>

<p>
	 
</p>

<h4>
	Access URL
</h4>

<p>
	Under the <strong>Access</strong> tab, the Customers Gateway URL can be customized. Edit the URL and select <strong>Save</strong>.
</p>

<p>
	 
</p>

<p>
	<a class="ipsAttachLink ipsAttachLink_image" href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads_042.png.657aebebc4445d7bb48ec004af4a645a.png" data-fileid="3085" data-fileext="reference-architectures_csp-cvads_042.png" rel=""><img alt="reference-architectures_csp-cvads_042.png" class="ipsImage ipsImage_thumbnailed" data-fileid="3085" style="height: auto;" width="926" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads_042.png.657aebebc4445d7bb48ec004af4a645a.png" loading="lazy" height="314.84"></a>
</p>

<p>
	 
</p>

<h4>
	Authentication
</h4>

<p>
	In the <strong>Authentication</strong> tab, specify the Authentication method for the Customer:
</p>

<p>
	 
</p>

<p>
	<a class="ipsAttachLink ipsAttachLink_image" href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads_043.png.4d8fabfebbada092139d502c28da6a36.png" data-fileid="3087" data-fileext="reference-architectures_csp-cvads_043.png" rel=""><img alt="reference-architectures_csp-cvads_043.png" class="ipsImage ipsImage_thumbnailed" data-fileid="3087" style="height: auto;" width="481" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads_043.png.4d8fabfebbada092139d502c28da6a36.png" loading="lazy" height="413.66"></a>
</p>

<p>
	 
</p>

<p>
	If Active Directory Authentication is used and the tenant is configured within a shared resource location. For example, the tenant user accounts and groups reside within an OU of the hosted multitenant Active Directory. The users' UPN suffix, which is usually the Customer's Domain, differs from the AD system domain. For example, customer domain selwfashion.nz in the example below versus cms.azr system domain of the hosting AD. The User's UPN domain will be recognized and authenticated through the custom Workspace URL. The UPN suffix must be added to the hosting Active Directory at the root level.
</p>

<p>
	 
</p>

<p>
	<a class="ipsAttachLink ipsAttachLink_image" href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads_044.png.8f35bddbb04f03c9a6ce0ea013da5659.png" data-fileid="3089" data-fileext="reference-architectures_csp-cvads_044.png" rel=""><img alt="reference-architectures_csp-cvads_044.png" class="ipsImage ipsImage_thumbnailed" data-fileid="3089" style="height: auto;" width="454" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads_044.png.8f35bddbb04f03c9a6ce0ea013da5659.png" loading="lazy" height="513.02"></a>
</p>

<p>
	 
</p>

<h4>
	Appearance
</h4>

<p>
	Customized branding and appearance often help the end-user experience. From the <strong>Customize</strong> tab, configure the customer logo and preferences.
</p>

<p>
	 
</p>

<p>
	<a class="ipsAttachLink ipsAttachLink_image" href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads_045.png.90731d33f5b77c69e985d41842274edc.png" data-fileid="3091" data-fileext="reference-architectures_csp-cvads_045.png" rel=""><img alt="reference-architectures_csp-cvads_045.png" class="ipsImage ipsImage_thumbnailed" data-fileid="3091" style="height: auto;" width="405" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads_045.png.90731d33f5b77c69e985d41842274edc.png" loading="lazy" height="477.9"></a>
</p>

<p>
	 
</p>

<h3>
	User Log in to Workspace
</h3>

<p>
	When the users of a customer login to the Workspace via the customized URL, for example, <code>https://selwfashion.cloud.com,</code> the same set of credentials of UPN and password (for example, the email address and password that match their Office 365 accounts) are used.
</p>

<p>
	 
</p>

<p>
	<a class="ipsAttachLink ipsAttachLink_image" href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads_046.png.e42ae1e07d02ca17a124d1b5a9bc5c65.png" data-fileid="3093" data-fileext="reference-architectures_csp-cvads_046.png" rel=""><img alt="reference-architectures_csp-cvads_046.png" class="ipsImage ipsImage_thumbnailed" data-fileid="3093" style="height: auto;" width="396" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads_046.png.e42ae1e07d02ca17a124d1b5a9bc5c65.png" loading="lazy" height="376.2"></a>
</p>

<p>
	 
</p>

<p>
	After logging on, the User's Workspace would look similar to the following:
</p>

<p>
	 
</p>

<p>
	<a class="ipsAttachLink ipsAttachLink_image" href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads_047.png.887a0a554141af43ae33113be01262fd.png" data-fileid="3095" data-fileext="reference-architectures_csp-cvads_047.png" rel=""><img alt="reference-architectures_csp-cvads_047.png" class="ipsImage ipsImage_thumbnailed" data-fileid="3095" style="height: auto;" width="746" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads_047.png.887a0a554141af43ae33113be01262fd.png" loading="lazy" height="469.98"></a>
</p>

<p>
	 
</p>

<h2>
	Performance and Monitoring
</h2>

<p>
	Citrix DaaS allows Citrix Service Providers to control and monitor the workloads centrally in the Cloud Console. Lowering the cost and administration effort of the management enables the operations team to deliver greater uptime.
</p>

<h3>
	Director
</h3>

<p>
	The Citrix Service Provider admins can manage their multitenant Shared and Dedicated Resource location Customers using a single Monitoring console. The CSP admin can choose to view an overview of all resources or drill down to a specific Customer. The Service Provider can also set Role Based Access Control permissions for its team to remember to manage particular customer scope or perform a subset of functions.
</p>

<p>
	 
</p>

<p>
	<a class="ipsAttachLink ipsAttachLink_image" href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads_048.png.1c52b5fd473e15d8395999c6f2c1d6c9.png" data-fileid="3097" data-fileext="reference-architectures_csp-cvads_048.png" rel=""><img alt="reference-architectures_csp-cvads_048.png" class="ipsImage ipsImage_thumbnailed" data-fileid="3097" style="height: auto;" width="924" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads_048.png.1c52b5fd473e15d8395999c6f2c1d6c9.png" loading="lazy" height="314.16"></a>
</p>

<p>
	 
</p>

<p>
	 
</p>

<p>
	<a class="ipsAttachLink ipsAttachLink_image" href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads_049.png.b755146298a51943fdfc83ec38bef23f.png" data-fileid="3099" data-fileext="reference-architectures_csp-cvads_049.png" rel=""><img alt="reference-architectures_csp-cvads_049.png" class="ipsImage ipsImage_thumbnailed" data-fileid="3099" style="height: auto;" width="944" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads_049.png.b755146298a51943fdfc83ec38bef23f.png" loading="lazy" height="387.04"></a>
</p>

<p>
	 
</p>

<p>
	The Monitoring console is dedicated to single tenants in their private Workspace with their instance of Citrix DaaS. A Citrix Service Provider with administrator rights logs into the Customer's cloud account to access and manage through this console.
</p>

<h3>
	Citrix Analytics Service
</h3>

<p>
	The Analytics service included in the Citrix Service Providers Workspace collects data across the hosting network, users, files, and endpoints. A Service Provider can centrally manage the insights to handle security threats, monitor service performance, optimize, and improve their offering.
</p>

<p>
	 
</p>

<p>
	<a class="ipsAttachLink ipsAttachLink_image" href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads_050.png.135bed5b558dff86cd1e784718af46bb.png" data-fileid="3101" data-fileext="reference-architectures_csp-cvads_050.png" rel=""><img alt="reference-architectures_csp-cvads_050.png" class="ipsImage ipsImage_thumbnailed" data-fileid="3101" style="height: auto;" width="793" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads_050.png.135bed5b558dff86cd1e784718af46bb.png" loading="lazy" height="396.5"></a>
</p>

<p>
	 
</p>

<h2>
	License Usage
</h2>

<p>
	Citrix Service Providers can gain insights on the number of User Licenses assigned against their total commitment amount within the "Licensing" page of Citrix Cloud.
</p>

<p>
	When the Citrix Service Provider-specific entitlement is provisioned, the licensing rules on the page are aligned with the program rules. Service Providers can expect "Assigned" license counts to reset monthly and overage amounts to be highlighted separately from the committed amount. Refer to the associated number in the image for the relevant detail about the experience.
</p>

<ol>
	<li>
		Provides the "Assigned" license count across all tenants and the total commitment amount. This "Assigned" resets every month.
	</li>
	<li>
		A graphical representation of the monthly assigned licenses across all tenants against the commitment amount.
	</li>
	<li>
		The ability to export the current month's detailed list of users listed in item 4.
	</li>
	<li>
		The detailed list of users with an assigned license in the current month. This list makes up the total "Assigned" count. More insights are provided when the first time that a license is assigned.
	</li>
</ol>

<p>
	 
</p>

<p>
	<a class="ipsAttachLink ipsAttachLink_image" href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads_051.png.f1fba0df64e56311c06080b26954403b.png" data-fileid="3103" data-fileext="reference-architectures_csp-cvads_051.png" rel=""><img alt="reference-architectures_csp-cvads_051.png" class="ipsImage ipsImage_thumbnailed" data-fileid="3103" style="height: auto;" width="566" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads_051.png.f1fba0df64e56311c06080b26954403b.png" loading="lazy" height="566"></a>
</p>

<p>
	 
</p>

<h2>
	Sources
</h2>

<p>
	The goal of this reference architecture is to assist you with planning your implementation. To make this job easier, we would like to provide you with source diagrams that you can adapt to your detailed designs and implementation guides: <a href="https://citrix.sharefile.com/d-sf5413a717944a3e9" rel="external nofollow">Source Diagrams</a>
</p>

<h2>
	References
</h2>

<p>
	<a href="https://docs.citrix.com/en-us/citrix-virtual-apps-desktops-service/install-configure/resource-location.html" rel="external nofollow">Resource Location</a>
</p>

<p>
	<a href="https://docs.citrix.com/en-us/citrix-cloud/citrix-cloud-management/identity-access-management.html" rel="external nofollow">Identity and Access Management</a>
</p>

<p>
	<a href="https://docs.citrix.com/en-us/citrix-cloud/citrix-cloud-management/assign-users-to-offerings-using-library.html" rel="external nofollow">Library Offerings and User Assignment</a>
</p>

<p>
	<a href="https://docs.citrix.com/en-us/citrix-cloud/overview/requirements/internet-connectivity-requirements.html" rel="external nofollow">Cloud Connector Internet Connectivity Requirements</a>
</p>

<p>
	<a href="https://docs.citrix.com/en-us/citrix-cloud/overview/secure-deployment-guide-for-the-citrix-cloud-platform.html" rel="external nofollow">Cloud Connector Secure Deployment</a>
</p>

<p>
	<a href="https://docs.citrix.com/en-us/federated-authentication-service/2203-ltsr" rel="external nofollow">Citrix FAS</a>
</p>

<p>
	<a href="https://docs.citrix.com/en-us/citrix-virtual-apps-desktops-service/netscaler.html" rel="external nofollow">Citrix Gateway Service</a>
</p>

<p>
	<a href="https://docs.citrix.com/en-us/citrix-virtual-apps-desktops-service/install-configure/install-vdas.html" rel="external nofollow">Virtual Delivery Agent</a>
</p>

<p>
	<a href="https://docs.citrix.com/en-us/citrix-virtual-apps-desktops-service/install-configure/connections.html" rel="external nofollow">Hosting Connections</a>
</p>

<p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads_001.png.9dfc0d3e80aceccfc15e0844a6759ff1.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="3006" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads_001.png.9dfc0d3e80aceccfc15e0844a6759ff1.png" width="992" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_csp-cvads_001.png" loading="lazy" height="545.6"></a></p>
<p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads_002.png.1c06ba8a55346d925525bedc3e9c0a99.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="3008" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads_002.png.1c06ba8a55346d925525bedc3e9c0a99.png" width="995" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_csp-cvads_002.png" loading="lazy" height="606.95"></a></p>
<p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads_003.png.e4f59c387218080c14cbf8991dd7dbd6.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="3010" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads_003.png.e4f59c387218080c14cbf8991dd7dbd6.png" width="987" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_csp-cvads_003.png" loading="lazy" height="523.11"></a></p>
<p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads_004.png.b8cb16398cffcd42905fde1a646e6ae2.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="3012" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads_004.png.b8cb16398cffcd42905fde1a646e6ae2.png" width="995" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_csp-cvads_004.png" loading="lazy" height="537.3"></a></p>
<p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads_005.png.3575be28c8e004bd0d528e8369e57e0f.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="3014" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads_005.png.3575be28c8e004bd0d528e8369e57e0f.png" width="993" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_csp-cvads_005.png" loading="lazy" height="556.08"></a></p>
<p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads_006.png.4c40641af90b0439403e097e6b9057a7.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="3016" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads_006.png.4c40641af90b0439403e097e6b9057a7.png" width="996" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_csp-cvads_006.png" loading="lazy" height="537.84"></a></p>
<p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads_007.png.d06a86a4feba20aca232950a5ba8a92a.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="3018" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads_007.png.d06a86a4feba20aca232950a5ba8a92a.png" width="993" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_csp-cvads_007.png" loading="lazy" height="566.01"></a></p>
<p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads_008.png.76ca45393dcfef98b6b535bca4bb657b.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="3020" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads_008.png.76ca45393dcfef98b6b535bca4bb657b.png" width="994" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_csp-cvads_008.png" loading="lazy" height="556.64"></a></p>
<p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads_009.png.0c9f02274740865ef244d488d78ee7fe.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="3022" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads_009.png.0c9f02274740865ef244d488d78ee7fe.png" width="280" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_csp-cvads_009.png" loading="lazy" height="201.6"></a></p>
<p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads_010.png.e6cbf6afafe485db70652eb1aefd7804.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="3024" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads_010.png.e6cbf6afafe485db70652eb1aefd7804.png" width="399" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_csp-cvads_010.png" loading="lazy" height="319.2"></a></p>
<p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads_011.png.acb3233f98d9625186456e897f45a91a.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="3026" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads_011.png.acb3233f98d9625186456e897f45a91a.png" width="518" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_csp-cvads_011.png" loading="lazy" height="331.52"></a></p>
<p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads_012.png.cd70eeabc7a4bb75690ef8b8b14208c4.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="3028" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads_012.png.cd70eeabc7a4bb75690ef8b8b14208c4.png" width="427" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_csp-cvads_012.png" loading="lazy" height="435.54"></a></p>
<p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads_013.png.da196a7d052643c014ad39b11d9e1ddb.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="3030" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads_013.png.da196a7d052643c014ad39b11d9e1ddb.png" width="427" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_csp-cvads_013.png" loading="lazy" height="281.82"></a></p>
<p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads_014.png.564214e4cc14ae63d4f1189b28afe18b.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="3032" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads_014.png.564214e4cc14ae63d4f1189b28afe18b.png" width="554" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_csp-cvads_014.png" loading="lazy" height="171.74"></a></p>
<p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads_016.png.e84d3fc859dd2f4f98e185a3ee100e1d.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="3034" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads_016.png.e84d3fc859dd2f4f98e185a3ee100e1d.png" width="326" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_csp-cvads_016.png" loading="lazy" height="247.76"></a></p>
<p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads_017.png.24a9a407c13074f573c48ec71362babc.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="3036" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads_017.png.24a9a407c13074f573c48ec71362babc.png" width="530" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_csp-cvads_017.png" loading="lazy" height="174.9"></a></p>
<p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads_018.png.d7aebab7927eb1855f61b556563592bb.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="3038" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads_018.png.d7aebab7927eb1855f61b556563592bb.png" width="844" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_csp-cvads_018.png" loading="lazy" height="270.08"></a></p>
<p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads_019.png.56dc1581057be04a622735b6d74045b2.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="3040" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads_019.png.56dc1581057be04a622735b6d74045b2.png" width="187" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_csp-cvads_019.png" loading="lazy" height="142.12"></a></p>
<p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads_020.png.fd4e97372ef609ab6da79557de2ea467.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="3042" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads_020.png.fd4e97372ef609ab6da79557de2ea467.png" width="797" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_csp-cvads_020.png" loading="lazy" height="494.14"></a></p>
<p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads_021.png.24e07baf542834678b9e6281e9cccc24.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="3044" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads_021.png.24e07baf542834678b9e6281e9cccc24.png" width="252" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_csp-cvads_021.png" loading="lazy" height="264.6"></a></p>
<p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads_022.png.0fed8e7b9a2091dde4589be629c42b2c.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="3046" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads_022.png.0fed8e7b9a2091dde4589be629c42b2c.png" width="222" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_csp-cvads_022.png" loading="lazy" height="381.84"></a></p>
<p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads_023.png.5334c1c2b08b4bf0670248954ba4c1a2.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="3048" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads_023.png.5334c1c2b08b4bf0670248954ba4c1a2.png" width="592" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_csp-cvads_023.png" loading="lazy" height="449.92"></a></p>
<p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads_024.png.df775211fb005e96978906a9d331f4b3.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="3050" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads_024.png.df775211fb005e96978906a9d331f4b3.png" width="642" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_csp-cvads_024.png" loading="lazy" height="333.84"></a></p>
<p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads_025.png.0219061cc76210dd250a0035f9b541fb.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="3052" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads_025.png.0219061cc76210dd250a0035f9b541fb.png" width="519" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_csp-cvads_025.png" loading="lazy" height="347.73"></a></p>
<p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads_026.png.bc163e05c918e6b3fafe48e3d9cf6200.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="3054" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads_026.png.bc163e05c918e6b3fafe48e3d9cf6200.png" width="583" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_csp-cvads_026.png" loading="lazy" height="413.93"></a></p>
<p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads_027.png.69b34876bbcae1aa364bd2fde9f00e83.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="3056" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads_027.png.69b34876bbcae1aa364bd2fde9f00e83.png" width="617" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_csp-cvads_027.png" loading="lazy" height="481.26"></a></p>
<p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads_028.png.1b80aa5f5badd6311d00263bf6f9f63b.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="3058" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads_028.png.1b80aa5f5badd6311d00263bf6f9f63b.png" width="607" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_csp-cvads_028.png" loading="lazy" height="345.99"></a></p>
<p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads_029.png.a9d4b2dc84948ab41ad11580e5d21b89.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="3060" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads_029.png.a9d4b2dc84948ab41ad11580e5d21b89.png" width="970" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_csp-cvads_029.png" loading="lazy" height="261.9"></a></p>
<p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads_030.png.b178faa7d5047bfc80afb09f34927cc6.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="3062" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads_030.png.b178faa7d5047bfc80afb09f34927cc6.png" width="221" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_csp-cvads_030.png" loading="lazy" height="41.99"></a></p>
<p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads_031.png.405b1d45895da425a6f04d14f88267bc.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="3064" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads_031.png.405b1d45895da425a6f04d14f88267bc.png" width="968" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_csp-cvads_031.png" loading="lazy" height="203.28"></a></p>
<p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads_032.png.43b63e94146cd424a929d1a504a9d540.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="3066" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads_032.png.43b63e94146cd424a929d1a504a9d540.png" width="630" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_csp-cvads_032.png" loading="lazy" height="441"></a></p>
<p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads_033.png.72dc7af323edd35afd4ba705d94177b9.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="3068" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads_033.png.72dc7af323edd35afd4ba705d94177b9.png" width="704" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_csp-cvads_033.png" loading="lazy" height="535.04"></a></p>
<p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads_034.png.b7401ea43fc46f68fbd3fedda6deab93.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="3070" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads_034.png.b7401ea43fc46f68fbd3fedda6deab93.png" width="360" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_csp-cvads_034.png" loading="lazy" height="190.8"></a></p>
<p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads_035.png.880d5e0a838351d7994449ca6c60ce64.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="3072" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads_035.png.880d5e0a838351d7994449ca6c60ce64.png" width="584" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_csp-cvads_035.png" loading="lazy" height="332.88"></a></p>
<p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads_036.png.1ddb7da66f428fe5343a653c328badd3.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="3074" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads_036.png.1ddb7da66f428fe5343a653c328badd3.png" width="253" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_csp-cvads_036.png" loading="lazy" height="146.74"></a></p>
<p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads_037.png.baa6cb967567f5cf42026b0187b782ae.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="3076" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads_037.png.baa6cb967567f5cf42026b0187b782ae.png" width="846" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_csp-cvads_037.png" loading="lazy" height="431.46"></a></p>
<p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads_038.png.8aa3fefce175b5574652693a49cbaf08.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="3078" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads_038.png.8aa3fefce175b5574652693a49cbaf08.png" width="765" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_csp-cvads_038.png" loading="lazy" height="413.1"></a></p>
<p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads_039.png.62e7184c9a2636698c9be38df44da149.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="3080" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads_039.png.62e7184c9a2636698c9be38df44da149.png" width="438" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_csp-cvads_039.png" loading="lazy" height="219"></a></p>
<p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads_040.png.5bc7edfc484307dd3eea81611a50f8ce.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="3082" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads_040.png.5bc7edfc484307dd3eea81611a50f8ce.png" width="285" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_csp-cvads_040.png" loading="lazy" height="304.95"></a></p>
<p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads_041.png.ab55b7eccc2674cb3e3ba32d4cb93b19.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="3084" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads_041.png.ab55b7eccc2674cb3e3ba32d4cb93b19.png" width="256" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_csp-cvads_041.png" loading="lazy" height="412.16"></a></p>
<p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads_042.png.378b9b704d1cc131349a86ca7889a5ce.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="3086" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads_042.png.378b9b704d1cc131349a86ca7889a5ce.png" width="926" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_csp-cvads_042.png" loading="lazy" height="314.84"></a></p>
<p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads_043.png.9e77e1e87574f337b77b7b949577fbb8.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="3088" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads_043.png.9e77e1e87574f337b77b7b949577fbb8.png" width="481" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_csp-cvads_043.png" loading="lazy" height="413.66"></a></p>
<p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads_044.png.a3a7abee1a3211640868df43cd0d5dd8.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="3090" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads_044.png.a3a7abee1a3211640868df43cd0d5dd8.png" width="454" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_csp-cvads_044.png" loading="lazy" height="513.02"></a></p>
<p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads_045.png.2a1966270c05f1ff1c9dc1bdea1f3b38.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="3092" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads_045.png.2a1966270c05f1ff1c9dc1bdea1f3b38.png" width="405" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_csp-cvads_045.png" loading="lazy" height="477.9"></a></p>
<p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads_046.png.0a02b4821b5528c2d31bb33eed751725.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="3094" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads_046.png.0a02b4821b5528c2d31bb33eed751725.png" width="396" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_csp-cvads_046.png" loading="lazy" height="376.2"></a></p>
<p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads_047.png.91653980bbff9996067e2fdb0db20656.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="3096" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads_047.png.91653980bbff9996067e2fdb0db20656.png" width="746" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_csp-cvads_047.png" loading="lazy" height="469.98"></a></p>
<p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads_048.png.7c6c1aae14758f1a52a7c17a090781ad.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="3098" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads_048.png.7c6c1aae14758f1a52a7c17a090781ad.png" width="924" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_csp-cvads_048.png" loading="lazy" height="314.16"></a></p>
<p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads_049.png.13281a0bf58723d0cecebf1857c552e0.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="3100" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads_049.png.13281a0bf58723d0cecebf1857c552e0.png" width="944" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_csp-cvads_049.png" loading="lazy" height="387.04"></a></p>
<p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads_050.png.9c3564a832a7218ac7bcc12443b77cfd.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="3102" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads_050.png.9c3564a832a7218ac7bcc12443b77cfd.png" width="793" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_csp-cvads_050.png" loading="lazy" height="396.5"></a></p>
<p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads_051.png.db5067bcf1aa467d1a6f8825aeb4d0ed.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="3104" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-cvads_051.png.db5067bcf1aa467d1a6f8825aeb4d0ed.png" width="566" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_csp-cvads_051.png" loading="lazy" height="566"></a></p>]]></description><guid isPermaLink="false">83</guid><pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate></item><item><title>Reference Architecture: Citrix Workspace Integration with nFactor and Multiple IDPs for CSPs</title><link>https://community.citrix.com/tech-zone/design/reference-architectures/csp-ws-nfactor/</link><description><![CDATA[
<h2>Introduction</h2>
<p>The purpose of this document is to guide Citrix Service Providers (CSPs) implementing the Citrix Virtual Apps and Desktops Service (CVADS) with Citrix Workspace and multiple Identity Providers (IDPs). Support for multiple IDPs with Citrix Workspace is achieved via the utilization of Citrix ADC nFactor Authentication.</p>
<p></p><p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-ws-nfactor_001.png.30bea57a530c815fd268c5499339fcd7.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="3125" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-ws-nfactor_001.png.30bea57a530c815fd268c5499339fcd7.png" width="1435" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_csp-ws-nfactor_001.png" loading="lazy" height="473.55"></a></p>
<p>This document isn't intended to provide step-by-step guidance on how to deploy the Citrix Virtual Apps and Desktops service for CSPs. It assumes understanding of the <a href="/en-us/tech-zone/design/reference-architectures/csp-cvads.html">Virtual Apps and Desktops Reference Architecture for CSPs</a>, which provides in-depth design and deployment considerations for a CVADS environment for CSPs.</p>
<p>On the other hand, it assumes understanding of Citrix ADC, single sign-on (SSO), and the Citrix Federated Authentication Service. For further information on these technologies, visit docs.citrix.com.</p>
<p>This document starts by reviewing the most common elements you need to understand to comfortably deploy Citrix ADC nFactor authentication. Next, it reviews the authentication flow for the components that make up this solution.</p>
<p>Finally, it covers the steps required to deploy Citrix ADC nFactor authentication with multiple IDPs, and how to integrate it with Citrix Workspace.</p>
<h2>Overview</h2>
<h3>Citrix Virtual Apps and Desktops Service</h3>
<p>The Citrix Virtual Apps and Desktops Service provides secure access of centrally managed desktops and applications from any device or network. With the integration between the Federated Authentication Service (FAS) and Citrix Cloud, CSPs can deliver SSO to virtual apps and desktops workloads while supporting external SAML IDPs.</p>
<p>CVADS supports workloads hosted on multiple resource locations including traditional hypervisors and public cloud platforms like Microsoft Azure, GCP, and AWS. The workloads hosted in these resource locations can be Windows or Linux based, supporting both multi-user and single user deployments.</p>
<p>Users can access their virtual resources via Windows, Mac, and Linux based clients, iOS and Android phones, and more. Citrix Gateway Service is usually in charge of handling external connections. It provides high availability with multiple points of presence around the world. Internal connections can use the new <a href="https://docs.citrix.com/en-us/citrix-workspace/workspace-network-location.html">Direct Workload Connection</a> functionality.</p>
<p>CSPs can follow the <a href="/en-us/tech-zone/design/reference-architectures/csp-cvads.html">Virtual Apps and Desktops Reference Architecture for CSPs</a> for guidance to architect a hosted DaaS solution powered by CVADS.</p>
<h3>Citrix ADC nFactor Authentication</h3>
<p>Citrix ADC nFactor provides the actions and policies to deliver a scalable and flexible authentication experience to end customers. This use case is relevant to CSPs delivering desktops and applications to multiple customers, by allowing them to bring their own SAML IDP.</p>
<p>nFactor authentication uses a robust policy engine and allows CSPs to design complex authentication workflows. nFactor uses policy expressions as the mechanism to determine the authentication flow for users. This functionality is based on different details like user, or connection attributes.</p>
<p>For this architecture, OAUTH IDP policies are configured to allow Citrix ADC to handle the authentication for Citrix Workspace. Also, SAML (and potentially LDAP) policies are configured to connect to multiple IDPs.</p>
<h3>Citrix Workspace Experience</h3>
<p>Workspace Experience is the cloud-based evolution of StoreFront. Through Workspace Experience, CSPs can deliver virtual apps and desktops, SSO to SaaS and on-prem web applications, microapp integrations and actions, content collaboration, endpoint management capabilities, and analytics. This advanced functionality allows CSPs to deliver an integrated experience, from a single pane of glass, focused on employee experience, and increased productivity.</p>
<p>Currently, Citrix Workspace does not support the integration with multiple IDPs. Many CSPs, however, need to provide multiple IDP support while maintaining the advanced features provided by Citrix Workspace.</p>
<h3>OAUTH Authentication</h3>
<p>Citrix ADC can be configured as an OAUTH Identity Provider (IDP) by using the Open ID Connect (OIDC) protocol. OAUTH is typically not referred to as an authentication protocol, but as an authorization framework instead. OIDC adds a user authentication portion to the typical OAUTH 2.0 flow. In this architecture, Citrix Workspace acts as the OAUTH Service Provider (SP) trusting Citrix ADC (OAUTH IDP).</p>
<p>For this configuration, Citrix Workspace requires Active Directory shadow accounts to pass a set of "claims" for the authentication process to be successful. Citrix Cloud requires these properties to establish the user context when subscribers sign in. If these properties aren't populated, subscribers can't sign into their workspace. The list of claims is reviewed in a later section of this document.</p>
<h3>SAML Authentication</h3>
<p>In the context of this architecture, Citrix ADC becomes the Service Provider (SP), and each customer's authentication solution acts as the Identity Provider (IDP). The SP or the IDP can initiate the SAML authentication process. This architecture uses SP initiated SAML SSO.</p>
<p>The SAML communication flow does not imply direct communication between the SP and the IDP. The web browser handles all the communication and no firewall ports need to be opened between the SP and IDP. Only the web browser needs to be able to communicate with both the SP and IDP.</p>
<h2>Concepts and Terminology</h2>
<p>Citrix ADC nFactor uses a set of entities that allow for the configuration of the different factors required by a specific deployment. The following concepts lay the foundation to understand the policy flows used by Citrix nFactor.</p>
<ul>
<li><strong>Authentication server (action):</strong> The authentication server (action) defines the specific configuration for a given IDP, whether it's an on-prem Active Directory, Azure AD, Okta, ADFS, etc. It includes the required details for the Citrix ADC appliance to communicate with the IDP and authenticate the users.</li>
<li><strong>Authentication policy:</strong> The authentication policies allow for users to be authenticated against the appliance. Policies use expressions under which they are applied. Expressions are used to let the ADC redirect the users to the appropriate IDP based on their UPN. An authentication policy must be linked to an authentication server (action).
<ul>
<li>The most commonly used expression in these scenarios is <strong>AAA.USER.NAME.SET_TEXT_MODE(IGNORECASE).AFTER_STR("@").EQ("domain.com")</strong>. This expression evaluates the user's UPN suffix after the "@" sign and if it matches a policy, applies the configured SAML server (action) for authentication.</li>
</ul></li>
<li><strong>Login schema:</strong> The login schema is a logical representation of the logon form written in XML, in other words, they represent the user interface. It's an entity that defines what the user sees and specifies how to extract the data from the user. Different schemas (or no schema) can be used for the different authentication factors. Citrix ADC provides several out-of-the-box schema templates for common use cases, which can be customized for other use cases.</li>
<li><strong>Policy label:</strong> Policy labels specify the authentication policies for a particular factor. Each policy label corresponds to a single authentication factor. They are basically a collection of policies that can be linked together as a single entity. The result of policies in a policy label follows logical "OR" conditions. If the authentication specified by the first policy succeeds, other policies following it are skipped. Policy labels define their view through a login schema.</li>
<li><strong>"No-Auth" policy:</strong> This is a special policy that always returns "success" as the authentication result. Their main purpose is to allow for flexibility when making logical decisions through the user authentication flow.</li>
<li><strong>Next factor:</strong> It determines what is done after a given step if the authentication flow is successful. It can be an extra policy, or define that the authentication flow must stop.</li>
<li><strong>AAA vServer:</strong> The authentication virtual server processes the associated authentication policies and provides access to the environment. For this architecture, the AAA vServer replaces the more common Gateway vServer and it's a fully addressable vServer. The Gateway vServer is only required if using Citrix ADC for HDX traffic, in which case the AAA vServer is configured as non-addressable. The Gateway vServer integration goes beyond the scope of this document.</li>
<li><strong>Authentication profile (optional):</strong> The authentication profile allows for the AAA vServer, and thus all its policies, to be linked to a Gateway vServer. This profile is only required if handling HDX traffic through the Citrix ADC appliance.</li>
</ul>
<h2>Architecture</h2>
<p>CSPs are constantly growing and adding new customers to their CVADS based DaaS offerings. This growth introduces the requirement to allow end customers to bring their own identity solutions and integrate them with Citrix Workspace, to use CVADS based workloads.</p>
<p>Citrix Workspace also provides advanced functionality that allows CSPs to integrate more services like SSO to SaaS and on-prem web applications, microapp integrations and actions, and content collaboration. It also provides integration with several IDPs like Azure AD, Okta, and SAML 2.0. However, multiple IDPs from a single Citrix Workspace are currently not supported.</p>
<p>Citrix Gateway Service handles the HDX proxy functionality when launching virtual apps and desktops resources from Citrix Workspace. This functionality might seem unnecessary since Citrix ADC is needed to provide multiple IDP support. However, offloading the HDX proxy significantly simplifies the network bandwidth and availability requirements on the CSP side.</p>
<p>This reference architecture focuses on the design decisions and considerations for integrating multiple IDPs, particularly SAML based, with Citrix Workspace and CVADS. This integration is achieved by configuring Citrix Workspace to delegate user authentication to Citrix ADC, which in turn forwards users to their respective IDPs.</p>
<h3>Considerations and Requirements</h3>
<p>At the moment of this writing, the following details need to be considered before deciding to integrate multiple IDPs to a CSP managed CVADS deployment.</p>
<ol>
<li>A Citrix ADC Advanced or Premium license is required for AAA nFactor functionality.</li>
<li>Citrix ADC 12.1 version 54.13 or later, or 13.0 version 41.20 or later are required.</li>
<li>The CVADS multi-tenancy feature isn't compatible with this deployment due to limitations with FAS and reverse federation.</li>
<li>Different SAML IDPs have different configuration steps. Those steps aren't covered in this document.</li>
<li>Active Directory must be configured with the alternate UPN suffixes and shadow accounts for each specific customer.</li>
<li>The following AD properties must be configured on the AD shadow accounts to be used as claims:
<ul>
<li>Email address</li>
<li>Display name</li>
<li>Common name</li>
<li>SAM account name</li>
<li>UPN</li>
<li>OID</li>
<li>SID</li>
</ul></li>
<li>Active Directory Certificate Services must be configured and available before configuring FAS.</li>
<li>While Citrix FAS is integrated with Citrix Workspace, it isn't a Cloud Service. FAS is deployed in the resource location.</li>
<li>Initial ADC configuration steps, including IPs, certificates, and network details aren't covered in this document.</li>
<li>Duplicate usernames across different UPN suffixes cannot be used. Even though the UPN suffix is different, the pre-Windows 2000 login name is the same for all suffixes.</li>
</ol>
<h3>User Experience</h3>
<p>The following diagram shows the authentication flow from a user experience perspective. To the end user, the experience is fairly similar to a traditional implementation without multiple IDPs. It's important, however, to educate end users on the need to use their UPN when signing in, as opposed to the more common SAM Account name.</p>
<p></p><p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-ws-nfactor_002.png.e51e318b1ac250b3b9e6f9c82468fd39.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="3127" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-ws-nfactor_002.png.e51e318b1ac250b3b9e6f9c82468fd39.png" width="2778" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_csp-ws-nfactor_002.png" loading="lazy" height="972.3"></a></p>
<ol>
<li>End users from different customers navigate to Citrix Workspace from any device / any network.</li>
<li>Citrix Workspace automatically redirects the users to the Citrix ADC AAA vServer.</li>
<li>Citrix ADC AAA vServer presents the user with a Username prompt. Users must enter their UPN.</li>
<li>User authentication request is forwarded to the appropriate SAML IDP based on the user's UPN suffix.</li>
<li>After the users authenticate via their IDP, they are redirected back to Citrix Workspace.</li>
<li>When a user attempts to launch a virtual app or virtual desktop, the CVAD service handles the brokering process.</li>
<li>Citrix Gateway Service establishes the HDX proxy to the virtual resources.</li>
<li>Active Directory shadow accounts are used to request a smart card certificate to provide SSO to the user.</li>
<li>The FAS rule is applied and the user sign-in request is satisfied via SSO.</li>
</ol>
<h3>Authentication Flow</h3>
<p>The following diagram shows the authentication flow for the different protocols in this architecture. Citrix Workspace acts as an OAUTH SP, Citrix ADC acts as both an OAUTH IDP and a SAML SP, and the customer IDP is the SAML IDP.</p>
<p></p><p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-ws-nfactor_003.png.549f65a730fe9e9eb747cde93b251637.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="3129" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-ws-nfactor_003.png.549f65a730fe9e9eb747cde93b251637.png" width="2392" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_csp-ws-nfactor_003.png" loading="lazy" height="1172.08"></a></p>
<ol>
<li>End user accesses Citrix Workspace (SP) via web browser or Citrix Workspace App.</li>
<li>When reaching Citrix Workspace (OAUTH SP), the user is redirected to Citrix ADC AAA vServer (OAUTH IDP).</li>
<li>User enters the UPN at the AAA vServer (SAML SP) login prompt and is redirected to the authentication service (SAML IDP).</li>
<li>SAML IDP authenticates the user and generates a SAML assertion (XHTML form).</li>
<li>The SAML assertion is sent back to the Citrix Workspace App.</li>
<li>Citrix Workspace App redirects the SAML assertion to the Citrix ADC AAA vServer.</li>
<li>Citrix ADC AAA vServer sends security context back to the user agent.</li>
<li>Citrix Workspace App requests the resources from the Citrix ADC AAA vServer.</li>
<li>Citrix ADC AAA vServer authenticates the user and claims are sent to Citrix Workspace.</li>
<li>Resources are accessible by Citrix Workspace App.</li>
</ol>
<table>
<thead>
<tr>
<th>NOTE:</th>
</tr>
</thead>
<tbody>
<tr>
<td>In the SAML flow, the web browser, or Workspace App is referred to as the "User Agent", which is part of the HTTP request header.</td>
</tr>
</tbody>
</table>
<h3>Policy Flow</h3>
<p>The following diagram represents the nFactor policy flow for this architecture. Understanding the nFactor policy flow is vital to the success of the designed authentication architecture. In this diagram, an LDAP policy is used. While using an LDAP policy is optional, it's a common practice to provide access to administrators.</p>
<p></p><p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-ws-nfactor_004.png.ab2d23c4a3101348f08d8ca6af31230b.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="3131" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-ws-nfactor_004.png.ab2d23c4a3101348f08d8ca6af31230b.png" width="1620" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_csp-ws-nfactor_004.png" loading="lazy" height="615.6"></a></p>
<ol>
<li>The user accesses Citrix Workspace via a web browser or the Citrix Workspace App. The authentication request is forwarded to the Citrix AAA vServer. There's an OAUTH IDP policy configured at Citrix ADC with the expression "TRUE", this means that this policy is applied to ALL requests.</li>
<li>The authentication request hits a "NO_AUTHN" policy and is presented with the "Username Only" login schema. The NO_AUTHN policy acts as a place holder. NO_AUTHN policies always return "success" as the authentication result.</li>
<li>When the user enters their username in UPN format, the UPN suffix determines which authentication policy is evaluated. In this architecture, domain1.com is forwarded to an LDAP server, domain2.com is redirected to an Azure AD tenant, and domain3.com is redirected to another Azure AD tenant. All of this functionality is based on the expressions used by each policy. Also notice that these authentication policies are bound to a "No Schema" login schema. This detail means that nothing is presented on the user's web browser.</li>
<li>If the user enters a username under domain1.com, they are redirected to an LDAP policy (a traditional LDAP policy). This policy evaluates to "TRUE", which means that it affects all users it evaluates. The login schema in this case is "Password Only", meaning users only enter their AD password in this step. Their username is captured in the previous factor.</li>
<li>On the other hand, if the user enters a username under either domain2.com or domain3.com, they are redirected to their respective Azure AD tenant for login. In this case, Azure handles all the authentication, which is outside the realm of the Citrix ADC nFactor engine. When the user is authenticated, they are redirected back to the Citrix ADC AAA vServer.</li>
<li>Once the authentication request is redirected back to Citrix Gateway, it flows through another authentication factor, which is tied to an LDAP policy. However, this policy does not perform authentication. The purpose of this policy is to extract the claims required to authenticate the user back to Citrix Workspace. All SAML policies are redirected to this single LDAP policy. Users aren't presented with a login schema and do not need to enter any information at this point, this process happens automatically.</li>
<li>User claims are stored on the Citrix ADC and passed back to Citrix Workspace. These claims are required for Citrix Workspace to accept the authentication from Citrix ADC.</li>
<li>The user is redirected back to Citrix Workspace, and they can now access their resources.</li>
</ol>
<table>
<thead>
<tr>
<th>NOTE:</th>
</tr>
</thead>
<tbody>
<tr>
<td>The LDAP "no-authentication" policy is only used after a user is authenticated by another factor. It always evaluates to "Success" as the authentication result.</td>
</tr>
</tbody>
</table>
<h3>Scaling Considerations</h3>
<p>The ability to scale this solution in an agile manner as new customers are onboarded is important to CSPs. This architecture allows for non-disruptive steps to be followed when onboarding new customers. The main steps to onboard a new customer to this solution are as follows.</p>
<ol>
<li><strong>Configure the end-customer IDP:</strong> This might or might not fall under the CSP's responsibility. Most SAML IDPs provide extensive documentation to configure these types of solutions.</li>
<li><strong>Add customer UPN suffix:</strong> This is done via the Active Directory Domains and Trusts MMC console. UPN suffixes must be unique. Also, while the UPNs are different for each customer on the shared AD environment, all shadow accounts have the same NetBIOS suffix name.</li>
<li><strong>Add shadow accounts:</strong> Creating shadow accounts manually could become an extensive task and scripting is recommended to automate this process. End users don't need to know the password for these accounts.</li>
<li><strong>Configure the SAML action and policy:</strong> A new SAML action and policy must be configured for every new customer that is onboarded to this solution. The action contains all the SAML IDP details, and the policy contains the expression that is used to evaluate the policy.</li>
<li><strong>Bind the SAML policy:</strong> The new SAML authentication policy must be added to the SAML policy label that groups all the authentication policies for the different customers. Since all of these policies are mutually exclusive, adding new policies to the policy label does not cause any disruption with your current customers.</li>
</ol>
<table>
<thead>
<tr>
<th>NOTE:</th>
</tr>
</thead>
<tbody>
<tr>
<td>Duplicate usernames across different UPN suffixes cannot be used. Even though the UPN suffix is different, the pre-Windows 2000 login name would be the same for duplicate users.</td>
</tr>
</tbody>
</table>
<h2>Implementation</h2>
<p>This document covers the steps required to integrate Citrix Workspace with a Citrix ADC AAA vServer and multiple SAML IDPs. Cloud Connector configuration, Machine Catalog / Delivery Group creation, and FAS implementation fall beyond the scope of this document.</p>
<p>Successful configuration of the previously mentioned components can be achieved by following standard installation practices. No custom configuration steps are required to integrate them with this architecture. Visit the <strong>Additional Configuration Resources</strong> section of this document for configuration steps.</p>
<h3>Authentication Policies</h3>
<h4>LDAP Authentication Action (Optional)</h4>
<p>1- Login to the Citrix ADC appliance and navigate to <strong>Security &gt; AAA – Application Traffic &gt; Policies &gt; Authentication &gt; Advanced Policies &gt; Actions &gt; LDAP</strong> and click <strong>Add</strong>.</p>
<p>2- On the <strong>Create Authentication LDAP Server</strong> page enter the following information.</p>
<ul>
<li>Name: LDAP authentication server entity name</li>
<li>Server Name / Server IP: Server name is recommended</li>
<li>Security Type: PLAINTEXT or SSL based on security requirements. (SSL Recommended)</li>
<li>Port: 389 or 636 based on security type.</li>
<li>Server Type: AD</li>
<li>Authentication: Checked</li>
<li>Base DN: AD based DN for user searches</li>
<li>Administrator Bind DN: AD service account UPN</li>
<li>Administrator Password: AD service account password</li>
<li>Confirm Administrator Password: AD service account password</li>
<li>Server Logon Name Attribute: userPrincipalName</li>
<li>Group Attribute: memberOf</li>
<li>Sub Attribute Name: cn</li>
<li>SSO Name Attribute: cn</li>
<li>Email: mail</li>
</ul>
<p></p><p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-ws-nfactor_005.png.c8402d4c5c792faaa30219b88992b107.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="3133" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-ws-nfactor_005.png.c8402d4c5c792faaa30219b88992b107.png" width="748" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_csp-ws-nfactor_005.png" loading="lazy" height="1593.24"></a></p>
<p>3- Click <strong>OK</strong>.</p>
<table>
<thead>
<tr>
<th>NOTE:</th>
</tr>
</thead>
<tbody>
<tr>
<td>This step is optional, but highly recommended for support purposes. Create this action to allow environment administrators to log in against the environment with AD credentials.</td>
</tr>
</tbody>
</table>
<h4>LDAP User Attributes Action</h4>
<p>1- On the <strong>LDAP Actions</strong> page click <strong>Add</strong> to create a second LDAP action. Use the same information as the previous one, but this time, <strong>UNCHECK</strong> the <strong>Authentication</strong> box.</p>
<p></p><p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-ws-nfactor_006.png.5040eb5f48bc368dc219e35427179f0f.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="3135" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-ws-nfactor_006.png.5040eb5f48bc368dc219e35427179f0f.png" width="731" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_csp-ws-nfactor_006.png" loading="lazy" height="467.84"></a></p>
<p>2- Click <strong>OK</strong>.</p>
<table>
<thead>
<tr>
<th>NOTE:</th>
</tr>
</thead>
<tbody>
<tr>
<td>This step is NOT optional. This action is used to extract the user's claims from their shadow accounts in AD after they've been authenticated via their SAML IDP. These claims are necessary for the redirection back to Citrix Workspace to be successful.</td>
</tr>
</tbody>
</table>
<h4>SAML Actions</h4>
<p>1- Navigate to <strong>Security &gt; AAA – Application Traffic &gt; Policies &gt; Authentication &gt; Advanced Policies &gt; Actions &gt; SAML</strong> and click <strong>Add</strong>.</p>
<p>2- On the <strong>Create Authentication SAML Server</strong> page enter the following information.</p>
<ul>
<li>Name: SAML authentication server entity name</li>
<li>Redirect URL: Redirect URL provided by the IDP</li>
<li>Single Logout URL: Logout URL provided by the IDP</li>
<li>SAML Binding: POST / REDIRECT / ARTIFACT</li>
<li>Logout Binding: POST / REDIRECT</li>
<li>IDP Certificate Name: Click Add and import the certificate downloaded from your SAML IDP</li>
<li>Signing Certificate Name: Citrix ADC AAA vServer SSL certificate</li>
<li>Issue Name: Same as AAA vServer URL</li>
<li>Reject Unsigned Assertion: ON</li>
<li>Signature Algorithm: RSA-SHA256</li>
<li>Digest Method: SHA256</li>
</ul>
<p></p><p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-ws-nfactor_007.png.16e925c736c9623c1e7a1085941e12c8.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="3137" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-ws-nfactor_007.png.16e925c736c9623c1e7a1085941e12c8.png" width="731" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_csp-ws-nfactor_007.png" loading="lazy" height="1176.91"></a></p>
<p>3- Click <strong>OK</strong>.</p>
<table>
<thead>
<tr>
<th>NOTE:</th>
</tr>
</thead>
<tbody>
<tr>
<td>Repeat these steps to create a separate SAML action for each SAML IDP to be used.</td>
</tr>
<tr>
<td>The necessary fields to be completed in this page vary depending on the SAML IDP. Consult the specific SAML IDP documentation for additional information.</td>
</tr>
</tbody>
</table>
<h3>Login Schemas</h3>
<h4>Login Schema Profiles</h4>
<p>1- Navigate to <strong>Security &gt; AAA – Application Traffic &gt; Login Schema &gt; Profiles</strong> and click <strong>Add</strong>.</p>
<p>2- On the <strong>Create Authentication Login Schema</strong> page, enter the following information.</p>
<ul>
<li>Name: Login schema profile entity name</li>
<li>Authentication Schema: noschema</li>
</ul>
<p></p><p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-ws-nfactor_008.png.cf631a61a10e41009c14bc0491e4d591.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="3139" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-ws-nfactor_008.png.cf631a61a10e41009c14bc0491e4d591.png" width="729" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_csp-ws-nfactor_008.png" loading="lazy" height="422.82"></a></p>
<p>3- Click <strong>Create</strong>.</p>
<table>
<thead>
<tr>
<th>NOTE:</th>
</tr>
</thead>
<tbody>
<tr>
<td>Repeat these steps to create the 2 remaining schema profiles with the <strong>OnlyUsername.xml</strong> and the <strong>OnlyPassword.xml</strong> files.</td>
</tr>
</tbody>
</table>
<h4>Login Schema Policies</h4>
<p>1- Navigate to <strong>Security &gt; AAA – Application Traffic &gt; Login Schema &gt; Policies</strong> and click <strong>Add</strong>.</p>
<p>2- On the <strong>Create Authentication Login Schema Policy</strong> page, enter the following information.</p>
<ul>
<li>Name: Login schema policy entity name</li>
<li>Profile: Previously created NoSchema profile</li>
<li>Rule: TRUE</li>
</ul>
<p></p><p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-ws-nfactor_009.png.2cdb36152b9c2e5996ab1934d98461d9.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="3141" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-ws-nfactor_009.png.2cdb36152b9c2e5996ab1934d98461d9.png" width="737" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_csp-ws-nfactor_009.png" loading="lazy" height="737"></a></p>
<p>3- Click <strong>Create</strong>.</p>
<table>
<thead>
<tr>
<th>NOTE:</th>
</tr>
</thead>
<tbody>
<tr>
<td>Repeat these steps to create the 2 remaining schema policies by linking them with the <strong>"Username Only"</strong> and <strong>"Password Only"</strong> schema profiles.</td>
</tr>
</tbody>
</table>
<h3>Authentication Policies</h3>
<h4>Baseline "No-Auth" Policy</h4>
<p>1- Navigate to <strong>Security &gt; AAA – Application Traffic &gt; Policies &gt; Authentication &gt; Advanced Policies &gt; Policy</strong> and click <strong>Add</strong>.</p>
<p>2- On the <strong>Create Authentication Policy</strong> page, enter the following information.</p>
<ul>
<li>Name: Authentication policy entity name</li>
<li>Authentication Type: NO_AUTHN</li>
<li>Expression: HTTP.REQ.URL.CONTAINS("/nf/auth/doAuthentication.do")</li>
</ul>
<p></p><p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-ws-nfactor_010.png.1173d28d9576577a06e2bc34a1567c6b.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="3143" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-ws-nfactor_010.png.1173d28d9576577a06e2bc34a1567c6b.png" width="731" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_csp-ws-nfactor_010.png" loading="lazy" height="577.49"></a></p>
<p>3- Click <strong>OK</strong>.</p>
<h4>LDAP "No-Auth" Policy (Optional)</h4>
<p>1- On the <strong>Authentication Policies</strong> page click <strong>Add</strong> to create another policy.</p>
<p>2- On the <strong>Create Authentication Policy</strong> page, enter the following information.</p>
<ul>
<li>Name: Authentication policy entity name</li>
<li>Authentication Type: NO_AUTHN</li>
<li>Expression: AAA.USER.LOGIN_NAME.SET_TEXT_MODE(IGNORECASE).AFTER_STR("@").EQ("domain1.com")</li>
</ul>
<p></p><p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-ws-nfactor_011.png.382295548543cb4add6373871e0b2697.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="3145" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-ws-nfactor_011.png.382295548543cb4add6373871e0b2697.png" width="731" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_csp-ws-nfactor_011.png" loading="lazy" height="584.8"></a></p>
<p>3- Click <strong>OK</strong>.</p>
<table>
<thead>
<tr>
<th>NOTE:</th>
</tr>
</thead>
<tbody>
<tr>
<td>This step is optional, but highly recommended for support purposes. Create this policy to allow environment administrators to log in against the environment with AD credentials.</td>
</tr>
<tr>
<td>Replace "domain1.com" in the expression with the name of the internal AD domain UPN suffix.</td>
</tr>
<tr>
<td>The <strong>NO_AUTHN</strong> authentication type is used as a place holder to redirect users to the next authentication factor, which is their AD password, handled through another LDAP policy.</td>
</tr>
</tbody>
</table>
<h4>LDAP Authentication Policy (Optional)</h4>
<p>1- On the <strong>Authentication Policies</strong> page click <strong>Add</strong> to create another policy.</p>
<p>2- On the <strong>Create Authentication Policy</strong> page, enter the following information.</p>
<ul>
<li>Name: Authentication policy entity name</li>
<li>Authentication Type: LDAP</li>
<li>Action: Previously created LDAP Authentication Action</li>
<li>Expression: TRUE</li>
</ul>
<p></p><p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-ws-nfactor_012.png.e71cc8b6ace75b8fba339c186b0c2d46.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="3147" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-ws-nfactor_012.png.e71cc8b6ace75b8fba339c186b0c2d46.png" width="731" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_csp-ws-nfactor_012.png" loading="lazy" height="643.28"></a></p>
<p>3- Click <strong>OK</strong>.</p>
<table>
<thead>
<tr>
<th>NOTE:</th>
</tr>
</thead>
<tbody>
<tr>
<td>This step is optional, but highly recommended for support purposes. Create this policy to allow environment administrators to log in against the environment with AD credentials.</td>
</tr>
<tr>
<td>The <strong>TRUE</strong> expression in this policy means that this policy is evaluated against every user that is redirected to this authentication factor.</td>
</tr>
<tr>
<td>This policy is attached to the <strong>Password Only</strong> login schema previously created.</td>
</tr>
</tbody>
</table>
<h4>LDAP User Attributes Policy</h4>
<p>1- On the <strong>Authentication Policies</strong> page click <strong>Add</strong> to create another policy.</p>
<p>2- On the <strong>Create Authentication Policy</strong> page, enter the following information.</p>
<ul>
<li>Name: Authentication policy entity name</li>
<li>Authentication Type: LDAP</li>
<li>Action: Previously created LDAP User Attributes Action</li>
<li>Expression: TRUE</li>
</ul>
<p></p><p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-ws-nfactor_013.png.63eebc606c3b529b43f9b3ecf643260b.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="3149" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-ws-nfactor_013.png.63eebc606c3b529b43f9b3ecf643260b.png" width="731" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_csp-ws-nfactor_013.png" loading="lazy" height="643.28"></a></p>
<p>3- Click <strong>OK</strong>.</p>
<table>
<thead>
<tr>
<th>NOTE:</th>
</tr>
</thead>
<tbody>
<tr>
<td>This step is NOT optional. This policy is used to extract the user's claims from their shadow accounts in AD after they've been authenticated via their SAML IDP. These claims are necessary for the redirection back to Citrix Workspace to be successful.</td>
</tr>
<tr>
<td>The <strong>TRUE</strong> expression in this policy means that this policy is evaluated against every user that is redirected to this authentication factor.</td>
</tr>
<tr>
<td>This policy is attached to a <strong>NO_SCHEMA</strong> login schema.</td>
</tr>
</tbody>
</table>
<h4>SAML Authentication Policies</h4>
<p>1- On the <strong>Authentication Policies</strong> page click <strong>Add</strong> to create another policy.</p>
<p>2- On the <strong>Create Authentication Policy</strong> page, enter the following information.</p>
<ul>
<li>Name: Authentication policy entity name</li>
<li>Authentication Type: SAML</li>
<li>Action: Previously created SAML Authentication Action</li>
<li>Expression: AAA.USER.LOGIN_NAME.SET_TEXT_MODE(IGNORECASE).AFTER_STR("@").EQ("domain2.com")</li>
</ul>
<p></p><p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-ws-nfactor_014.png.a5a4dc2a4d7c2d825b6dc0b207e3a9ae.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="3151" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-ws-nfactor_014.png.a5a4dc2a4d7c2d825b6dc0b207e3a9ae.png" width="703" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_csp-ws-nfactor_014.png" loading="lazy" height="618.64"></a></p>
<p>3- Click <strong>OK</strong>.</p>
<table>
<thead>
<tr>
<th>NOTE:</th>
</tr>
</thead>
<tbody>
<tr>
<td>Replace "domain2.com" in the expression with the customer's domain name.</td>
</tr>
<tr>
<td>Create a SAML Authentication Policy for each SAML Authentication Action previously created and match them 1:1 with the appropriate domain name in the expression.</td>
</tr>
</tbody>
</table>
<h3>Authentication Policy Labels</h3>
<h4>LDAP Authentication Policy Label</h4>
<p>1- Navigate to <strong>Security &gt; AAA – Application Traffic &gt; Policies &gt; Authentication &gt; Advanced Policies &gt; Policy Label</strong> and click <strong>Add</strong>.</p>
<p>2- On the <strong>Create Authentication Policy</strong> page, enter the following information.</p>
<ul>
<li>Name: Authentication policy label entity name</li>
<li>Login Schema: "Password Only" login schema profile</li>
<li>Feature Type: AAATM_REQ</li>
<li>Click Continue</li>
</ul>
<p></p><p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-ws-nfactor_015.png.e7fcb41e3b72656f9cb8868d9f23fe33.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="3153" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-ws-nfactor_015.png.e7fcb41e3b72656f9cb8868d9f23fe33.png" width="562" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_csp-ws-nfactor_015.png" loading="lazy" height="522.66"></a></p>
<p>3- Bind the authentication policies with the following details.</p>
<ul>
<li><strong>Policy 1</strong>
<ul>
<li>Select Policy: LDAP Authentication Policy</li>
<li>Priority: 100</li>
<li>Goto Expression: END</li>
<li>Select Next Factor: N/A</li>
</ul></li>
</ul>
<p></p><p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-ws-nfactor_016.png.1c3e9833d273d1b5b42d0618ce1f37c0.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="3155" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-ws-nfactor_016.png.1c3e9833d273d1b5b42d0618ce1f37c0.png" width="1033" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_csp-ws-nfactor_016.png" loading="lazy" height="237.59"></a></p>
<p>4- Click <strong>Done</strong>.</p>
<h4>LDAP User Attributes Policy Label</h4>
<p>1- On the <strong>Authentication Policies Labels</strong> page click <strong>Add</strong> to create another policy.</p>
<p>2- On the <strong>Create Authentication Policy</strong> page, enter the following information.</p>
<ul>
<li>Name: Authentication policy label entity name</li>
<li>Login Schema: "NO_SCHEMA" login schema profile</li>
<li>Feature Type: AAATM_REQ</li>
<li>Click Continue</li>
</ul>
<p></p><p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-ws-nfactor_017.png.ad5beafe6f136c365d1d4bea8c94f214.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="3157" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-ws-nfactor_017.png.ad5beafe6f136c365d1d4bea8c94f214.png" width="562" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_csp-ws-nfactor_017.png" loading="lazy" height="522.66"></a></p>
<p>3- Bind the authentication policies with the following details.</p>
<ul>
<li><strong>Policy 1</strong>
<ul>
<li>Select Policy: LDAP User Attributes Policy</li>
<li>Priority: 100</li>
<li>Goto Expression: END</li>
<li>Select Next Factor: N/A</li>
</ul></li>
</ul>
<p></p><p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-ws-nfactor_018.png.8a0868d5cae4fc8d440751cc018f2cc9.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="3159" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-ws-nfactor_018.png.8a0868d5cae4fc8d440751cc018f2cc9.png" width="1226" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_csp-ws-nfactor_018.png" loading="lazy" height="232.94"></a></p>
<p>4- Click <strong>Done</strong>.</p>
<h4>Main Policy Label</h4>
<p>1- On the <strong>Authentication Policies Labels</strong> page click <strong>Add</strong> to create another policy.</p>
<p>2- On the <strong>Create Authentication Policy</strong> page, enter the following information.</p>
<ul>
<li>Name: Authentication policy label entity name</li>
<li>Login Schema: "NO_SCHEMA" login schema profile</li>
<li>Feature Type: AAATM_REQ</li>
<li>Click Continue</li>
</ul>
<p></p><p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-ws-nfactor_019.png.e33b3fe7a01e9bb84e124ae9d94c7915.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="3161" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-ws-nfactor_019.png.e33b3fe7a01e9bb84e124ae9d94c7915.png" width="562" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_csp-ws-nfactor_019.png" loading="lazy" height="522.66"></a></p>
<p>3- Bind the authentication policies with the following details.</p>
<ul>
<li>
<p><strong>Policy 1</strong></p>
<ul>
<li>Select Policy: LDAP "No-Auth" Policy</li>
<li>Priority: 100</li>
<li>Goto Expression: NEXT</li>
<li>Select Next Factor: LDAP Authentication Policy Label</li>
</ul>
</li>
<li>
<p><strong>Policy 2</strong></p>
<ul>
<li>Select Policy: SAML Authentication Policy</li>
<li>Priority: 110</li>
<li>Goto Expression: NEXT</li>
<li>Select Next Factor: LDAP User Attributes Policy Label</li>
</ul>
</li>
</ul>
<p></p><p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-ws-nfactor_020.png.133b0fdd5a7af4eda07f41f89e3744cd.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="3163" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-ws-nfactor_020.png.133b0fdd5a7af4eda07f41f89e3744cd.png" width="1504" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_csp-ws-nfactor_020.png" loading="lazy" height="270.72"></a></p>
<p>4- Click <strong>Done</strong>.</p>
<table>
<thead>
<tr>
<th>NOTE:</th>
</tr>
</thead>
<tbody>
<tr>
<td>When onboarding new customers / IDPs, you need to add their respective SAML authentication policies to this policy label.</td>
</tr>
</tbody>
</table>
<h3>AAA vServer</h3>
<p>1- Navigate to <strong>Security &gt; AAA – Application Traffic &gt; Virtual Servers</strong> and click <strong>Add</strong>.</p>
<p>2- On the <strong>Authentication Virtual Server</strong> page, enter the following information.</p>
<ul>
<li>Name: Authentication virtual server entity name</li>
<li>IP Address Type: IP Address</li>
<li>IP Address: vServer assigned IP Address</li>
<li>Port: 443</li>
<li>Click OK.</li>
</ul>
<p></p><p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-ws-nfactor_021.png.9d73aa47a3ac7d301aeb042000f53b21.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="3165" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-ws-nfactor_021.png.9d73aa47a3ac7d301aeb042000f53b21.png" width="562" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_csp-ws-nfactor_021.png" loading="lazy" height="601.34"></a></p>
<p>3- On the <strong>Certificate</strong> pane, click <strong>No Server Certificate</strong> and bind an SSL certificate to the vServer. Then, click <strong>Continue</strong>.</p>
<p>4- On the <strong>Advanced Authentication Policies</strong> pane, click <strong>No Authentication Policy</strong> and enter the following information.</p>
<ul>
<li>Select Policy: Baseline "No-Auth" Policy</li>
<li>Priority: 100</li>
<li>Goto Expression: NEXT</li>
<li>Select Next Factor: Main Policy Label</li>
</ul>
<p></p><p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-ws-nfactor_022.png.da81008476fffa59ce465ebd9cbe075e.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="3167" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-ws-nfactor_022.png.da81008476fffa59ce465ebd9cbe075e.png" width="511" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_csp-ws-nfactor_022.png" loading="lazy" height="459.9"></a></p>
<p>5- Click <strong>Continue</strong>.</p>
<p>6- On the <strong>Advanced Settings</strong> pane, click <strong>Login Schemas</strong>.</p>
<p>7- On the <strong>Login Schemas</strong> pane, click <strong>No Login Schema</strong> and enter the following information.</p>
<ul>
<li>Select Policy: "Username Only" schema policy</li>
<li>Priority: 100</li>
<li>Goto Expression: END</li>
</ul>
<p></p><p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-ws-nfactor_023.png.c9cc2a7952276634e6004f346d12c4db.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="3169" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-ws-nfactor_023.png.c9cc2a7952276634e6004f346d12c4db.png" width="490" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_csp-ws-nfactor_023.png" loading="lazy" height="396.9"></a></p>
<p>8- Click <strong>Bind</strong>.</p>
<p>9- Back on the <strong>AAA vServer</strong> page, click <strong>Done</strong>.</p>
<table>
<thead>
<tr>
<th>NOTE:</th>
</tr>
</thead>
<tbody>
<tr>
<td>At this point, the AAA vServer URL is publicly reachable, and both LDAP and SAML authentication work.</td>
</tr>
</tbody>
</table>
<h3>Global Certificate Binding</h3>
<p>1- Connect to the Citrix ADC via <strong>SSH</strong> and authenticate with the admin credentials.</p>
<p>2- Run the following command: <strong>bind vpn global -certkeyName certname</strong>.</p>
<p>3- Save the running configuration.</p>
<table>
<thead>
<tr>
<th>NOTE:</th>
</tr>
</thead>
<tbody>
<tr>
<td>This command is used by ADC to sign the token that is sent to Citrix Workspace as part of the authentication process.</td>
</tr>
<tr>
<td>The -certkeyName flag refers to the same SSL certificate used on the AAA vServer.</td>
</tr>
</tbody>
</table>
<h3>Citrix Workspace Integration</h3>
<h4>Citrix Gateway IDP</h4>
<p>1- On a web browser, go to <a href="https://citrix.cloud.com">Citrix Cloud</a> and login with your Citrix credentials.</p>
<p>2- Once authenticated, navigate to <strong>Identity and Access Management &gt; Authentication &gt; Citrix Gateway</strong> and click <strong>Connect</strong>.</p>
<p></p><p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-ws-nfactor_024.png.f376012f8c2fc31606743405404eb694.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="3171" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-ws-nfactor_024.png.f376012f8c2fc31606743405404eb694.png" width="922" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_csp-ws-nfactor_024.png" loading="lazy" height="709.94"></a></p>
<p>3- On the configuration pop-up screen, enter your publicly accessible AAA vServer FQDN and click <strong>Detect</strong>. Once detected, click <strong>Continue</strong>.</p>
<p></p><p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-ws-nfactor_025.png.a3e9b528e91b3d37bd92759944eba286.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="3173" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-ws-nfactor_025.png.a3e9b528e91b3d37bd92759944eba286.png" width="706" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_csp-ws-nfactor_025.png" loading="lazy" height="550.68"></a></p>
<p>4- On the <strong>Create a connection</strong> screen, copy the <strong>Client ID, Secret, and Redirect URL</strong>.</p>
<p></p><p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-ws-nfactor_026.png.25a78a439d740b85f7c0a2abd42b2fb6.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="3175" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-ws-nfactor_026.png.25a78a439d740b85f7c0a2abd42b2fb6.png" width="705" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_csp-ws-nfactor_026.png" loading="lazy" height="683.85"></a></p>
<table>
<thead>
<tr>
<th>NOTE:</th>
</tr>
</thead>
<tbody>
<tr>
<td>DO NOT close this page, you must come back to finish the configuration.</td>
</tr>
</tbody>
</table>
<h4>OAUTH IDP Profile</h4>
<p>1- Back on Citrix ADC, navigate to <strong>Security &gt; AAA – Application Traffic &gt; Policies &gt; Authentication &gt; Advanced Policies &gt; OAUTH IDP &gt; Profiles</strong> and click <strong>Add</strong>.</p>
<p>2- On the <strong>Create Authentication OAUTH IDP Profile</strong> page, enter the following information.</p>
<ul>
<li>Name: OAUTH IDP authentication profile entity name</li>
<li>Client ID: Paste value from Citrix Cloud</li>
<li>Client Secret: Paste value from Citrix Cloud</li>
<li>Redirect URL: Paste value from Citrix Cloud</li>
<li>Issuer Name: ADC AAA vServer base URL</li>
<li>Audience: Same as Client ID</li>
<li>Send Password: Checked</li>
</ul>
<p></p><p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-ws-nfactor_027.png.a1351dfdee4032e791770114a7b723a4.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="3177" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-ws-nfactor_027.png.a1351dfdee4032e791770114a7b723a4.png" width="621" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_csp-ws-nfactor_027.png" loading="lazy" height="1043.28"></a></p>
<p>3- Click <strong>Create</strong>.</p>
<h4>OAUTH IDP Policy</h4>
<p>1- Navigate to <strong>Security &gt; AAA – Application Traffic &gt; Policies &gt; Authentication &gt; Advanced Policies &gt; OAUTH IDP &gt; Policies</strong> and click <strong>Add</strong>.</p>
<p>2- On the <strong>Create Authentication OAUTH IDP Policy</strong> page, enter the following information.</p>
<ul>
<li>Name: OAUTH IDP authentication policy entity name</li>
<li>Action: OAUTH IDP authentication profile</li>
<li>Expression: TRUE</li>
</ul>
<p></p><p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-ws-nfactor_028.png.17d24cf9d0ab1a79f19ee2be68cfbc96.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="3179" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-ws-nfactor_028.png.17d24cf9d0ab1a79f19ee2be68cfbc96.png" width="621" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_csp-ws-nfactor_028.png" loading="lazy" height="751.41"></a></p>
<p>3- Click <strong>Create</strong>.</p>
<h4>OAUTH IDP Policy Binding</h4>
<p>1- Navigate to <strong>Security &gt; AAA – Application Traffic &gt; Virtual Servers</strong> and click the previously created <strong>AAA vServer</strong>.</p>
<p>2- On the <strong>Advanced Authentication Policies</strong> pane, click <strong>No OAuth IDP Policy</strong> and bind the OAUTH IDP policy.</p>
<p></p><p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-ws-nfactor_029.png.3fd9cbd25ffd22a32045ab4b97dfd4ce.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="3181" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-ws-nfactor_029.png.3fd9cbd25ffd22a32045ab4b97dfd4ce.png" width="498" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_csp-ws-nfactor_029.png" loading="lazy" height="458.16"></a></p>
<p>3- Back on the AAA vServer page, click <strong>Done</strong>.</p>
<h4>Workspace Authentication</h4>
<p>1- Back on Citrix Cloud, on the configuration page click <strong>Test and Finish</strong>.</p>
<p>2- Navigate to <strong>Workspace Configuration &gt; Authentication</strong> and click <strong>Citrix Gateway</strong>.</p>
<p>3- On the configuration pop-up screen, check the box next to <strong>"I understand the impact on the subscriber experience"</strong> and click <strong>Save</strong>.</p>
<p></p><p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-ws-nfactor_030.png.f420a4a3778b38852312fb384a5f6e8a.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="3183" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_csp-ws-nfactor_030.png.f420a4a3778b38852312fb384a5f6e8a.png" width="705" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_csp-ws-nfactor_030.png" loading="lazy" height="571.05"></a></p>
<table>
<thead>
<tr>
<th>NOTE:</th>
</tr>
</thead>
<tbody>
<tr>
<td>At this point, navigating to the Citrix Workspace URL (customer.cloud.com) redirects users to the ADC AAA vServer. Once users log in with their respective IDP, they are redirected back to Citrix Workspace.</td>
</tr>
<tr>
<td>Single sign-on to virtual apps and desktops resources can be accomplished by integrating Citrix Workspace with Citrix FAS.</td>
</tr>
</tbody>
</table>
<h3>Other Configuration Resources</h3>
<ul>
<li><a href="https://docs.citrix.com/en-us/citrix-adc/current-release.html">Citrix ADC Configuration</a></li>
<li><a href="https://docs.citrix.com/en-us/citrix-cloud/citrix-cloud-resource-locations/citrix-cloud-connector/installation.html">Cloud Connector installation</a></li>
<li><a href="https://docs.citrix.com/en-us/citrix-virtual-apps-desktops-service/install-configure/connections.html">Hosting Connections (MCS)</a></li>
<li><a href="https://docs.citrix.com/en-us/citrix-virtual-apps-desktops-service/install-configure/install-vdas.html">VDA installation</a></li>
<li><a href="https://docs.citrix.com/en-us/citrix-virtual-apps-desktops-service/install-configure/machine-catalogs-create.html">Machine Catalog creation</a></li>
<li><a href="https://docs.citrix.com/en-us/citrix-virtual-apps-desktops-service/install-configure/delivery-groups-create.html">Delivery Group creation</a></li>
<li><a href="https://docs.citrix.com/en-us/citrix-workspace/workspace-federated-authentication.html">FAS Integration with Citrix Workspace</a></li>
</ul>]]></description><guid isPermaLink="false">85</guid><pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate></item><item><title>Reference Architecture: DaaS for Contact Centers Reference Architectures</title><link>https://community.citrix.com/tech-zone/design/reference-architectures/daas-for-contact-centers/</link><description><![CDATA[
<h2>Overview</h2>
<p>Contact Centers are vital when it comes to customer interaction and satisfaction. Often customer service agents are the “face” of a company and represent the only interface between a company and its customers. Contact centers during the pandemic saw average handle, queue, and hold times increasing which made it frustrating for customers. Meanwhile, contact centers face high employee turn-over. Employee turn-over causes an increase in cost as each new agent needs to be set up and trained before being able to work productively. Contact centers need to redefine the agent experience to retain existing employees while attracting new talent. Therefore, the entire contact center environment, including call quality and application performance, can play an important role for the agent in providing the best customer experience and satisfaction.</p>
<p>CompanyA is a contact center company. As COVID-19 occurred, CompanyA became even more vital to its customers. CompanyA knew it had to rethink its IT strategy going forward to reduce operational expenses, reduce the risk of outages and downtime, increase security, and build an environment focused on customer and agent experience that would lead to revenue growth. During COVID-19 over 75% of CompanyA's agents had to work from home. CompanyA wants to continue allowing agents to work from home in some capacity even after restrictions are lifted. They decided this because according to Harvard Business Review, at-home agents can answer 13.5% more calls than their office-bound peers. Also, a flexible WFH strategy allows them to expand their talent pool and retain existing talent, while reducing their overall cost. CompanyA decided to migrate to Citrix Cloud services and standardize on Google Chromebooks to have a reliable, flexible, and secure environment.</p>
<p>This reference architecture explains how CompanyA is planning their environment that allows them to maintain a WFH strategy, scale quickly and easily, and reduce costs.</p>
<h2>Success Criteria</h2>
<p>Company A has defined a list of success criteria that formed the basis for the overarching design.</p>
<h3>User Experience</h3>
<table>
<thead>
<tr>
<th>Success Criteria</th>
<th>Description</th>
<th>Solution</th>
</tr>
</thead>
<tbody>
<tr>
<td>Seamless experience</td>
<td>To reduce user disruption, end users have a similar look and feel</td>
<td>Citrix Workspace</td>
</tr>
<tr>
<td>Easy onboarding</td>
<td>New agents must be able to onboard quickly and efficiently without requiring third party assistance</td>
<td>Citrix Workspace + Google Chromebooks</td>
</tr>
<tr>
<td>Flexibility of remote work</td>
<td>Work from anywhere, anytime, and on any device</td>
<td>Citrix Workspace + Citrix Enterprise Browser</td>
</tr>
<tr>
<td>Single sign-on</td>
<td>Secure access to all apps (Windows, SaaS, and Web apps) without reauthentication</td>
<td>Citrix DaaS</td>
</tr>
<tr>
<td>Contact Center apps, peripherals, and endpoints supported</td>
<td>Support for the needed contact center applications, endpoints, and peripherals</td>
<td>Chromebooks</td>
</tr>
<tr>
<td>Optimized end-user experience</td>
<td>Equal or better user experience on virtual apps than they do on local apps</td>
<td>HDX</td>
</tr>
</tbody>
</table>
<h3>Admin Experience</h3>
<table>
<thead>
<tr>
<th>Success Criteria</th>
<th>Description</th>
<th>Solution</th>
</tr>
</thead>
<tbody>
<tr>
<td>Expense reduction</td>
<td>Standardize on company-owned devices that can be sent to agents at a low cost</td>
<td>Google Chromebooks</td>
</tr>
<tr>
<td>Protect from internet-based threats</td>
<td>Increase security to protect their IP</td>
<td>Citrix Secure Private Access</td>
</tr>
<tr>
<td>Reduce on-premises footprint</td>
<td>Reduce on-going costs to maintain on-prem environments</td>
<td>Citrix Cloud services</td>
</tr>
<tr>
<td>Zero Trust Network Access</td>
<td>Remove VPN dependencies to allow agents to work remotely</td>
<td>Citrix DaaS + Citix Secure Private Access</td>
</tr>
<tr>
<td>Protect from insider threats</td>
<td>Protect customers information from zero-day attacks and malicious insiders</td>
<td>Citrix Analytics for Security</td>
</tr>
<tr>
<td>Surge protection</td>
<td>Scale quickly and efficiently when surges occur</td>
<td>Citrix Autoscale</td>
</tr>
<tr>
<td>Managed endpoints</td>
<td>Be able to manage the endpoints given to the agents</td>
<td>Citrix Endpoint Management</td>
</tr>
</tbody>
</table>
<h2>Conceptual Architecture</h2>
<p>Based on the preceding requirements, CompanyA created the following high-level, conceptual architecture. This architecture meets all of the preceding requirements while giving CompanyA the foundation to expand to other use cases in the future.</p>
<p></p><p><a href="//media.invisioncic.com/m329563/monthly_2024_02/reference-architectures_daas-for-contact-centers_01.png.dd34c09451503be27317b5981831e622.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="3185" src="//media.invisioncic.com/m329563/monthly_2024_02/reference-architectures_daas-for-contact-centers_01.png.dd34c09451503be27317b5981831e622.png" width="1849" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_daas-for-contact-centers_01.png" loading="lazy" height="795.07"></a></p>
<p>The architecture framework is divided into multiple layers. The framework provides a foundation for understanding the technical architecture for the mergers and acquisitions scenario. All layers flow together to create a complete, end-to-end solution.</p>
<p>At a high-level:</p>
<p><strong>User Layer:</strong> The user layer describes the end-user environment and endpoint devices that are used to connect to resources.</p>
<ul>
<li>Regardless of device, users access resources from Workspace app, resulting in an experience that is identical across every form factor and device platform.</li>
<li>CompanyA provides their agents with Google Chromebooks for a fast and easy onboarding experience. The Chromebooks are shipped directly to the agents and automatically configured on first logon.</li>
<li>End users are able to use peripherals such as headsets and webcams.</li>
<li>CompanyA wants to ensure that no data is stored on the device and can be removed in case the endpoint gets lost, stolen, or the agent leaves the company.</li>
</ul>
<p><strong>Access Layer:</strong> The access layer describes details surrounding how users authenticate to their Workspace and secondary resources.</p>
<ul>
<li>Citrix Workspace provides the primary authentication broker for all subsequent resources. CompanyA requires multifactor authentication to improve authentication security.</li>
<li>Many of the authorized resources within the environment use a different set of credentials than the ones used for the primary Workspace identity. CompanyA uses the single sign-on capabilities of each service to better protect these secondary identities. For SaaS apps, the applications only allow SAML-based authentication, which prevents users from accessing the SaaS apps directly and bypassing the security policies.</li>
<li>Citrix Device Posture service enforces certain requirements that the end devices must meet to gain access to Citrix DaaS or Citrix Secure Private Access resources. CompanyA requires the ability to establish device trust.</li>
</ul>
<p><strong>Resource Layer:</strong> The resource layer authorizes specific SaaS, web, and virtual resources for defined users and groups while defining the security policies associated with the resource.</p>
<ul>
<li>User has access to apps and desktops that are pertinent to their role.</li>
<li>CompanyA provides the necessary contact center applications through Citrix Workspace to their agents.</li>
<li>To better protect data, CompanyA requires policies that disable the ability to print, download, and copy/paste content from the managed resource to and from the endpoint. Additionally, a watermark should be embedded to protect from screenshotting and sharing with others.</li>
<li>CompanyA requires zero trust network access to resources with the use of managed Enterprise Browsers, isolated browsers, or virtualized sessions on managed or BYO devices.</li>
<li>HDX technology allows agents to have optimal user experience critical for voice and video communication.</li>
</ul>
<p><strong>Control Layer:</strong> The control layer defines how the underlying solution adjusts based on the underlying activities of the user.</p>
<ul>
<li>Even within a protected Workspace resource, users can interact with untrusted Internet resources. CompanyA uses Secure Internet Access to protect the user from external threats from SaaS apps, web apps, virtual apps, and apps on endpoint devices.</li>
<li>With all of the policies in place to protect the users when working in a flexible environment, there are still risks. CompanyA uses the Security Analytics service to identified compromised users and automatically take actions to maintain a secure environment.</li>
<li>Citrix DaaS manages the authorization and brokering of the virtual apps and desktops.</li>
<li>Citrix Endpoint Management ensures that the administrators can manage the Chromebooks that are sent to the agents.</li>
</ul>
<p>The subsequent sections provide greater detail into specific design decisions for CompanyA's contact center reference architecture.</p>
<h2>User Layer</h2>
<h3>User Endpoints and Peripherals</h3>
<p>CompanyA has decided to provision Google Chromebooks to their agents. This allows agents to standardize on one device.  CompanyA uses Citrix Endpoint Management to manage the Chromebooks and to push the latest version of Citrix Workspace app for Chrome OS onto the Chromebooks.</p>
<p>Users only have to enroll the device on initial set-up. During enrollment, the appropriate applications and security policies are automatically applied and maintained. After that, agents access all their applications and desktops through Citrix Workspace.</p>
<p>A demo on how the agents enroll the devices can be found <a href="/en-us/tech-zone/learn/tech-insights/google-chrome-os-management.html">here</a>.</p>
<p>End-users use approved Citrix Ready peripherals. CompanyA provides Sennheiser and Poly headsets to their agents.</p>
<h3>Microsoft Teams Optimization</h3>
<p>With a distributed workforce, CompanyA uses a Contact Center application that relies heavily on virtual conferencing using Microsoft Teams integration. By optimizing the way Microsoft Teams voice and video communication packets cross the wire, Citrix DaaS delivers a virtual meeting experience identical to that of a traditional PC.
To learn more about Microsoft Teams integration and optimization, review the following:</p>
<ul>
<li><a href="https://docs.citrix.com/en-us/tech-zone/learn/tech-insights/microsoft-teams-optimization">Microsoft Teams Tech Insight Video</a></li>
<li><a href="/en-us/tech-zone/learn/poc-guides/microsoft-teams-optimizations.html">Microsoft Teams Proof of Concept Guide for Citrix Virtual Apps and Desktops</a></li>
</ul>
<h2>Resource Layer</h2>
<h3>Contact Center Applications</h3>
<p>When determining which contact center application they should standardize on, CompanyA wanted to ensure that the application was tested and validated for use with the Citrix and Google solution. The Citrix Ready Program provides technical support and resources to help 3rd-party partners complete their integration and earn the Citrix Ready validation designation. Below is a list of partners that have completed the validation process, along with some of those that we plan to compete testing soon.</p>
<ul>
<li><a href="https://citrixready.citrix.com/vonage/vonage-business-communications-vbc.html">Vonage Contact Center (Citrix Ready)</a></li>
<li><a href="https://citrixready.citrix.com/ringcentral/ringcentral.html">Ring Central (Citrix Ready)</a></li>
<li><a href="https://citrixready.citrix.com/amazon-com/amazon-connect.html">Amazon Connect</a></li>
<li>Lifesize</li>
<li>OneContactCC</li>
<li>Genesys</li>
<li>Five9</li>
<li>Twilio</li>
<li>EvolveIP</li>
<li>Worldline</li>
</ul>
<p><em>The above is not a comprehensive list of contact center applications that work with Citrix.</em></p>
<h2>Access Layer</h2>
<h3>Authentication</h3>
<p>Due to security concerns, CompanyA requires a strong authentication policy. CompanyA uses a 2-staged approach.
Stage 1 is focused on securing the user's primary identity into Citrix Workspace with a contextual, multi-factor approach.</p>
<p></p><p><a href="//media.invisioncic.com/m329563/monthly_2024_02/reference-architectures_daas-for-contact-centers_03.png.883d386dae1d4bd1b071547e04317e70.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="3187" src="//media.invisioncic.com/m329563/monthly_2024_02/reference-architectures_daas-for-contact-centers_03.png.883d386dae1d4bd1b071547e04317e70.png" width="2508" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_daas-for-contact-centers_03.png" loading="lazy" height="1304.16"></a></p>
<p>The authentication policy denies access if the device does not pass an endpoint security scan. The scan verifies that the device is managed and secured with corporate security policies. Once the scan succeeds, the user is able to use their Active Directory credentials and a TOTP token to authenticate.
The stage 2 authentication scheme focuses on the secondary resources (SaaS apps, web apps, virtual apps and desktops). Almost every secondary resource requires authentication. Some use the same identity provider as the user's primary identity, while others use an independent identity provider, most common with SaaS apps.</p>
<ul>
<li>SaaS Apps: For SaaS applications, CompanyA uses SAML-based authentication with Citrix Workspace acting as an identity broker for Active Directory. Once configured, the SaaS applications only allow SAML-based authentication. Any attempt to log on with a username/password specific to the SaaS app fails. This policy allows CompanyA to improve the strength of the authentication while making it easier to disable access due to a compromised user account.</li>
<li>Web Apps: The inventory of web applications in CompanyA all use the user's Active Directory credentials. For web applications, CompanyA uses a combination of forms, Kerberos, and SAML-based authentication to provide single sign-on. The choice between the options is based on the unique aspects of each Web application.</li>
<li>Virtual Apps/Desktops: For the virtual apps and desktops, CompanyA uses pass-through authentication from Citrix Workspace, eliminating the secondary authentication challenge.</li>
</ul>
<p>The <a href="/en-us/tech-zone/learn/tech-briefs/workspace-sso.html">Workspace Single Sign-On Tech Brief</a> contains additional information regarding single sign-on for SaaS, web, virtual apps, virtual desktops, and IdP chaining options.</p>
<h3>Resource Access</h3>
<p>CompanyA needs to consider how agents can access internal resources. Internal, corporate resources must be protected from untrusted and unsecured locations. To help prevent malware intrusion, devices are not allowed direct access to the internal network.
To provide access to internal resources like private web apps, virtual apps, and virtual desktops, CompanyA plans to use Citrix DaaS and Citrix Secure Private Access. These two services use a zero-trust network access approach, which is a more secure alternative to traditional VPNs.</p>
<p>Citrix DaaS use the outbound control channel connections established in the data center deployed connectors. Those connections allow the user to remotely access internal resources. However, those connections are</p>
<ul>
<li>Limited in scope so that only the defined resource is accessible</li>
<li>Based on the user's primary, secured identity</li>
<li>Only for specific protocols, which disallow network traversal</li>
</ul>
<h2>Control Layer</h2>
<h3>Citrix DaaS</h3>
<p>CompanyA has chosen to use Citrix DaaS because it gives them the flexibility, they need to deploy resources from multiple resource locations from a unified management console. It also reduces the administrative overhead to deploy and manage their virtual apps and desktop environment. It allows them to minimize hardware costs and deploy DaaS resources. With Citrix DaaS, the Delivery Controllers, SQL Database, Studio, Director, and Licensing are the core components in the Control layer. These components are provisioned on Citrix Cloud by Citrix during the activation of the Virtual Apps and Desktop service. Citrix handles the redundancy, the updates, and the installation of these components.</p>
<p>More in-depth information on Citrix DaaS can be found <a href="/en-us/tech-zone/learn/tech-briefs/daas.html">here</a>.</p>
<h3>Service Continuity</h3>
<p>It is important for CompanyA that their users don't experience lost productivity due to outages or cloud issues. Therefore, they have turned on service continuity within Citrix Cloud. Service continuity allows users to connect to resources that are reachable during outages or when Citrix Cloud components are unreachable. This functionality has given CompanyA peace of mind to ensure that even in the rare occasion of a cloud outage, their users are still productive. Service continuity improves the visual representation of published resources during outages by using Progressive Web Apps service worker technology to cache resources in the user interface. Service continuity indicates which resources are available during an outage.</p>
<p>Service continuity uses Workspace connection leases to allow users to access apps and desktops during outages. Workspace connection leases are long-lived authorization tokens.</p>
<p>More information on how Service continuity works can be found <a href="/en-us/tech-zone/learn/tech-briefs/citrix-cloud-resiliency.html">here</a>.</p>
<h3>Autoscale</h3>
<p>CompanyA chose to deploy Autoscale to optimize cloud costs. Autoscale allows you to intelligently use, allocate, and deallocate resources.</p>
<p>CompanyA initially uses the following schedule based Autoscale parameters based on the typical workday:</p>
<table>
<thead>
<tr>
<th>Day</th>
<th>Peak Times</th>
<th>Off-Peak Times</th>
<th>Machines Active</th>
</tr>
</thead>
<tbody>
<tr>
<td>Weekdays</td>
<td>7am-5pm</td>
<td>5pm-7am</td>
<td>Peak: 50% Off-Peak: 10%</td>
</tr>
<tr>
<td>Weekends</td>
<td>9am-6pm</td>
<td>6pm-9am</td>
<td>Peak: 50% Off-Peak: 10%</td>
</tr>
</tbody>
</table>
<p>To accommodate more users, CompanyA also enabled load-based scaling with the following parameters:</p>
<table>
<thead>
<tr>
<th>Day</th>
<th>Capacity Buffer (Peak)</th>
<th>Capacity Buffer (Off-peak)</th>
</tr>
</thead>
<tbody>
<tr>
<td>Weekdays</td>
<td>20%</td>
<td>5%</td>
</tr>
<tr>
<td>Weekend</td>
<td>20%</td>
<td>5%</td>
</tr>
</tbody>
</table>
<p>More information about Autoscale can be found <a href="/en-us/tech-zone/learn/tech-briefs/autoscale.html">here</a>.</p>
<h3>Secure Private Access</h3>
<p>As users interact with SaaS, web, virtual, local, and mobile apps, they are often accessing public internet sites. Although CompanyA has an Internet Security Compliance class all agents must complete on a yearly basis, it has not completely prevented attacks, most often originating through phishing scams.</p>
<p>To help protect the agents and the organization, CompanyA incorporates Secure Private Access service and Security Analytics into their architecture.</p>
<p></p><p><a href="//media.invisioncic.com/m329563/monthly_2024_02/reference-architectures_daas-for-contact-centers_04.png.c523d253d58039a92f82e3ae055c4761.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="3189" src="//media.invisioncic.com/m329563/monthly_2024_02/reference-architectures_daas-for-contact-centers_04.png.c523d253d58039a92f82e3ae055c4761.png" width="1935" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_daas-for-contact-centers_04.png" loading="lazy" height="1044.9"></a></p>
<p>Secure Private Access enables end users to safely browse the internet with a centrally managed and secured enterprise browser on managed and BYO devices. When an end user launches a SaaS or private web app, several decisions are dynamically made to decide how best to serve this application.</p>
<p></p><p><a href="//media.invisioncic.com/m329563/monthly_2024_02/reference-architectures_daas-for-contact-centers_enterprisebrowser.png.8f8e2104f31a08c273114904c9b5ba72.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="3191" src="//media.invisioncic.com/m329563/monthly_2024_02/reference-architectures_daas-for-contact-centers_enterprisebrowser.png.8f8e2104f31a08c273114904c9b5ba72.png" width="1969" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_daas-for-contact-centers_enterprisebrowser.png" loading="lazy" height="1063.26"></a></p>
<h3>Citrix Endpoint Management</h3>
<p></p><p><a href="//media.invisioncic.com/m329563/monthly_2024_02/reference-architectures_daas-for-contact-centers_05.png.8491531c57c5aaab8ab773a31c43ef52.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="3193" src="//media.invisioncic.com/m329563/monthly_2024_02/reference-architectures_daas-for-contact-centers_05.png.8491531c57c5aaab8ab773a31c43ef52.png" width="2691" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_daas-for-contact-centers_05.png" loading="lazy" height="780.39"></a></p>
<p>CompanyA uses Citrix Endpoint Management to manage the Chromebooks that are sent to the agents. CompanyA pushes Citrix Workspace to the Chromebooks which is the primary way that agents access their apps. The Secure Internet Access agent is also be pushed via Citrix Endpoint Management.</p>
<p>CompanyA also uses Citrix Endpoint Management to push the following device policies:</p>
<ul>
<li><a href="https://docs.citrix.com/en-us/citrix-endpoint-management/policies/app-restrictions-policy.html#chrome-app-settings">App Restrictions Policy</a>: CompanyA uses this to restrict any applications that they don't want to allow on the company-owned Chromebooks</li>
<li><a href="https://docs.citrix.com/en-us/citrix-endpoint-management/policies/control-os-updates.html#chrome-os-settings">Control OS updates</a>: CompanyA uses this to ensure that all endpoints are on a specific OS version. They use this to delay updates if needed.</li>
<li><a href="https://docs.citrix.com/en-us/citrix-endpoint-management/policies/content-policy.html">Content device policy</a>: CompanyA uses this policy to set their browser's home page</li>
<li><a href="https://docs.citrix.com/en-us/citrix-endpoint-management/policies/restrictions-policy.html#chrome-os-settings">Restrictions policy</a>: CompanyA uses this policy to set the following restrictions:
<ul>
<li>Disable printing-on</li>
<li>Disable proceeding from the safe browsing warning page-on</li>
<li>Safe browsing mode-on</li>
<li>External storage accessibility- Disabled</li>
</ul></li>
</ul>
<h3>Security Analytics</h3>
<p>CompanyA uses Security Analytics to mitigate and stop threats.</p>
<p>To help protect the environment, CompanyA uses Citrix Security Analytics to identity insider threats, and compromised users. Often, a single instance of a threat does not warrant drastic action, but a series of threats can indicate a security breach.</p>
<p>CompanyA developed the following initial security policies:</p>
<table>
<thead>
<tr>
<th>Name</th>
<th>Conditions</th>
<th>Action</th>
<th>Reason</th>
</tr>
</thead>
<tbody>
<tr>
<td>Unusual Access</td>
<td>Log on from suspicious IP and access from an unusual location</td>
<td>Lock user</td>
<td>If a user logs in from an unusual location and a suspicious IP, there is a strong indication the user was compromised.</td>
</tr>
<tr>
<td>Unusual app behavior</td>
<td>Unusual time of app usage and access from unusual location</td>
<td>Request user response</td>
<td>If a user accesses a virtual app at a strange time and location, there is the potential the user is compromised. Security analytics notifies the user to confirm if the user identifies the activity.</td>
</tr>
<tr>
<td>Potential credential exploits</td>
<td>Excessive authentication failures and access from an unusual location</td>
<td>Add to watchlist</td>
<td>If a user has many authentication failures from an unusual location, it can indicate that someone is trying to break into the system. However, the attacker has yet to succeed. Only need to add the user to the watchlist.</td>
</tr>
</tbody>
</table>]]></description><guid isPermaLink="false">86</guid><pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate></item><item><title>Reference Architecture: Federated Authentication Service</title><link>https://community.citrix.com/tech-zone/design/reference-architectures/federated-authentication-service/</link><description><![CDATA[<h2>
	Overview
</h2>

<p>
	The IT industry has already started moving beyond legacy single-factor authentication to increase security through better credential methods for enabling remote access to internal resources. The organizations are adopting modern authentication approaches, mostly SAML (Security Assertion Markup Language) based, to enable secure access to the internal services.
</p>

<p>
	Modern authentication is a framework of identity management that offers more secure user authentication and authorization. Managing user identities with modern authentication gives administrators many different tools that offer more secure systems of identity management. These authentication methods include services such as ADFS, Azure Active Directory, Okta, Google, Ping-Federate, and others. These methods offers a broader range of multi-factor options (text, call, pin) than the traditional password and security token.
</p>

<p>
	In addition to eradicating the password weakness when using legacy single-factor authentication, SAML authentication enables administrators to manage a single credential set per user for all the apps which they need to access. When a user leaves the organization, IT administrators must revoke just one credential set. Credentials can be revoked without logging into each separate application.
</p>

<h2>
	What is SAML
</h2>

<p>
	SAML is an XML-based industry-standard framework for exchanging authentication and authorization data between an identity provider and a service provider.
</p>

<p>
	 
</p>

<p>
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="reference-architectures_federated-authentication-service_001.png" data-fileid="3201" href="//media.invisioncic.com/m329563/monthly_2023_11/reference-architectures_federated-authentication-service_001.png.98f001df54eddc3232b650053fcd0bdd.png" rel=""><img alt="reference-architectures_federated-authentication-service_001.png" class="ipsImage ipsImage_thumbnailed" data-fileid="3201" style="height: auto;" width="1280" src="//media.invisioncic.com/m329563/monthly_2023_11/reference-architectures_federated-authentication-service_001.png.98f001df54eddc3232b650053fcd0bdd.png" loading="lazy" height="716.8"></a>
</p>

<p>
	 
</p>

<p>
	To recognize the SAML providers:
</p>

<ul>
	<li>
		A Service Provider (SP) is an entity providing the service, typically in the form of an application
	</li>
	<li>
		An Identity Provider (IdP) is an entity providing the user identities, including the ability to authenticate and authorize a user.
	</li>
</ul>

<p>
	<strong>Authentication</strong> is the process of verifying the user's identity and credentials (password, two-factor authentication, and multi-factor).
</p>

<p>
	<strong>Authorization</strong> is the process that tells the service provider what access to grant for the authenticated user.
</p>

<h2>
	SAML Assertion
</h2>

<p>
	A SAML assertion is a cryptographically signed XML document issued by the Identity Provider sends to the Service Provider that contains the user authorization. There are three different types of SAML Assertions:
</p>

<ul>
	<li>
		<p>
			<strong>Authentication</strong> - Authentication assertions prove the identification of the user and provide the time the user logged in and what method of authentication they used (Kerberos, multi-factor, and more).
		</p>
	</li>
	<li>
		<p>
			<strong>Attribute</strong> - The attribution assertion passes the SAML user attributes (specific pieces of data that provide information about the user like UPN).
		</p>
	</li>
	<li>
		<p>
			<strong>Authorization decision</strong> - An authorization decision assertion says if the user is authorized to use the service or if the identity provider denied their request due to a password failure or lack of rights to the service.
		</p>
	</li>
</ul>

<p>
	SAML completely changes the authentication method by which a user signs in to access a service. Once an application or service configured to authenticate via SAML, the authentication exchange between the Service Provider and the configured Identity Provider occurs. The authentication process verify the user's identity and permissions, and then grant or deny that user's access to the services. Each identity provider and service provider need to agree upon a similar and exact configuration for SAML authentication to function correctly.
</p>

<p>
	It is essential to highlight that SAML does not support sending the user's password between the identity provider and the service provider. SAML works by passing information about users, login assertions, and attributes between the identity provider and service providers. A user logs in once with the identity provider. The identity provider then passes the SAML assertion to the service provider when the user attempts to access those internal application services.
</p>

<h2>
	Federated Authentication Service
</h2>

<p>
	The modern authentication framework carries a technical challenge to the Citrix environment. Citrix Workspace that has various Identity Providers to choose from, and at the same time, windows VDAs do not natively support SAML. The Virtual Delivery Agents(VDAs) accepts username/password, Kerberos, and certificates as authentication methods for logon.
</p>

<p>
	With SAML authentication, Citrix Gateway and StoreFront do not have access to the user's password. It has only SAML assertion thus cannot perform single sign-on to the VDA during the session launch. With the SAML token, it breaks the Single Sign-On(SSO) to the VDA and prompts the users again for their credentials.
</p>

<p>
	Citrix introduced the <strong>Federated Authentication Service(FAS)</strong> to achieve the Single Sign-On during the session launch when using SAML authentication by issuing virtual smart card user certificates to log on to the VDA. Citrix FAS is integrated with the Microsoft Active Directory and Certificate Services to issue smart card class certificates automatically on behalf of Active Directory users. Citrix FAS uses similar APIs that allow administrators to provision physical smart cards to issue the virtual smart card class user certificates.
</p>

<p>
	 
</p>

<p>
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="reference-architectures_federated-authentication-service_002.png" data-fileid="3203" href="//media.invisioncic.com/m329563/monthly_2023_11/reference-architectures_federated-authentication-service_002.png.3c4877e04c854bde703cb761f740076f.png" rel=""><img alt="reference-architectures_federated-authentication-service_002.png" class="ipsImage ipsImage_thumbnailed" data-fileid="3203" style="height: auto;" width="1280" src="//media.invisioncic.com/m329563/monthly_2023_11/reference-architectures_federated-authentication-service_002.png.3c4877e04c854bde703cb761f740076f.png" loading="lazy" height="716.8"></a>
</p>

<p>
	 
</p>

<p>
	Citrix FAS is to integrate with Workspace/StoreFront and the VDA to swap the SAML assertion out for a user certificate effectively. That issued certificate inserted as part of the session launch process, thus achieving Single Sign-On to the VDA and avoiding extra authentication prompts presented to the user. Citrix FAS deployment is supported for both Windows and Linux VDA's workloads.
</p>

<h2>
	FAS Installation and considerations
</h2>

<h3>
	Citrix Cloud Connectors
</h3>

<p>
	For Citrix Cloud deployments, Cloud Connector enables the communication between resource location (where the FAS server resides) and Citrix Cloud. It is recommended to have two or more Cloud Connectors for each resource location. Ensure that the Cloud connectors can communicate with Active Directory Domain controllers and Virtual Delivery Agents at the respective resource location.
</p>

<h3>
	FAS Server
</h3>

<p>
	Citrix FAS is supported to install on all the latest Windows Server versions. However, Citrix FAS deployment is supported for both Windows and Linux VDA's workloads. It is recommended to install the FAS services on a dedicated server that does not contain any other Citrix components. Two or more FAS servers should be installed to ensure high availability. Refer to <a href="https://docs.citrix.com/en-us/federated-authentication-service/current-release/install-configure" rel="external nofollow">Citrix FAS installation and configuration</a> document.
</p>

<p>
	For scalability and high availability, refer to the document
</p>

<p>
	<a class="ipsAttachLink" data-fileext="citrix-federated-authentication-service-scalability.pdf" data-fileid="3205" href="https://community.citrix.com/applications/core/interface/file/attachment.php?id=3205" rel="">citrix-federated-authentication-service-scalability.pdf</a>
</p>

<p>
	and Citrix KB Article <a href="https://support.citrix.com/article/CTX225721" rel="external nofollow">CTX225721</a>. When migrating from On-Premises to Citrix Cloud, the existing FAS servers deployed at the On-Premises environment can be utilized and configured to communicate with Citrix Cloud via internet access. Refer to the document <a href="/en-us/tech-zone/build/tech-papers/citrix-communication-ports.html#citrix-cloud" rel="">Citrix Communication Ports</a> for the required ports for this access.
</p>

<p>
	 
</p>

<p>
	The FAS servers should be installed within the secured internal network segment as it needs to access to Active Directory domain controllers, Certificate Services and registration authority certificate, and private key. Refer to the <a href="https://docs.citrix.com/en-us/federated-authentication-service/current-release/config-manage.html" rel="external nofollow">Advanced configuration</a> documentation to review the certificate, network, and other security considerations.
</p>

<h3>
	Certificate Services
</h3>

<p>
	If it is not already deployed, you must design and deploy one of the certificate authority services supported by FAS, in Enterprise mode as per your organization's security norms. To avoid interoperability issues with other software, FAS provides three Citrix FAS certificate templates for its own use. One of the Certificate Templates is for Smart Card logon to Citrix VDA. The other two Certificate Templates are to authorize FAS as a certificate registration authority. These templates must be deployed and registered with Active Directory with the help of an admin account that has permissions to administer your Enterprise forest.
</p>

<h3>
	Active Directory
</h3>

<p>
	It is recommended to have Server 2012 functional level for the Active Directory. Domain Controllers must be installed with Domain Controller Authentication certificates and templates (<a href="https://support.citrix.com/article/CTX218941" rel="external nofollow">CTX218941</a>). The certificates on the Domain Controllers must support smart card authentication.
</p>

<p>
	Each Active Directory deployment is different from another deployment, so extra steps may be required to get the FAS solution working in your environment. Refer to the <a href="https://www.citrix.com/blogs/2019/11/20/your-guide-to-citrix-fas-multi-forest-selective-authentication/" rel="external nofollow">Citrix Blog</a> for multi-forest selective authentication to choose the appropriate architecture for the deployment. It is advised to carefully test your solution in a lab environment before implementing it in a production environment.
</p>

<p>
	Upload all three FAS Certificate templates to the Active Directory and configure a CA server to issue certificates using the new templates. One of the Certificate templates is for Smart Card logon to Citrix VDA. The other two Certificate templates are to authorize FAS as a certificate registration authority.
</p>

<p>
	Install the Citrix FAS group policy ADMX templates into the <strong>Policy Definitions</strong> folder on the domain controller. Create a group policy object (GPO) and configure the GPO with the DNS addresses of the FAS servers. This GPO must apply to FAS servers, StoreFront servers, and every VDA with the respective domain. Ensure that the FAS Group Policy configuration has been applied correctly to the StoreFront and VDAs <span style="background-color:#ffffff; color:#353c41; font-size:14px; text-align:start">before FAS based logins are enabled</span>
</p>

<p>
	The order of DNS addresses of your FAS servers in the GPO list must be consistent for all the VDAs, StoreFront servers (if present), and FAS servers. The GPO list is used by the VDA to locate the FAS server chosen for a virtual app or desktop launch.
</p>

<h3>
	In-session certificate support
</h3>

<p>
	By default, VDAs do not allow access to certificates after logon. If necessary, use the Group Policy template to configure the system for in-session certificates. The in-session certificates option in the GPO controls whether a certificate can be used after login to the VDA. Only select this option if users need to have access to the certificate after authenticating.
</p>

<p>
	If you choose the in-session option, it places the certificate in the user's personal certificate store after logon for application use. For example, TLS authentication to web servers within the VDA session, the certificate is used by the browser. If this option is not selected, the certificate is only used for logon or reconnection, and users do not have access to the certificate after authenticating.
</p>

<h3>
	Citrix Delivery Controller
</h3>

<p>
	The Citrix Delivery Controllers must be a minimum of version 1912, and the VDAs must be a minimum of version 1912. It is essential that enabling the trust between the Delivery Controller and the StoreFront servers by running the <code>Set-BrokerSite -TrustRequestsSentToTheXmlServicePort $true</code> PowerShell cmdlet on the Delivery Controllers.
</p>

<h3>
	Citrix StoreFront
</h3>

<p>
	Citrix strongly recommends installing the latest version of the StoreFront server for on-premises deployments. The StoreFront server must be a minimum of version 3.12. Ensure that the StoreFront servers requesting tickets and the Virtual Delivery Agents (VDAs) redeeming tickets have the identical configuration of FAS DNS addresses.
</p>

<h2>
	Conceptual Architecture of Citrix FAS
</h2>

<p>
	The Federated Authentication Service (FAS) is a Citrix component that integrates with Microsoft Active Directory and Certificate Authority (CA), allowing users to seamlessly authenticate within a Citrix environment. It brings more comfortable alternative sign-in methods; hence users no longer have to provide credentials during the VDA session launch, thus achieving Single Sign-On.
</p>

<p>
	For the On-Premises environment, starting from StoreFront 3.6, it is possible to use SAML authentication along with several external identity providers, and that integrates with Citrix FAS enabling users to authenticate from Citrix Gateway or either directly through StoreFront.
</p>

<p>
	Citrix achieved the public GA release of Federated Authentication Service with Citrix Cloud in June 2020. Citrix FAS is now fully supported with Citrix Workspace to achieve Single Sign-On to VDAs when using a federated identity provider such as Azure AD and Okta Identity Providers.
</p>

<h3>
	Citrix FAS for On-Premises Deployment
</h3>

<p>
	The conceptual architecture for the Citrix FAS deployment with the On-premises environment is the following. Let's review the design framework of each layer on this deployment to understand how it delivers a complete solution for your organization.
</p>

<p>
	 
</p>

<p>
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="reference-architectures_federated-authentication-service_003.png" data-fileid="3206" href="//media.invisioncic.com/m329563/monthly_2023_11/reference-architectures_federated-authentication-service_003.png.81eefd5c728e0916b76287eca6436645.png" rel=""><img alt="reference-architectures_federated-authentication-service_003.png" class="ipsImage ipsImage_thumbnailed" data-fileid="3206" style="height: auto;" width="1280" src="//media.invisioncic.com/m329563/monthly_2023_11/reference-architectures_federated-authentication-service_003.png.81eefd5c728e0916b76287eca6436645.png" loading="lazy" height="716.8"></a>
</p>

<p>
	 
</p>

<p>
	<strong>User Layer:</strong> Users access the Citrix environment through Citrix Gateway using Citrix Workspace app or browser. Citrix Workspace app is available for Windows, Mac, Android, and iOS. External users can also utilize the HTML5 version of the Workspace app through web browsers, where they cannot install the Workspace app on the devices.
</p>

<p>
	<strong>Access Layer:</strong> This layer explains the deployment of Citrix Gateway and StoreFront. Citrix Gateway is deployed in the DMZ network to enable access to remote users, and the StoreFront servers are deployed within the corporate network for internal users. Citrix administrator has configured the SAML authentication policies on Citrix Gateway.
</p>

<p>
	To enable Federated Authentication Service integration on a StoreFront Store, run the PowerShell cmdlets as an Administrator account on a new store created, and this step is required if users are accessing through StoreFront and there is no gateway involved. Refer to <a href="https://docs.citrix.com/en-us/federated-authentication-service/current-release/install-configure.html#enable-the-fas-plug-in-on-storefront-stores" rel="external nofollow">Citrix Docs</a> for more information on PowerShell cmdlets. Configuring the <strong>VDA Logon provider</strong> setting tells StoreFront to request a certificate from FAS and the VDA to retrieve it during session launch for authentication to the VDA. Once configured, this configuration applies to all session launches against that Store.
</p>

<p>
	When using Citrix Gateway, configure StoreFront with the Citrix Gateway and Callback URL details because logon evidence is transmitted via the Callback. The "Fully delegate credential validation to Gateway" setting enables the StoreFront servers to delegate user authentication to the Gateway, allowing pass-through SAML authentication from the Citrix Gateway. IT admin has created the FAS Group Policy Object that contains the trusted FAS servers list and applied it to the OU where the FAS Servers, VDAs, and StoreFront Servers reside in the AD domain.
</p>

<p>
	When using SAML authentication, the actual authentication takes place at the Identity Provider. SAML Identity Provider can be anything, such as ADFS, Azure AD, Okta, Google, or Ping Identity. Let's consider Active Directory Federation Services (ADFS) as an Identity Provider for this conceptual architecture to move on.
</p>

<p>
	ADFS provides simplified, secured identity federation and single sign-on (SSO) capabilities for end-users who want to access applications within the secured enterprise and federation partner organizations. The ADFS tightly integrated with the organization's Active Directory domain and certificate services.
</p>

<p>
	From now, it is denoted that the SAML Service Provider is the Citrix Gateway or StoreFront. The SAML Identity Provider is the Microsoft ADFS that exists on the domain and configured to access it from both internal and external networks for authentication.
</p>

<p>
	Let's discuss on resource enumeration and session launch processes along with the FAS authentication workflow at the end of all layers.
</p>

<p>
	<strong>Control Layer:</strong> Delivery controllers, SQL Database, Studio, and Licensing are the core components deployed and managed in the Control Layer. The administrator has configured hosting connections to communicate with hypervisors to provision and manage the virtual machines. Machine Catalog and Delivery groups are created and enabled access to the required user groups using Citrix Studio. Citrix Director helps the administrators to monitor the complete Citrix environment.
</p>

<p>
	For Citrix FAS deployment, On the Delivery Controller, set the TrustRequestsSentToTheXmlServicePort to "true" which trust the XML requests sent by StoreFront Servers. It enables support for "Pass-through" authentication, and connections routed through Citrix Gateway. StoreFront Server communicates with the Delivery Controller using XML and enumerates the resources for the authenticated user. The user is presented with the StoreFront page listing the Apps and Desktops, which they are entitled to.
</p>

<p>
	<strong>Resource Layer:</strong> The Resource layer is where all the user workloads (VDAs) reside in the Citrix environment. With the help of Citrix Studio and using the master image templates, the admin has deployed virtual apps servers using Windows Server OS. Using Citrix Provisioning (PVS), the admin has created Servers VDAs for task workers. Using Machine Create Services (MCS), the admin has deployed virtual desktops using Windows 10 for Power workers, and virtual Linux desktops using Red Hat Enterprise distribution for Linux users on the hypervisors.
</p>

<p>
	Virtual Delivery Agents installed with these VMs are registered with Delivery Controllers; the admin created Machine Catalogs and Delivery Groups with the Desktops and Apps to enable access for the users using an AD security group. Citrix HDX Policies are created and assigned using Citrix Studio for the delivery groups to optimize and secure the HDX connections.
</p>

<p>
	For Citrix FAS deployment, the Network Administrator has configured the <a href="https://docs.citrix.com/en-us/federated-authentication-service/current-release/config-manage/security.html#firewall-and-network-security" rel="external nofollow">firewall rules</a> for VDAs to communicate with Citrix FAS Servers to obtain the user certificates during the session launch. Citrix admin validated the Group Policy containing the trusted FAS Servers are linked and enabled with the Active Directory OUs where the VDA's and StoreFront Servers are residing in AD.
</p>

<p>
	<strong>Platform Layer:</strong> This layer discusses the hardware platform required to host Control layer components and user workloads for On-Premises deployment. The Citrix admin has installed the hypervisor software on the server hardware and deployed the required virtual machines for Control infrastructure and user workloads. The network admin has enabled firewall rules for all the Citrix components to communicate with each other in the environment. The storage admin helped to configure and assign adequate storage to the Citrix environment.
</p>

<p>
	<strong>Operations Layer</strong>: For this conceptual deployment, Let us focus on the FAS Server deployment under the Operations Layer.
</p>

<p>
	For Citrix FAS Server deployment, the Citrix administrator has deployed two new windows Virtual Machines on the hypervisor and installed the FAS components. The FAS administration console is installed as part of the FAS installation. The first time the administration console is used, it guides you through a process that deploys certificate templates, sets up the certificate authority, and authorizes FAS to use the certificate authority.
</p>

<p>
	Going next to the Certificate Authority, FAS uses DCOM calls that are specific to Windows Certificate Authorities. Third-party or public Certificate Authorities cannot be used. Multiple CA details can be specified within the FAS console for high availability. A central Certificate Authority can support multiple domains via cross-forest enrollment. Along the same lines, StoreFront, FAS, and the VDAs all mutually authenticate via Kerberos and, therefore, must either be in the same domain or domains that have a two-way trust between them.
</p>

<p>
	Also, it is necessary to configure the user rule, which authorizes the issuance of certificates for VDA logon and in-session use, as directed by StoreFront. Each rule specifies the StoreFront servers that are trusted to request certificates, the set of users for which they can be requested, and the set of VDA machines permitted to use them. Refer to <a href="https://docs.citrix.com/en-us/federated-authentication-service/current-release/install-configure#using-the-federated-authentication-service-administration-console" rel="external nofollow">Citrix Docs</a>, which explain the process more in detail.
</p>

<p>
	FAS has a registration authority certificate that allows it to issue certificates autonomously on behalf of your domain users. As such, it is vital to develop and implement a security policy to protect FAS servers, and to constrain their permissions.
</p>

<p>
	During the Session launch, the generation of user certificates is the most expensive part of the process. The FAS must generate a new certificate for a user dynamically. It can extend the logon process slightly and add to the CPU load on the FAS server. However, FAS servers can cache certificates that allow a user to log in almost as fast as using explicit password authentication. The login time for users significantly improves when user certificates are pre-generated within the FAS server. Refer to <a href="https://docs.citrix.com/en-us/federated-authentication-service/config-manage/ca-configuration.html#pre-generate-user-certificates" rel="external nofollow">Citrix Documentation</a> for detailed steps to be followed.
</p>

<h4>
	Session launch process with Citrix FAS
</h4>

<p>
	Let's discuss the authentication flow when using FAS with Citrix Gateway and StoreFront to VDAs:
</p>

<p>
	 
</p>

<p>
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="reference-architectures_federated-authentication-service_004.png" data-fileid="3208" href="//media.invisioncic.com/m329563/monthly_2023_11/reference-architectures_federated-authentication-service_004.png.2a6ab1e9ea4769c8b88fbb28514b9daa.png" rel=""><img alt="reference-architectures_federated-authentication-service_004.png" class="ipsImage ipsImage_thumbnailed" data-fileid="3208" style="height: auto;" width="1280" src="//media.invisioncic.com/m329563/monthly_2023_11/reference-architectures_federated-authentication-service_004.png.2a6ab1e9ea4769c8b88fbb28514b9daa.png" loading="lazy" height="716.8"></a>
</p>

<p>
	 
</p>

<p>
	When a user logs on to Citrix Gateway (Service Provider), it responds by generating a SAML login request and redirects to the ADFS (Identity Provider) login Page. Users enter the credentials on the ADFS Single Sign-On page. ADFS authenticates the user with the Active Directory and parses the SAML request as a SAML response. The encoded SAML response with the signed token handed over back to the Service Provider (Citrix Gateway).
</p>

<p>
	Citrix Gateway validates the SAML response using the IdP certificate. It extracts the SAML assertion to look up the user's identity (User Principal Name) and the authorization to grant them access. Then it passes to the StoreFront for validation and resource enumeration. StoreFront servers again validate and verify the assertion with a trusted gateway, which uses the callback URL configuration. The FAS logon evidence feature provides logon evidence passed to FAS by Citrix Gateway and StoreFront. FAS can validate the evidence to ensure that token was issued by a trusted Identity Provider (IdP). For more detailed information on Logon evidence, refer to <a href="https://docs.citrix.com/en-us/advanced-concepts/implementation-guides/citrix-federated-authentication-service-logon-evidence-overview.html" rel="external nofollow">Citrix documentation</a>.
</p>

<p>
	Now, the StoreFront's Logon Data Provider service contacts the Federated Authentication Service and asks to generate a certificate for the authenticated user. The FAS connects to Active Directory to verify the user and then speaks to Active Directory Certificate Services(ADCS) and submits a certificate request for the user.
</p>

<p>
	The Certificate Authority issues a valid certificate for the authenticated user. The FAS holds the user certificate and its attributes. This certificate is not shared with StoreFront. However, StoreFront is made aware that the user is valid, and FAS has enrolled a certificate for this authenticating user.
</p>

<p>
	Now, the StoreFront Server communicates with the Delivery Controller using XML and enumerates the resources for the authenticated user. The user is presented with the StoreFront page listing all the Apps and Desktops, which they are entitled to.
</p>

<p>
	When a user launches a virtual app or desktop in their workspace app, the request is sent to StoreFront to obtain the ICA file. StoreFront contacts the delivery controller, and asking for the VDA details for this session. The delivery controller validates the request and selects the VDA, which can take this user session and share the VDA and Secure Ticket Authority(STA) details with StoreFront to generate the ICA file. In addition to that, the StoreFront server selects a FAS server from the GPO list and contacts the selected FAS server to obtain a ticket that grants access to a user certificate, which is now stored on the FAS server. <span style="background-color:#ffffff; color:#353c41; font-size:14px; text-align:start">Storefront encrypts the FAS Ticket with the ICA Ticket and then the VDA can unencrypt the FAS Ticket when it is presented with the ICA Ticket during logon.</span>
</p>

<p>
	 
</p>

<p>
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="reference-architectures_federated-authentication-service_005.png" data-fileid="3210" href="//media.invisioncic.com/m329563/monthly_2023_11/reference-architectures_federated-authentication-service_005.png.c690a9d656306f77098b61eb752ee0b1.png" rel=""><img alt="reference-architectures_federated-authentication-service_005.png" class="ipsImage ipsImage_thumbnailed" data-fileid="3210" style="height: auto;" width="1280" src="//media.invisioncic.com/m329563/monthly_2023_11/reference-architectures_federated-authentication-service_005.png.c690a9d656306f77098b61eb752ee0b1.png" loading="lazy" height="716.8"></a>
</p>

<p>
	 
</p>

<p>
	Workspace app establishes the launch session with Citrix Gateway by providing the STA ticket to validate and grant the communication with VDA. STA ticket is validated with Delivery Controllers, and then it passes to VDA for session launch. The FAS ticket is presented with VDA during this time to validate with the FAS Servers. The VDA Credential Plugin contacts the FAS Server selected from the GPO list. The FAS server validates the token and issues the valid user certificate. Upon successful validation of the user certificate, the single sign-on is achieved, and the VDA session is launched and presented to the user.
</p>

<h3>
	Citrix FAS for Citrix Cloud Deployment
</h3>

<p>
	The conceptual architecture for the FAS deployment with the Citrix Cloud environment is shown below. Let's review the design framework of each layer and the FAS workflow of this deployment to understand how it delivers a complete solution for an organization.
</p>

<p>
	 
</p>

<p>
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="reference-architectures_federated-authentication-service_006.png" data-fileid="3212" href="//media.invisioncic.com/m329563/monthly_2023_11/reference-architectures_federated-authentication-service_006.png.25741d89473b6e9c3984e3101cbf3bc4.png" rel=""><img alt="reference-architectures_federated-authentication-service_006.png" class="ipsImage ipsImage_thumbnailed" data-fileid="3212" style="height: auto;" width="1280" src="//media.invisioncic.com/m329563/monthly_2023_11/reference-architectures_federated-authentication-service_006.png.25741d89473b6e9c3984e3101cbf3bc4.png" loading="lazy" height="716.8"></a>
</p>

<p>
	 
</p>

<p>
	<strong>User Layer:</strong> The users, also called subscribers in Citrix Cloud, can access the Citrix environment using the Cloud Workspace URL. Users are provided with the Workspace URL from the Citrix Cloud to connect from the browser or workspace app installed on their endpoints.
</p>

<p>
	<strong>Access Layer:</strong> Citrix Workspace or Gateway Service is the front end or entry point for users to access the Citrix environment. The administrator can change the Workspace URL and authentication options using the cloud portal. Installation of the Cloud Connectors enables extending the Customer's Active Directory domain to Citrix Cloud. Authentication configuration in the Workspace allows the admin to select the authentication source for users to sign in and access the Citrix resources.
</p>

<p>
	Let's consider Microsoft Azure Active Directory (AAD) as an authentication source for this conceptual architecture to move on. Citrix Cloud includes an Azure AD app that allows customers to connect their Citrix Cloud Subscription with Azure AD. For more information on how to connect Azure Active Directory with Citrix Cloud, refer to the <a href="https://docs.citrix.com/en-us/citrix-cloud/citrix-cloud-management/identity-access-management/connect-azure-ad.html" rel="external nofollow">Citrix documentation</a>. Upon enabling Azure AD authentication, providing access to users and groups should be managed using Libraries in the Citrix Cloud.
</p>

<p>
	The Workspace Authentication configuration page enabled with the new option "Configure Authentication with the Federated Authentication Service." The FAS is disabled by default. The administrator enables the FAS authentication by using the "Enable FAS button."
</p>

<p>
	 
</p>

<p>
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="reference-architectures_federated-authentication-service_007.png" data-fileid="3214" href="//media.invisioncic.com/m329563/monthly_2023_11/reference-architectures_federated-authentication-service_007.png.9269e78682d2325af2e76e166b92093c.png" rel=""><img alt="reference-architectures_federated-authentication-service_007.png" class="ipsImage ipsImage_thumbnailed" data-fileid="3214" style="height: auto;" width="1280" src="//media.invisioncic.com/m329563/monthly_2023_11/reference-architectures_federated-authentication-service_007.png.9269e78682d2325af2e76e166b92093c.png" loading="lazy" height="716.8"></a>
</p>

<p>
	 
</p>

<p>
	When users start accessing the environment using the Workspace URL, users get redirected to the corresponding Identity providers based on the configuration. In this case, the user gets redirected to the Azure provided sign-in page. The user enters valid Azure AD credentials, and then the browser is redirected back to Citrix Workspace and presented with the resources page where it shows the Apps and Desktops, which are assigned to the user.
</p>

<p>
	The session launch processes, along with the FAS authentication workflow, are discussed at the end of all layers.
</p>

<p>
	<strong>Control Layer:</strong> For the Citrix Cloud environment, the Delivery controllers, SQL database, Studio, Director, and Licensing are the core components in the control layer which are deployed by Citrix on the Cloud during the activation of Citrix DaaS. The administrator has configured the Resource Locations and hosting connections to communicate with the on-premises hypervisors. Machine Catalogs are created using the Cloud Studio Portal, and the Citrix Director helps to monitor the environment.
</p>

<p>
	When the administrator enables the FAS authentication on Citrix Workspace, it enables extra FAS Âµ-services on Citrix Cloud to communicate with the on-premises FAS Servers. The FAS Servers deployed at resource location connecting the Cloud FAS Âµ-service over the outbound SSL connection.
</p>

<p>
	<strong>Resource Layer:</strong> This layer is referring to a resource location where all the user workloads reside in this deployment. As a starting point for integrating the on-premises user workloads with Citrix Cloud, the administrator installed Citrix Cloud Connectors, which allows communication between on-premises components and Citrix Cloud services.
</p>

<p>
	The VDAs installed at the resource locations are registered with Cloud Delivery Controllers. The admin creates Machine Catalogs and Delivery Groups. Citrix HDX Policies are created and assigned using Citrix Studio for the delivery groups to optimize and secure the HDX connections.
</p>

<p>
	<strong>Platform Layer:</strong> This layer discusses the hardware platform required to host the user workloads and other components required for resource location. The Citrix admin has installed the hypervisor software on the server hardware and deployed the required virtual machines for user workloads and other components like FAS Servers. The network admin has enabled firewall rules for all the Citrix components to communicate with each other in the environment. The storage admin helped to configure and assign adequate storage to the Citrix environment.
</p>

<p>
	<strong>Operations Layer</strong>: The tools and components like File Servers, Citrix WEM Servers, RDS License Servers, Citrix App Layering Servers, and FAS Servers which are required to manage the user workloads, are covered under the Operations Layer.
</p>

<p>
	The administrator has deployed a file server cluster and Workspace Environment Manager Service to configure the user profiles for the VDAs. The IT Admin has created dedicated file shares and NFS shares for the user profiles and folder redirection. The Citrix admin also applied resource management policies to optimize the CPU and memory utilization on VDA agents. The IT admin has configured the Remote Desktop Services (RDS) Client Access License Server to issue the RDS licenses for Virtual Apps workloads.
</p>

<p>
	To synchronize the Active Directory users and groups with Azure AD, the administrator has installed the required number of Azure AD Connect servers and configured with their Azure Subscription. For Citrix FAS deployment, the Citrix administrator has deployed two new windows VMs and followed the installation process to install and configure the Citrix FAS services.
</p>

<p>
	Using the FAS administration console with the elevated permissions, the administrator has configured FAS Servers through a process that deploys certificate templates, sets up the certificate authority, and authorizes FAS to use the certificate authority. For detailed steps, refer to <a href="https://docs.citrix.com/en-us/federated-authentication-service/current-release/install-configure.html#using-the-federated-authentication-service-administration-console" rel="external nofollow">Citrix documentation</a>.
</p>

<p>
	 
</p>

<p>
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="reference-architectures_federated-authentication-service_008.png" data-fileid="3216" href="//media.invisioncic.com/m329563/monthly_2023_11/reference-architectures_federated-authentication-service_008.png.ed9455ce7b0971ca2dc10afc9d9dc023.png" rel=""><img alt="reference-architectures_federated-authentication-service_008.png" class="ipsImage ipsImage_thumbnailed" data-fileid="3216" style="height: auto;" width="1280" src="//media.invisioncic.com/m329563/monthly_2023_11/reference-architectures_federated-authentication-service_008.png.ed9455ce7b0971ca2dc10afc9d9dc023.png" loading="lazy" height="716.8"></a>
</p>

<p>
	 
</p>

<p>
	Also, it is necessary to configure the user rule, which authorizes the issuance of certificates for VDA logon. Each rule specifies the StoreFront servers that are trusted to request certificates, the set of users for which they can be requested, and the set of VDA machines permitted to use them. However, when a rule is used with Citrix Cloud, the StoreFront access permissions are ignored. When we are using the existing FAS Servers, the FAS installer detects the existing setup and marks green next to these options.
</p>

<p>
	The same rule can be used with Citrix Cloud and the on-premises StoreFront deployment. StoreFront access permissions are still applied when an on-premises StoreFront uses the rule. Refer to <a href="https://docs.citrix.com/en-us/federated-authentication-service/current-release/install-configure.html#using-the-federated-authentication-service-administration-console" rel="external nofollow">Citrix Docs</a>, which explain the process more in detail.
</p>

<p>
	Install the Citrix FAS group policy ADMX templates into the <strong>Policy Definitions</strong> folder on the domain controller. Create and configure the GPO with the DNS addresses of the FAS servers. This GPO must apply to FAS servers, StoreFront servers, and every VDA with the respective domain. Ensure that the FAS Group Policy configuration has been applied correctly to the StoreFront and VDAs before FAS based logins are enabled
</p>

<p>
	As a final step of configuring the FAS Servers on Citrix Cloud andThis GPO must apply to FAS servers, StoreFront servers, and every VDA with the respective domain. Ensure that the FAS Group Policy configuration has been applied correctly to the StoreFront and VDAs <span style="background-color:#ffffff; color:#353c41; font-size:14px; text-align:start">before FAS based logins are enabled</span> connecting the On-Premises FAS Servers with Citrix Cloud, the administrator has chosen the option "Connect to Citrix Cloud." Once signed in with Citrix Cloud, the administrators select the customer account and the resource location. Now, Citrix Cloud registers the FAS server and displays it on the Resource Locations page.
</p>

<p>
	 
</p>

<p>
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="reference-architectures_federated-authentication-service_009.png" data-fileid="3218" href="//media.invisioncic.com/m329563/monthly_2023_11/reference-architectures_federated-authentication-service_009.png.a9af8ec3c9463bd2c79db7d63dbe84a5.png" rel=""><img alt="reference-architectures_federated-authentication-service_009.png" class="ipsImage ipsImage_thumbnailed" data-fileid="3218" style="height: auto;" width="1280" src="//media.invisioncic.com/m329563/monthly_2023_11/reference-architectures_federated-authentication-service_009.png.a9af8ec3c9463bd2c79db7d63dbe84a5.png" loading="lazy" height="716.8"></a>
</p>

<p>
	 
</p>

<h4>
	Session launch process when using Citrix FAS with Citrix Cloud
</h4>

<p>
	When a user starts accessing the environment using the Workspace URL, the user gets redirected to the Azure-based Sign-in page. The user enters valid Azure credentials on the Azure Single Sign-On page. Azure authenticates the user and redirects the user back to the Citrix Workspace page. Citrix Workspace enumerated the resources and presented it to the resources page to the user.
</p>

<p>
	When a user launches a virtual application or desktop in their Workspace, the request is sent to obtain the ICA file. Controllers select the available VDA from the resource location. Citrix Cloud selects a FAS server in the same resource location as the VDA to obtain a ticket that grants access to the VDA using a user certificate provided by the Certificate Authority, which is now stored on the FAS Server. Citrix Workspace appends this FAS token into the ICA file and sent back to the user system.
</p>

<p>
	 
</p>

<p>
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="reference-architectures_federated-authentication-service_010.png" data-fileid="3220" href="//media.invisioncic.com/m329563/monthly_2023_11/reference-architectures_federated-authentication-service_010.png.7de9bab3f87c94b589434c17b173c34e.png" rel=""><img alt="reference-architectures_federated-authentication-service_010.png" class="ipsImage ipsImage_thumbnailed" data-fileid="3220" style="height: auto;" width="1280" src="//media.invisioncic.com/m329563/monthly_2023_11/reference-architectures_federated-authentication-service_010.png.7de9bab3f87c94b589434c17b173c34e.png" loading="lazy" height="716.8"></a>
</p>

<p>
	 
</p>

<p>
	Workspace app establishes the connection using the ICA file to the VDA, and to authenticate the subscriber, the VDA connects to FAS and presents the ticket. The VDA Credential Plugin contacts the FAS Server and validates the token. Now, the FAS Server provides a valid user certificate to the VDA. Upon successful validation of the user certificate, the single sign-on is achieved, and the VDA session is launched for the user.
</p>

<h3>
	Use-Case #1
</h3>

<p>
	A Citrix Service Provider (CSP) designing a hybrid Citrix Virtual Apps and Desktops environment that would allow multiple customers to access. Considering future growth, CSP also needs to consider onboarding more new customers. The design specification suggests providing different Identity provider for each Customer and avoids creating domain trusts.
</p>

<p>
	Citrix Service Provider onboards customers to their Citrix Virtual Apps and Desktops environment frequently, and the solution required Citrix Gateway to selectively provide a different SAML identity provider based on the UPN suffix. For example, Customer-A is configured to use Azure AD, and the customer-B is configured to use Active Directory Federation Services (ADFS), and so on. Configuring different identity providers for each Customer, the environment needed to provide single sign-on to the Citrix VDAs using Citrix FAS.
</p>

<p>
	 
</p>

<p>
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="reference-architectures_federated-authentication-service_011.png" data-fileid="3222" href="//media.invisioncic.com/m329563/monthly_2023_11/reference-architectures_federated-authentication-service_011.png.53e40c0c6ba1f18a53f7fdf0b46868dd.png" rel=""><img alt="reference-architectures_federated-authentication-service_011.png" class="ipsImage ipsImage_thumbnailed" data-fileid="3222" style="height: auto;" width="1280" src="//media.invisioncic.com/m329563/monthly_2023_11/reference-architectures_federated-authentication-service_011.png.53e40c0c6ba1f18a53f7fdf0b46868dd.png" loading="lazy" height="716.8"></a>
</p>

<p>
	 
</p>

<p>
	Refer to the <a href="https://www.citrix.com/blogs/2020/04/23/multi-domain-citrix-gateway-nfactor-authentication-and-citrix-fas/" rel="external nofollow">Citrix Blog</a>, which contains detailed steps to configure the environment. Let's discuss the workflow and session launch process for each Customer. The significant configuration happens at the Citrix Gateway with the utilization of Citrix ADC AAA, nFactor, and Citrix Gateway session policies to accommodate multiple customer user requests.
</p>

<ol>
	<li>
		<p>
			When a user logs in to Citrix Gateway (Service Provider), the user is identified based on the UPN suffix, and it redirects to the respective Identity Provider login page. Users enter the credentials, and now the Identity provider authenticates the user and responds with the SAML token as a response. The encoded SAML response with the signed token handed over back to the Service Provider Citrix Gateway, where the Root CA certificates from Identity providers were installed to validate the tokens.
		</p>
	</li>
	<li>
		<p>
			Citrix Gateway validates the SAML response using the IdP certificate. It extracts the SAML assertion to look up the user's identity (User Principal Name) and the authorization to grant them access. Then it passes to the StoreFront for validation and resource enumeration.
		</p>
	</li>
	<li>
		<p>
			Now, the StoreFront's Logon Data Provider service contacts the Federated Authentication Service and asks to generate a certificate for the authenticated user. The FAS connects to the Active Directory to verify the user and their shadow accounts. Then it speaks to Active Directory Certificate Services (AD CS) and submits a certificate request for the user. The Certificate Authority issues a valid certificate for the authenticated user.
		</p>
	</li>
	<li>
		<p>
			When a user launches a virtual app or desktop in their workspace app, the request is sent to StoreFront to obtain the ICA file. StoreFront validates the request and contacts the delivery controller asking for VDA details for this session. The delivery controller validates the request and shares the VDA and Secure Ticket Authority(STA) details with StoreFront to generate the ICA file. In addition to that, the StoreFront server selects a FAS server from the GPO list and contacts the selected FAS server to obtain a ticket that grants access to a user certificate, which is now stored on the FAS server. StoreFront appends this FAS token into the ICA file and sent back to the workspace app.
		</p>
	</li>
	<li>
		<p>
			The workspace app initiates a connection to start the session with Citrix Gateway by providing the STA ticket to validate and grant the communication. Upon validation, the connection is passed to the VDA for the session launch. The FAS ticket is presented with VDA during the time of authentication to validate against the FAS Servers. The VDA Credential Plugin contacts the FAS Server selected from the GPO list. The FAS server validates the token and issues the valid user certificate. Upon successful validation of the user certificate, the single sign-on is achieved, and the VDA session is launched.
		</p>
	</li>
</ol>

<h3>
	Use-Case #2
</h3>

<p>
	Company-A recently acquired Company-B. Hence Company-A wanted to grant access to Company-B employees on their existing Citrix Virtual Apps and Desktops environment. To simplify the authentication between both company domains, administrators established a federated connection between the domains by implementing External SAML Identity Providers solution like Azure Active Directory. SAML authentication allows the users to seamlessly log in to the AD environment of the other company to access the resources. In both the companies, users can use their company-specific credentials, wherein a shadow account is used and mapped at the Company-A to access the resources.
</p>

<p>
	 
</p>

<p>
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="reference-architectures_federated-authentication-service_012.png" data-fileid="3224" href="//media.invisioncic.com/m329563/monthly_2023_11/reference-architectures_federated-authentication-service_012.png.85bc9f9de18168b043943103529f8f52.png" rel=""><img alt="reference-architectures_federated-authentication-service_012.png" class="ipsImage ipsImage_thumbnailed" data-fileid="3224" style="height: auto;" width="1280" src="//media.invisioncic.com/m329563/monthly_2023_11/reference-architectures_federated-authentication-service_012.png.85bc9f9de18168b043943103529f8f52.png" loading="lazy" height="716.8"></a>
</p>

<p>
	 
</p>

<p>
	To log in to the Citrix VDA, every user must have an Active Directory account in a domain trusted by the VDA. For Federated Users, we need to create shadow accounts for (Company-B) each federated user in the Company-A domain. These shadow accounts need a UPN that matches the SAML attribute (usually email address) provided by the SAML IdP. If the email address provided by the SAML IdP does not match the UPN suffix for the company domain, we need to add the UPN suffix that matches the email suffix provided by the SAML IdP on the Active Directory Domains and Trusts snap-in.
</p>

<ol>
	<li>
		<p>
			The Company-B user accesses the Gateway URL, and the user gets redirected to the SAML Identity Provider. In this case, it is an Azure Active Directory. Both the Company-A and Company-B Domains synced to a single Azure AD tenant.
		</p>
	</li>
	<li>
		<p>
			The user enters the Company-B credentials to authenticate against the AAD and redirected back to the Gateway with the SAML Token.
		</p>
	</li>
	<li>
		<p>
			Gateway parses the SAML token and then uses this SAML Token to verify the identity of the user using the shadow account. Then it passes to the StoreFront for resource enumeration.
		</p>
	</li>
	<li>
		<p>
			Now, the StoreFront's Logon Data Provider service contacts the Federated Authentication Service and asks to generate a certificate for the authenticated shadow account user. The FAS connects to the Active Directory to verify the user(shadow account). Then it speaks to Active Directory Certificate Services (AD CS) and submits a certificate request for the user. The Certificate Authority issues a valid certificate for the authenticated user.
		</p>
	</li>
	<li>
		<p>
			StoreFront created the resources page, sent back to the user.
		</p>
	</li>
	<li>
		<p>
			When a user launches a virtual app or desktop in their workspace app, the request is sent to StoreFront to obtain the ICA file. StoreFront validates the request and contacts the delivery controller asking for VDA details for this session. The delivery controller validates the request and shares the VDA and Secure Ticket Authority(STA) details with StoreFront to generate the ICA file. In addition to that, the StoreFront server selects a FAS server from the GPO list and contacts the selected FAS server to obtain a ticket that grants access to a user certificate, which is now stored on the FAS server. StoreFront appends this FAS token into the ICA file and sent back to the workspace app.
		</p>
	</li>
	<li>
		<p>
			The workspace app initiates a connection to start the session with Citrix Gateway by providing the STA ticket to validate and grant the communication. Upon validation, the connection is passed to the VDA for the session launch. The FAS ticket is presented with VDA during the time of authentication to validate against the FAS Servers. The VDA Credential Plugin contacts the FAS Server selected from the GPO list. The FAS server validates the token and issues the valid user certificate. Upon successful validation of the user certificate, the single sign-on is achieved, and the VDA session is launched.
		</p>
	</li>
</ol>

<h3>
	Use-Case #3
</h3>

<p>
	An existing enterprise Citrix customer wants to migrate their existing legacy Citrix environment as part of a tech refresh and upgrade plan. The migration plan dictates that the control infrastructure of a Citrix environment has to be moved to Citrix Cloud. To deploy user workloads, they planned to utilize the existing hardware available at the regional data center and Azure Cloud, which helps them better user management and resource allocation. Also, the Customer chosen to utilize the existing Citrix Gateway deployed at each regional data center for optimal HDX connection. Finally, for the authentication, the Customer opted to go with Azure Active Directory as they planned to migrate the Domain Controllers to Azure Active Directory Domain Services.
</p>

<p>
	According to the migration plan, the Domain Administrator has installed and configured the AD Connect to sync the users and groups with Azure Active Directory and then to Azure AD Domain Services. The Customer purchased Citrix Cloud subscription. Hence the control infrastructure components are deployed and managed by the Citrix. The Citrix Admin has configured Azure AD as an authentication method for the users and created resource locations by installing the Cloud Connectors on each region data center.
</p>

<p>
	To utilize the existing Citrix Gateways installed at each region, the administrator has configured the "Gateway" option on the Citrix Cloud, pointing to an on-premises gateway, which helps in launching the user's HDX connection via the on-premises Gateway. The administrators deployed the required user workloads on the existing hardware at the respective data center, and the VDAs are now registered with Citrix Cloud controllers. Domain administrator has created region-wise AD security groups for user provisioning to the Citrix resources. Citrix administrator enabled access to resources on the library page on the Citrix Cloud portal using region-specific AD security groups, which allows the users to access their published desktops and applications from their same region.
</p>

<p>
	To achieve single sign-on to the VDA when using Azure AD for authentication with Citrix Workspace, the Customer decided to go with the Citrix FAS solution. Citrix admin has Installed the required number of FAS Servers and configured them to communicate with Citrix Cloud FAS services on each resource location at Citrix Cloud. Group policy containing the list of FAS Servers to the respective region is linked at the OU level; hence the VDA fetch the list of FAS servers from the same data center.
</p>

<p>
	 
</p>

<p>
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="reference-architectures_federated-authentication-service_013.png" data-fileid="3226" href="//media.invisioncic.com/m329563/monthly_2023_11/reference-architectures_federated-authentication-service_013.png.12f611827845e32ad5b80ab5e6ac8c23.png" rel=""><img alt="reference-architectures_federated-authentication-service_013.png" class="ipsImage ipsImage_thumbnailed" data-fileid="3226" style="height: auto;" width="1280" src="//media.invisioncic.com/m329563/monthly_2023_11/reference-architectures_federated-authentication-service_013.png.12f611827845e32ad5b80ab5e6ac8c23.png" loading="lazy" height="716.8"></a>
</p>

<p>
	 
</p>

<p>
	Now, let us review the session launch workflow for the users:
</p>

<ol>
	<li>
		<p>
			When a user starts accessing the environment using the Workspace URL, the user gets redirected to the Azure-based sign-in page. The user enters valid Azure credentials on the Azure Single Sign-On page. Azure authenticates the user and redirects the user back to the Citrix Workspace.
		</p>
	</li>
	<li>
		<p>
			Citrix Workspace connects with cloud controllers and enumerates the resources assigned for the user and presented it to the user.
		</p>
	</li>
	<li>
		<p>
			The user launches a virtual application or desktop in their Workspace, and the request is sent to obtain the ICA file. Cloud Controllers select the available VDA from the resource location where the resources are mapped for this user. Citrix Cloud selects a FAS server in the same resource location to obtain a ticket that grants access to the VDA. The FAS Server is requesting a user certificate from the Certificate Authority, which is now stored on the FAS Server. Citrix Workspace appends this FAS token and Cloud Connector as STA into the ICA file and sent back to the user system.
		</p>
	</li>
	<li>
		<p>
			Workspace app parses the ICA file and establishes the connection to the on-premises Gateway for the HDX connection to VDA.
		</p>
	</li>
	<li>
		<p>
			Citrix Gateway validates the connection using the STA ticket with Cloud Connector and passes the connection to VDA.
		</p>
	</li>
	<li>
		<p>
			To authenticate the user, the VDA connects to the FAS server from the GPO list. The VDA Credential Plugin contacts the FAS Server and validates the token. Now, the FAS Server provides a valid user certificate to the VDA.
		</p>
	</li>
	<li>
		<p>
			Upon successful validation of the user certificate, the single sign-on is achieved, and the VDA session is launched for the user.
		</p>
	</li>
</ol>

<h3>
	Use-Case #4
</h3>

<p>
	A new Citrix customer wants to deploy the Citrix Virtual Apps environment to enable access to internal resources that are not exposed over the internet like the Intranet portal and Exchange mailboxes. To ensure the environment is highly available, the Customer has chosen to deploy the environment in two locations in active/active design. The critical servers are available as redundant at each location to avoid failures at the component level. The Customer wants to use Microsoft 365 for multifactor authentication and Conditional Access with the Citrix environment for authentication. The main goal for the Customer is to provide access to a user who can access the virtual apps from any data center.
</p>

<p>
	As per the design, the Customer has deployed a dedicated Virtual Apps and Desktops site at each location consisting of 3 x StoreFront Servers, 3 x Delivery Controllers, Always-On SQL Servers, 3 x PVS Servers, License, and Director Servers. Each location has a pair of Citrix ADC for GSLB, Gateway, and Load balancer configuration. Since the Customer wants to use Azure AD authentication, a pair of Citrix FAS servers needs to be deployed at each location.
</p>

<p>
	The environment was configured as per the design and the customer requirement.
</p>

<ol>
	<li>
		<p>
			Global Server Load Balancing(GSLB) has been configured between the sites to load balance and route the users to the available site.
		</p>
	</li>
	<li>
		<p>
			StoreFront servers are load balanced using the Citrix ADC Gateway.
		</p>
	</li>
	<li>
		<p>
			StoreFront servers are configured to communicate with both locations' delivery controllers; hence users can access resources in either Data Center 1 or 2.
		</p>
	</li>
	<li>
		<p>
			It is recommended to configure the GPO for the StoreFront servers to point only to FAS servers in the local data center to optimize the certificate request process.
		</p>
	</li>
</ol>

<p>
	In this customer environment, where StoreFront enumerates resources from both the data center, it is required to configure the VDAs to be aware of all FAS servers from both the data centers. The VDA can retrieve the certificate from the FAS server that received the request from StoreFront (which may be in a different data center). StoreFront servers would only communicate with the two FAS servers in the same data center. GPO Policies listing the FAS servers would use blanks to ensure that the StoreFront server fetches the list of FAS Servers in the right index, as shown in the following image.
</p>

<p>
	 
</p>

<p>
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="reference-architectures_federated-authentication-service_014.png" data-fileid="3228" href="//media.invisioncic.com/m329563/monthly_2023_11/reference-architectures_federated-authentication-service_014.png.2ab98b61b6bba6a40e6e27bfd840ce6d.png" rel=""><img alt="reference-architectures_federated-authentication-service_014.png" class="ipsImage ipsImage_thumbnailed" data-fileid="3228" style="height: auto;" width="1280" src="//media.invisioncic.com/m329563/monthly_2023_11/reference-architectures_federated-authentication-service_014.png.2ab98b61b6bba6a40e6e27bfd840ce6d.png" loading="lazy" height="716.8"></a>
</p>

<p>
	 
</p>

<p>
	When configuring this, these "Index" alignment of the GPO must be considered. The lists of FAS servers on StoreFront and the VDAs must align, like the list of Delivery Controllers, a VDA does not accept a launch request from a Delivery Controller that it is unaware.
</p>

<p>
	With Citrix FAS, the VDA can retrieve a certificate from the listed FAS server. The additional consideration is the fact that the order of the FAS servers in the StoreFront and VDA registries must match because the FAS servers are assigned an Index number based on the order they are listed in the registry. Sometimes, it is required to leave blank entries in the registry/policy applied to StoreFront server groups to ensure that the index matches between StoreFront and VDA.
</p>

<p>
	 
</p>

<p>
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="reference-architectures_federated-authentication-service_015.png" data-fileid="3230" href="//media.invisioncic.com/m329563/monthly_2023_11/reference-architectures_federated-authentication-service_015.png.c8ae7d2303e7a9a6e9ac98f892df8c60.png" rel=""><img alt="reference-architectures_federated-authentication-service_015.png" class="ipsImage ipsImage_thumbnailed" data-fileid="3230" style="height: auto;" width="1280" src="//media.invisioncic.com/m329563/monthly_2023_11/reference-architectures_federated-authentication-service_015.png.c8ae7d2303e7a9a6e9ac98f892df8c60.png" loading="lazy" height="716.8"></a>
</p>

<p>
	 
</p>

<p>
	Now, let us review the session launch workflow for the users:
</p>

<ol>
	<li>
		<p>
			When a user starts accessing the environment, the user request lands to either Datacenter-1 or Datacenter-2 based on the GSLB ADNS.
		</p>
	</li>
	<li>
		<p>
			The Gateway redirects the user to the Azure-based sign-in page. The user enters valid Azure credentials on the Azure Single Sign-On page. Azure authenticates the user and redirects the user back to the Gateway.
		</p>
	</li>
	<li>
		<p>
			Citrix Gateway connects with StoreFront Servers and enumerates the resources assigned for the user and presented it to the user.
		</p>
	</li>
	<li>
		<p>
			The user launches a virtual application, and the request is sent to obtain the ICA file. StoreFront connects with the delivery controller, and it selects the available VDA from the delivery group where the user mapped to access the resources. StoreFront selects a FAS server in the same location through the GPO to obtain a ticket that grants access to the VDA. The FAS Server is requesting a user certificate from the Certificate Authority, which is now stored on the FAS Server. StoreFront appends this FAS token and Delivery Controller as STA into the ICA file and sent back to the user system.
		</p>
	</li>
	<li>
		<p>
			The workspace app parses the ICA file and establishes the connection to the On-Premises Gateway for the HDX connection to VDA.
		</p>
	</li>
	<li>
		<p>
			Citrix Gateway validates the connection using the STA ticket with the delivery controller and passes the connection to VDA.
		</p>
	</li>
	<li>
		<p>
			To authenticate the user, the VDA connects to the FAS server from the GPO list. The VDA Credential Plugin contacts the FAS Server and validates the token. Now, the FAS Server provides a valid user certificate to the VDA. Upon successful validation of the user certificate, the single sign-on is achieved, and the VDA session is launched for the user.
		</p>
	</li>
</ol>

<h3>
	Summary
</h3>

<p>
	Citrix Federated Authentication Service helps in all the deployments where the customers want to eliminate the legacy password credential method and to move towards the modern authentication methods like SAML and others. As a final note, Citrix FAS is a vital service. Therefore, it is something approved by a company's security team before being deployed. Review and implement the required security controls for the FAS Services.
</p>

<h3>
	Sources
</h3>

<p>
	The goal of this reference architecture is to assist you with planning your own implementation. To make this job easier, we would like to provide you with source diagrams that you can adapt in your own detailed designs and implementation guides: <a class="ipsAttachLink" data-fileext="pptx" data-fileid="35422" href="https://community.citrix.com/applications/core/interface/file/attachment.php?id=35422&amp;key=2e05f536207015147e55ef4bf080a7a1" rel="">reference-architectures_federated-authentication-service.pptx</a>
</p>

<h3>
	References
</h3>

<p>
	<a href="https://docs.citrix.com/en-us/federated-authentication-service/current-release/install-configure.html" rel="external nofollow">Citrix FAS installation and configuration</a>
</p>

<p>
	<a href="https://docs.citrix.com/en-us/advanced-concepts/downloads/citrix-federated-authentication-service-scalability.pdf" rel="external nofollow">Citrix FAS scalability and HA document</a>
</p>

<p>
	<a href="https://support.citrix.com/article/CTX225721" rel="external nofollow">Federated Authentication Service High Availability and Scalability - CTX225721</a>
</p>

<p>
	<a href="https://docs.citrix.com/en-us/federated-authentication-service/current-release/config-manage.html" rel="external nofollow">Advanced FAS configuration</a>
</p>

<p>
	<a href="https://support.citrix.com/article/CTX218941" rel="external nofollow">Domain Controller Authentication certificates and templates</a>
</p>

<p>
	<a href="https://www.citrix.com/blogs/2019/11/20/your-guide-to-citrix-fas-multi-forest-selective-authentication/" rel="external nofollow">Multi-forest selective authentication</a>
</p>

<p>
	<a href="https://docs.citrix.com/en-us/federated-authentication-service/current-release/install-configure.html#enable-the-fas-plug-in-on-storefront-stores" rel="external nofollow">PowerShell Cmdlets for Citrix FAS</a>
</p>

<p>
	<a href="https://docs.citrix.com/en-us/federated-authentication-service/current-release/config-manage/security.html#firewall-and-network-security" rel="external nofollow">Firewall rules for Citrix FAS</a>
</p>

<p>
	<a href="https://docs.citrix.com/en-us/federated-authentication-service/current-release/install-configure.html#using-the-federated-authentication-service-administration-console" rel="external nofollow">User Rule configuration</a>
</p>

<p>
	<a href="https://docs.citrix.com/en-us/federated-authentication-service/current-release/config-manage/ca-configuration.html#pre-generate-user-certificates" rel="external nofollow">Pre-Generate User Certificates</a>
</p>

<p>
	<a href="/en-us/tech-zone/design/reference-architectures/citrix-federated-authentication-service-logon-evidence-overview.html" rel="">Logon evidence</a>
</p>

<p>
	<a href="https://docs.citrix.com/en-us/citrix-cloud/citrix-cloud-management/identity-access-management/connect-azure-ad.html" rel="external nofollow">Connect Azure Active Directory with Citrix Cloud</a>
</p>

<p>
	<a href="https://docs.citrix.com/en-us/federated-authentication-service/current-release/install-configure.html#using-the-federated-authentication-service-administration-console" rel="external nofollow">Deploys FAS certificate templates</a>
</p>

<p>
	 
</p>

<p>
	 
</p>

<p>
	 
</p>

<p>
	 
</p>

<p>
	 
</p>

<p>
	 
</p>

<p>
	 
</p>

<p>
	 
</p>

<p>
	 
</p>

<p>
	 
</p>

<p>
	 
</p>

<p>
	 
</p>

<p>
	 
</p>

<p>
	 
</p>

<p>
	 
</p>
]]></description><guid isPermaLink="false">88</guid><pubDate>Fri, 03 Nov 2023 07:27:00 +0000</pubDate></item><item><title>Reference Architecture: Microservices-Based Application Delivery with NetScaler and Red Hat OpenShift</title><link>https://community.citrix.com/tech-zone/design/reference-architectures/microservices-citrix-red-hat-openshift/</link><description><![CDATA[<h1>
	Overview
</h1>

<p>
	CompanyA has always used Monolithic architectures to develop system applications predominantly hosted on-premises. They have suffered from issues with uptime and inconsistent performance, particularly for remote users, which was exacerbated during the pandemic. They intend to use a Microservices architecture as part of their effort to move to the cloud. This architecture allows them to develop new applications with greater resiliency and scalability.
</p>

<p>
	CompanyA decided to build a pair of redundant multi-cloud Red Hat OpenShift <span style="background-color:#ffffff; color:#222222; font-size:small; text-align:start">Container Platform </span>(RHOCP) clusters. They are hosted in Microsoft Azure and Amazon AWS, with NetScaler providing load balancing for microservice instances. This allows them to provide a resilient environment for remote users to access critical business web services with consistently good performance.
</p>

<p>
	This reference architecture explains how CompanyA plans its environment to host a cloud-native platform for developing new applications or migrating legacy ones.
</p>

<h1>
	Introduction
</h1>

<p>
	Company A decided to develop their cloud-native microservices-based application delivery with NetScaler and RHOCP to bring several benefits to their enterprise and ultimately increase productivity.
</p>

<h3>
	Cloud Native
</h3>

<p>
	Cloud-native applications are developed to take advantage of the cloud's distributed and scalable nature. They offer many benefits, including Enterprise productivity, operational efficiency, and user experience.
</p>

<p>
	Benefits of cloud-native
</p>

<ul>
	<li>
		Containerized applications are portable between host infrastructures
	</li>
	<li>
		Allows agile, continuous development, and delivery
	</li>
	<li>
		Scales with cloud host infrastructures
	</li>
	<li>
		Supports efficient software development process
	</li>
</ul>

<h3>
	Red Hat OpenShift Container Platform
</h3>

<p>
	Red Hat OpenShift Container Platform is an enterprise Kubernetes container platform that helps companies deploy, operate, and secure microservice applications across hybrid clouds.
</p>

<p>
	Benefits of Red Hat OpenShift Container Platform (RHOCP)
</p>

<ul>
	<li>
		Efficiently manages Kubernetes cloud-native environments for developing and operating business-critical Enterprise applications.
	</li>
	<li>
		Improves the productivity of development teams
	</li>
	<li>
		Increases revenue by introducing new services to existing customers promptly
	</li>
	<li>
		Reduces operating expenses by spending less time on administration and support
	</li>
</ul>

<p>
	For more information, see <a href="https://www.RedHat.com/en/technologies/cloud-computing/OpenShift" rel="external nofollow">What is Red Hat OpenShift?</a>
</p>

<h3>
	NetScaler
</h3>

<p>
	NetScaler provides flexible topologies for traffic management in microservices environments, depending on requirements. These include Full Mesh, ServiceMesh Lite, Single-Tier, and Dual-Tier.
</p>

<p>
	Topologies:
</p>

<ul>
	<li>
		Full Mesh – full mesh clusters include support for various microservices that need east-west communication between microservices within the cluster and north-south (N-S) communication outside of the cluster.
	</li>
	<li>
		Service Mesh Lite—An Ingress solution typically performs L7 proxy functions for north-south traffic. The Service Mesh lite architecture uses the same Ingress solution to manage east-west (E-W) traffic and overcome the limitations of Kubernetes' built-in service.
	</li>
	<li>
		Single-Tier – single-tier clusters contain microservices that run as redundant replicas and have north-south traffic delivered by external load balancers.
	</li>
	<li>
		Dual-Tier – dual-tier architectures also have north-south traffic delivered by external load balancers. Yet, also microservices have a networking component attached to support communication using additional networking protocols and optimizations not provided by native cluster services.
	</li>
</ul>

<p>
	For more information, see: <a href="https://www.youtube.com/watch?v=dnG6TXeVQUY" rel="external nofollow">How to accelerate your journey to microservice-based applications</a>
</p>

<p>
	Benefits of NetScaler Ingress Controller (NIC)
</p>

<ul>
	<li>
		Standard Kubernetes Ingress solutions provide load balancing only at layer 7 (HTTP or HTTPS traffic), while the CIC also supports TCP, TCP-SSL, and UDP traffic
	</li>
	<li>
		The CIC works seamlessly across multiple clouds or on-premises data centers
	</li>
</ul>

<p>
	Benefits of NetScaler VPX
</p>

<ul>
	<li>
		NetScaler VPX provides enterprise-grade traffic management policies like rewrite and responder policies for efficiently load balancing traffic at layer 7, which Kubernetes does not provide
	</li>
	<li>
		NetScaler VPX also supports Global Server Load Balancing (GSLB)
	</li>
</ul>

<p>
	Benefits of NetScaler CPX
</p>

<ul>
	<li>
		NetScaler CPX enables a NetScaler to be deployed as an Ingress gateway or sidecar in the xDS-based service mesh as a data plane proxy.
	</li>
	<li>
		It provides layer 7 traffic management between microservices inside the Kubernetes cluster, whereas Kubernetes only supports Layer 4.
	</li>
</ul>

<p>
	For more information, see <a href="https://developer-docs.citrix.com/projects/citrix-k8s-ingress-controller/en/latest/" rel="external nofollow">NetScaler Product Documentation</a>
</p>

<h1>
	Success Criteria
</h1>

<p>
	Company A has defined a list of success criteria that formed the basis for the overarching design.
</p>

<div style="border-left:solid #0968d7 4.5pt; padding:0in 0in 0in 4.0pt">
	<p class="NoteHeader" style="border:none; padding:0in; margin-bottom:11px">
		<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'><span style="color:#0968d7">Note: </span></span></span>
	</p>

	<p class="NoteBody" style="border:none; padding:0in; margin-bottom:11px">
		<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'><span style="color:black">Company A deploys an Apache web service in a production pilot for remote user validation.</span></span></span>
	</p>
</div>

<table class="MsoTableGrid" style="border-collapse: collapse; border: none; width: 850px;">
	<tbody>
		<tr>
			<td style="border-bottom:1px solid black; width:208px; padding:0in 7px 0in 7px; background-color:#003098; border-top:1px solid black; border-right:1px solid black; border-left:1px solid black" valign="top">
				<p class="CitrixTableHeader">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'><span style="color:white">Success Criteria</span></span></span>
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:208px; padding:0in 7px 0in 7px; background-color:#003098; border-top:1px solid black; border-right:1px solid black; border-left:none" valign="top">
				<p class="CitrixTableHeader">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'><span style="color:white">Description</span></span></span>
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:208px; padding:0in 7px 0in 7px; background-color:#003098; border-top:1px solid black; border-right:1px solid black; border-left:none" valign="top">
				<p class="CitrixTableHeader">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'><span style="color:white">Solution</span></span></span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-bottom:1px solid black; width:208px; padding:0in 7px 0in 7px; border-top:none; border-right:1px solid black; border-left:1px solid black" valign="top">
				<p style="margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Microservice Application</span></span>
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:208px; padding:0in 7px 0in 7px; border-top:none; border-right:1px solid black; border-left:none" valign="top">
				<p style="margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>For hosting the primary company website.</span></span>
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:208px; padding:0in 7px 0in 7px; border-top:none; border-right:1px solid black; border-left:none" valign="top">
				<p style="margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Apache web service</span></span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-bottom:1px solid black; width:208px; padding:0in 7px 0in 7px; border-top:none; border-right:1px solid black; border-left:1px solid black" valign="top">
				<p style="margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Microservice Topology</span></span>
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:208px; padding:0in 7px 0in 7px; border-top:none; border-right:1px solid black; border-left:none" valign="top">
				<p style="margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>For designing the microservices and Red Hat OpenShift Platform Container environment.</span></span>
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:208px; padding:0in 7px 0in 7px; border-top:none; border-right:1px solid black; border-left:none" valign="top">
				<p style="margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Dual-Tier</span></span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-bottom:1px solid black; width:208px; padding:0in 7px 0in 7px; border-top:none; border-right:1px solid black; border-left:1px solid black" valign="top">
				<p style="margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Microservice Cluster Platform</span></span>
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:208px; padding:0in 7px 0in 7px; border-top:none; border-right:1px solid black; border-left:none" valign="top">
				<p style="margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>For managed cloud-native development.</span></span>
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:208px; padding:0in 7px 0in 7px; border-top:none; border-right:1px solid black; border-left:none" valign="top">
				<p style="margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Red Hat OpenShift Container Platform</span></span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-bottom:1px solid black; width:208px; padding:0in 7px 0in 7px; border-top:none; border-right:1px solid black; border-left:1px solid black" valign="top">
				<p style="margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Microservices Internal Load Balancing</span></span>
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:208px; padding:0in 7px 0in 7px; border-top:none; border-right:1px solid black; border-left:none" valign="top">
				<p style="margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>For load balancing between microservices with a cluster.</span></span>
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:208px; padding:0in 7px 0in 7px; border-top:none; border-right:1px solid black; border-left:none" valign="top">
				<p style="margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>NetScaler CPX</span></span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-bottom:1px solid black; width:208px; padding:0in 7px 0in 7px; border-top:none; border-right:1px solid black; border-left:1px solid black" valign="top">
				<p style="margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Microservices Load Balancing Configuration Management</span></span>
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:208px; padding:0in 7px 0in 7px; border-top:none; border-right:1px solid black; border-left:none" valign="top">
				<p style="margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>For communicating with the cluster and provisioning load balancing service elements for north-south routing.</span></span>
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:208px; padding:0in 7px 0in 7px; border-top:none; border-right:1px solid black; border-left:none" valign="top">
				<p style="margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>NetScaler Ingress Controller</span></span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-bottom:1px solid black; width:208px; padding:0in 7px 0in 7px; border-top:none; border-right:1px solid black; border-left:1px solid black" valign="top">
				<p style="margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Microservices External Load Balancing</span></span>
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:208px; padding:0in 7px 0in 7px; border-top:none; border-right:1px solid black; border-left:none" valign="top">
				<p style="margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>North-South traffic flow management.</span></span>
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:208px; padding:0in 7px 0in 7px; border-top:none; border-right:1px solid black; border-left:none" valign="top">
				<p style="margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>NetScaler VPX</span></span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-bottom:1px solid black; width:208px; padding:0in 7px 0in 7px; border-top:none; border-right:1px solid black; border-left:1px solid black" valign="top">
				<p style="margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Microservices GSLB</span></span>
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:208px; padding:0in 7px 0in 7px; border-top:none; border-right:1px solid black; border-left:none" valign="top">
				<p style="margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>For Global Server Load Balancing.</span></span>
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:208px; padding:0in 7px 0in 7px; border-top:none; border-right:1px solid black; border-left:none" valign="top">
				<p style="margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>NetScaler VPX</span></span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-bottom:1px solid black; width:208px; padding:0in 7px 0in 7px; border-top:none; border-right:1px solid black; border-left:1px solid black" valign="top">
				<p style="margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Microservices GSLB Load Balancing Method</span></span>
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:208px; padding:0in 7px 0in 7px; border-top:none; border-right:1px solid black; border-left:none" valign="top">
				<p style="margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>For GSLB service selection.</span></span>
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:208px; padding:0in 7px 0in 7px; border-top:none; border-right:1px solid black; border-left:none" valign="top">
				<p style="margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Canary Method</span></span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-bottom:1px solid black; width:208px; padding:0in 7px 0in 7px; border-top:none; border-right:1px solid black; border-left:1px solid black" valign="top">
				<p style="margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Microservices Traffic Management Configuration for E-W Communication</span></span>
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:208px; padding:0in 7px 0in 7px; border-top:none; border-right:1px solid black; border-left:none" valign="top">
				<p style="margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>For communicating with the Kubernetes server or Servicemesh control plane and provisioning load balancing service elements for east-west traffic management.</span></span>
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:208px; padding:0in 7px 0in 7px; border-top:none; border-right:1px solid black; border-left:none" valign="top">
				<p style="margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>NetScaler xDS Adaptor (Service mesh control plane)</span></span>
				</p>

				<p style="margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>NetScaler Ingress Controller (Servicemesh Lite)</span></span>
				</p>
			</td>
		</tr>
	</tbody>
</table>

<h1>
	Conceptual Architecture
</h1>

<p>
	Based on the preceding requirements, CompanyA created the following high-level conceptual architecture. This architecture meets all initial requirements while giving CompanyA the foundation to expand to more use cases in the future.
</p>

<p>
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="png" data-fileid="36051" href="//media.invisioncic.com/m329563/monthly_2024_10/NetScalerOpenshiftRAConceptualArchitecture.png.20441791d41139628996a3ac9a4b69d2.png" rel=""><img alt="NetScaler Openshift RA Conceptual Architecture.png" class="ipsImage ipsImage_thumbnailed" data-fileid="36051" data-unique="nrmh99rrv" style="height: auto;" width="1000" src="//media.invisioncic.com/m329563/monthly_2024_10/NetScalerOpenshiftRAConceptualArchitecture.thumb.png.cbceca353321ae7ee2eed23b1c3fb174.png" loading="lazy" height="450"></a>
</p>

<p>
	The architecture framework is divided into multiple layers. The framework provides a foundation for understanding the technical architecture for the microservices infrastructure. All layers flow together to create a complete, end-to-end solution.
</p>

<p>
	At a high level:
</p>

<p>
	<strong>User Layer:</strong> The user layer describes the end-user environment and endpoint devices used to connect to resources.
</p>

<p>
	Users can securely connect to the web service using the Citrix Workspace app or a standard browser with HTTP/HTTPs transport.
</p>

<p>
	<strong>Access Layer:</strong> The access layer describes how users access web services and deliver north-south flows.
</p>

<ul>
	<li>
		The primary FQDN of the web service resolves to name servers hosted on the NetScaler VPX.
	</li>
	<li>
		NetScaler VPXes running GSLB respond to Domain Name Service (DNS) queries with a public IP address of the Content Switch Virtual Server with the least connections.
	</li>
	<li>
		The NetScaler Ingress Controller configures the Virtual Server to forward connections to the cluster-hosted NetScaler CPX with the least connections
	</li>
	<li>
		The cluster-hosted NetScaler CPX accepts the connections and responds to the NetScaler VPX. It establishes a flow to the web service over which the payload is delivered.
	</li>
</ul>

<p>
	<strong>Resource Layer:</strong> The resource layer specifies the applications delivered to users in the form of microservices in this reference architecture.
</p>

<ul>
	<li>
		Four Apache web services are hosted as RHOCP Pods. They are deployed through the RHOCP operator hub.
	</li>
</ul>

<p>
	<strong>Control Layer:</strong> The control layer defines how the resources are managed and monitored.
</p>

<ul>
	<li>
		Red Hat OpenShift Container Platform builds the cluster and deploys, manages, and monitors the microservice resources.
	</li>
</ul>

<p>
	<strong>Host Layer:</strong> The hosting layer defines the underlying infrastructure that hosts the resources, including memory, storage, and compute.
</p>

<ul>
	<li>
		Microsoft Azure and Amazon AWS are the public IaaS used to host the RHOCP Cluster and microservices.
	</li>
</ul>

<p>
	The next sections provide greater detail into specific design decisions for CompanyAs microservices-based application delivery with NetScaler and Red Hat OpenShift.
</p>

<h3>
	User Layer
</h3>

<p>
	The User Layer is where users request and access target resources on supported endpoints.
</p>

<p>
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="png" data-fileid="36052" href="//media.invisioncic.com/m329563/monthly_2024_10/NetScalerOpenshiftRAUserflow.png.6c68a8ec9ded9496d143d54c2ff4e931.png" rel=""><img alt="NetScaler Openshift RA User flow.png" class="ipsImage ipsImage_thumbnailed" data-fileid="36052" data-unique="wap2zrax6" style="height: auto;" width="1000" src="//media.invisioncic.com/m329563/monthly_2024_10/NetScalerOpenshiftRAUserflow.thumb.png.d861cf00fdc03d85156aa243a5f6abe8.png" loading="lazy" height="450"></a>
</p>

<p>
	Users can connect to the web service securely using the Citrix Workspace app.
</p>

<ul>
	<li>
		Citrix Workspace – the web service is published as an application in Citrix Workspace. The Citrix Workspace App installed on the user’s endpoint starts a proxy connection to the published application in Citrix Cloud
	</li>
	<li>
		Citrix Web Application and API Protection – the connection to the cloud-hosted NetScaler VPX is proxied and inspected by Citrix Web Application and API Protection web application firewall signatures.
	</li>
</ul>

<h3>
	Access Layer
</h3>

<p>
	The Access Layer is where network delivery components are hosted to coordinate and direct user session requests to Control and Resource components.
</p>

<p>
	<a class="ipsAttachLink ipsAttachLink_image" href="//media.invisioncic.com/m329563/monthly_2024_10/NetScalerOpenshiftRAGSLB.png.26a55bed4fd08057999ee3e6e05a6d56.png" data-fileid="36054" data-fileext="png" rel=""><img class="ipsImage ipsImage_thumbnailed" data-fileid="36054" data-unique="dqtpw6om9" width="1000" alt="NetScaler Openshift RA GSLB.png" src="//media.invisioncic.com/m329563/monthly_2024_10/NetScalerOpenshiftRAGSLB.thumb.png.ea5485666a3318438d692e7388870f0f.png" loading="lazy" height="450"></a>
</p>

<h4>
	NetScaler CPX
</h4>

<p>
	Company A decided to implement a 2-tier architecture and use the NetScaler CPX to manage the delivery of service traffic within the cluster. The NetScaler CPX receives user traffic requests from the cloud-hosted NetScaler VPX and balances the traffic load between microservice instances. The cluster admin deploys the NetScaler CPX through YAML file configuration using RHOCP controls. The NetScaler CPX is deployed in both the AWS and Azure clusters in the same manner.
</p>

<h4>
	NetScaler Ingress Controller
</h4>

<p>
	CompanyA decided to use the NetScaler Ingress Controller (CIC) to manage NetScaler cloud-native networking within their RHOCP cluster. The NetScaler Ingress Controller is used to manage ingress cluster traffic flow. It uses global cluster custom resource domains (CRDs) to obtain and monitor NetScaler CPX and service status. Based on this information, the NetScaler VPX is dynamically configured to load balance and route traffic to NetScaler CPXes within the cluster.
</p>

<h4>
	NetScaler VPX
</h4>

<p>
	CompanyA decided to use the NetScaler VPX to manage their North-South traffic flows and to implement Global Server Load Balancing (GSLB) between Azure and AWS clusters.
</p>

<p>
	<strong>North-South</strong> traffic is managed by NetScaler VPXes hosted at the AWS and Azure cluster sites. The CIC setup provides IP addressing information and access secrets, allowing it to configure load balancing and content switching policies.
</p>

<p>
	<strong>GSLB</strong> traffic is also be managed by NetScaler VPXes hosted at the AWS and Azure cluster sites, respectively.
</p>

<ul>
	<li>
		DNS for the Apache microservice is configured through the company’s global DNS service <a href="https://aws.amazon.com/route53/" rel="external nofollow">AWS Route 53</a>
	</li>
	<li>
		CNAME records map to respective authoritative DNS (ADNS) services hosted on NetScaler VPXes in Azure and AWS, respectively.
		<ul>
			<li>
				apacheservice.CompanyA.com
			</li>
			<li>
				apacheservice.AWS.CompanyA.com
			</li>
			<li>
				apacheservice.Azure.CompanyA.com
			</li>
		</ul>
	</li>
	<li>
		GSLB Load Balancing Method – NetScaler GSLB supports a various load balancing methods. CompanyA has decided to use the Canary method primarily to support high uptime with their continuous development cycle. Method options:
		<ul>
			<li>
				Local first: In a local first deployment, when an application wants to communicate with another application, it prefers a local application in the same cluster. When the application is not available locally, the request is directed to other clusters or regions
			</li>
			<li>
				Canary: Canary release is a technique to reduce the risk of introducing a new software version in production by first rolling out the change to a small subset of users. In this solution, canary deployment can be used when you want to roll out new versions of the application to selected clusters before moving it to production
			</li>
			<li>
				Failover: A failover deployment is used to deploy applications in an active/passive configuration when they cannot be deployed in active/active mode
			</li>
			<li>
				Round trip time (RTT): In an RTT deployment, the real-time status of the network is monitored and dynamically directs the client request to the data center with the lowest RTT value
			</li>
			<li>
				Static proximity: In a static proximity deployment, an IP-address-based static proximity database is used to determine the proximity between the client’s local DNS server and the GSLB sites. The requests are sent to the site that best matches the proximity criteria
			</li>
			<li>
				Round-robin: In a round-robin deployment, the GSLB device continuously rotates a list of the services bound to it. When it receives a request, it assigns the connection to the first service in the list and then moves that service to the bottom of the list
			</li>
		</ul>
	</li>
	<li>
		GSLB Services – The NetScaler VPX, in each site, monitors and manages traffic distribution to the NetScaler CPX instances hosted within the respective clusters.
	</li>
</ul>

<h3>
	Resource Layer
</h3>

<p>
	Resources include various microservices applications available through the RHOCP Operator Hub. Depending on requirements, these can be developed internally or obtained through a third-party vendor. Company A has decided to deploy the Apache web application.
</p>

<p>
	For more information, see <a href="https://docs.openshift.com/container-platform/4.6/operators/understanding/olm-understanding-operatorhub.html" rel="external nofollow">Understanding RHOCP Operator Hub</a>
</p>

<h3>
	Control Layer
</h3>

<p>
	The controller layer includes essential management components to coordinate the delivery of microservices.
</p>

<p>
	Red Hat OpenShift CompanyA has chosen to use Red Hat OpenShift, version 4.7, to deploy and manage their Kubernetes cluster.
</p>

<h3>
	Host Layer
</h3>

<p>
	RHOCP clusters are supported on various hosting platforms On-Premises, Cloud, or Hybrid Cloud.
</p>

<h4>
	Azure
</h4>

<p>
	CompanyA decided to host one of their RHOCP environments in a Microsoft Azure tenant. The RHOCP cluster used the Azure CLI to build the cluster.
</p>

<p>
	Key requirements:
</p>

<ul>
	<li>
		Azure Red Hat OpenShift requires a minimum of 40 cores to create and run an OpenShift cluster
	</li>
	<li>
		An Azure Red Hat OpenShift cluster consists of 3 master nodes and three or more worker nodes.
	</li>
	<li>
		Azure CLI version 2.6.0 or later
	</li>
</ul>

<p>
	For more information see <a href="https://docs.microsoft.com/en-us/azure/OpenShift/tutorial-create-cluster" rel="external nofollow">Azure Openshift cluster</a>
</p>

<h4>
	AWS
</h4>

<p>
	CompanyA decided to host a second RHOCP environment in an AWS tenant. The RHOCP cluster used the AWS quick start process to build the cluster.
</p>

<p>
	Key requirements:
</p>

<ul>
	<li>
		The Quick Start process requires a Red Hat subscription The tenant must allow provisioning of Amazon EC2 <code>M4.xlarge</code> instance
	</li>
	<li>
		Red Hat entitlement limits and AWS instance limits were set to support the deployment of 3 masters instances and 3 worker nodes
	</li>
</ul>

<p>
	For more information, see <a href="https://aws.amazon.com/quickstart/architecture/OpenShift/" rel="external nofollow">Red Hat OpenShift on AWS – Reference Deployment</a>
</p>

<h1>
	References
</h1>

<p>
	Many document links are available to help you better understand NetScaler cloud-native networking concepts, Kubernetes microservices, and the Red Hat OpenShift platform.
</p>

<p>
	Find links to pertinent <strong>Red Hat</strong> References here:
</p>

<ul>
	<li>
		<p>
			<a href="https://www.RedHat.com/en/technologies/cloud-computing/OpenShift" rel="external nofollow">Red Hat OpenShift</a>
		</p>
	</li>
	<li>
		<p>
			<a href="https://cloud.RedHat.com/OpenShift/create" rel="external nofollow">Red Hat Login</a>
		</p>
	</li>
	<li>
		<p>
			<a href="https://aws.amazon.com/quickstart/architecture/openshift/" rel="external nofollow">Red Hat OpenShift on AWS</a>
		</p>
	</li>
	<li>
		<p>
			<a href="https://docs.microsoft.com/en-us/azure/OpenShift/tutorial-create-cluster" rel="external nofollow">Create an Azure Red Hat OpenShift 4 cluster</a>
		</p>
	</li>
	<li>
		<p>
			<a href="https://developers.RedHat.com/developer-sandbox/activities" rel="external nofollow">Developer Sandbox for Red Hat OpenShift</a>
		</p>
	</li>
	<li>
		<p>
			<a href="https://developers.RedHat.com/products/OpenShift/overview" rel="external nofollow">Red Hat OpenShift installation resources</a>
		</p>
	</li>
	<li>
		<p>
			<a href="https://www.OpenShift.com/blog/microservices-based-application-delivery-with-citrix-and-red-hat-OpenShift" rel="external nofollow">Microservices-Based Application Delivery with Citrix and Red Hat OpenShift – blog</a>
		</p>
	</li>
	<li>
		<p>
			<a href="https://azure.microsoft.com/en-us/pricing/details/openshift/#pricing" rel="external nofollow">Azure Red Hat OpenShift pricing</a>
		</p>
	</li>
</ul>

<p>
	Find links to pertinent <strong>NetScaler</strong> References here:
</p>

<ul>
	<li>
		<p>
			<a href="https://www.OpenShift.com/blog/microservices-based-application-delivery-with-citrix-and-red-hat-OpenShift" rel="external nofollow">Microservices-Based Application Delivery with Citrix and Red Hat OpenShift</a>
		</p>
	</li>
	<li>
		<p>
			<a href="https://docs.netscaler.com/en-us/netscaler-k8s-ingress-controller/" rel="external nofollow">NetScaler Product Documentation</a>
		</p>
	</li>
	<li>
		<p>
			<a href="https://docs.citrix.com/en-us/advanced-concepts/implementation-guides/citrix-adc-and-OpenShift-solution-brief.html" rel="external nofollow">NetScaler and OpenShift 4 Solution Brief – product documentation</a>
		</p>
	</li>
	<li>
		<p>
			<a href="https://www.citrix.com/blogs/2019/09/11/enable-OpenShift-router-sharding-support-with-citrix-adc/" rel="external nofollow">Enable OpenShift router sharding support with NetScaler</a>
		</p>
	</li>
	<li>
		<p>
			<a href="https://www.citrix.com/solutions/application-delivery-controller/microservices/" rel="external nofollow">Accelerate your journey to microservices</a>
		</p>
	</li>
	<li>
		<p>
			<a href="https://www.citrix.com/blogs/2020/08/20/configure-citrix-adc-to-load-balance-an-OpenShift-control-plane/" rel="external nofollow">Configure NetScaler to load balance an OpenShift control plane</a>
		</p>
	</li>
	<li>
		<p>
			<a href="https://www.citrix.com/blogs/2020/08/27/deploy-citrix-api-gateway-using-red-hat-OpenShift-operator/" rel="external nofollow">Deploy Citrix API gateway using Red Hat OpenShift Operator</a>
		</p>
	</li>
	<li>
		<p>
			<a href="https://developer-docs.citrix.com/projects/citrix-k8s-ingress-controller/en/latest/deploy/deploy-cic-OpenShift/" rel="external nofollow">Deploy the Citrix ingress controller as an OpenShift router plug-in</a>
		</p>
	</li>
	<li>
		<p>
			<a href="https://developer-docs.citrix.com/projects/citrix-k8s-ingress-controller/en/latest/multicluster/multi-cluster/" rel="external nofollow">Multi-cluster ingress and load balancing solution using the Citrix ingress controller</a>
		</p>
	</li>
	<li>
		<p>
			<a href="https://developer-docs.citrix.com/projects/citrix-k8s-ingress-controller/en/latest/deploy/multi-cloud-ingress-lb-solution/" rel="external nofollow">Multi-cloud and multi-cluster ingress and load balancing solution with Amazon EKS and Microsoft AKS clusters</a>
		</p>
	</li>
	<li>
		<p>
			<a href="https://www.youtube.com/watch?v=UNBtcgaIKCA" rel="external nofollow">Best Practices for Cloud-Native Application Delivery with Citrix and Red Hat</a>
		</p>
	</li>
	<li>
		<p>
			<a href="https://www.youtube.com/watch?v=dnG6TXeVQUY" rel="external nofollow">How to accelerate your journey to microservice-based applications</a>
		</p>
	</li>
</ul>

<h3>
	Terminology
</h3>

<p>
	Find descriptions of common RHOCP and Microservice terminology.
</p>

<table class="MsoTableGrid" style="border-collapse: collapse; border: none; width: 850px;">
	<tbody>
		<tr>
			<td style="border-bottom:1px solid black; width:312px; padding:0in 7px 0in 7px; background-color:#003098; border-top:1px solid black; border-right:1px solid black; border-left:1px solid black" valign="top">
				<p class="CitrixTableHeader">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'><span style="color:white">Term</span></span></span>
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:312px; padding:0in 7px 0in 7px; background-color:#003098; border-top:1px solid black; border-right:1px solid black; border-left:none" valign="top">
				<p class="CitrixTableHeader">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'><span style="color:white">Description</span></span></span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-bottom:1px solid black; width:312px; padding:0in 7px 0in 7px; border-top:none; border-right:1px solid black; border-left:1px solid black" valign="top">
				<p style="margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Ingress</span></span>
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:312px; padding:0in 7px 0in 7px; border-top:none; border-right:1px solid black; border-left:none" valign="top">
				<p style="margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Ingress holds cluster-wide information about ingress, including the default ingress domain used for routes.</span></span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-bottom:1px solid black; width:312px; padding:0in 7px 0in 7px; border-top:none; border-right:1px solid black; border-left:1px solid black" valign="top">
				<p style="margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Custom Resource Definition (CRD)</span></span>
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:312px; padding:0in 7px 0in 7px; border-top:none; border-right:1px solid black; border-left:none" valign="top">
				<p style="margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>A customer resource definition (CRD) object defines a unique object type and lets the Kubernetes API server manage its entire lifecycle in the cluster.</span></span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-bottom:1px solid black; width:312px; padding:0in 7px 0in 7px; border-top:none; border-right:1px solid black; border-left:1px solid black" valign="top">
				<p style="margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Operator</span></span>
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:312px; padding:0in 7px 0in 7px; border-top:none; border-right:1px solid black; border-left:none" valign="top">
				<p style="margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>A method of packaging and deploying a Kubernetes microservices application.</span></span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-bottom:1px solid black; width:312px; padding:0in 7px 0in 7px; border-top:none; border-right:1px solid black; border-left:1px solid black" valign="top">
				<p style="margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Container</span></span>
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:312px; padding:0in 7px 0in 7px; border-top:none; border-right:1px solid black; border-left:none" valign="top">
				<p style="margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Containers are microservices packages with their dependencies and configurations.</span></span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-bottom:1px solid black; width:312px; padding:0in 7px 0in 7px; border-top:none; border-right:1px solid black; border-left:1px solid black" valign="top">
				<p style="margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Pod</span></span>
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:312px; padding:0in 7px 0in 7px; border-top:none; border-right:1px solid black; border-left:none" valign="top">
				<p style="margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>Pod is a collection of containers that can run on a host.</span></span>
				</p>
			</td>
		</tr>
		<tr>
			<td style="border-bottom:1px solid black; width:312px; padding:0in 7px 0in 7px; border-top:none; border-right:1px solid black; border-left:1px solid black" valign="top">
				<p style="margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>YAML</span></span>
				</p>
			</td>
			<td style="border-bottom:1px solid black; width:312px; padding:0in 7px 0in 7px; border-top:none; border-right:1px solid black; border-left:none" valign="top">
				<p style="margin-bottom:11px">
					<span style="font-size:10.5pt"><span style='font-family:"Public Sans"'>YAML is a text-based structured language used for configuring Kubernetes objects.</span></span>
				</p>
			</td>
		</tr>
	</tbody>
</table>

<p>
	 
</p>

<p>
	 
</p>

<p>
	 
</p>
]]></description><guid isPermaLink="false">93</guid><pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate></item><item><title>Reference Architecture: Multi-Cloud, Hybrid-Control Plane Deployments</title><link>https://community.citrix.com/tech-zone/design/reference-architectures/hybrid-multi-cloud/</link><description><![CDATA[
<h2>Overview</h2>
<p>This guide assists with the architecture and deployment models associated with a hybrid deployment of Citrix Virtual Apps and Desktops (CVAD) and Citrix Desktop as a Service (DaaS) and a multi-cloud deployment across multiple public cloud providers.</p>
<p>With Citrix’s renewed focus on <a href="https://www.citrix.com/blogs/2023/03/08/citrix-destination-hybrid/">hybrid environments</a> and <a href="https://www.citrix.com/blogs/2023/03/02/introducing-citrix-universal-licensing/">Universal subscription</a>, this opens up the door for different kinds of environment configurations across both our on-premises Citrix Virtual Apps and Desktops and Citrix Cloud platforms for more customers. Alongside the Citrix platform, hyperscalers such as Azure, AWS, and GCP can deploy Citrix resources with greater agility and scalability than traditional data centers. This document provides guidance on critical architecture design considerations necessary to successfully deploy Citrix virtualization technologies for these scenarios.</p>
<h2>Use Cases</h2>
<p>Hybrid and multi-cloud environments can help address various needs in a Citrix environment. This section describes some use cases that can benefit from hybrid, multi-cloud deployments.</p>
<h3>Why hybrid control planes?</h3>
<p>For some customers, hybrid is a step to a full cloud IT environment. For others, hybrid is the intended destination. Hybrid with Citrix Virtual Apps and Desktops and Citrix DaaS offers the control and granularity of on-premises infrastructure and the flexibility and scalability that are associated with cloud offerings. Some major use cases for a hybrid Citrix environment are:</p>
<ul>
<li>
<p><strong>Control planes for different use cases.</strong> Some use cases exist where Citrix Virtual Apps and Desktops is preferable for deployment. Some examples include environments with stringent change controls or that cannot be internet accessible for security reasons. Resources with these requirements can be maintained under IT control while other resources can be migrated to Citrix DaaS.</p>
</li>
<li>
<p><strong>Citrix DaaS for easier scalability.</strong> Because Citrix manages all the infrastructure associated with Citrix DaaS, it is much easier for customers to scale up in those environments. Customer administrators wouldn’t have to worry about deploying more Delivery Controllers or SQL databases for additional users.</p>
</li>
<li>
<p><strong>Access to Citrix Cloud service offerings for on-premises use cases.</strong> While Citrix has brought some cloud offerings to the on-premises platform (<a href="https://www.citrix.com/blogs/2023/04/24/citrix-web-studio-for-on-prem/">Web Studio</a>, <a href="https://www.citrix.com/blogs/2023/06/01/whats-new-with-citrix-cvad-2305-and-cloud-updates/">Autoscale</a>, <a href="https://www.citrix.com/blogs/2023/04/10/citrix-secure-private-access-on-premises-announcing-general-availability/">Secure Private Access</a>), several services are only available via the Citrix Cloud solution. These solutions include <a href="https://docs.citrix.com/en-us/citrix-analytics.html">Analytics</a>, <a href="/en-us/tech-zone/learn/tech-briefs/global-app-configuration-service.html">Global App Configuration Service</a>, and <a href="https://docs.citrix.com/en-us/session-recording/service.html">Session Recording service</a>. To use these services, at minimum, a hybrid environment is required.</p>
</li>
<li>
<p><strong>Part of a complete transition to Citrix DaaS.</strong> Many customers have used Citrix for decades and have mature, complex deployments. When transitioning to Citrix DaaS, it is not feasible to migrate everything simultaneously. A hybrid Citrix Virtual Apps and Desktops/Citrix DaaS environment can help smooth the transition to a full Citrix DaaS environment by enabling administrators to migrate the environment in phases.</p>
</li>
</ul>
<h3>Why Hybrid or Multi (Public and/or Private) Cloud?</h3>
<p>Public clouds offer ease of scalability and global availability. While many companies primarily host their environment on one public cloud platform, there are some advantages to using multiple public clouds. Some benefits include:</p>
<ul>
<li>
<p><strong>Disaster Recovery and High Availability.</strong> Placing infrastructure in multiple public clouds increases the availability of the environment if any cloud provider has a major outage.</p>
</li>
<li>
<p><strong>Cloud feature and location parity.</strong> Different cloud platforms have different strengths and different services that they offer. Services needed for IT or application functionality may reside in different public clouds. For example, Citrix Provisioning is currently only available in <a href="https://docs.citrix.com/en-us/provisioning/current-release/configure/configure-azure.html">Azure</a> and <a href="https://docs.citrix.com/en-us/provisioning/current-release/configure/configure-gcp.html">GCP</a>. Citrix is actively working on developing feature parity for the public clouds. Also, public cloud providers have different location availability globally, and due to security and compliance regulations (such as <a href="/en-us/tech-zone/design/reference-architectures/gdpr.html">GDPR</a>), companies may have to keep data in certain regions.</p>
</li>
<li>
<p><strong>Vendor lock-in mitigation.</strong> Vendor lock-in refers to when customers are stuck with a vendor because the cost of switching to another vendor is too high or too labor-intensive. This situation puts the customer at risk of declining service quality or a significant cost increase. Using multiple vendors reduces the risk of vendor lock-in.</p>
</li>
</ul>
<h2>Questions for Guidance</h2>
<p>This section lists some key questions to consider when deciding whether to move to a hybrid or multi-cloud environment.  </p>
<h3>Hybrid Control Plane</h3>
<table>
<thead>
<tr>
<th style="text-align: left;"><strong>Question</strong></th>
<th style="text-align: left;"><strong>Considerations</strong></th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: left;">What resources are appropriate to move to Citrix DaaS?</td>
<td style="text-align: left;">Which resources might need to be scaled quickly?</td>
</tr>
<tr>
<td style="text-align: left;"></td>
<td style="text-align: left;">Which resources are being deployed on a public cloud or hyperscaler?</td>
</tr>
<tr>
<td style="text-align: left;"></td>
<td style="text-align: left;">Are there any resources with compliance, security, or granular control requirements?</td>
</tr>
<tr>
<td style="text-align: left;"></td>
<td style="text-align: left;">Are there resources that are unable to communicate to the internet?</td>
</tr>
<tr>
<td style="text-align: left;"></td>
<td style="text-align: left;">Are you planning on using Entra ID (formerly Azure AD) or non-domain joined resources?</td>
</tr>
<tr>
<td style="text-align: left;">Is the goal to fully migrate to Citrix DaaS or maintain a hybrid environment?</td>
<td style="text-align: left;">Which resources would be moved to Citrix DaaS? (See above)</td>
</tr>
<tr>
<td style="text-align: left;"></td>
<td style="text-align: left;">Is the environment architecture compatible with a <a href="https://docs.citrix.com/en-us/citrix-daas/manage-deployment/zones.html">single-site, multi-zone architecture</a>?</td>
</tr>
<tr>
<td style="text-align: left;"></td>
<td style="text-align: left;">Have resources been identified for a pilot deployment?</td>
</tr>
<tr>
<td style="text-align: left;">Would the same applications be available in both Citrix Virtual Apps and Desktops and Citrix DaaS?</td>
<td style="text-align: left;">Is the goal to use either Citrix Virtual Apps and Desktops/Citrix DaaS as a business continuity or DR option?</td>
</tr>
<tr>
<td style="text-align: left;"><a href="https://www.citrix.com/blogs/2023/01/06/design-considerations-for-a-citrix-cloud-hosted-access-tier/">Will the access tier be on-premises or in Citrix Cloud?</a></td>
<td style="text-align: left;">Is Service Continuity <a href="ttps://docs.citrix.com/en-us/citrix-workspace/optimize-cvad/service-continuity.html#requirements-and-limitations">supported</a> for all use cases and devices in the environment?</td>
</tr>
<tr>
<td style="text-align: left;"></td>
<td style="text-align: left;">Do you want any resources only to be accessible internally?</td>
</tr>
<tr>
<td style="text-align: left;"></td>
<td style="text-align: left;">Do you require NetScaler features such as load balancing?</td>
</tr>
<tr>
<td style="text-align: left;"></td>
<td style="text-align: left;">Is ADM or ADM Service used to track network latency data for troubleshooting?</td>
</tr>
<tr>
<td style="text-align: left;"></td>
<td style="text-align: left;">Is there heavy customization to either the Gateway or StoreFront?</td>
</tr>
<tr>
<td style="text-align: left;"></td>
<td style="text-align: left;">What are the uptime requirements for the access tier?</td>
</tr>
<tr>
<td style="text-align: left;">What is the <a href="/en-us/tech-zone/design/design-decisions/cvad-disaster-recovery.html">Disaster Recovery</a> strategy of the hybrid sites?</td>
<td style="text-align: left;">Will each site be able to hold 100% capacity?</td>
</tr>
<tr>
<td style="text-align: left;"></td>
<td style="text-align: left;">What are the application tiers?</td>
</tr>
<tr>
<td style="text-align: left;"></td>
<td style="text-align: left;">What are the SLAs for each use case?</td>
</tr>
<tr>
<td style="text-align: left;"></td>
<td style="text-align: left;">Are the DR machines on standby or will they be powered off?</td>
</tr>
</tbody>
</table>
<h3>Hybrid or Multi-Cloud Environment</h3>
<table>
<thead>
<tr>
<th style="text-align: left;"><strong>Question</strong></th>
<th style="text-align: left;"><strong>Considerations</strong></th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: left;">Which public clouds will be used?</td>
<td style="text-align: left;">Which vendors have data centers in the required regions?</td>
</tr>
<tr>
<td style="text-align: left;"></td>
<td style="text-align: left;">Do any public clouds have unique services or features that benefit the environment?</td>
</tr>
<tr>
<td style="text-align: left;"></td>
<td style="text-align: left;">Are there any cost agreements in place with a public cloud vendor (on-demand vs reserved instances)?</td>
</tr>
<tr>
<td style="text-align: left;"></td>
<td style="text-align: left;">Does IT have knowledge or experience with any specific public cloud vendors?</td>
</tr>
<tr>
<td style="text-align: left;"></td>
<td style="text-align: left;">Are there any licensing restrictions on the public cloud platforms?</td>
</tr>
<tr>
<td style="text-align: left;"></td>
<td style="text-align: left;">How will Citrix workloads (and their associated data/backends) be migrated to the public cloud provider?</td>
</tr>
<tr>
<td style="text-align: left;">How will security and compliance be maintained?</td>
<td style="text-align: left;">Are the resources holding data subject to regulatory restrictions or compliance regulations?</td>
</tr>
<tr>
<td style="text-align: left;"></td>
<td style="text-align: left;">Are the chosen public cloud providers verified to hold data subject to regulations (HIPAA, PCI, and so forth)?</td>
</tr>
<tr>
<td style="text-align: left;">Does data need to be synced between public clouds?</td>
<td style="text-align: left;">Are the public cloud resource locations intended to be in a primary/DR configuration?</td>
</tr>
<tr>
<td style="text-align: left;"></td>
<td style="text-align: left;">If in a DR configuration, is any user data required for resource functionality?</td>
</tr>
<tr>
<td style="text-align: left;"></td>
<td style="text-align: left;">If user data is required, what will be the replication mechanism, and how frequently will replication be needed?</td>
</tr>
<tr>
<td style="text-align: left;">What is the hybrid cloud strategy</td>
<td style="text-align: left;">How will public cloud be used - DR, burst, or the primary location?</td>
</tr>
<tr>
<td style="text-align: left;"></td>
<td style="text-align: left;">Which specific use cases will be moved to the public cloud?</td>
</tr>
<tr>
<td style="text-align: left;"></td>
<td style="text-align: left;">How will users be directed to the appropriate workload location (closest geo, application-based, etc.)?</td>
</tr>
</tbody>
</table>
<h2>Conceptual Architecture</h2>
<p>The conceptual architectures provided in this section show baseline architecture for deploying a hybrid or multi-cloud environment. These architectures show the infrastructure that is needed from a Citrix perspective. The diagrams are not intended to be all-encompassing in terms of required infrastructure.</p>
<h3>Citrix Virtual Apps and Desktops &amp; Citrix DaaS Hybrid Environment</h3>
<p>This section shows the two primary configurations for a Citrix hybrid environment - on-premises vs. Citrix Cloud access tier. Refer to the <a href="/en-us/tech-zone/design/reference-architectures/daas.html">Reference Architecture on Citrix DaaS</a> for more detailed information about Citrix DaaS architecture.</p>
<h4>StoreFront &amp; NetScaler</h4>
<p>There are several reasons to maintain an on-premises access tier - such as <a href="https://support.citrix.com/article/CTX215016/how-to-apply-advance-customizations-to-storefront-web-page">advanced StoreFront customizations</a>, <a href="https://docs.citrix.com/en-us/citrix-daas/manage-deployment/local-host-cache.html">Local Host Cache</a>, and NetScaler features such as <a href="https://docs.netscaler.com/en-us/citrix-adc/current-release/load-balancing.html">load-balancing</a>. To display both Citrix DaaS and Citrix Virtual Apps and Desktops resources, Delivery Controllers and Cloud Connectors can be <a href="https://docs.citrix.com/en-us/storefront/current-release/configure-manage-stores/manage-controllers">added as ‘Delivery Controllers’ within StoreFront stores</a>. StoreFront can also aggregate multiple Citrix Virtual Apps and Desktops sites and Citrix DaaS tenants, which can simplify resource access for end users.</p>
<p></p><p><a href="//media.invisioncic.com/m329563/monthly_2023_11/reference-architectures_hybrid_multi_cloud_01.png.7d4b4e22e945852b7400fbdc59cb8940.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="3257" src="//media.invisioncic.com/m329563/monthly_2023_11/reference-architectures_hybrid_multi_cloud_01.png.7d4b4e22e945852b7400fbdc59cb8940.png" width="897" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_hybrid_multi_cloud_01.png" loading="lazy" height="502.32"></a></p>
<h4>Workspace &amp; Gateway Service</h4>
<p>Citrix Workspace and Gateway Service are Citrix DaaS's turn-key cloud access solutions. A Citrix Cloud-hosted access tier can simplify deployments by removing the need to maintain access infrastructure, provide inherent resiliency, and achieve faster deployments. <a href="https://docs.citrix.com/en-us/citrix-workspace/optimize-cvad/add-on-premises-site.html">The on-premises site needs to be mapped</a> to display Citrix Virtual Apps and Desktops resources in Workspace.</p>
<p></p><p><a href="//media.invisioncic.com/m329563/monthly_2023_11/reference-architectures_hybrid_multi_cloud_02.png.eed163e68c11ef0a8e80d3ae7899fa19.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="3259" src="//media.invisioncic.com/m329563/monthly_2023_11/reference-architectures_hybrid_multi_cloud_02.png.eed163e68c11ef0a8e80d3ae7899fa19.png" width="897" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_hybrid_multi_cloud_02.png" loading="lazy" height="511.29"></a></p>
<h3>Multi-Public Cloud Resource Locations</h3>
<p>When using multiple public clouds, each public cloud subscription is typically treated as an additional zone or Resource Location in the Citrix Virtual Apps and Desktops/Citrix DaaS architecture. Each public cloud resource location requires at least one set of Cloud Connectors (or Delivery Controllers if connecting to an on-premises Citrix Virtual Apps and Desktops site). This document is designed to cover a partial list of requirements for using Citrix DaaS with public cloud. For further details, reference the <a href="/en-us/tech-zone/design/reference-architectures/virtual-apps-and-desktops-azure.html">Azure</a>, <a href="/en-us/tech-zone/design/reference-architectures/citrix-virtual-apps-and-desktops-on-aws.html">AWS</a>, and <a href="/en-us/tech-zone/design/reference-architectures/citrix-google-virtualization.html">GCP</a> reference architectures. This specific architecture uses an on-premises access tier, but this configuration can also be created with a Citrix Cloud based access tier (Citrix Workspace).</p>
<p></p><p><a href="//media.invisioncic.com/m329563/monthly_2023_11/reference-architectures_hybrid_multi_cloud_03.png.c2dd57134c55e8191ca4b7f890701de0.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="3261" src="//media.invisioncic.com/m329563/monthly_2023_11/reference-architectures_hybrid_multi_cloud_03.png.c2dd57134c55e8191ca4b7f890701de0.png" width="1185" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_hybrid_multi_cloud_03.png" loading="lazy" height="628.05"></a></p>
<h2>Deployment Strategies</h2>
<p>When moving resources to Citrix DaaS or public clouds, there are different kinds of strategies that can be used.</p>
<h3>Greenfield vs. Extension vs. Cloud Transformation</h3>
<p>There are three main deployment scenarios: greenfield, extension, and cloud transformation.</p>
<p>Greenfield deployments involve net-new environments and require development from a clean slate. The benefit of these types of deployments is that they aren’t complicated by legacy software and can be optimized for specific use cases. These projects have higher startup costs and knowledge requirements as everything is being built from the ground up. For this reference architecture, any customer new to Citrix (Citrix Virtual Apps and Desktops and Citrix DaaS) or public cloud would be considered a greenfield deployment.</p>
<p>Extending deployments involves customers with on-premises footprints looking to extend them into the cloud. This approach introduces the scalability and flexibility of cloud products while maintaining the security and control of on-premises control planes and data centers. Extending the environment introduces the complexity of managing two different environments and higher infrastructure costs for both on-premises and cloud control planes and resources. For this reference architecture, this scenario would include a customer with an on-premises Citrix Virtual Apps and Desktops site and resources looking to extend the deployments into Citrix DaaS and public clouds while maintaining some on-premises infrastructure.</p>
<p>Cloud transformation occurs when a company wants to migrate existing workloads (including data) from one IT environment to another - commonly between data centers and public clouds. Cloud platforms allow companies to offload their hardware maintenance and upgrade costs to cloud vendors and introduce the scalability and services of public cloud offerings. When fully migrating to cloud offerings, it’s important to reevaluate the environment architecture to take full advantage of them. In the context of this architecture, cloud transformation deployments include customers looking to <a href="/en-us/tech-zone/build/deployment-guides/cvads-migration">migrate fully to the Citrix DaaS platform</a> and public cloud hosting.</p>
<h3>Deploying Resources</h3>
<p>A significant decision that needs to be made when moving to a hybrid model is where resources will be hosted and brokered.</p>
<p>Regarding hosting, resources can be hosted on-premises and/or in multiple public clouds. The main reasons for hosting the same resources in multiple locations are high availability and disaster recovery. That way, if one resource location were to go down, end users can still access resources from secondary sites. An additional use case is increasing proximity to resources - by making applications available in multiple geographic regions, you can reduce the latency between end users and their resources. When making resources available from multiple regions/data centers, it is essential to understand what user/application data must be replicated for functionality.</p>
<p>For brokering, a VM can only be brokered by one site at a time - either Citrix Virtual Apps and Desktops or Citrix DaaS. If the same resource needs to be available from Citrix DaaS and Citrix Virtual Apps and Desktops, duplicate resources must be deployed for each site. The main use cases for brokering the same resource from multiple sites are DR or migration from Citrix Virtual Apps and Desktops to Citrix DaaS. For scenarios where duplicated resources aren’t required, a decision must be made whether to broker via Citrix Virtual Apps and Desktops or Citrix DaaS. Citrix Virtual Apps and Desktops allows for more granular environment controls. Controls include monitoring the server health of Delivery Controllers/SQL, updating on your own schedule, and locking the environment for no Internet access. Citrix DaaS allows for easier access to the latest features and reduces the infrastructure and management overhead of sites.</p>
<h3>High Availability &amp; Disaster Recovery</h3>
<p>For a hybrid Citrix strategy, it’s important to know what the HA and DR options are.</p>
<p>For environments using a fully on-premises access tier (StoreFront and NetScaler), <a href="https://docs.citrix.com/en-us/citrix-virtual-apps-desktops/2203-ltsr/manage-deployment/local-host-cache">Local Host Cache</a> is the HA solution. The Local Host Cache (LHC) feature allows brokering operations in a site to continue when an outage occurs. An outage occurs when the connection between a Delivery Controller and the site database fails in an on-premises Citrix environment. LHC engages when the site database is inaccessible for 90 seconds. LHC allows end users to connect to resources even when the site is down. If using LHC with Citrix DaaS, there’s an additional recommendation to enable <a href="https://docs.citrix.com/en-us/storefront/current-release/configure-manage-stores/advanced-store-settings#advanced-health-check">StoreFront Advanced Health check</a>. This allows StoreFront to check all Resource Locations in Citrix DaaS for an application during LHC.</p>
<p>Service Continuity is the HA option for environments using a Citrix Cloud-based access tier. Service Continuity allows users to continue to access their resources during a Citrix Cloud outage if the user device maintains a network connection to a resource location and they’ve logged in before and downloaded a connection lease. Service Continuity uses Workspace connection leases to allow users to access apps and desktops during outages. Workspace connection leases are long-lived authorization tokens securely cached on the user’s device. Service Continuity is disabled by default but <a href="https://docs.citrix.com/en-us/citrix-workspace/optimize-cvad/service-continuity.html#configure-service-continuity">can be enabled</a> within the <strong>Workspace Configuration</strong> tab in <strong>Citrix Cloud</strong>. It’s important that the environment meets the <a href="https://docs.citrix.com/en-us/citrix-workspace/optimize-cvad/service-continuity.html#requirements-and-limitations">Service Continuity requirements</a>. Service Continuity does not support all environment configurations. For example, it does not support kiosks, NetScaler Gateway as an ICA Proxy, or thin clients. When choosing an access tier option, evaluating whether Service Continuity supports your intended use cases is critical.</p>
<p>For DR, it’s necessary to have resources available from multiple locations. For Citrix Virtual Apps and Desktops, DR design requires separate Sites. In Citrix DaaS, DR requires separate additional, Resource Locations. Failover can vary by environment but is often managed at the access tier level. For on-premises access tiers, failover at the NetScaler level is handled via manual failover or <a href="https://docs.netscaler.com/en-us/citrix-adc/current-release/global-server-load-balancing.html">GSLB</a>. At the StoreFront level, multiple sites (such as primary and DR) can be mapped into each Store, and <a href="/en-us/tech-zone/design/design-decisions/storefront-multisite-aggregation.html#user-farm-mapping">user mappings</a> can be used to assign failover order. For a cloud-based access tier, Gateway Service is a highly available service with multiple points of presence (PoPs) around the globe. You can configure the failover between the different zones by configuring zone preferences for resources. Whether you’re using Citrix Cloud or Citrix Virtual Apps and Desktops, you can enable seamless failover of users. Depending on DR requirements, app or user data may need to be replicated for failover functionality. For more extensive information regarding Disaster Recovery design, reference the <a href="/en-us/tech-zone/design/design-decisions/cvad-disaster-recovery">Design Decision documentation</a>. This documentation includes considerations for Citrix Virtual Apps and Desktops, Citrix DaaS, and public cloud.</p>
<h3>Automation &amp; Infrastructure as Code</h3>
<p>Infrastructure as Code is an IT methodology of managing and deploying infrastructure through code instead of manually. This code helps teams automate repetitive tasks and streamline deployments. Citrix has both PowerShell SDKs and REST APIs available for <a href="https://docs.citrix.com/en-us/citrix-daas/sdk-api.html">Citrix DaaS</a> and <a href="https://docs.citrix.com/en-us/citrix-virtual-apps-desktops/sdk-api.html">Citrix Virtual Apps and Desktops</a> to automate your deployments. These tools can be used to automate infrastructure deployments and image management. It’s important to note that the <a href="https://docs.citrix.com/en-us/citrix-daas/sdk-api.html#how-this-sdk-differs-from-the-sdk-for-customer-managed-deployments">Remote PowerShell SDK for Citrix DaaS</a> differs slightly from the SDK for Citrix Virtual Apps and Desktops. Visit <a href="https://developer.cloud.com/citrixworkspace/citrix-daas/citrix-daas-rest-apis/docs/overview">Developer Docs</a> for more information and examples of how to use our APIs.</p>
<h2>Supporting Infrastructure Decisions</h2>
<p>When evaluating different environment configurations, it’s critical to understand how the architecture impacts the environment's infrastructure. This section discusses some important considerations when deploying a hybrid or multi-cloud environment. This isn't an exhaustive list of all decisions to be considered.</p>
<h3>Virtual Delivery Agents</h3>
<p>Designing the VDA environment correctly is essential for a good user experience. This section details multiple factors that must be considered for a successful VDA deployment.</p>
<h4>Hosting Connections</h4>
<p>Hosting connections allow Citrix Virtual Apps and Desktops and Citrix <a href="https://docs.citrix.com/en-us/citrix-daas/install-configure/connections.html">DaaS</a> to communicate to hypervisors and/or public cloud platforms to deploy and power manage machines. When deploying connections to on-premises hypervisors, using an administrative account with appropriate permissions is necessary. Refer to <a href="https://docs.citrix.com/en-us/citrix-virtual-apps-desktops/install-configure/connections.html">the product documentation</a> for detailed permissions for your specific hypervisor. When creating these connections, it’s required to specify the storage to be used by VMs and the network segments. If you deploy different types of machines on different storage devices or networks, you can create separate hosting connections for that resource location.</p>
<p>When creating hosting connections to public cloud, it’s important to be aware of the <a href="https://docs.citrix.com/en-us/citrix-daas/limits.html#provisioning-limits">subscription limits</a> for the public cloud providers. These limits are the Citrix recommended maximums for a single public cloud provider subscription. For more details on public cloud limitations and recommended subscription/account configurations, review the information in the <a href="/en-us/tech-zone/design/reference-architectures/virtual-apps-and-desktops-azure.html">Azure</a>, <a href="/en-us/tech-zone/design/reference-architectures/citrix-google-virtualization.html">GCP</a>, and <a href="/en-us/tech-zone/design/reference-architectures/citrix-virtual-apps-and-desktops-on-aws">AWS</a> reference architectures. Citrix recommends a hub-and-spoke model for larger-scale deployments, where VDAs are distributed across multiple subscriptions and hosting connections. Each subscription needs its own hosting connection. When creating a public cloud hosting connection, the connection needs the appropriate permissions on the public cloud side to power manage the environment. If you allow Citrix DaaS/Citrix Virtual Apps and Desktops to create the Service Principal, it creates a Service Principal with the Contributor role. If you want to have a principal with fewer permissions, you can pre-create one with the minimum required permissions (<a href="https://docs.citrix.com/en-us/citrix-daas/install-configure/connections/connection-aws#about-aws-permissions">AWS</a>, <a href="https://docs.citrix.com/en-us/citrix-daas/install-configure/connections/connection-azure-resource-manager#required-azure-permissions">Azure</a>, <a href="https://docs.citrix.com/en-us/citrix-daas/install-configure/connections/connection-gcp#about-gcp-permissions">GCP</a>) before creating the hosting connection.</p>
<h4>Citrix DaaS Limits</h4>
<p>When building out deployments with Citrix DaaS, it’s important to design per Citrix <a href="https://docs.citrix.com/en-us/citrix-daas/limits.html">DaaS limits</a> (such as hosting connection limits mentioned in the previous section). There are limits to the total number of VDAs brokered by Citrix DaaS (in total and by Resource Location) and limits on other configurations like domains, Catalogs, Applications, and groups. If your planned deployment exceeds these limits, the environment must be rearchitected to be supported by Citrix DaaS. You can also contact your Citrix representative for assistance.</p>
<h4>Storage</h4>
<p>Many public cloud vendors offer the ability to stand up your own file server, storage as a service, and third party storage offerings (for instance, NetApp). Choosing appropriate storage options for both VM and user data storage is important.</p>
<p>Public cloud providers offer different storage tiers for VM disks, which usually include standard/premium SSD and HDD offerings. The tier of storage needed is driven by user/application needs in the environment. Testing is always recommended to evaluate the needs of the environment. If using MCS, the MCSIO cache can <a href="/en-us/tech-zone/design/design-decisions/azure-instance-scalability.html#what-impact-does-the-machine-creation-services-io-cache-have">improve performance when using standard SSD storage</a>. When migrating VDA images to a public cloud (or even between public clouds), the <a href="/en-us/tech-zone/learn/tech-briefs/image-portability-service.html">Citrix Image Portability Service</a> can move the images to cloud storage.</p>
<p>When storing user and application data, this data can be stored on either self-managed file shares or service offerings by the public cloud vendor. See the public cloud reference architectures (<a href="https://docs.citrix.com/en-us/tech-zone/design/reference-architectures/virtual-apps-and-desktops-azure.html#file-server-technologies">Azure</a>, <a href="/en-us/tech-zone/design/reference-architectures/citrix-virtual-apps-and-desktops-on-aws.html#cifs-storage-and-data-replication">AWS</a>, <a href="/en-us/tech-zone/design/reference-architectures/citrix-google-virtualization.html#file-storage-and-data-replication">GCP</a>) for more specific information about the options on each cloud. If you plan to use multiple cloud resource locations in either active/passive or active/active configurations, it’s essential to have cross-cloud data replication in place to replicate user data. When replicating data, it’s important to note the Microsoft-supported <a href="https://learn.microsoft.com/en-US/troubleshoot/windows-server/networking/support-policy-for-dfsr-dfsn-deployment">DFS configurations</a>.</p>
<h4>Sizing</h4>
<p>Sizing VDAs and infrastructure servers correctly is essential for a good user experience and to optimize costs. There are several factors to consider when sizing infrastructure servers, such as hardware, system requirements, and the number of users. Regarding VDAs, factors include hardware, expected workload, and application resource requirements. Sizing is not a one-size-fits-all recommendation, and it’s recommended to monitor your environment performance on an ongoing basis to adjust sizing as needed.</p>
<p>For on-premise deployments, see product documentation for minimum system requirements for Citrix infrastructure servers. For optimal Local Host Cache functionality, Citrix recommends that the Delivery Controllers use <a href="https://docs.citrix.com/en-us/citrix-virtual-apps-desktops/manage-deployment/local-host-cache.html#cpu-core-and-socket-configuration-considerations">multiple cores per socket</a> due to LocalDB. For information on sizing VDAs, refer to our <a href="/en-us/tech-zone/design/design-decisions/single-server-scalability.html#cpu-over-subscription-ratio">Design Decision on scalability</a>. If you oversubscribe CPU resources for VDAs, it is highly recommended to test any desired configuration and monitor CPU contention. CPU contention is a measure of how long VMs have to wait to use CPU resources, and high CPU contention can cause performance degradation. For more information on VDA sizing, reference this <a href="https://www.citrix.com/blogs/2017/03/20/citrix-scalability-the-rule-of-5-and-10/#:~:text=Use%205%20if%20you're,often%20this%20rule%20is%20accurate">blog</a>.</p>
<p>In public cloud environments, you pay for all the resources consumed by the environment. Therefore, the smallest instance sizes are recommended to meet environment requirements. Citrix has various articles available that discuss recommended sizing on <a href="/en-us/tech-zone/design/design-decisions/azure-instance-scalability.html">Azure</a>, <a href="/en-us/tech-zone/design/reference-architectures/citrix-virtual-apps-and-desktops-on-aws.html#vda-instance-sizing-and-cost-management">AWS</a>, and <a href="/en-us/tech-zone/design/design-decisions/gcp-virtual-instance-sizing.html">GCP</a>. Cost management for public cloud VMs will be discussed in the next section.</p>
<h4>Cost Management</h4>
<p>Cost is one of the largest considerations when moving to a public cloud. In an on-premises data center the costs are upfront in obtaining hardware. Public cloud costs are based on how many resources are consumed and thus can vary and are billed over time. There are several tools to implement to reduce cloud costs.</p>
<p>Cloud providers typically have two billing options: on-demand or reserved instances (or committed instances in the case of GCP). On-demand means that you’re paying anytime a machine is online. The benefit of this model is that you’re only paying for exactly what you need. However, if your workloads in the cloud are more predictable (and are online most of the day), then reserved instances provide a cheaper option with guaranteed capacity. Refer to our <a href="/en-us/tech-zone/design/design-decisions/gcp-desktop-cost-optimization.html">GCP Cost Optimization</a> article for an example comparison of cost. Reservations have a cost determined in advance and last for 1 or 3 years. Reserved instances work best for workloads with predictable capacity (like infrastructure servers that need to run 24/7), as you pay for the reserved instances regardless of whether they’re consumed. It is important to note that you’re paying only for instance capacity upfront for reserved instances. Other services, such as storage, are separate.</p>
<p>Another way to limit cloud costs is to use a cloud-bursting model. Cloud bursting refers to spinning up public cloud machines only once the on-premises data centers have reached capacity. This approach allows companies the flexibility to spin up more machines quickly without investing in hardware that isn’t needed for normal operations. It also allows administrators to limit cloud usage to what is needed to support workloads without constantly having to run cloud instances. If you plan to use cloud bursting, it’s important to note that boot times in public clouds can vary based on multiple factors such as available hardware and reserved capacity. It is recommended to contact your public cloud provider if you have questions about boot times.</p>
<p>Citrix also has a tool to manage public cloud costs known as <a href="https://docs.citrix.com/en-us/citrix-daas/manage-deployment/autoscale.html">Citrix Autoscale</a>, which can proactively power manage your machines to balance costs and user experience. Autoscale is available in Citrix DaaS and Citrix Virtual Apps and Desktops 2305 and later. Autoscale allows for configuring machine schedules at a delivery group level and capacity buffer settings to increase VMs as demand increases. Dynamic session timeout allows for more aggressive draining of sessions and cost reduction. Visit the product documentation and <a href="/en-us/tech-zone/learn/tech-briefs/autoscale.html">Tech Brief</a> on Autoscale for more detailed scenarios and advanced configurations. For further reading on cost optimization with Citrix, reference our <a href="/en-us/tech-zone/design/design-decisions/gcp-desktop-cost-optimization.html">cost optimization article on GCP</a>, <a href="/en-us/tech-zone/design/design-decisions/azure-workload-cost-considerations.html">design decision</a>, and <a href="https://www.citrix.com/blogs/2023/05/23/reduce-your-cloud-costs-with-citrix-vdi-reclamation-service/">blog</a>.</p>
<p>Because Citrix has extensive support for resource locations across multiple hypervisors and hyperscalers, customers can spin up and use resources wherever it is cheapest for them without impacting the end users.</p>
<h3>Identity &amp; Authentication</h3>
<p>Identity and authentication management (IAM) is crucial to ensure that the right users get access to the right resources. Regarding hybrid and multi-cloud deployments, there are some additional topics to consider when determining your IAM strategy.</p>
<h4>StoreFront vs. Workspace Authentication</h4>
<p>This article previously discussed other considerations when choosing between StoreFront and Workspace. There are also differences in authentication between the two access methods. Both <a href="https://docs.citrix.com/en-us/storefront/current-release/plan/user-authentication">StoreFront</a> and <a href="https://docs.citrix.com/en-us/citrix-workspace/secure.html">Workspace</a> support LDAP, SAML 2.0, and Gateway as authentication methods. StoreFront also supports smartcards (like Imprivata) and domain-passthrough authentication. You need to evaluate which solution supports your authentication requirements.</p>
<p>Another key difference is that StoreFront allows for multiple authentication options within one Store and different authentication options for different Stores. With the release of the <a href="https://docs.citrix.com/en-us/adaptive-authentication.html">Adaptive Authentication service</a>, you can now configure advanced nFactor flows for Workspace and enable multiple authentication options for the Workspace Store. However, this configuration applies to the singular Workspace store, as multi-store functionality isn't currently available in Workspace.</p>
<h3>Cloud Identity</h3>
<h4>Domain-Based Identity</h4>
<p>The traditional method to handle identity management in IT environments includes using domain services. All public cloud providers provide the ability to spin up a Microsoft Active Directory Domain Controller server and extend your domain into the cloud via replication. Having a locally accessible domain service in the cloud is crucial for fast and reliable authentication of cloud resources. Public cloud providers provide guidelines on how best to deploy AD DS on their platforms, Refer to documentation from <a href="https://learn.microsoft.com/en-us/azure/architecture/example-scenario/identity/adds-extend-domain">Microsoft</a>, <a href="https://cloud.google.com/compute/docs/instances/windows/best-practices">Google</a>, and <a href="https://aws.amazon.com/solutions/partners/active-directory-ds/">Amazon</a> for their leading practices.</p>
<p>In addition to self-managed AD DS, public cloud providers offer a managed version of AD DS. These versions offer the traditional benefits of managed services - less maintenance work and management on the customer’s end. There are some limitations. For example, with AWS and GCP Managed AD, you lose super-user accounts like domain administrator and enterprise administrator - the latter of which is needed for FAS deployments. Refer to documentation from <a href="https://learn.microsoft.com/en-us/azure/active-directory-domain-services/compare-identity-solutions">Microsoft</a>, <a href="https://cloud.google.com/managed-microsoft-ad/docs/overview">Google</a>, and <a href="https://docs.aws.amazon.com/directoryservice/latest/admin-guide/directory_microsoft_ad.html">Amazon</a> for their leading practices and recommendations. You can also refer to our other reference architectures for more in-depth analyses of domain considerations.</p>
<h4>Non-Domain-Based Identity</h4>
<p>Alongside traditional AD, Citrix DaaS also supports other identity options. <a href="https://www.microsoft.com/en-us/security/business/identity-access/microsoft-entra-id">Entra ID</a> (formerly known as <a href="https://learn.microsoft.com/en-us/azure/active-directory/fundamentals/whatis">Azure AD</a>) is an Azure cloud-based identity and access management service. Azure AD enables access to external resources, such as Microsoft 365 and other SaaS applications. Citrix DaaS supports <a href="https://docs.citrix.com/en-us/citrix-daas/install-configure/machine-identities/azure-active-directory-joined.html">Entra ID joined VDAs</a> and <a href="https://docs.citrix.com/en-us/citrix-daas/install-configure/machine-identities/hybrid-azure-active-directory-joined.html">hybrid (AD and Entra ID) joined VDAs</a>. Citrix DaaS also supports <a href="https://docs.citrix.com/en-us/citrix-daas/install-configure/machine-identities/non-domain-joined.html">non-domain joined VDAs</a>. These services are not supported by Citrix Virtual Apps and Desktops.</p>
<p>See our <a href="https://docs.citrix.com/en-us/citrix-daas/install-configure/machine-identities.html">product documentation</a> and <a href="https://www.citrix.com/blogs/2022/05/26/citrix-daas-azure-ad-non-domain-joined-desktops/">blog</a> for more information.</p>
<h3>Networking</h3>
<p>Well-configured networking is essential to allow seamless end-user and machine connectivity, in addition to ensuring that the security posture is maintained. When moving to a cloud-based architecture, there are some additional considerations from a networking perspective.</p>
<h4>Data Center to Cloud Connectivity</h4>
<p>When deploying in a hybrid model, your public cloud resources need to be able to communicate with on-premises infrastructure. Whether for AD replication or application traffic, on-premises resources need to be able to route into the cloud. The primary customer connectivity considerations are bandwidth, latency, security, and cost. In a hybrid cloud deployment, there may be scenarios where internal users require their ICA traffic to go through this connection to get to their Citrix apps in the public cloud. Therefore monitoring its bandwidth is critical. Cloud providers offer multiple tiers of options to meet these needs.</p>
<p>The main options are usually VPN or direct fiber connections between the data center and the cloud provider’s access point (such as ExpressRoute for Azure or DirectConnect for AWS). VPNs are cheaper and faster to configure but are sent over the internet with less bandwidth and, therefore, more unpredictable performance. Direct fiber connections are more expensive and take longer to set up but are private with the lowest latency possible. Fiber connections are recommended for production environments. VPN connections can be sufficient for test or POC use cases.</p>
<h4>Inter-Cloud Connectivity</h4>
<p>There are several reasons why you might need connectivity between two or more public cloud providers, such as syncing user and application data. There are <a href="https://learn.microsoft.com/en-us/azure/cloud-adoption-framework/ready/azure-best-practices/connectivity-to-other-providers">three main options</a> for connecting your cloud providers: VPN, customer-managed direct routing, or third party-managed direct routing.</p>
<p>VPN is a simple and fast way to connect to your public clouds. However, they have limited throughput compared to direct connections and are subject to the public cloud vendors’ data transfer fees. The traffic is also routed over the public internet, which may not be desirable for certain workloads because of security and performance reasons.  </p>
<p>An alternative option is to create direct connections to your public cloud providers directly from your data center. This connection allows for fast, high-throughput, private connections directly from the data centers to the public cloud. It also allows you to control the routing and security configurations. However, traffic that needs to go between the public clouds is routed through the data center, which is inefficient and adds latency to all inter-cloud communication. It also requires time for the direct connections to be configured to the data center.</p>
<p>The third option is to use a cloud exchange to bridge the routing between two public clouds. In this option, the direct connections are routed directly to a third-party vendor instead of through the customer data center. This option reduces the time to configure, as the vendor already has direct connections to the public clouds. However, this requires interfacing with an additional vendor and having more limited control over the network.</p>
<h4>Intra-Cloud Connectivity</h4>
<p>When connecting resources inside a single public cloud, public cloud vendors have similar options. Within one subscription, network groupings such as Virtual Networks (in Azure) or Virtual Private Networks (in AWS) are equivalent to network segments on-premises with the ability to create and assign subnets and IP addresses. Other ACLs can be created using security groups to control ingress and egress. Reference the documentation from your public cloud provider for more specifics about their networking options.</p>
<p>Often, public cloud deployments span multiple subscriptions and multiple regions. By default, these subscriptions are not routable to each other. Connecting subscriptions requires peering your virtual networks together to allow those networks to be routable to each other.</p>
<h2>Summary</h2>
<p>As you can tell, there are many options for where to take your Citrix deployments. From Citrix Virtual Apps and Desktops to Citrix DaaS, and public cloud to data centers, our products can meet your environment where it’s at and where you want to go. It just takes a little planning and design to ensure that the right architecture is in place to support your end users and IT teams to do their best work.</p>]]></description><guid isPermaLink="false">90</guid><pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate></item><item><title>Reference Architecture: Optimizing Unified Communications Solutions</title><link>https://community.citrix.com/tech-zone/design/reference-architectures/optimizing-unified-communications-solutions/</link><description><![CDATA[<h2>
	Audience
</h2>

<p>
	This document is intended for Citrix technical professionals, IT decision-makers, partners, and consultants who want to deliver unified communication solutions in a Citrix virtualized environment.<br>
	The content is relevant with both on-premises and public cloud architectures.<br>
	The reader should have a basic understanding of the Citrix app and desktop virtualization offerings in addition to unified communications solutions.<br>
	For more information on Citrix Virtual Apps and Desktops, refer to the <a href="https://docs.citrix.com/en-us/citrix-virtual-apps-desktops" rel="external nofollow">Citrix Virtual Apps and Desktops official documentation</a>.
</p>

<h2>
	Objective of this Document
</h2>

<p>
	The purpose of this document is to describe how to best deploy unified communication solutions with Citrix Virtual Apps and Desktops. The overall goal is to deliver an optimal user experience, improve security, and maximize server scalability.
</p>

<h2>
	Introduction
</h2>

<p>
	Real-time collaboration is at the heart of the modern workplace. It’s how employees remain productive and business gets done. Whether a two-person internal voice call or an international video conference hosting dozens of attendees, today’s unified communication solutions meet the demanding needs of any organization. Citrix virtualization solutions complement these offerings by:
</p>

<ul>
	<li>
		Keeping sensitive data like chat logs, file transfers, and SIP signaling secure within the data center as opposed to be distributed across hundreds or thousands of endpoint devices.
	</li>
	<li>
		Providing a consistent user experience across various device types and platforms – even helping to enable capabilities on platforms without native client support.
	</li>
	<li>
		Easing the administrative burden. Instead of managing unified communications clients and versions across endpoints simply deploy the Workspace app, embrace auto-updates, and BYO initiatives
	</li>
	<li>
		And more…
	</li>
</ul>

<p>
	Citrix has worked with the vendors of the following unified communications solutions to offer Optimization Packs. These packs help offload voice and video content to the endpoint device wherever possible. The unified communication client remains secure in the data center with this approach (see the architecture section for more details).
</p>

<ul>
	<li>
		<a href="https://docs.citrix.com/en-us/citrix-virtual-apps-desktops/multimedia/opt-ms-teams.html" rel="external nofollow">Optimization for Microsoft Teams</a>
	</li>
	<li>
		<a href="https://docs.citrix.com/en-us/hdx-optimization/current-release.html" rel="external nofollow">HDX RealTime Optimization Pack for Skype for Business</a>
	</li>
	<li>
		<a href="https://citrixready.citrix.com/cisco-systems-inc/cisco-jabber-vdi.html" rel="external nofollow">Cisco Jabber Softphone for VDI</a>
	</li>
	<li>
		<a href="https://www.cisco.com/c/en/us/td/docs/collaboration/meeting_center/wvdi/wvdi-b-admin-guide/wvdi-b-admin-guide_chapter_01.html" rel="external nofollow">Cisco Webex Meetings for Virtual Desktop Environments</a>
	</li>
	<li>
		<a href="https://support.avaya.com/products/P1706/avaya-equinox-vdi" rel="external nofollow">Avaya Equinox VDI</a>
	</li>
	<li>
		<a href="https://citrixready.citrix.com/zoom-video-communications/zoom-meetings-for-vdi.html" rel="external nofollow">Zoom Meetings optimization</a>
	</li>
</ul>

<p>
	The preceding solutions ensure the best possible user experience and server scalability when used with supported Citrix versions and endpoint client devices. When the requirements are not met (such as connecting from an unsupported platform or client device) or using a different unified communications solution, a generic fallback approach can be used. This provides optimization of audio and video for sessions. We discuss this approach later in the document.
</p>

<h2>
	Architecture
</h2>

<p>
	Most optimized unified communication solutions for Citrix environments employ an agent on the Citrix server/desktop to handle business logic, signaling, and other capabilities. A decoupled media engine resides on the endpoint device to process the audio and video. This approach reduces the hops that data packets would normally travel through in a virtualized environment.
</p>

<p>
	<a class="ipsAttachLink ipsAttachLink_image" href="//media.invisioncic.com/m329563/monthly_2024_02/reference-architectures_optimizing-unified-communications-solutions_001.png.e0e88edcc3bef94d36a6207836c4ce35.png" data-fileid="3319" data-fileext="reference-architectures_optimizing-unified-communications-solutions_001.png" rel=""><img alt="reference-architectures_optimizing-unified-communications-solutions_001.png" class="ipsImage ipsImage_thumbnailed" data-fileid="3319" style="height: auto;" width="1280" src="//media.invisioncic.com/m329563/monthly_2024_02/reference-architectures_optimizing-unified-communications-solutions_001.png.e0e88edcc3bef94d36a6207836c4ce35.png" loading="lazy" height="716.8"></a>
</p>

<p>
	 
</p>

<p>
	The Microsoft Teams and Skype for Business solutions use a media engine which is co-developed and co-supported between Citrix and Microsoft. For Microsoft Teams it’s built into the VDA and Workspace app so no further components are required. For Skype for Business, there are separate components for agent (RealTime Connector on the VDA) and engine (RTME on the endpoint). They must be installed as part of the HDX RealTime Optimization Pack.
</p>

<p>
	Jabber, WebEx, Zoom, and Avaya solutions use a similar agent/engine architecture as Microsoft solutions. However, those solutions are owned by their respective vendors. Consult the respective vendor’s website or Citrix Ready for more details on these solutions.
</p>

<p>
	Cisco WebEx offerings in particular use Citrix’s Browser Content Redirection (BCR) for web app optimization. BCR redirects the viewport area of a web browser running on a Citrix VDA to the endpoint client device for rendering to improve user experience and server scalability. For more information on BCR, see the following section or refer to the <a href="https://docs.citrix.com/en-us/citrix-virtual-apps-desktops/multimedia/browser-content-redirection.html" rel="external nofollow">product documentation</a>.
</p>

<p>
	When designing an optimized unified communications solution with Citrix, it is important to understand basic hardware and software requirements including potential extra loads presented to the environment. These are just a few of the questions that must be considered:
</p>

<p>
	• How many users use the unified communications solution with Citrix? • How the users connect to the environment? • Is the unified communications software available through published apps, desktops, or VDI? • What endpoint telephony hardware is used? (See <a href="https://citrixready.citrix.com/" rel="external nofollow">Citrix Ready</a> offerings)
</p>

<h2>
	Optimizing Video
</h2>

<p>
	This section covers optimizing video for unified communications solutions. It typically applies in generic fallback scenarios such as unsupported endpoint client device or platform or unsupported unified communication solution. One such example is running the GoToMeeting collaboration offering within a virtual desktop.
</p>

<p>
	Fall-back scenarios result in server-side rendered video. In this case, Citrix recommends the following configuration for best performance:
</p>

<ul>
	<li>
		The H.264 video codec is to be used for video playback and it is enabled by default.
	</li>
	<li>
		A Citrix endpoint client that supports GPU hardware acceleration is recommended. That includes the Citrix for Windows, Linux, Mac, and Chrome-OS. When using thin-client devices confirm with the vendor if H.264 hardware decoding is supported, and which Citrix client version is used (if integrated with vendor image).
	</li>
	<li>
		Installing a GPU that supports H.264 hardware encoding/decoding on the Citrix server or VDI can also improve performance and save CPU cycles by offloading this process. There are scalability considerations when using a GPU in a multi-session server (Virtual Apps).
	</li>
	<li>
		Webcam optimization - <a href="https://support.citrix.com/article/CTX132764" rel="external nofollow">CTX132764</a>
	</li>
</ul>

<h2>
	Optimizing Audio
</h2>

<p>
	In this section we cover how to optimize audio for fallback scenarios. The Citrix recommendation is to enable UDP audio for the best overall experience. For audio quality, VOIP services work best with the “medium” setting. Playback is ideal at the “high” setting. For more details, refer to the <a href="https://docs.citrix.com/en-us/citrix-virtual-apps-desktops/multimedia/audio.html" rel="external nofollow">Citrix Virtual Apps and Desktops Audio Documentation</a>. For additional information on optimizing audio, refer to the KB article <a href="https://support.citrix.com/article/CTX133024" rel="external nofollow">Delivering Softphones with Virtual Apps and Desktops</a>.
</p>

<h2>
	Generic USB
</h2>

<p>
	Generic USB redirection offers support for a wide range of USB devices within virtual sessions. However, given the nature of the USB standard and the bandwidth it requires, it is typically only suited for LAN situations. For webcams, the recommendation is to not use this generic USB redirection capability because it consumes too much bandwidth in almost all situations. Unified communications hardware with specialty buttons can take advantage of composite USB redirection. This is also known as hybrid mode and is used to optimize multimedia virtual channels for voice and video while using generic USB redirection for specific functions. The functions are configurable by the admin. Refer to the <strong>Composite USB Redirection</strong> section at <a href="https://support.citrix.com/article/CTX133024" rel="external nofollow">https://support.citrix.com/article/CTX133024</a> for more details.
</p>

<h2>
	Browser Content Redirection
</h2>

<p>
	Browser Content Redirection offloads the viewable “viewport” area of a VDA-based web browser to the endpoint device for rendering. This solution is ideal for optimizing any web-based unified communication offering, but especially true for those using WebRTC. Refer to <a href="https://docs.citrix.com/en-us/citrix-virtual-apps-desktops/multimedia/browser-content-redirection.html" rel="external nofollow">Browser Content Redirection Documentation</a> and <a href="https://support.citrix.com/article/CTX230052" rel="external nofollow">https://support.citrix.com/article/CTX230052</a> for more details on the feature including configuration and troubleshooting.
</p>

<h2>
	Network Connectivity
</h2>

<p>
	Citrix SD-WAN is recommended to ensure optimal network connectivity and audio/video quality between office locations and the unified communications server. The <a href="/en-us/tech-zone/learn/tech-briefs/sdwan-cloud-direct.html" rel="">Citrix SD-WAN Cloud Direct service</a> provides a great solution for connectivity to UCaaS solutions such as RingCentral, Cisco WebEx, GoToMeeting, and Microsoft Teams. Citrix customers who run their workloads in public clouds can use the Citrix SD-WAN virtual appliance which is supported on Azure, AWS, GCP, and (in Tech Preview) Oracle Cloud. Microsoft Teams customers should refer to the documentation section <a href="https://docs.citrix.com/en-us/citrix-virtual-apps-desktops/multimedia/opt-ms-teams.html#citrix-sd-wan-optimized-network-connectivity-for-microsoft-teams" rel="external nofollow">Citrix SD-WAN Optimized Network Connectivity for Microsoft Teams</a>. For more information on SD-WAN, please refer to the <a href="https://docs.citrix.com/en-us/netscaler-sd-wan.html" rel="external nofollow">SD-WAN Documentation</a> and <a href="/en-us/tech-zone/design/reference-architectures/sdwan.html" rel="">SD-WAN Reference Architecture</a>.
</p>

<h2>
	Monitoring
</h2>

<p>
	Ongoing monitoring of the optimized unified communications solution in a Citrix environment is important. Administrators should first understand if optimization is taking place, and what graphics modes and virtual channels are in use, bandwidth consumption, and so forth. Help desk staff should also have an understanding of the tools and processes available to assess and troubleshoot as required. For solutions with an Optimization Pack, the easiest way to check for optimization during a voice or video call is to observe resource utilization in the task manager. With optimization enabled, the running process for the unified communication solution consumes less CPU when compared to running in a non-optimized state. For Browser Content Redirection, the processes are called HdxBrowserCef.exe and HdxBrowser.exe. More details can be found in the Browser Content Redirection troubleshooting guide at <a href="https://support.citrix.com/article/CTX230052" rel="external nofollow">https://support.citrix.com/article/CTX230052</a>.
</p>

<h2>
	Summary
</h2>

<p>
	Whichever unified communication solution customers decide to use within their organization, Citrix has a way to secure and optimize it with the Citrix Virtual Apps and Desktops family. Many popular solutions have specific Optimization Packs while others can use Citrix’s innovative Browser Content Redirection or generic fallback optimization techniques. Understanding the architecture and implementation specifics for a given environment helps to ensure the best possible user experience and scalability. Lastly, Citrix Director provides the necessary visibility for administrators and help desk staff to proactively analyze and troubleshoot unified communication optimization.
</p>

<h2>
	Resources
</h2>

<ul>
	<li>
		<a href="https://docs.citrix.com/en-us/citrix-virtual-apps-desktops/multimedia/opt-ms-teams.html" rel="external nofollow">Optimization for Microsoft Teams</a>
	</li>
	<li>
		<a href="https://support.citrix.com/article/CTX133024" rel="external nofollow">https://support.citrix.com/article/CTX133024</a>
	</li>
	<li>
		<a href="https://docs.citrix.com/en-us/hdx-optimization/current-release/whats-new.html" rel="external nofollow">HDX RealTime Optimization Pack - What's New</a>
	</li>
	<li>
		<a href="https://support.citrix.com/article/CTX200279" rel="external nofollow">https://support.citrix.com/article/CTX200279</a>
	</li>
	<li>
		<a href="https://support.zoom.us/hc/en-us/articles/360031096531-Getting-Started-with-VDI" rel="external nofollow">https://support.zoom.us/hc/en-us/articles/360031096531-Getting-Started-with-VDI</a>
	</li>
	<li>
		<a href="https://help.webex.com/en-us/tx7gq6/The-Webex-Meetings-Virtual-Desktop-App" rel="external nofollow">https://help.webex.com/en-us/tx7gq6/The-Webex-Meetings-Virtual-Desktop-App</a>
	</li>
	<li>
		<a href="https://help.webex.com/en-us/j3p7bp/Cisco-Jabber-and-Virtual-Desktop-Infrastructure" rel="external nofollow">https://help.webex.com/en-us/j3p7bp/Cisco-Jabber-and-Virtual-Desktop-Infrastructure</a>
	</li>
</ul>
]]></description><guid isPermaLink="false">94</guid><pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate></item><item><title>Reference Architecture: Reference Architecture - Protect apps and data on bring-your-own devices</title><link>https://community.citrix.com/tech-zone/design/reference-architectures/protect-apps-and-data-on-byo-devices/</link><description><![CDATA[
<h2>Overview</h2>
<p>CompanyA provides remote access to a small subset of its overall user base. These end users, who are part of a hybrid and distributed workforce, use bring-your-own (BYO) devices to access internal and cloud resources. Resources include client-server apps (virtual apps and desktops), internal web, and SaaS apps that must be protected when accessed from untrusted devices.</p>
<p>CompanyA's remote access policy has led to greater efficiency for its hybrid and distributed workforce. However, the policy has created a complex delivery model and introduced security concerns. Since the end user devices are unmanaged, CompanyA must mitigate security threats against apps and the data in transit to, in use on, and at rest on the devices.</p>
<p>CompanyA currently uses several unintegrated point products for remote access. It wants to consolidate and expand to a company-wide Zero Trust Network Access (ZTNA) solution while protecting its resources. To that end, CompanyA is engaging in an initiative to update its app delivery architecture. It is implementing the integrated Citrix solution using Citrix Secure Private Access, Citrix Gateway, Citrix Secure Internet Access, and Citrix Web App and API Protection. Together this solution provides end-to-end protection of CompanyA resources accessed from BYO devices.</p>
<p></p><p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_protect-apps-and-data-on-byo-devices_00.png.3e04cb4ec95c28f20ce579889bf4b2be.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="3321" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_protect-apps-and-data-on-byo-devices_00.png.3e04cb4ec95c28f20ce579889bf4b2be.png" width="1244" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_protect-apps-and-data-on-byo-devices_00.png" loading="lazy" height="522.48"></a></p>
<p>This reference architecture explains CompanyA's plan to protect user access, protect data and devices, and protect apps.</p>
<h2>Success Criteria</h2>
<p>CompanyA wishes to enable all users to work from home and remote locations. Post pandemic, employees continue benefiting from a BYOD enabled hybrid and distributed workforce. Although some users currently have VPN access to web and SaaS apps, CompanyA has identified several security challenges that prevent a company-wide deployment. Therefore, CompanyA is implementing a VPN-less approach.</p>
<p>Since CompanyA does not manage end user's devices, it has no way to understand if the devices transfer any malicious content to their application infrastructure. Moreover, CompanyA's security policy does not require BYO devices to have agents installed to provide access to company resources.</p>
<p>Therefore, CompanyA has begun a threefold initiative to protect corporate resources accessed by BYO devices. To be successful, CompanyA defined a list of success criteria for the initiative. These criteria form the basis for the overarching design.</p>
<h3>Protecting User Access</h3>
<p>CompanyA must protect BYOD user access to their work environment. It must create a safe mode of access to all apps and data that is seamless for end users. Access must be secure, simple, and flexible to use any device and work from any location.</p>
<p>CompanyA has decided its security strategy is to move away from a traditional "castle and moat" approach to access and security. It is taking a Zero Trust approach instead of using a conventional appliance-based solution like a VPN that assumes users are trusted.</p>
<p>In CompanyA's focus on protecting user access, it has identified the following criteria for a successful design:</p>
<table>
<thead>
<tr>
<th><strong>Success Criteria</strong></th>
<th><strong>Description</strong></th>
<th><strong>Solution</strong></th>
</tr>
</thead>
<tbody>
<tr>
<td>Adaptive access for web and SaaS apps</td>
<td>Adaptive access for web and SaaS apps using Citrix Secure Private Access to determine the correct level of access</td>
<td>Citrix Secure Private Access</td>
</tr>
<tr>
<td>Adaptive access for client-server (virtual) apps</td>
<td>Adaptive access for client-server (virtual) apps using Citrix Secure Private Access and Citrix DaaS to determine the correct level of access</td>
<td>Citrix Secure Private Access and Citrix DaaS</td>
</tr>
<tr>
<td>End-user monitoring</td>
<td>Continuous monitoring and continuous assessment to protect against potential threats. Apps are continuously monitored for data exfiltration, and abnormal access times and locations.</td>
<td>Citrix Analytics</td>
</tr>
<tr>
<td>SaaS App Access</td>
<td>Users must access sanctioned SaaS applications with strong authentication that does not impact the experience</td>
<td>Citrix Secure Private Access</td>
</tr>
<tr>
<td>Web App Access</td>
<td>Users must be able to access sanctioned internal Web applications with strong authentication that does not impact the experience</td>
<td>Citrix Secure Private Access – Zero Trust Network Access</td>
</tr>
<tr>
<td>Personal Privacy</td>
<td>CompanyA must ensure user privacy while still protecting the user and endpoint from potential threats when using unsanctioned websites</td>
<td>Citrix Remote Browser Isolation service with Citrix Secure Internet Access (Using "do not decrypt" policies for sites with personal information)</td>
</tr>
</tbody>
</table>
<h3>Protecting Data</h3>
<p>CompanyA must protect its data accessed by BYO devices. It has a highly complex infrastructure of layers of applications, systems, and networks in environments consisting of on-premises data centers, public, and private clouds. This sprawl has led to a complicated stack of different tools and technologies for protecting data.</p>
<p>CompanyA is designing a consolidated, cloud-delivered security stack to meet the demands of their modern workplace. By centralizing data security policy across the overall solution – it minimizes redundant tasks, removes overlapping policies, and allows IT to protect data and devices across all locations.</p>
<p>In CompanyA's focus on protecting data, it has identified the following criteria for a successful design:</p>
<table>
<thead>
<tr>
<th><strong>Success Criteria</strong></th>
<th><strong>Description</strong></th>
<th><strong>Solution</strong></th>
</tr>
</thead>
<tbody>
<tr>
<td>BYO Devices</td>
<td>Users access Workspace with a BYO device and must not gain unfettered access to sanctioned resources.</td>
<td>Citrix Secure Private Access</td>
</tr>
<tr>
<td>SaaS and Web App Security</td>
<td>The user's ability to download, print, or copy data from SaaS apps containing financial, personal, or other sensitive information must be restricted.</td>
<td>Citrix Secure Private Access – Security Policies Enhanced Security</td>
</tr>
<tr>
<td>Protection from keyloggers</td>
<td>CompanyA must protect internal corporate resources when accessed from BYO devices. Devices can be compromised and have keylogging malware installed. Key logging must be blocked while using Citrix Workspace.</td>
<td>Citrix Secure Private Access – Security Policies with App Protection</td>
</tr>
<tr>
<td>Protection from screen scrapers</td>
<td>CompanyA must protect internal corporate resources when accessed from BYO devices. Devices can be compromised and have screen scraping malware installed. Screen scraping must be blocked while using Citrix Workspace.</td>
<td>Citrix Secure Private Access – Security Policies with App Protection</td>
</tr>
<tr>
<td>Internet Security</td>
<td>Protect users from potential internet threats hidden within emails, applications, and websites regardless of location.</td>
<td>Citrix Remote Browser Isolation service with Citrix Secure Internet Access - Security Policies with Malware Protection</td>
</tr>
<tr>
<td>Protect Devices</td>
<td>Protect devices and the underlying infrastructure from malware and Zero-Day threats</td>
<td>Citrix Remote Browser Isolation service with Citrix Secure Internet Access - Security Policies with Malware Protection</td>
</tr>
<tr>
<td>Protect Data</td>
<td>Protect data stored in sanctioned and unsanctioned apps</td>
<td>Citrix Remote Browser Isolation service with Citrix Secure Internet Access – Security Policies with Web Filtering</td>
</tr>
<tr>
<td>Compliance</td>
<td>Compliance and protecting users from malicious URLs</td>
<td>Citrix Remote Browser Isolation service with Citrix Secure Internet Access – Security Policies with Web Filtering</td>
</tr>
</tbody>
</table>
<h3>Protecting Apps</h3>
<p>CompanyA must protect its apps accessed by BYO devices. The company's use of BYO devices has increased the risk of compromised devices accessing corporate apps. Also, its attack surface has increased due to the company moving apps to the cloud and using SaaS apps. Its current on-prem secure web gateway and VPN deployments with rigid security policies cannot effectively protect applications in the cloud.</p>
<p>CompanyA must create a hybrid solution using both on-prem devices and cloud services for application security. On-prem devices block app-layer and DDoS attacks on-premises, while a cloud-based protection service prevent volumetric attacks and app-layer DDoS attacks in the cloud.</p>
<p>In CompanyA's focus on protecting apps, it has identified the following criteria for a successful design:</p>
<table>
<thead>
<tr>
<th><strong>Success Criteria</strong></th>
<th><strong>Description</strong></th>
<th><strong>Solution</strong></th>
</tr>
</thead>
<tbody>
<tr>
<td>Secure Access</td>
<td>CompanyA must protect internal corporate resources when accessed from untrusted and unsecured locations. Devices are not be allowed direct access to the internal network to help prevent malware intrusion.</td>
<td>Secure Private Access - VPN-less access</td>
</tr>
<tr>
<td>SaaS credential protection</td>
<td>The user's credentials to SaaS applications must include multifactor authentication.</td>
<td>Citrix Secure Private Access – Single Sign-On with SAML-only authentication</td>
</tr>
<tr>
<td>SaaS DLP</td>
<td>CompanyA requires their SaaS apps to use DLP controls inline.</td>
<td>Remote Browser Isolation service with Citrix Secure Internet Access</td>
</tr>
<tr>
<td>Protect web apps</td>
<td>CompanyA must stop volumetric DDoS attacks at the edge before they enter the network. CompanyA must protect both cloud apps and internal apps. CompanyA has apps deployed in multiple locations on cloud-hosted platforms. It must protect these apps from API-level threats like DDoS and Bot attacks, cross-site scripting, and SQL Injection attacks.</td>
<td>Citrix Web App Firewall</td>
</tr>
<tr>
<td>Compromised User Protection</td>
<td>IT must be able to quickly identify and mitigate threats posed by a compromised user account. IT must protect the entire threat surface with centralized orchestration capabilities to provide the complete security that the business requires.</td>
<td>Citrix Security Analytics</td>
</tr>
</tbody>
</table>
<h2>Conceptual Architecture</h2>
<p>This architecture meets all the preceding requirements while giving CompanyA the foundation to expand to more use cases in the future.</p>
<p></p><p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_protect-apps-and-data-on-byo-devices_01.png.cfcfdb1f2805c851f5cfa03cdbf66717.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="3323" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_protect-apps-and-data-on-byo-devices_01.png.cfcfdb1f2805c851f5cfa03cdbf66717.png" width="1609" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_protect-apps-and-data-on-byo-devices_01.png" loading="lazy" height="1110.21"></a></p>
<p>At a high level:</p>
<p><strong>User Layer</strong>: The user layer describes the end-user environment and endpoint devices used to connect to resources.</p>
<ul>
<li>
<p>End user devices are BYOD. The devices are unmanaged, and CompanyA does not require any agent to be installed on the device.</p>
</li>
<li>
<p>End users access resources from the Citrix Workspace web, resulting in an experience that is protected even on BYO devices.</p>
</li>
<li>
<p>End users can install Citrix Workspace App for more capabilities but are not required to.</p>
</li>
</ul>
<p><strong>Access Layer</strong>: The access layer describes how users authenticate to their Workspace and secondary resources.</p>
<ul>
<li>
<p>Citrix Workspace provides the primary authentication broker for all subsequent resources. CompanyA requires multifactor authentication to improve authentication security.</p>
</li>
<li>
<p>Many of the authorized resources within the environment utilize a different set of credentials than those credentials used for the primary Workspace identity. CompanyA will use the single sign-on capabilities of each service to protect these secondary identities better.</p>
</li>
<li>
<p>The applications only allow SAML-based authentication for SaaS apps. This prevents users from accessing the SaaS apps directly and bypassing the security policies.</p>
</li>
</ul>
<p><strong>Resource Layer</strong>: The resource layer authorizes specific client-server (virtual), web, and SaaS resources for defined users and groups while defining the security policies associated with the resource.</p>
<ul>
<li>
<p>CompanyA requires policies that disable the ability to print, download, copy and paste content from the managed resource to and from the BYO device.</p>
</li>
<li>
<p>Due to the unknown nature of the endpoint security status, CompanyA requires VPN-less access to resources using isolated browsers or virtualized sessions.</p>
</li>
<li>
<p>Highly sensitive SaaS apps can be given additional protection provided by the Citrix Workspace app. If the BYO Device does not have app protection available, adaptive access policies prevent the user from launching the app.</p>
</li>
<li>
<p>Since CompanyA allows access to internal web apps from BYO devices, Citrix Web App Firewall must protect the resource from attacks coming from potentially compromised endpoints.</p>
</li>
</ul>
<p><strong>Control Layer</strong>: The control layer defines how the underlying solution adjusts based on the underlying activities of the user.</p>
<ul>
<li>
<p>Even within a protected Workspace resource, users can interact with untrusted Internet resources. CompanyA uses Secure Internet Access to protect users from external threats when using SaaS apps, web apps, and virtual apps and desktops.</p>
</li>
<li>
<p>If users must access personal web sites such as health and finance on their BYO devices through CompanyA resource, appropriate policies protect users' privacy.</p>
</li>
<li>
<p>CompanyA requires a Security Analytics service to identify compromised users and automatically maintain a secure environment.</p>
</li>
</ul>
<p>The subsequent sections provide greater detail into specific design decisions for CompanyA's BYOD protection reference architecture.</p>
<h2>Access Layer</h2>
<h3>Authentication</h3>
<p>CompanyA has determined that providing access to resources with a user name and password does not provide adequate security. Multifactor authentication is required for all users. CompanyA uses Active Directory + Token for its multifactor method and the Citrix Gateway service to handle all authentication requests.</p>
<p>Citrix Workspace incorporates a cloud-delivered Time-based One-Time Password (TOTP) providing multifactor authentication. Users register with the TOTP service and create a pre-shared secret key within the authenticator app on a mobile device.</p>
<p>Once the user successfully registers with the TOTP micro-service, the user must use the token, along with their Active Directory credentials, to successfully authenticate to Citrix Workspace.</p>
<p></p><p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_protect-apps-and-data-on-byo-devices_02.png.e9493314ec8dc83bef7aac86fdaaa8f7.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="3325" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_protect-apps-and-data-on-byo-devices_02.png.e9493314ec8dc83bef7aac86fdaaa8f7.png" width="1321" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_protect-apps-and-data-on-byo-devices_02.png" loading="lazy" height="686.92"></a></p>
<p>Refer to the <a href="/en-us/tech-zone/learn/tech-briefs/workspace-identity.html#active-directory-with-totp">Citrix Workspace Active Directory with TOTP Tech Brief</a> to gain adequate knowledge on Active Directory with TOTP concepts and terminology.</p>
<h3>Zero Trust Network Access</h3>
<p>CompanyA uses the Citrix Secure Private Access service and Citrix DaaS to provide access to SaaS and internal web apps, virtual apps, and virtual desktops. These services are a Zero Trust Network Access solution, which is a more secure alternative to a traditional VPN.</p>
<p>The Secure Private Access service and Citrix DaaS use the cloud connectors' outbound control channel connections. Those connections allow the user to access internal resources remotely. However, those connections are:</p>
<ul>
<li>Limited in scope so that only the defined resource is accessible</li>
<li>Based on the user's primary, secured identity</li>
<li>Only for specific protocols, which disallow network traversal</li>
</ul>
<p></p><p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_protect-apps-and-data-on-byo-devices_03.png.4d4a3660cb5995d17fa81e417664e1cd.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="3327" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_protect-apps-and-data-on-byo-devices_03.png.4d4a3660cb5995d17fa81e417664e1cd.png" width="1429" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_protect-apps-and-data-on-byo-devices_03.png" loading="lazy" height="914.56"></a></p>
<h2>Resource Layer</h2>
<h3>Resource Security Policies</h3>
<p>CompanyA wants to limit the risk of data loss and data remanence on BYO devices. Within the different application types, CompanyA incorporates numerous restrictions to prevent users from copying, downloading, or printing data.</p>
<p>CompanyA has developed prescriptive access models to meet its security requirements:</p>
<ul>
<li>BYO devices <strong>without</strong> the Workspace app use Secure Private Access to launch a SaaS or web app through an isolated browser using the Citrix Remote Browser Isolation service. Secure Private Access provides SSO and enforces adaptive access policies such as download, print, copy, and paste restrictions to web and SaaS apps.</li>
<li>BYO devices <strong>with</strong> the Workspace app use Secure Private Access to launch a Saas or web app using the Citrix Enterprise Browser (formerly Citrix Workspace Browser)- a local, containerized browser. The browser creates a connection to the SaaS app or a Zero Trust Network Access connection to the internal web app. Secure Private Access provides SSO and enforces adaptive access policies (download, print, copy, and paste restrictions).</li>
<li>App Protection policies protect web and SaaS apps using screen scraping and key-logger restrictions. If the BYO Device does not have app protection available, adaptive access policies prevent the user from launching the app.</li>
<li>When users access virtual apps and desktops, Citrix DaaS provides SSO and enforces lockdown policies. The service restricts downloading, printing, and unidirectional and bidirectional copy &amp; paste actions.</li>
</ul>
<p></p><p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_protect-apps-and-data-on-byo-devices_35.png.82aa6f66736d9e46f732e1fae4806800.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="3329" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_protect-apps-and-data-on-byo-devices_35.png.82aa6f66736d9e46f732e1fae4806800.png" width="1849" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_protect-apps-and-data-on-byo-devices_35.png" loading="lazy" height="942.99"></a></p>
<p>CompanyA has both sensitive and regular SaaS and Web apps and will apply adaptive access policies based on their security requirements. As a baseline, CompanyA has defined the following policies (with the ability to relax policies as needed based on user and application).</p>
<table>
<thead>
<tr>
<th><strong>Category</strong></th>
<th><strong>SaaS Apps</strong></th>
<th><strong>Sensitive SaaS Apps</strong></th>
<th><strong>Web Apps</strong></th>
<th><strong>Sensitive Web Apps</strong></th>
<th><strong>Virtual Apps and Desktops</strong></th>
</tr>
</thead>
<tbody>
<tr>
<td>Clipboard access</td>
<td>Allowed</td>
<td>Denied</td>
<td>Allowed</td>
<td>Denied</td>
<td>Denied</td>
</tr>
<tr>
<td>Printing</td>
<td>Allowed</td>
<td>Denied</td>
<td>Allowed</td>
<td>Denied</td>
<td>Denied</td>
</tr>
<tr>
<td>Navigation</td>
<td>Denied</td>
<td>Denied</td>
<td>Denied</td>
<td>Denied</td>
<td>Not Applicable</td>
</tr>
<tr>
<td>Downloads</td>
<td>Allowed</td>
<td>Denied</td>
<td>Allowed</td>
<td>Denied</td>
<td>Denied</td>
</tr>
<tr>
<td>Watermark</td>
<td>Disabled</td>
<td>Enabled</td>
<td>Disabled</td>
<td>Enabled</td>
<td>Enabled</td>
</tr>
<tr>
<td>Keylogging Prevention*</td>
<td>Disabled</td>
<td>Enabled</td>
<td>Disabled</td>
<td>Enabled</td>
<td>Enabled</td>
</tr>
<tr>
<td>Screenshot Prevention*</td>
<td>Disabled</td>
<td>Enabled</td>
<td>Disabled</td>
<td>Enabled</td>
<td>Enabled</td>
</tr>
</tbody>
</table>
<h2>Control Layer</h2>
<h3>Web App and API Protection</h3>
<p>When users authenticate to Citrix Workspace, they access private web apps on BYO devices. To better protect the on-prem private web apps, CompanyA uses the Citrix Application Delivery Controller Bot Management and Web App Firewall components.</p>
<p>The bot management component of the Application Delivery Controller detects a bot request and prevents it from inundating the system. The Web App Firewall protects public-facing apps from attacks. These types of attacks would typically be buffer overflow, SQL injection, and cross-site scripting. Web App Firewall detects and denies these attacks from impacting the data and the app.</p>
<p>CompanyA also uses the Citrix Web App and API protection service to prevent volumetric attacks and app-layer DDoS attacks against webs apps which are not on-prem.</p>
<p></p><p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_protect-apps-and-data-on-byo-devices_04.png.83fbd71da2892d3ed6265a92b251c5a2.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="3331" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_protect-apps-and-data-on-byo-devices_04.png.83fbd71da2892d3ed6265a92b251c5a2.png" width="1616" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_protect-apps-and-data-on-byo-devices_04.png" loading="lazy" height="1195.84"></a></p>
<h3>Secure Internet Access</h3>
<p>As users interact with SaaS, web, and virtual apps they often access non-CompanyA sanctioned internet sites. To help protect the users and organization, CompanyA incorporates the Citrix Remote Browser Isolation service with Citrix Secure Internet Access and Security Analytics into the design.</p>
<p></p><p><a href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_protect-apps-and-data-on-byo-devices_05.png.166c9c7c0ee018d3d2f675b55b6cf4e4.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="3333" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_protect-apps-and-data-on-byo-devices_05.png.166c9c7c0ee018d3d2f675b55b6cf4e4.png" width="1548" class="ipsImage ipsImage_thumbnailed" alt="reference-architectures_protect-apps-and-data-on-byo-devices_05.png" loading="lazy" height="1006.2"></a></p>
<p>Any CompanyA related internet traffic to/from the library of apps, desktops, and devices within the organization routes through the Secure Internet Access service. The service scans any URL to verify it is safe. Functionalities within specific public sites are denied or modified. Downloads are automatically scanned and verified.</p>
<ul>
<li>When users access virtual apps and desktops, the Citrix DaaS infrastructure has the Citrix Secure Internet Access agent installed to proxy traffic.</li>
<li>When users access web and SaaS resources with the Citrix Remote Browser Isolation service, Citrix Secure Internet Access is used as it's Secure Web Gateway.</li>
</ul>
<p>As many websites are now encrypted, part of this security process is decrypting the traffic and inspecting. The service does not decrypt specific categories of websites, such as financial and health-related sites, to ensure employee privacy.</p>
<p>In designing the internet security policy, CompanyA wanted to start with a baseline policy. As CompanyA continues to assess risks within the organization, it will relax/strengthen the policies as appropriate.</p>
<p>By default, all categories are decrypted and allowed. CompanyA has the following policies applied globally:</p>
<table>
<thead>
<tr>
<th><strong>Category</strong></th>
<th><strong>Change</strong></th>
<th><strong>Reason</strong></th>
</tr>
</thead>
<tbody>
<tr>
<td>Financial and Investment</td>
<td>Do not decrypt</td>
<td>Employee privacy concerns</td>
</tr>
<tr>
<td>Health</td>
<td>Do not decrypt</td>
<td>Employee privacy concerns</td>
</tr>
<tr>
<td>Adult Content</td>
<td>Block</td>
<td>Company Policy</td>
</tr>
<tr>
<td>Drugs</td>
<td>Block</td>
<td>Company Policy</td>
</tr>
<tr>
<td>File Sharing</td>
<td>Block</td>
<td>Company Policy</td>
</tr>
<tr>
<td>Gambling</td>
<td>Block</td>
<td>Company Policy</td>
</tr>
<tr>
<td>Illegal Activity</td>
<td>Block</td>
<td>Company Policy</td>
</tr>
<tr>
<td>Malicious Sources</td>
<td>Block</td>
<td>Company Policy</td>
</tr>
<tr>
<td>Malware Content</td>
<td>Block</td>
<td>Company Policy</td>
</tr>
<tr>
<td>Porn/Nudity</td>
<td>Block</td>
<td>Company Policy</td>
</tr>
<tr>
<td>Virus &amp; Malware</td>
<td>Block</td>
<td>Company Policy</td>
</tr>
<tr>
<td>Violence/Hate</td>
<td>Block</td>
<td>Company Policy</td>
</tr>
</tbody>
</table>
<p>Refer to the <a href="/en-us/tech-zone/learn/tech-briefs/secure-internet-access.html">Citrix Secure Internet Access Tech Brief</a> to gain additional information regarding the web filtering and protection features.</p>
<h2>Summary</h2>
<p>Based on the preceding requirements, CompanyA created the high-level conceptual architecture. The general flow and requirements are that end users require:</p>
<ul>
<li>Protected access to SaaS apps and VPN-less access to internal web apps via Citrix Secure Private Access</li>
<li>Adaptive authentication before being granted access to external or internal resources via Citrix Secure Private Access</li>
<li>Zero Trust access to specific resources via Citrix Secure Private Access</li>
<li>Protected access to internet traffic from the web apps, or virtual apps and desktops via using Citrix Remote Browser Isolation service with Citrix Secure Internet Access</li>
<li>
<p>Protected access to web apps accessed from BYO devices with Citrix Web Application Firewall</p>
<p>CompanyA is using Citrix to build a modern app delivery environment that enforces Zero Trust Network Access and provides end-to-end protection of its resources.</p>
</li>
</ul>]]></description><guid isPermaLink="false">95</guid><pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate></item><item><title>Reference Architecture: Remote PC Access</title><link>https://community.citrix.com/tech-zone/design/reference-architectures/remote-pc/</link><description><![CDATA[<h2>
	Overview of Remote PC Access
</h2>

<p>
	The Citrix Remote PC Access solution enables end users to securely access their physical windows desktops and laptops in their office from anywhere and from any device using the full stack of HDX capabilities for the best user experience.
</p>

<p>
	The Virtual Delivery Agent (VDA) which is installed on the office PC, registers its states with the Cloud Connector (Citrix Cloud) or Delivery Controller (on-premises). It allows administrators to manage the physical PCs within the VDI implementation including access, policy, and full HDX stack of user experience capabilities.
</p>

<p>
	A user can have access to multiple desktops, including more than one Remote PC Access or a combination of Remote PC Access and VDI desktops. This solution is an extension of Citrix Virtual Apps and Desktops, so providing and managing remote access for users to their office PCs is as simple as it is for virtual applications and desktops.
</p>

<h2>
	Sample use-cases for Citrix Remote PC Access solution
</h2>

<p>
	In this section, we discuss the use cases where organizations can plug in Citrix Remote PC Access or replace an existing cumbersome remote access solution with Citrix Remote PC Access to deliver the best user experience for remote access.
</p>

<h2>
	Use-Case #1
</h2>

<p>
	A customer who has deployed an on-premises Citrix Virtual Apps and Desktops solution is also keen to enable remote access for their end-users by providing connectivity to their office PCs when users need to work from home. To fulfill the requirement, Citrix administrators typically publish the RDP client application from a Citrix Virtual Apps solution, which allows the user to access the RDP client application via an HDX connection. The user types-in their desktop IP address or machine name on the RDP client, then the user authenticates to establish the RDP connection from the Virtual Apps Server. This connection is then using the Virtual Apps server as a protocol transition proxy server to access the physical PC and required resources instead of end-to-end single protocol.
</p>

<p>
	The customer can replace the restrictive RDP proxy solution with the Remote PC Access HDX solution and securely integrate within an existing Citrix Virtual Apps and Desktops solution. Using the Remote PC Access, users are able to access the Office PCs with single sign-on via the secure HDX connection eliminating multiple authentication prompts. Also, it allows the enterprise administrators to control the office PC access by applying the restricted HDX policies and allowing the HDX access only to the assigned desktop. The restricted HDX policies help to enable/disable the Clipboard Redirection, Printer Redirection, and Client-Drive Mapping.
</p>

<h2>
	Use-Case #2
</h2>

<p>
	An enterprise organization has a VPN solution to allow their employees to access the enterprise network remotely. To achieve this requirement, the network administrator has enabled VPN tunnels with dual-factor authentication. After the VPN authentication, users then create their own RDP links to access the machines which reside on the LAN. Users access the remote desktop and applications via the VPN secure connection. In this solution, administrators need to apply Network Access Controls to ensure users are connecting from allowed systems and apply policies to enable/disable certain protocols to restrict the data access. Organization security policy insists that the user connection will be allowed only when pre-authentication scans are valid in remote user’s PCs, and sometimes require certain OS patch levels to maintain a secure perimeter from viruses and malware. The organization has found that the users are unhappy with the VPN solution due to frequent disconnection and rejection of VPN connections when antivirus updates occur and other security failures.
</p>

<p>
	The IT team can implement the Citrix Remote PC Access solution to replace the VPN/RDP solution. They can deploy a dedicated Remote PC Access site for allowing users to access their allocated office physical PCs. Using Remote PC Access, users are able to seamlessly access their Office PCs over an HDX connection with the adequate SmartAccess security policies which disable the client drive, clipboard mapping and printer connections. The Citrix HDX policies allow the enterprise administrators to control the user access to the desktop and their data by preventing the Key-logging and screen capture technologies.
</p>

<h2>
	Use-Case #3
</h2>

<p>
	An existing Citrix DaaS customer who is looking to gain more value from Citrix to enable exciting new ways to deliver remote access to Office PCs alongside their existing Citrix deployment.
</p>

<p>
	To achieve the above requirement, the IT administrator can deploy the Remote PC Access solution to enable remote access to Office PCs and integrate within the existing Citrix deployment. To enable the access for end users, the Citrix administrator can create a Remote PC Access Machine Catalog and Delivery Group on Citrix Cloud and assign the machines to respective users. This allows the end users to access their Office PCs using the existing Citrix URL. The existing Citrix HDX and SmartAccess policies still allow the Citrix administrators to control the access to the office desktops and their data.
</p>

<h2>
	Use-Case #4
</h2>

<p>
	An enterprise customer opted to deploy the Remote PC Access solution to provide access to office PCs. Citrix Remote PC Access was considered since it is easier to migrate their office PCs to Citrix VDI during the PC refresh cycle so that the organization can save capex costs.
</p>

<p>
	With VDI, organizations can avoid an upgrade or hardware acquisition costs associated with a PC refresh by extending the use of current hardware and eliminating countless IT hours spent on managing them. Migrating to cloud-based VDI (DaaS) has the additional benefit of helping to improve cost savings, reduce administrative investments and provide a workspace of the future.
</p>

<h2>
	Conceptual architectures for Remote PC Access on Citrix Cloud
</h2>

<h3>
	Remote PC Access via Citrix Cloud with Workspace and Gateway service
</h3>

<p>
	In this architecture, the control plane is hosted on Citrix Cloud and managed by Citrix along with the Workspace and Gateway Service which enables the users to connect the Remote PC Access via the Citrix Cloud environment.
</p>

<p>
	The conceptual architecture for the Citrix Remote PC Access deployment is shown below. Let’s review the design framework of the Remote PC Access solution for both Citrix Cloud and on-premises deployments regarding each layer on this architecture to understand the workflow of the Remote PC Access solution.
</p>

<p>
	 
</p>

<p>
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="reference-architectures_remote-pc_001.png" data-fileid="3335" href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_remote-pc_001.png.01cf7c8746cbfa4acb9e03e923410f24.png" rel=""><img alt="reference-architectures_remote-pc_001.png" class="ipsImage ipsImage_thumbnailed" data-fileid="3335" style="height: auto;" width="1280" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_remote-pc_001.png.01cf7c8746cbfa4acb9e03e923410f24.png" loading="lazy" height="716.8"></a>
</p>

<p>
	 
</p>

<h3>
	Remote PC Access via Citrix Cloud with Workspace and on-premises Gateway
</h3>

<p>
	In this architecture, the control plane is hosted on Citrix Cloud and managed by Citrix along with Workspace. The on-premises Gateway is included to enable the users to connect to the Remote PC Access solution over the internet.
</p>

<p>
	 
</p>

<p>
	 
</p>

<p>
	 
</p>

<h3>
	Remote PC Access via Citrix Cloud with on-premises Gateway and StoreFront
</h3>

<p>
	In this architecture, the control plane is hosted on Citrix Cloud and managed by Citrix along with Workspace. The on-premises StoreFront and Gateway which enables the users to connect to the Remote PC Access over the internet via the on-premises StoreFront and Gateway.
</p>

<p>
	 
</p>

<p>
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="reference-architectures_remote-pc_003.png" data-fileid="3339" href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_remote-pc_003.png.b8f9baa32410191cbe5719a21c790693.png" rel=""><img alt="reference-architectures_remote-pc_003.png" class="ipsImage ipsImage_thumbnailed" data-fileid="3339" style="height: auto;" width="1280" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_remote-pc_003.png.b8f9baa32410191cbe5719a21c790693.png" loading="lazy" height="716.8"></a>
</p>

<p>
	 
</p>

<p>
	The conceptual architecture for the Citrix Remote PC Access deployment was discussed above. Let’s review the design framework of the Remote PC Access solution for Citrix Cloud regarding each layer on this architecture to understand the workflow of Remote PC Access.
</p>

<h3>
	User Layer
</h3>

<p>
	This layer describes the end user for the Citrix environment and the end-point devices that are used to connect to office resources.
</p>

<p>
	Users connect to their office PCs remotely over the Internet by using the Citrix Remote PC Access solution. Users use their personal devices like desktops, laptops, and tablet devices to connect to their office PC hence it is recommended to install the latest Citrix Workspace app client on the personal endpoint devices. Also, users can utilize the HTML5 version of Workspace in cases where they cannot install the full version of Workspace app on the devices.
</p>

<p>
	Users navigate to the Citrix Cloud Workspace URL <code><a href="https://customer.cloud.com" ipsnoembed="false" rel="external nofollow">https://customer.cloud.com</a></code> via the browser to access the office PC from their endpoint device over the internet. The login page is presented to the user to validate their identity using various authentication methods. Once authenticated, the user is presented with the resources page where the assigned applications and desktop are shown. The user clicks the <strong>Remote PC Access Desktop</strong> icon to launch the desktop. Citrix Workspace app which is installed on their endpoint device launches the desktop and provides the seamless and optimal HDX experience as if the user was working from the office.
</p>

<p>
	 
</p>

<p>
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="reference-architectures_remote-pc_004.png" data-fileid="3341" href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_remote-pc_004.png.d7ac86dba11ef84738e2ee61e43d2a82.png" rel=""><img alt="reference-architectures_remote-pc_004.png" class="ipsImage ipsImage_thumbnailed" data-fileid="3341" style="height: auto;" width="1280" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_remote-pc_004.png.d7ac86dba11ef84738e2ee61e43d2a82.png" loading="lazy" height="716.8"></a>
</p>

<p>
	 
</p>

<h3>
	Access Layer
</h3>

<p>
	This layer describes how the end users connect to the Citrix Remote PC Access environment and it provides design details of access methodology via Citrix Cloud, resource location connectivity, Citrix Gateway, and StoreFront requirements for on-premises access methodology.
</p>

<p>
	<strong>Citrix Workspace platform</strong> is a foundational component of Citrix Cloud that enumerates and delivers all the digital workspace resources to the users. Users access the Workspace, which is the Citrix Cloud hosted portal that presents users with their resources. They do so by navigating to their company’s cloud.com URL (for example <code><a href="https://customer.cloud.com" ipsnoembed="false" rel="external nofollow">https://customer.cloud.com</a></code>) or a custom URL. Once there, users are prompted to enter their credentials to gain access to their resources.
</p>

<p>
	Workspace supports various authentication methods: Active Directory, two-factor authentication with Active Directory + one-time password, and Azure AD. More authentication options are being added in the future. For more details, refer to the Workspace <a href="https://docs.citrix.com/en-us/citrix-cloud/workspace-configuration.html" rel="external nofollow">documentation</a>.
</p>

<p>
	The Cloud Connector is a component that is installed at the resource location to connect the resources up to Citrix Cloud. A set of Cloud Connectors installed at the resource location enables access to the customer’s Active Directory domain on Citrix Cloud for authentication. Workspace configuration has multiple options to configure various authentication methods and access flow for the users that includes the traditional on-premises Citrix Gateway and StoreFront that can be used to access the environment.
</p>

<p>
	When the users access the Citrix Cloud workspace URL (<code><a href="https://customer.cloud.com" ipsnoembed="false" rel="external nofollow">https://customer.cloud.com</a></code>), they are asked to enter the Active Directory domain credentials along with the various authentication methods, then it is validated against their on-premises Active Directory domain via Cloud Connector.
</p>

<p>
	 
</p>

<p>
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="reference-architectures_remote-pc_005.png" data-fileid="3343" href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_remote-pc_005.png.6513b903ecefcdb04e6b6bdffba5c54b.png" rel=""><img alt="reference-architectures_remote-pc_005.png" class="ipsImage ipsImage_thumbnailed" data-fileid="3343" style="height: auto;" width="1280" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_remote-pc_005.png.6513b903ecefcdb04e6b6bdffba5c54b.png" loading="lazy" height="716.8"></a>
</p>

<p>
	 
</p>

<p>
	Once the credentials are validated, users are then presented with the workspace resources page, where they can access the virtual apps, desktops, and Remote PC Access resources which are assigned. When the user selects the Remote PC Access Desktop (Office PC) to launch, the user connects using the Workspace app through SSL to the Gateway with HDX. The HDX connection is established from the user’s personal device to the Citrix Gateway Service on the Citrix Cloud.
</p>

<p>
	<strong>Citrix Gateway Service</strong> provides a secure remote access solution with diverse Identity and Access Management (IdAM) capabilities, delivering a unified experience into SaaS apps, heterogeneous Virtual Apps and Desktops, Remote PC Access and so forth. The Gateway service then establishes the connection to on-premises Cloud Connectors via SSL and it connects to the Remote PC Access Desktop via TCP port 1494/2598 to provide a seamless HDX experience.
</p>

<h3>
	Control Layer
</h3>

<p>
	This layer describes details surrounding the management components used to support and control the Citrix environment, which includes site design for the Citrix Cloud services. For the Citrix environment, delivery controllers, SQL database, Studio, Director, and Licensing are the core components in the Control layer and those are provisioned on Citrix Cloud and managed by Citrix.
</p>

<p>
	 
</p>

<p>
	 
</p>

<p>
	 
</p>

<p>
	The cloud-provisioned delivery controllers communicate with on-premises Cloud Connectors to update the resource status and Active Directory for authentication. Citrix Administrators use the Citrix Cloud portal to manage the Virtual Apps and Desktops environment and entitlements. The <strong>“Manage”</strong> button on the Virtual Apps and Desktops page allows admins to launch Citrix Studio to administer the environment. Using Citrix Studio, the Machine Catalog and Delivery Group for Remote PC Access are created along with Citrix Policies to secure the environment.
</p>

<p>
	 
</p>

<p>
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="reference-architectures_remote-pc_007.png" data-fileid="3347" href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_remote-pc_007.png.6c628475f02c721b508adeffffbc5848.png" rel=""><img alt="reference-architectures_remote-pc_007.png" class="ipsImage ipsImage_thumbnailed" data-fileid="3347" style="height: auto;" width="1280" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_remote-pc_007.png.6c628475f02c721b508adeffffbc5848.png" loading="lazy" height="716.8"></a>
</p>

<p>
	 
</p>

<p>
	The “Monitor” tab in the Citrix Cloud portal allows Citrix admins to access the Citrix Director console to monitor the app and desktop infrastructure with session control, reporting, alerting, and more.
</p>

<h3>
	Resource Layer
</h3>

<p>
	This layer captures information about the resources which is accessed by the end user from the Citrix environment.
</p>

<p>
	The Resource Layer is focused on where all the Office PCs reside in the deployment and it is called a Resource Location on Citrix Cloud. A resource location is where the customer’s Citrix workload and other operation tools reside, whether that’s a public or private cloud, a branch office, or a data center. Resource locations contain different resources depending on which Citrix Cloud services the customer is using and the services that they want to provide to subscribers.
</p>

<p>
	Citrix Cloud can have multiple resource locations for a cloud subscription. The Citrix Virtual Delivery Agent, which is installed on Office PCs, registers the state of the PC with Cloud Connectors. Cloud Connectors help in updating the resource status to the delivery controllers on Citrix Cloud. The network administrator configures the necessary firewall rules for Office PCs to communicate with Cloud Connectors.
</p>

<p>
	 
</p>

<p>
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="reference-architectures_remote-pc_008.png" data-fileid="3349" href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_remote-pc_008.png.25bf297a7963dc5053b3dc47e32da386.png" rel=""><img alt="reference-architectures_remote-pc_008.png" class="ipsImage ipsImage_thumbnailed" data-fileid="3349" style="height: auto;" width="1280" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_remote-pc_008.png.25bf297a7963dc5053b3dc47e32da386.png" loading="lazy" height="716.8"></a>
</p>

<p>
	 
</p>

<p>
	The Citrix Administrator can create multiple Machine Catalogs and Delivery Groups for Remote PC Access to identify the Office PCs by location, department, or other factors. All these resources can be monitored using the Citrix Director console from Citrix Cloud.
</p>

<h3>
	Platform Layer
</h3>

<p>
	This layer describes the components and cloud provisioning methods that are used for the Citrix environment focusing on hardware, storage, and virtualization details.
</p>

<p>
	In this architecture for Remote PC Access, the core control infrastructure components are residing within the Citrix Cloud and managed by Citrix hence the requirement is to deploy only the Cloud Connectors in the data center so that the VDAs (Office PCs) can communicate with Cloud Connector to register its state with the Citrix Cloud.
</p>

<p>
	To host the Cloud Connector virtual machines, the administrator deploys the server hardware with the required amount of resources. The Citrix administrator installs and configures the Citrix Hypervisor on the server hardware to create the Virtual Machines for Cloud Connectors. Once the Virtual Machine is created, the Citrix Admin accesses the Citrix Cloud portal from the virtual machine and installs the Cloud Connectors using their subscription account.
</p>

<p>
	 
</p>

<p>
	 
</p>

<p>
	 
</p>

<h3>
	Operations Layer
</h3>

<p>
	This Layer focuses on the tools or components which are required to manage the Citrix workloads and Remote PC Access desktops within Resource Locations.
</p>

<p>
	For the Citrix Cloud architecture, the key tool is the Cloud Portal to access the control infrastructure hosted on Citrix Cloud. The Cloud portal enables administrators to access the Citrix Studio and Citrix Director consoles. Citrix Studio helps administrators to configure the Machine Catalogs, Delivery Groups, and Citrix policies.
</p>

<p>
	Citrix Director helps to monitor the complete Citrix environment. Using the Cloud portal, administrators can monitor Cloud Connector status and also it helps to configure various authentication methods and different access methodologies.
</p>

<h2>
	Conceptual architecture for Remote PC Access with on-premises deployment
</h2>

<p>
	The conceptual architecture for the Citrix Remote PC Access with on-premises deployment is shown below.
</p>

<p>
	 
</p>

<p>
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="reference-architectures_remote-pc_010.png" data-fileid="3353" href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_remote-pc_010.png.34ea76e4a14849a090e70af7e346b986.png" rel=""><img alt="reference-architectures_remote-pc_010.png" class="ipsImage ipsImage_thumbnailed" data-fileid="3353" style="height: auto;" width="1280" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_remote-pc_010.png.34ea76e4a14849a090e70af7e346b986.png" loading="lazy" height="716.8"></a>
</p>

<p>
	 
</p>

<p>
	Let’s review the design framework of the Remote PC Access solution for on-premises deployments regarding each layer on this architecture to understand the workflow.
</p>

<h3>
	User Layer
</h3>

<p>
	This layer describes the end user for the Citrix environment and the end-point devices that are used to connect to office resources.
</p>

<p>
	Users connect to their office PCs remotely over the Internet by using the Citrix Remote PC Access solution. Users use their personal devices like desktops, laptops, and tablet devices to connect to their office PC hence it is recommended to install the latest Citrix Workspace app client on the personal endpoint devices. Also, users can utilize the HTML5 version of Workspace where they cannot install the full version of the Workspace app on the devices.
</p>

<p>
	Users navigate to the on-premises Citrix Gateway URL <code><a href="https://citrix.company.com" ipsnoembed="false" rel="external nofollow">https://citrix.company.com</a></code> via the browser to access the office PC and other resources from their endpoint device over the internet. The login page is presented to the user to validate their identity using multifactor authentication. Once authenticated the user is presented with the resources page where the assigned applications and desktops are shown. The user clicks the <strong>Remote PC Access Office Desktop</strong> icon to launch the desktop. Citrix Workspace app which is installed on their endpoint device launches the desktop and provides the seamless and optimal HDX experience as if the user was working from the office.
</p>

<p>
	 
</p>

<p>
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="reference-architectures_remote-pc_011.png" data-fileid="3355" href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_remote-pc_011.png.28ac3a9e1d867d7df4ffe2ad38c96574.png" rel=""><img alt="reference-architectures_remote-pc_011.png" class="ipsImage ipsImage_thumbnailed" data-fileid="3355" style="height: auto;" width="1280" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_remote-pc_011.png.28ac3a9e1d867d7df4ffe2ad38c96574.png" loading="lazy" height="716.8"></a>
</p>

<p>
	 
</p>

<h3>
	Access Layer
</h3>

<p>
	This layer describes how the end users connect to the Citrix Remote PC Access environment and it provides design details of access methodology for an on-premises deployment.
</p>

<p>
	Users access the existing Citrix Gateway URL (<code><a href="https://citrix.company.com" ipsnoembed="false" rel="external nofollow">https://citrix.company.com</a></code>) which was configured for the Citrix Virtual Apps and Desktops solution to access the Remote PC Access as well. When navigating to the Citrix Gateway URL, users are presented with a login page with multiple authentication methods including Active Directory. Citrix Gateway supports various authentication methods, refer to the product documentation for complete details.
</p>

<p>
	 
</p>

<p>
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="reference-architectures_remote-pc_012.png" data-fileid="3357" href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_remote-pc_012.png.97deea418bf8a2221d1dd2defdcd3d6b.png" rel=""><img alt="reference-architectures_remote-pc_012.png" class="ipsImage ipsImage_thumbnailed" data-fileid="3357" style="height: auto;" width="1280" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_remote-pc_012.png.97deea418bf8a2221d1dd2defdcd3d6b.png" loading="lazy" height="716.8"></a>
</p>

<p>
	 
</p>

<p>
	Once the credentials are validated, users are then presented with the traditional Citrix StoreFront/Workspace resources page where they can access the Virtual Apps, Desktops, and Remote PC Access which are assigned. When the user selects the Remote PC Access (Office PC) to launch, the user connects using the Workspace app through SSL to the Gateway with HDX. The HDX connection is established from the user’s personal device to the on-premises Citrix Gateway with SSL and then it connects to the Office PC via TCP port 1494/2598 to provide a seamless HDX experience.
</p>

<h3>
	Control Layer
</h3>

<p>
	This layer describes details surrounding the management components used to support and control the Citrix environment, which includes site design for the on-premises Citrix environment.
</p>

<p>
	The Control Layer for an on-premises deployment includes all infrastructure related components supporting the overall Citrix solution which includes the Citrix Delivery controllers, SQL Database, and Licensing.
</p>

<p>
	 
</p>

<p>
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="reference-architectures_remote-pc_013.png" data-fileid="3359" href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_remote-pc_013.png.08e8a17886ebe6c9ccd93a98b2d24bf8.png" rel=""><img alt="reference-architectures_remote-pc_013.png" class="ipsImage ipsImage_thumbnailed" data-fileid="3359" style="height: auto;" width="1280" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_remote-pc_013.png.08e8a17886ebe6c9ccd93a98b2d24bf8.png" loading="lazy" height="716.8"></a>
</p>

<p>
	 
</p>

<p>
	Existing Virtual Apps and Desktops deployments can be easily configured with Remote PC Access by just creating the Machine Catalog and Delivery Groups by selecting Remote PC Access.
</p>

<p>
	Customers also have the option to have a dedicated environment for Remote PC Access by deploying the new delivery controllers with a new Remote PC Access Site, licensing, and SQL database which can be integrated with the existing StoreFront and Citrix Gateway for unified and seamless access. Using Citrix Studio, the Machine Catalog and Delivery Group for Remote PC Access are created along with Citrix Policies to secure the environment.
</p>

<p>
	 
</p>

<p>
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="reference-architectures_remote-pc_014.png" data-fileid="3361" href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_remote-pc_014.png.3c6c429253b3c4c9a5c95a7111bc3cd4.png" rel=""><img alt="reference-architectures_remote-pc_014.png" class="ipsImage ipsImage_thumbnailed" data-fileid="3361" style="height: auto;" width="1280" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_remote-pc_014.png.3c6c429253b3c4c9a5c95a7111bc3cd4.png" loading="lazy" height="716.8"></a>
</p>

<p>
	 
</p>

<h3>
	Resource Layer
</h3>

<p>
	The Resource Layer captures the information about where the Office PCs reside in the enterprise network and how these machines can be configured for Remote PC Access.
</p>

<p>
	In this architecture, the Office PC resides on the LAN segment at the customer environment. Those Office PCs are installed with Virtual Delivery Agents (VDAs) to register with on-premises Delivery Controllers. The Citrix Administrator can configure a Remote PC Access Machine Catalog and Delivery Group to enable access for the end users.
</p>

<p>
	Deploying the VDA can be managed by existing Electronic Software Delivery (ESD) systems, like a Microsoft System Center Configuration Manager (SCCM). Best practice for upgrades is to reboot, uninstall the VDA software, reboot, install the latest VDA, then reboot a final time.
</p>

<p>
	 
</p>

<p>
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="reference-architectures_remote-pc_015.png" data-fileid="3363" href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_remote-pc_015.png.ca3cd3d70d9c78dff4020c01f01b9d17.png" rel=""><img alt="reference-architectures_remote-pc_015.png" class="ipsImage ipsImage_thumbnailed" data-fileid="3363" style="height: auto;" width="1280" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_remote-pc_015.png.ca3cd3d70d9c78dff4020c01f01b9d17.png" loading="lazy" height="716.8"></a>
</p>

<p>
	 
</p>

<p>
	Citrix Director enables the Citrix admin to monitor the Remote PC Access environment along with their existing Citrix Virtual Apps and Desktop environment.
</p>

<h3>
	Platform Layer
</h3>

<p>
	This layer describes the hardware components and cloud provisioning methods that are used for the Citrix environment mainly focusing on hardware, storage, and virtualization details.
</p>

<p>
	For the on-premises environment, the platform layer covers the server hardware requirements to host the core control components. The core components include two or more delivery controllers, a License Server, two VMs for the SQL Database to configure the Cluster or Always On, a VM for Citrix Director and other components.
</p>

<p>
	 
</p>

<p>
	<a class="ipsAttachLink ipsAttachLink_image" data-fileext="reference-architectures_remote-pc_016.png" data-fileid="3365" href="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_remote-pc_016.png.3426985c7daafd080a16599665b1127b.png" rel=""><img alt="reference-architectures_remote-pc_016.png" class="ipsImage ipsImage_thumbnailed" data-fileid="3365" style="height: auto;" width="1280" src="//media.invisioncic.com/m329563/monthly_2023_10/reference-architectures_remote-pc_016.png.3426985c7daafd080a16599665b1127b.png" loading="lazy" height="716.8"></a>
</p>

<p>
	To host these components, the enterprise administrator has deployed the server hardware with the ample amount of resources. The Citrix administrator installed and configured the Citrix Hypervisor on the server hardware to create the Virtual Machines for all the components. Once the Virtual Machines are created, the Citrix Administrator has configured the Remote PC Access Site. StoreFront is configured with the new delivery controllers to enumerate the Remote PC Access resources for the end users.
</p>

<h3>
	Operations Layer
</h3>

<p>
	This Layer focuses on the tools and components which are required to manage the Citrix workloads and Remote PC Access desktops within Resource Locations. For the on-premises environment, the operations layer focuses on the tools like Citrix Studio and Citrix Director which helps in controlling the infrastructure and monitoring the complete Citrix environment.
</p>

<p>
	Citrix Studio helps administrators to create multiple machine catalogs and delivery groups and apply Citrix HDX policies for the Remote PC Access solution. Citrix Director helps to monitor the environment.
</p>

<h2>
	References
</h2>

<p>
	<a href="https://docs.citrix.com/en-us/citrix-virtual-apps-desktops/install-configure/remote-pc-access.html#technical-requirements-and-considerations" rel="external nofollow">Technical Requirements and Considerations</a> <a href="https://docs.citrix.com/en-us/citrix-virtual-apps-desktops/secure/best-practices.html#remote-pc-access-security-considerations" rel="external nofollow">Remote PC Access Security Considerations</a>
</p>

<p>
	 
</p>

<p>
	 
</p>
]]></description><guid isPermaLink="false">97</guid><pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate></item></channel></rss>
