News, opinions, and ideas on Application Delivery Infrastructure
Being a Sr. Architect within Citrix for almost a decade, I've been asked by more Citrix administrators than I could ever count, wanting to know if they should virtualize their XenApp environment. My typical response, which is common for a consultant, was "It depends." Unfortunately, this is not an easy yes or no question. XenApp is a unique beast in the delivery center. Users don't interact indirectly with a XenApp server like they do other systems (database, web, etc). Instead, users work on the servers directly. And if the servers have been designed appropriately, they should reach their memory limit or CPU limit.
Let's say, for example, your business is to write screenplays for "The Simpsons" and you have a set of XenApp servers hosting a single application for storyboarding. This application is critical to the business. On average, throughout the day, the CPU is 60% utilized and the memory is 80% utilized (4GB on Windows 2003 Server). What advantage would you gain by virtualizing this system? The hypervisor WILL take resources. Chances are slim you would be able to host a second virtual server on this physical system. In this case, I don't see where server virtualization fits. You could add more memory and additional CPU sockets, but you are spending more money just to try to save money. Of course there are some XenApp servers that are underutilized. Why? Was it an improper design? Or was there a business reason? With underutilized severs, we do have the opportunity to reduce the XenApp hardware footprint somewhat. But in my opinion, server virtualization is trying to solve a small problem in the XenApp world, consolidation. With proper hardware design, this can be mitigated. I have seen, based on my experience as a consultant and an administrator, the bigger challenge is management, availability and flexibility.
When I was an admin, we used to have a scripted build for our MetaFrame 1.0, 1.8 and XP servers. The scripts were very elegant and worked like a champ (I can say this because I wrote them), but they were a pain to maintain. Plus you had to take into account hardware changes, application modifications, etc. I've seen people go to cloning-like solutions, but you still have hardware configuration challenges, which I've seen some people end up with 10, 20 or even 50 different images. When it was time to patch those systems, the good times rolled (sarcasm). Server virtualization cloning has the same challenges, although hardware changes are mitigated by the hypervisor. Cloning in the virtualization world allows one to quickly get a system up and running, but does little for maintaining the images. Just in my own personal lab, I've got roughly 20 virtual images. And it seems like every time I turn on one virtual machine, there are new updates!!! We have all heard of DLL-hell, well new we have Patch-hell.
And we all love the server virtualization solution, even I do, which is why I'm writing this blog entry instead of preparing for my Synergy sessions or watching a good episode of The Simpsons without my boss catching me (Hope he doesn't read these). Everyone is talking about it as the next big thing, but we will continue to have tons of servers that are not virtualzed. Does that mean 2 solutions, 2 sets of images, 2 sets of tools based on your environment? When I think of that, I'm thankful I'm not an administrator. But this is where the story gets really interesting:
Provisioning Server integrated with XenServer, what a great concept. One image for multiple servers. And what's more, that one image can span virtual and physical servers. When I need to make an update to the app or OS, I update one image and reboot the servers. Time to rebuild the farm equals the time it takes to reboot the farm. I don't care if the server is physical or virtual, they are all the same to me. As I use this integrated solution more and more, I am impressed with the ease of maintenance.
But let's get back to the original question... If you now ask me if you should use server virtualization integrated with your XenApp environments, my answer has not changed... I will still say It Depends. But what I say next is to look at the bigger picture. Why do you want to virtualize? What are you trying to solve? What is wrong with your XenApp environment that you are looking at server virtualization? And I bet the more we look into it, we will end up with a challenge revolving around management, availability or flexibility. So I dare you to ask me, but be ready for a longer conversation, which will include some relevant Simpsons quips as well.
If you are interested on architectures, guidelines, implementation guides, then I encourage you to take a look at a set of materialsI've developed focused on the integration of XenServer and XenApp. If you think I'm totally on, let me know so I can show my boss how awesome I am, but I'm also game for a good discussion with differing viewpoints.
This whitepaper recently released by out guys in consulting covers the design considerations on how policies can impact your XenApp (Presentation Server) 4.5 environment...
---
There are numerous ways to apply a configuration or security setting onto a group of servers within a Citrix Presentation Server environment. Because policies are so unique, diverse and customizable, there is no single, correct method toward policy design. However, this document will give the key areas to consider when deciding on the appropriate approach to implementing a setting using a policy.
This design consideration will look at the following types of policies and the comm on practices associated with them:
- Citrix Presentation Server policies: These policies are defined within the management console on Presentation Server and only apply to connections using the Citrix ICA protocol but not the Microsoft RDP protocol. Presentation Server policies also allow for the configuration of Presentation Server-specific options like Session Printers and Progressive Display. The power of these policies is that they have the ability to be filtered based on users, location and even the method for launching the published applications. Many of these filters are only available within Presentation Server.
- Active Directory Policies: These policies are configured within Active Directory. They are applied to organizational units (folders), domains, sites, etc. within the Active Directory structure. A single Active Director y policy can consist of a computer policy and a user policy. A computer policy consists of settings that affect the physical computer and impact all users logging onto the computer while a user policy affects the user and is applied on all systems the user logs on to. Local server policies and custom policies are types of Active Director y policies and are described as:
- Local Server Policies and Settings: Local Server policies are similar to Active Directory policies, except they are managed on a server-by-server basis and configured locally on that specific server, where Active Directory policies are managed centrally and can impact hundreds or thousands of users or computers with a single application of a policy.
- Custom Active Directory Policy Templates: Custom ADM templates, like the Citrix icaclient.adm template, are Active Directory or Local Server policies used to make configuration settings. They can be custom registry settings or simply standard policies re-organized as two examples. The concept of custom templates is supported, but depending on the author of the custom template, supportability by either Citrix or Microsoft might not be available. Organizations will have to verify the supportability of custom ADM templates. Also, any custom template used might already have settings configured, potentially causing issues with the environment. It is highly recommended to test custom policies in a test environment before implementing in production.
- Local Server Policies and Settings: Local Server policies are similar to Active Directory policies, except they are managed on a server-by-server basis and configured locally on that specific server, where Active Directory policies are managed centrally and can impact hundreds or thousands of users or computers with a single application of a policy.
The following five areas are the basis f or the design decisions for an enterprise deployment of Presentation Server. These types of policies will be impacted by the following design areas:
- Policy Type
- Policy Integration
- Policy Filters
- Policy Prioritization
- Policy Precedence
I think this is the most useful post ever!
Seriously it has always been hard for me to find where and what are the latest hotfixes for the Citrix products... but this picture has changed.
With the new revision of Citrix's Support site (support.citrix.com), now it's easier to find the latest fixes and patchs for your Citrix products.
Here's the list:
Presentation Server 4.5 for Windows Server 2003 - x86
Presentation Server 4.5 for Windows Server 2003 - x64
Presentation Server 4.0 for Windows Server 2003 - x86
Presentation Server 4.0 for Windows Server 2000 - x86
Access Gateway 4.5 Advanced Edition
Access Gateway 4.5 Standard Edition
Access Gateway 8.0 Enterprise Edition
Provisioning Server 4.5
Citrix NetScaler 8.0
Citrix NetScaler 7.0
Citrix WANScaler 4.x
Select the products you have, subcribe to its RSS feed and stay in-sync with all later patches and fixes for it.
This is wicked useful!
Cheers,
Gus Pinto
Follow me
I have taken all the posts in the series that I released on the Citrix Workflow Studio Partner Tech Preview, and have incorporated them into a single document.
After receiving many requests from people to make the entire series of articles available as a downloadable document, how could I not make one available.
So here it is by popular demand, enjoy!
Download: Introducing Citrix Workflow Studio - The Complete Introduction
This video is a follow-up from my previous one with a bit more information on the app, a greater insight on how it works and how it was built.
Stay tuned as I wil be releasing more information on Citrix Fast Launch on the next few days.
cheers,
Gus Pinto
Technology Evangelist
Microsoft MVP - Virtualization
*PS. Check out the HALO 3 sticker on the back of my notebook. ![]()
Check out this video excerpt from Citrix Summit 08 of Citrix Delivery Center and its amazingly fast and easy provisioning of application workloads to virtual and physical servers. Presented by Pete Downing and Brad Peterson.
Learn hands down how to implement Citrix XenApp with NetScaler.
Here's a paper that can show you how.
Citrix Fast Launch is an application/extension that expedites the launching of applications virtualized with Citrix XenApp.
We will be releasing it soon as a freeware on the CDN site.
Stay tuned for more!
Gus Pinto
*Check out the latest video with the creators of Citrix Fast Launch!
Find and meet up with other Citrix Technology Professionals like yourself who are interested in personal collaboration, creating a Citrix Community, or hosting a Citrix User Group.
MeetUp is a site dedicated to getting people to meet. How does it work? You have an interest, Citrix, find a local group, and meet up with people who share in your interest of Citrix. You can either start a meet up or you can find people who have started a meet up in your area or the world if you wish.
You can also go to http://citrix.meetup.com to Find Citrix Users and Citrix MeetUps near you...
Here is a map showing meet up possibilities for Citrix

Here is a list of areas to choose meet up possibilities from by City for Citrix

Here is a user in Bedford, MA, USA who is looking for a Citrix MeetUp

I would love for everyone to be able to attend Citrix Synergy, Citrix Geek Speak, and Citrix BarCamp, but I also know that this is not always possible for many reasons. If you are one who cannot attend, don't think that because you can't go that you can't be a part of it all. It is you and the many other great Citrix Technology Professionals who make this industry the greatest one to be a part of. You can now find other Citrix Technology Professionals wishing to MeetUp and start your own TechTalk, GeekSpeak, or BarCamp in which you and your peers can pick the topics and agenda, and who knows maybe we can grow the Citrix Community in many new directions we never thought possible.
Here is a list of links to some upcoming Citrix Community Events:
Citrix Synergy
Geek Speak at Citrix Synergy
BarCamp at Geek Speak
Here is a list of Citrix Community sites:
Citrix Community
Citrix Community Blogs
Citrix Community Forums
Citrix Developer Forums Citrix Support Forums
Frameworkx Community Blogs
I'm currently working on a new Web site project that aims to shed some light on Application Delivery Infrastructure (ADI) and provides best practices for using ADI technologies to deliver applications and desktops. In short, the site will have sections on:
- Introduction to ADI: Content explaining the technologies, products, and approaches used to deliver applications to users.
- ADI Best Practices: Content generated by Citrix and the ADI community about the best way to deliver applications for specific scenarios and use cases.
- Citrix Product Architecture: Content describing how the products that make up the CitrixDeliveryCenter work from an architectural perspective.
First of all, let me explain that ADI is the category of technologies that most of you reading this blog will already be familiar with. They include Server Virtualization, Application Virtualization, WAN Optimization, End User Experience Monitoring, Application Acceleration, and Application Traffic Control. These technologies have one thing in common: they can be used to deliver applications, both Windows and Web, and desktops to users in a multitude of access scenarios. The Web site I am working on will contain content that explains these different technologies that make up an ADI, as well as descriptions of Citrix product architectures that are part of the ADI.
Over the years, these technologies and their applications (I'm talking about how they are applied, not software apps J) have developed largely in isolation from each other. Vendors of these technologies, and their communities, have been applying them individually as solutions to virtually every type of use case scenario. In most cases, they have been very successful in addressing the scenarios encountered; however, they don't meet all of the requirements for all of the scenarios. Some scenarios in which all of the requirements are not met would be considered "edge cases," but others are pretty common.
Once organizations realize that the technologies can be combined into one infrastructure category, they can then apply the technologies in combinations that can address the requirements of every scenario. The challenge then becomes what technologies to use for what scenarios. I have read some good commentary on this subject (an article from Brian Madden, for example) that has roused some passionate discussions. Another function of this new site will be to provide a place for the community to discuss what technologies can or should be applied in what circumstances. To help this discussion along, the site will contain a number of best practices for using ADI as solutions to deliver applications in specific scenarios---scenarios that include the type of application, location of users, business need (such as business continuity), and other factors. The community will be welcome to add their own best practices based on their experiences.
I'll keep you posted on our progress with this effort. In the meantime, if you have any suggestions for additional features and information that you would like to see on this site, please let me know by posting your comments on this blog entry.