Labels

Monday 1 August 2016

XenDesktop 7.8 Architechture - Step by Step guide

Introduction:

Citrix App virtualization basically introduced by X IBM developer "Ed Lacobucci" on 1989 who initially want IBM to promote this solution but some how that was not done. He decided to develop and lauch this product as a separate Company named Citrus but some other company claim about it's trademark copyright so going forward it's been changed to Citrix. One interesting in inspirational thing about Citrix is that comany decided to close on 1991 but survived and today it's big player in field of virtualization.

Citrix  7.X:
XenDesktop 7.X is an revolution in the field of App\Desktop virtualization. I started with Citrix products around 10 years back and i seen it's growing day by day with instantaneous name changes in virtualization field. Now days Citrix deal with multiple flavors of virtualization like Desktop Virtualization, Networking, Application Virtualization , Server Virtualization etc. Let me start with Citrix 7.X related information here,

Technical Architecture

Citrix 7.X basically designed for desktop and Application delivery as a service but going forward it's been into Server virtualization as well due to deliver applications through Citrix. Citrix does not work as an hypervisor for those VM.s and Servers which been accessed via Citrix but it does work as mediator which have the running information about all connected hypervisors and physical machines which are part of Citrix environment.

There are three main components used for Management , Monitor and delivery of VDI environment to end users.

Citrix Reciever:  It's an small client used by end user to connect with our Citrix environment. All communication between client and Citrix environment is done by receiver.

Delivery Controller: It's and important component of VDI infrastructure which paly major role from starting of accepting request till delivery of desktop application to end user. Controller get all the running information detail from database and accordingly calculate and deliver the information to Storefront so that storefront can generate ICA connection file for end user. It's closely bound with Broker service in VDI  environment.

Citrix Studio: It's and GUI based tool which is basically getting used for making any change or modification in VDI environment. In the background it  make all the changes using power-shell predefined command-lets which being installed as a part of citrix installation so in other words we don't need to install any separate module on delivery controller for running Citrix related power-shell command-lets.

Citrix Director: It's also a GUI based toll which is getting used for monitoring the overall VDI environment. We can use it's historic data for analytical purpose as well to make any predictions OR we can make changes in our existing environment based upon statistics. This also use set of power-shell command-lets for fetching data. Citrix recommends for admins to use power-shell instead of GUI because GUI indicate about the issue but not give the complete description about the issue. For example if we have any issue with one of the delivery controller  FMA then it will show the red mark only in-front of delivery controller but if we run the powershell command to check the information like Get-BrokerServicevcStatus, Get-ConfigServiceStatus, Get-HypServicevcStatus, Get-AcctServicevcStatus, Get-ProvServicevcStatus etc. then we can get in-depth information about the issue.

Store front: It's a web based module designed for end users to connect and use published VDI and applications. Initial authentication is also done at this layer with the help of broker service which query credential validation.

FMA Services
There are 12 services in total and 10 important services responsible for VDI infrastructure to function as a part of FMA. introduced as a part of Citrix 7.8 release which does different roles as a part of citrix solution Flex cast Management architecture,
                                                                         

Let me give short description about each service one by one and i will try to describe as much as i can in SUMMERY section and hopefully all your doubts will be clear under "Application Delivery Flow" section.

Host Service: This service is responsible for communication with connected hypervisor VSphere,Xenserver,HyperV and connected physical desktop and servers. For physical desktop and servers PVS should be used in your environment as we can not do it through MCS.

Machine Creation Service: This service is used for creation of Virtual machines in VDI environment in case this is down no new virtual machines can be provisioned. Here is a short tip that for physical machine we should should have PVS in place because MCS can work for physical machines.

AD Identity Service: This service is used for physical identity creation in AD environment for newly provisioned VM's or physical machines.

Delegated Admin Service: This service is used for Site wide managing administrative privileges. If this service goes down no new admin accounts can be added to environment nor any permission modification is possible. Here is some thing to be noted that all existing admins would be able to function as usual but no modification would be possible.

Configuration logging Service: This service is responsible for recording all the administrative changes Site-wide. It's having it's own database merged with Site database but if required we can make separate database for this. If this service is down the no modification is possible within Site.

Monitor Service: This Service is used for monitoring overall FMA architecture services and generate alert in Studio and director if found something wrong. To deep dive into the issue it is always recommend to use power-shell which give more descriptive information about issue.

Environment Test Service: This service does all king of testing from studio. For example if you want to get your delivery group tested then this particular service is getting used.

Storefront Service: This service is used for storefront deployment within site.

Analytic Service: This service is used for sending analytical data to Citrix using which they can make improvements. By default this service is not started.

Broker Service: This is most important service and known for managing all direct traffic to Delivery Controller. It manages STA verification, session enumeration, resource enumeration. It  handles disconnected sessions from VDA point of view.

There are two services lives at Desktop\Server as a part of FMA architecture one is "Desktop Service" and other is "Portica Service". portica designed and delever in two ways first for desktop OS using which only single coonection can be establised and for desktop os and another is designed for server os which support multiple connection to one machine and used basically for application virtualization.

Desktop Service: This service lives at the Desktop VM's and directly communicate with delivery controller for sharing status information updates and contact portica service for sharing pre authentication and verification information and pre authentication ticketing data with in VDI infrastructure.

PortICA Service: This service has been renamed to PICASVC32.exe and it is refereed as ICA service.This particular service accept initial connection and lock-down workstation so that no new connection would come. It is also used for changing display mode to remote ICA and this request will go through the thinwire driver to finally communicate with desktop driver.

Each FMA service is completly independent from each other because they have separate service point in central database. If you see the registory then you will fing seperate place for each service data which confirms that they all have separate connection string in central database . All of the FMA service running under "NT AUTHORITY\Network Service".

BONUS Information 

1.  Enable WINRM2.0 if you want to use old version of VDA within your environmentr other wise there would not be any communication between VDA and Studio\Director.
2.  After each DC reboot all FMA services re-register them self with Configuration Service.
3.  There are 18 other internal sites services under Broker services which distributed among all running DC's and redistributed incase any DC fails.
4.  Default Heartbeat test time between Studio and central site database is 20 second with 40 Second TTL. At studio last communication time should always show 0 otherwise there is some problem between DC and DB communication and need to get investigated.
5.   Configuration service serve other dependent services with required information to complete there required task which meas each service contact Configuration service first.Ex: Broker service want to power manage some VM's but it's cant directly communicate to Host service because it does not have hypervisor connection configuration information so initially contact to configuration manager which provide related information and API's using which broker service will contact Host service with appropriate API.Default Configuration service provided information stay time within service is 5 minute.Which is again customizable.

Hope this Blog would be informative and helpful. Feel free to raise queries and questions.

Thanks!!!!

No comments:

Post a Comment

Thanks for Messaging i will respond ASAP.

How To Build IT Operations Future Ready

 IT Operations is most critical piece in every organization. Without appropriate mindset, tools and policy  it's a nightmare for any org...