Latest insights from Citrites into our products, technology, and culture
Administration has changed quite a bit in XenApp 6. Not only have a few Citrix-related policies have been added or modified, but there are new options for administration. Citrix policies are now based on user or computer policies, and they can be administered as Active Directory GPOs. That combined with Worker Groups based on OUs may initially seem complex but really can mean much more efficient administration of your XenApp servers via Active Directory—if you understand your options.

First, let's take a look at the options that are available for administration of Citrix computer policies based on the Citrix recommended preference order:
Worker Groups can be based on OUs, Server Group Accounts, or Farm Servers. Essentially, it is a grouping of servers that will take on the same characteristics, and each server can belong to one or more worker groups. If OUs are used as the basis for Worker Groups, servers that are added or deleted from OUs automatically take on the characteristics of a specific Worker Group. Please see CTX124481 for more information about Worker Groups.
Where possible, Citrix recommends administering XenApp 6 via Active Directory using the Group Policy Management Console; it is installed by default with XenApp 6 for this purpose. However, the administrator must have administrative rights to the OUs that house the Citrix servers. Please see XenApp 6 Policies and Group Policy Integration for more information about XenApp 6 policies.
To take it one step further, when Citrix Provisioning services is used to create new XenApp servers, these can automatically be assigned to an OU. If published applications and Citrix policies are configured based on Worker Groups and Worker Groups are based on OUs, administration is greatly simplified. Let's walk through that flow:
• New server gets provisioned via Citrix Provisioning services; it is automatically assigned to an OU
• The server automatically inherits characteristics based on the Worker Group designation, including published applications and Citrix policies
Thus, the only process initiated was the provisioning of the new XenApp server. If the applications are embedded in the XenApp image or automatically streamed, the server is now functional.
Additionally, an administrator should:
• Apply the correct load evaluator (newly installed server defaults to the default load evaluator)
• Move the server to a different zone if required
That's it!
Citrix does not recommend mixing administration methods. A mix-and-match approach can cause undesired results because the policies are applied from different sources and may overwrite in ways not intentioned. It's kind of like three business partners having access to a bank account and no one looks at the balance before making a withdrawal—the results may not be good.
As an example, if you import policies via the XenApp 6 Migration Tool, those policies are written into the IMA Data Store. If you plan to administer your new XenApp 6 farm by means of Active Directory, you'd have policies in two repositories, i.e., AD GPO and IMA Data Store. Keeping in mind that Citrix policies are applied based on hierarchy – i.e., the precedence order is child OU; parent OU; subsequent parent OU; Domain; Site; IMA; Local – having policies in more than one place may produce results other than what you had intentioned. If you want to streamline the imported Migration Tool policies into an AD GPO, additional steps are required. Look for an upcoming blog from Juliano Maldaner that explains this.
XenApp 6 provides multiple options for administration. If unsure as to which is best and you have administrative rights to Active Directory for OUs that house the XenApp servers, use the Group Policy Management Console. Nonetheless, make a decision initially as to how you will administer your XenApp farm and then continue to use that method.
Jo Harder
Follow me on Twitter and Citrix blogs
Cost savings, simplicity and security... the three major selling propositions of IT as a Service to the Small Business. You don't have to explain to a small business owner what IT is. He or she already knows that when a patch to the operating system is required, or the print spooler doesn't work right, or there is an incompatibility issue with files from three different versions of Excel, that is IT! Most SMB owners believe that IT is really a four letter word. At the same time they know that they can't live without it. But if they could just come in to their office in the morning and know that someone else has taken the burden of administration for that four letter word, they would be elated.
So what is the sales pitch that will get that owner to fork over some of his hard earned cash to achieve the goal of outsourcing his IT? And I'm not talking about a wholesale forklift of the custom applications that many businesses proliferate. You will never get to scale if you use that approach. Why do you think BPOS and Google Apps are seeing success in the market? It's because they have a pre-packaged "bundle of services" approach that does NOT include heavy customization. So set up a package of services that will best fit the market vertical you are planning to serve and go sell it!
Let's start with cost. Ask your potential customer what it would cost him if all of the data that is critical to his business was lost or destroyed? He might say, "Impossible, I've got one of those watch-ya-call-its... a backup drive!" So you might say, "What would happen if someone stole the drive or your office burned down with everything inside of it?" Next let him ponder the question, "What do you think it costs you each month in time and productivity to continually upgrade your basic software programs such as email and Microsoft Office?" Citrix provides a simple TCO/TOI calculator to help you with this discussion in the CSP toolkit. Once you've begun the discussion concerning Disaster Recovery and Office Productivity applications you can then address the reason it is so much simpler to use your bundled services.
Simplicity should start with a conversation that goes something like this..."If I could allow you to access your applications from any device (PC, Mac, even mobile device) and you could work from the office or any other location you choose (like a home office or remote location such as a hotel) wouldn't that be a benefit to you?" We find that most small businesses do back-flips for this kind of service. The ability for an accountant to look at his clients' portfolio from home or an attorney to review a case on the road prior to going into a court room is game-changing for them.
Finally you need to let your perspective customer know that having you supply his applications and secure his/her data is a part of doing business with you. In other words, using your service is more secure than if he/she was doing backups on their own. Why? Because the collection and retrieval of data is your business. It's what you do 24/7 and as a matter of course you provide this service as a professional IT as a Service providers. You need to have a simple one page graphic data flow chart that shows your client how the information enters your datacenter through secured firewall(s) and where it is stored and redundantly backed up. Don't make it complex. He doesn't care that you're using FIPs encryption (unless he works for the Government and then you need to tell him), but he does need to know in layman's terms how you intend to keep his critical business information safe.
Round this discussion out with testimonials from several of your key customers who do what the prospect does (Accounting, Law, Healthcare, etc) and give him a couple of sources to call.
Make sure that you are fully squared away with all of the terms and conditions of your service prior to meeting with your perspective client and be able to quickly describe the options available for each service. Last and most definitely not least, whether you close the deal or not, always be a pro and thank the customer for his/her time. And remember there are 36 million businesses looking for your service... Go where the money is and don't waste your time selling to someone who doesn't want what you have to offer.
Hey if you're a service provide and you're not a CSP, why not? Don't you want access to the only software in the world with High Definition user eXperience (HDX), FlexCast and the best network products in the industry? Sign up today!
In another blog, I discussed Windows 7 services that you might wish to disable when going down the path of desktop virtualization. In this article, I'm now focusing on registry modification you will want to make to optimize Windows 7 for virtual desktops. I've broken it down into Recommended configurations, Standard Mode configurations (for Provisioning services), and Optional configurations.
As I learn more from upcoming Windows 7 implementations, I'll be updating the following tables, so it might be worthwhile to stay updated with RSS or subscribe via Email. Now, for the good stuff...
Recommended Configurations
The following registry changes are recommended for all deployment scenarios and would almost always be desirable in a Windows 7 hosted VM-based VDI desktop implementation:
| Configuration | Optimizer | Registry Modification (in REG format) |
| Disable Last Access Timestamp | Yes | [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem] "NtfsDisableLastAccessUpdate"=dword:00000001 |
| Disable Large Send Offload | No | [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\BNNS\Parameters] "EnableOffload"=dword:00000000 |
| Disable TCP/IP Offload | No | [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters] "DisableTaskOffload"=dword:00000001 |
| Increase Service Startup Timeout | No | [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control] "ServicesPipeTimeout"=dword:0002bf20 |
| Hide Hard Error Messages | No | [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Windows] "ErrorMode"=dword:00000002 |
| Disable CIFS Change Notifications | No | [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer] "NoRemoteRecursiveEvents"=dword:00000001 |
| Disable Logon Screensaver | No | [HKEY_USERS\.DEFAULT\Control Panel\Desktop] "ScreenSaveActive"="0" |
Note: The Optimizer column indicates whether this registry change is included in the XenConvert Optimizer tool that is installed with the Provisioning Services target device software.
Standard Mode Recommended Configurations
The next set of registry changes are recommended for images deployed using standard mode vDisk images with Citrix Provisioning services. Standard mode images are unique in that they are restored to the original state at each reboot, deleting any newly written or modified data. In this scenario, certain processes are no longer efficient. These configurations may also apply when deploying persistent images and in many cases should be implemented in addition to the changes recommended in the preceding section.
| Configuration | Optimizer | Registry Modification (in REG format) |
| Disable Clear Page File at Shutdown | Yes | HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management] "ClearPageFileAtShutdown"=dword:00000000 |
| Disable Offline Files | Yes | [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\NetCache] "Enabled"=dword:00000000 |
| Disable Background Defragmentation | Yes | [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Dfrg\BootOptimizeFunction] "Enable"="N" |
| Disable Background Layout Service | Yes | [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\OptimalLayout] "EnableAutoLayout"=dword:00000000 |
| Disable Bug Check Memory Dump | Yes | [HKLM\SYSTEM\CurrentControlSet\Control\CrashControl] "CrashDumpEnabled"=dword:00000000 "LogEvent"=dword:00000000" SendAlert"=dword:00000000 |
| Disable System Restore | Yes | [Software\Policies\Microsoft\Windows NT\SystemRestore] "DisableSR"=dword:00000001 |
| Disable Hibernation | Yes | [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Power] "Heuristics"=hex:05,00,00,00,00,01,00,00,00,00,00,00,00,00,00,00,3f,42,0f,00 |
| Disable Memory Dumps | Yes | [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CrashControl] "CrashDumpEnabled"=dword:00000000 "LogEvent"=dword:00000000 "SendAlert"=dword:00000000 |
| Disable Mach. Acct. Password Changes | Yes | [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Netlogon\Parameters] "DisablePasswordChange"=dword:00000001 |
| Redirect Event Logs | No | Set appropriate path based on environment.HKLM\SYSTEM\CurrentControlSet\Services\Eventlog\Application] "File"="D:\EventLogs\Application.evtx" [HKLM\SYSTEM\CurrentControlSet\Services\Eventlog\Security] "File"="D:\EventLogs\Security.evtx" [HKLM\SYSTEM\CurrentControlSet\Services\Eventlog\System] "File"="D:\EventLogs\System.evtx" |
| Reduce Event Log Size to 64K | Yes | HKLM\SYSTEM\CurrentControlSet\Services\Eventlog\Application] "MaxSize"=dword:00010000 [HKLM\SYSTEM\CurrentControlSet\Services\Eventlog\Security] "MaxSize"=dword:00010000 [HKLM\SYSTEM\CurrentControlSet\Services\Eventlog\System] "MaxSize"=dword:00010000 |
Optional Configurations
This last set of machine-based registry changes is optional regardless of whether the image is deployed as a persistent or standard image. In many cases, the following configurations should be implemented; however, these configurations should be analyzed for suitability to each unique environment.
| Configuration | Justification | Registry Modification (in REG format) |
| Disable Move to Recycle Bin | Although the recycle bin will be deleted on subsequent reboots, disabling this service altogether might pose a risk in that users will not be able to recover files during their session. Although this setting is part of the optimizer, it might be advantageous to not disable the Recycle Bin. | [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\BitBucket] "UseGlobalSettings"=dword:00000001 "NukeOnDelete"=dword:00000001 |
Note: These are only recommendations. You should implement these at your own risk
Remember, you can stay current with this and other Windows 7 virtual desktop recommendations via the Virtualize My Desktop - Windows 7 site.
Daniel
Lead Architect - Worldwide Consulting Solutions
Follow Me on twitter: @djfeller
My Blog: Virtualize My Desktop
Questions, then email Ask The Architect
Recently I had the opportunity to sit down with Nathan Day, the CTO of Softlayer and ask him a few questions surrounding cloud computing. Back at Synergy 2010, Citrix launched seven turnkey cloud solutions, focused on practical cloud use cases and delivered by proven cloud providers, that let enterprises take advantage of cloud economics to address pressing business and IT needs. Citrix Cloud Solutions let enterprises leverage existing investments, including third-party virtualization technologies and tools, to migrate application workloads to the cloud without having to overhaul existing applications or their underlying infrastructure. Citrix Cloud Solutions offer an open, pragmatic approach to cloud computing.
In the coming weeks I will focus my blogs around On-Boarding to the cloud and highlight:
- How applications are on-boarded to the cloud with minimal effort without the need to re-architect the application and/or network stacks.
- How applications can be bundled into application workloads that encompass key components such as directory services, storage, data access and web services that the application may need once on-boarded to the cloud.
- That there is no dependency on the premise datacenter virtualization platform when moving to the cloud, where various virtual machine formats are supported enabling heterogeneous format support.
- That once on-boarded, application workloads will function as if they are still in the premise datacenter coupled with robust management capabilities.
Let's have a look at what Nathan Day has to say about cloud computing...
Pete: What is a Cloud to Softlayer?
Nathan: SoftLayer views Cloud as another tool in the toolbox for application owners to deliver their application. Cloud at SoftLayer can be used in conjunction with Dedicated Servers and Virtualized Servers to provide the environment for our customers that fits their business and technical needs.
Pete: What are some hurdles to moving to the cloud?
Nathan: Hurdles to moving to the cloud usually revolve around education of what the Cloud is best used for. The advantages to running a workload in the Cloud should be considered carefully so as to set the proper expectations so that the success of the project is properly evaluated. For example, rapid provisioning of compute environments is a characteristic of the cloud that can be exploited to solve technical challenges, while a workload that has high I/O requirements might not be best suited to running in the cloud.
Pete: How does Citrix's On-Boarding Solution help?
Nathan: Being able to move a workload to the cloud can help with business, technical, and operational challenges. The consumptive cost model of the cloud could help the bottom line, rapid provisioning could solve scalability issues, or providing additional capacity helps the operations team in the case of power challenged datacenter space.
Pete: In the Citrix On-Boarding Solution, what is your favorite aspect?
Nathan: The ability to extend a network from a local facility to the cloud using the cloud bridge is an awesome part of the Citrix On-Boarding Solution. This enables the ability to obtain compute resources, in effect increasing the power available to run applications and have it appear as if the applications are running locally on the same network segments.
Pete: If I am a VMWare administrator, will On-Boarding help me in moving to your cloud?
Nathan: Absolutely! At SoftLayer our customers can obtain compute resources using a variety of virtualization solutions. Customers have the option of migrating their virtual machine images to a new host running the same hypervisor, or customers may use a V2V tool such as Citrix XenConvert and migrate the Virtual Machine to XenServer. Either solution is available and customers should pick the solution that fits their technical and business requirements.
Well I want to take this time to thank Nathan for his time and for you to check out Softlayer at: http://www.softlayer.com/
For more information on the Citrix On-Boarding Solution: http://tiny.cc/on-boarding_pdf
Stay tuned for some great topics surrounding on-boarding!
Analysts are predicting that by 2014 over 70% of corporate endpoints are going to be laptop devices. Users are demanding more flexibility in where and how the work, network connectivity is slowly becoming more ubiquitous and laptops are becoming increasingly personal. For IT, this can create a number of issues - valuable corporate data simply gets up and walks out of the office, users want to install their own applications and data causing conflicts and support calls, backups are are difficult to enforce and if a device is lost, stolen or damaged, getting users back up and running with all of their applications, data and settings is slow and costly.
The XenClient Masterclass is a series of live, technical webinars that demonstrate how XenClient helps you extend the benefits of desktop virtualization to your laptop users. Join us for the first in the series where Citrix product experts will guide you through the setup and configuration considerations of XenClient and the Synchronizer for XenClient.
Topics include:
- Overview of type 1 hypervisor technology
- XenClient architecture
- Synchronizer for XenClient
- Installation and configuration
- Master Class Plus: Chat room style! Stay online after the first hour when we will take your questions and show XenClient demos on demand
To sign up choose the best time below and follow the link:
3:00pm GMT / 4:00pm CET / 10:am EST - Best for EMEA region and East Coast US Register Now
3:00pm EST / 10:00am PST - Best for Americas Region Register Now
And if you're new to XenClient, here's an introduction
Click here to download XenClient and get started.
Application Streaming - How to run local installed apps isolated
In fact it's easy to run a local installed application isolated. The much more important question is why I should run applications isolated and last but not leased what is the impact of running a local application isolated.
Let's start with an application Citrix is using that way: Internet Explorer. When Application Streaming is used to run an Internet Explorer Add-on, it does exactly what I want to do: Running a local installed Internet Explorer isolated to make the add-on available for the user.
So the question is now, are there other applications where you want to run an add-on isolated/streamed. Yes there are! The first time I run into that question, was the day I isolated 7-Zip. It is an easy task to profile 7-Zip, but because Explorer is not "aware" of the streamed "zip utility" the explorer context menu does not contain the 7-Zip Add-on.
But if you run Explorer isolated the context menu contains the 7-Zip extensions. Now there is the question. How can I run Explorer inside an isolation environment of a streamed application?
Simply by "calling" Explorer or any other installed executable from inside the isolation. There are many ways to do so: I like to do everything possible inside the Citrix Profiler, so I created a run_Explorer.cmd file, but you can also define a start script starting explorer (with option /e,). With the Profiler I added the cmd script to the target and also defined it as an application shortcut.
When now running the CMD file as an streamed application on the client, 7-Zip is shown in the context menu of Explorer.
As a side effect now the 7-Zip installation files are "visible" to Explorer. If you need details on how to do it step by step look here: Blog from Joseph Nord: AIE on Desktop and AIE via App Streaming
Now it looks like everything is done. Isn't it? No it is not. Running Explorer locally has a lot more impact: When using Explorer you change settings, you create files, copy files and all this tasks are running isolated, controlled by the Isolation rules.
So the last thing you have to do is consider in which way the isolation rules impacts the application behavior and how to change them.
For those of you who have not yet experienced a XenServer Master Class, now is the perfect opportunity. We are holding a live webinar (with after class discussions) covering High Availability and Disaster Recovery on XenServer. As with past Master Classes, future topics are defined by you, so help direct the discussion!
Not yet registered? Register now!
If this is the first time you have heard of the XenServer Master Class, please follow our official Facebook fan page, LinkedIn group and Twitter feed. That's where you'll find the latest XenServer news, information and events.
Follow us on Twitter: @XenServerArmy
Become a fan on Facebook: Citrix XenServer
Join our LinkedIn group: Citrix XenServer Events
For more information on XenServer, visit the Citrix XenServer product page.
Get up-to-speed on the latest features of Citrix Essentials for Hyper-V with CEV-100-3W Getting Started with Citrix Essentials for Hyper-V, now updated to include StorageLink 2.2 and Provisioning Services 5.6 updates, as well as Workflow Studio 3.0 enhancements.
In addition to this new content, learners will gain the knowledge needed to perform basic installation and configuration tasks. Through online simulations, students will install and configure key features and explore product capabilities, such as virtual storage management, provisioning services, lifecycle management and workflow studio.
Course Details:
Language: English
Type: Self-paced online
Length: 6 hours
Cost: Free!
Get Started! Take Training Now
![]()
In Synergy 2010 Citrix introduced Power gadgets for Xenapp which is a great tool for presenting data on mobile. Recently I got a bit of time and I decided to explore it. Power gadget has the ability to use data generated from PowerShell, Database, and Web services. Since I had never worked on PowerShell ,I decided to use Power Shell Interface to get familiar with it also. While I was just doing a bit of googling about PowerShell I came across PowerShell SDk for Xenapp and I decided to use it which added one more cool item in my list of learning by this little adventure.
I decided to build a real time XenApp Server monitoring tool. If you are an IT administrator Imagine how cool it will be to see different statics of XenApp server in your Mobile screen in the form of nice charts optimized for your mobile type. With the help of PowerGadgets I was quickly able to create some charts showing information like how many active sessions are running and who all are running them, time duration of each session etc.
Pleased with the results I was curious whether similar sdks are available for other Citrix Products and I found PowerShell Interface for XenServer and XenDesktop are also available.
I added one more slide which utilize XenServer sdk and shows how many WIN7 VM are available on the LAB and how many of them are running and how many switched off. With this I had almost five slides .Using Power gadgets I created two separate gadgets optimized for iphone and Blackberry with just few clicks. I renamed my gadgets to IT-Administrator's dashboard and Published it on XenApp . Used via Citrix receiver It looked great on my Blackberry and Iphone.
Since this was meant to be just a "Hello world" kind of example so I skipped the XenDesktop part. However In form of PowerShell sdks XenApp, XenDesktop, and XenServer provide a really powerful and easy to use interface using which you can not only get all kind of data but do almost all management functions.
Combine this with PowerGadget to provide data presentation and Citrix receiver for Mobiles you have a truly powerful system for managing and monitoring your company's whole virtualization environment using a single interface anywhere and anytime.
I am attaching all the PowerShell scripts and gadget itself for this little example to give you an idea. These may not be the most efficient PowerShell scripts but hey they works.
Citrix Summit 2010 is the main event for Citrix partners to learn about the latest virtualisation and networking optimisation solutions. Here during two days of intense educational and training sessions, you'll gain valuable technical knowledge, selling skills and competitive strategies to beat the competition.
Summit is a must-attend event, especially if your customers are:
- Interested in desktop, application and server virtualisation
- Looking for more cost-effective ways to deliver applications
- Turning to you as their trusted IT solutions advisor
With the complete Session catalog being online under http://citrix.g2planet.com/synergyberlin2010/event_agenda.php?date=2010-10-04 you can see that the first sessions are starting to be become "booking complete". Register now to have reserve your seat at the sessions starting October 4, at 8.00 am.

XenClient, the new bare-metal client hypervisor product, is now on Facebook. Check it out at http://www.facebook.com/XenClient
Not only can you find latest information about the product, you can also share your experience and comment with others. Just click the "like" button on top to receive updates in your facebook stream. You are welcome to post a comment on the wall, join a discussion, write a review ...
The welcome tab contains a directory of links to help you find information.
For technical help however, this user forum will be your best bet.
Please let me know what you think.
Ray (Ruiguo) Yang
Check out my other blogs
Subscribe to my blog RSS feed
twitter me @rayyangcitrix
email me at ray dot yang at citrix dot com
Citrix Education wants to hear your story - one that could take you to Summit* and Synergy Berlin for free! To enter, simply tell us through video submission how Citrix Education has contributed to the advancement of your career, the expertise of your in-house staff, the optimization of your Citrix environment - or all of the above.
The grand prize winner will receive a full conference pass to Summit and Synergy Berlin, in addition to a hotel stay for the duration of the event. Plus, three runners-up will each receive a $100 gift certificate to the Citrix Certification Shop
Don't miss your chance to attend - for free! Enter to Win
*Note: Access to Summit is invitation only and restricted to Citrix Authorised Channel Partners.
We've presented a TechTalk about XenApp 6 migration, with a 30 min demo of the migration tool and recommended process. Check it out here: http://www.citrix.com/tv/#videos/2531
We had a large attendance, and very good questions answered at the end of that presentation. I've collected them all here in a FAQ sort-of. Enjoy!
Q: What versions does the Migration Tool support migrating from?
A: XenApp 4.5 and above
Q: Do you plan to release a tool that supports migration from MPS 4.0 to XenApp 6?
A: No.
Q: Can the tool be used to migrate a xenapp 4.5 farm to a new xenapp 4.5 farm of different hardware
A: No. The use of the XenApp Tool is specific to migrating to a new XenApp 6 environment on WS08 R2. The import operation uses the new Powershell API in XA6, so this won't work at all.
Right now, we also don't support XA6 to XA6 migration, but this may change going forward.
Q: Are there plans for a GUI version of this tool?
A: Yes, this is planned.
Q: Will or is migration best practice processes documented by citrix and will it be added to the training course for XenApp6?
A: Yes. See Knowlege base http://support.citrix.com/article/ctx124241
Q: where can i get a migration tool manual?
A: XenApp edocs: http://support.citrix.com/proddocs/topic/xenapp6-w2k8/ps-migrate-xa6-wrapper.html
Q: Will this copy installed applications or will the XA6 Servers require the installation of any apps that were on the XA5 servers?
A: You will have to handle the application migration, the tool will only copy farm configuration.
Q: Does the migration tool run on a server with Xen app 6 installed on it?
A: The Migration tool must be installed on a XenApp 6 or XenApp 5 server. The best way is to install on a XA6 in the farm you want to import the configuration to; and point to the XA5 farm using Set-XAMigrationOption -RemoteServer option - this way you can perform the migration procedure in one step. If you can't connect the XA6 and 5 environments, then install the tool on both a XA5 and a XA6 server; use Start-XAMigration -ExportOnly on the legacy farm, copy the files to the XA6 server, and finally run Start-XAMigration -ImportOnly on the new farm.
Q: Can the Supress Duplicate Resources and Farm Groups options be configured in the GUI or is it only available by editing WebInterface.conf?
A: No. It needs to be done through .conf file "SuppressDuplicateResources=On"
Q: What about summary database, can we migrate some information from it as well ? in case we had all xenapp on W2K8R2 we would have exactly the same environment - just xenapp 6 would be the difference, I'd like to use reporting using the summary database content before the xenapp upgrade
A: No, the Resource Manager feature was replaced by Edgesight in XA version 6.
Q: We are using the software version of Citrix Secure Gateway version 4.6. Will this work with XenApp 6?
A: Yes, we still support CSG.
Q: Can the tool be used on a 4.5 farm and 5.0 farm to migrate to a single 6.0 farm?
A: We have not tested this scenario, but it should work fine. The tool won't delete objects from the XA6 farm during migration. Therefore, if you avoid name conflicts, you can move settings from your 4.5 farm into 6.0; then 5.0 into 6.0 as two separate operations.
Q: I currently have Office 2003 installed and want Office 2010 on the new farm, but want to keep all other apps as is. How does this affect the migration?
A: It shouldn't affect migration. If you want to use the same published application for both office versions, then create an environment variable that points to the Office install path; and publish the apps using the environment variable. I've done so in the demo (e.g., %MSOFFICEPATH%\excel.exe). I've used Group Policy Preferences to apply the environment variable to all servers - I had the XA5 and XA6 on different OUs.
Q: When using the migration tool to migrate applications, can you have them disabled them in the new XenApp 6 farm?
A: No, unfortunately the "Disabled" setting cannot be overridden with Add-XASettingOverride...
Instead, you should suppress the synchronization of any app you are not ready to migrate yet. For example, you can issue filters such as:
Set-XAMigrationOption -ObjectType Application -Exclude "app1", "app2"
Set-XAMigrationOption -ObjectType Folder -Exclude "Application\NotReadyForMigration*"
Q: Does Installation Manager still available in XenApp 6? If so, does the migration tool migrate the IM settings and packages?
A: A new, simplified version of IM exists in XA6, but it doesn't use the package format of the old IM. So, no, IM packages cannot be migrated.
Q: Web Interface phased migration options - can you migrate per app rather than per user? Where are these options documented?
A: Yes, but you should use application filters instead of WI settings. If you don't synchronize some applications to the new farm (use Set-XAMigrationOption to configure filters), then WI will merge the results from the XA6 and XA5 farm for users assigned primarily to the XA6 farm. These users will launch apps in XA6 if available there; and in XA5 otherwise.
Q: I was considering reinstalling everything from scratch...I have the time, is this more recommended than using the Migration tool
A: The tool is an option. There are pros and cons... Starting from scratch will let to re-evaluate some decisions; while the tool preserves your existing configuration.
Q: Do we need to have two license severs/webinterfaces with the two farm Scenario- 4.5 – 6 farms
A: No. you can share.
Q: Does this integrate with provisioning server?
A: Not directly, but the group-based management model is very aligned with Provisioning Services. Since all XA6 is assigned via policies, Provisioning of computers is greatly simplified: just add the instances in XS/PVS, and all apps and settings apply correctly to the new server.
Q: Is there a user migration tool for XenApp 6?
A: If you mean user profile migration, from v1 (XP and below) to v2 (Vista and up), answer is no. There are partners that provide tools for profile migration, such as Sepago.
Q: Will we need to upgrade our license files and license servers to use XenApp 6?
A: You have to upgrade the license server. You don't have to upgrade licenses if your SA date is at least Mar 17th 2010. Otherwise you have to upgrade your licenses.
Windows 7 64-bit recently declined to run one of my old DOS based utility programs; it politely said "I'm not running this, its 2010 and time for you to upgrade". I make a living running applications via means that weren't really intended, so I did a bit of research.
Came across DOSBox on the internet and promptly installed it onto my USB Thumb drive using PortableApps.com. Fired up a DOS Box, then ran my utility and poof! Everything works.
For more interesting worlds and better demos, I also ran Turbo Pascal from Borland. Here's a snapshot of DOSBox running from removable media, with Turbo Pascal integrated development environment run off of my local C: volume, with source code typed in from memory and an output window visible DOS style that proves it runs.
Oh, happy memories of a good friend.

I write this post more for asking questions than to provide too much useful advice.
Questions
- Does the license for DOSBox permit corporate usage?
- Is DOSBox a CPU pig or a good citizen?
- Has anyone actually used this for anything important?
- Is this a valid solution to DOS application needs on 64-bit Windows?
- Why would any sane person do this when they can use Med-V?
- Has Borland posted Turbo Pascal 6? I seem to have lost my copy
Enjoy
Joe Nord Product Architect - Citrix Systems XenApp Product Group
App Streaming, Profile Manager, Encrypted Data Plug-in
If you are in the Healthcare business and rely on IT to improve patient care you may want to check out the Citrix community site for Healthcare IT. The site includes video tips with examples of what IT Pros like Nick Volosin have come up with using the Citrix SDK to speed access for providers. There are forums to ask questions of others in the industry and share feedback. Currently we are looking for feedback on pilots regarding the use of iPads in healthcare as well as requested new features.
Also Florian Becker, Director of Citrix Consulting Solutions and our resident Healthcare IT expert will answer questions and share his thoughts on the blogs. So if your looking for ideas, have questions, or can share what you have done to improve patient care with IT check out the site.

Speed. More speed. And to get more speed with desktop virtualization, we hear more and more about how important IOPS are to being able to support the virtual desktop. Not enough IOPS means slowness. No speed. I've had a few blogs about it and plan to have a few more. What I wanted to talk about was an interesting discussion I recently had with 3 Senior Architects within Citrix Consulting(Doug Demskis, Dan Allen and Nick Rintalan). There are 3 smart guys who I talk to fairly regularly and the discussions get quite interesting.
This particular discussion was no different. We were talking about the importance of IOPS, RAID configs, spindle speeds with regards to an enterprise's SAN infrastructure. (Deciding if you are going to use a SAN for your virtual desktops is a completely different discussion that I've had before and Brian Madden had more recently). But for the sake of this article, let's say you've decided "Yes, I will use my SAN." If your organization already has an enterprise SAN solution, chances are that the solution has controllers with plenty of cache. Does this make the IOPS discussion a moot point? If we simply use an IOPS calculator (at least the ones I've seen) and do not take into account the caching capabilities of the SAN controllers, won't we over-provision our virtual desktop environment and end up wasting more money/resources?
Many of us who are familiar with XenDesktop knows that changes made to the golden disk image, when delivered via Provisioning services, is stored in a PVS Write Cache. From numerous tests and implementations, we know that 80-90% of the IO activity from a virtual desktop will be writes. If we configure the SAN Controllers to be 75% write (assuming we have battery-backed write cache controllers), we allow the controllers to allocate more cache for write operations, thus helping to offload the write IO to the disk, which raises the number of effective IOPS the storage infrastructure can support. Think of the controller's caching capabilities as a large buffer for our disks. If our disks can only support so many write operations, the controller cache stores the writes until the disk is able to write it to the platter. This cache allows the infrastructure to keep moving forward with new operations even though the previous operations were not written to the disk yet. They are all buffered. Just remember, we aren't reducing the total number of IO operations, we are just buffering them with the controller cache.
Think about it another way. If we encounter a storm where each user will require 10MB of write operations and the storage controller has a 4GB cache, that one controller can support 400+ simultaneous users for this particular storm, and we haven't even talked about the disk IOPS yet!!! With this scenario, wouldn't a single disk spindle be able to support this particular storm because the controller is buffering everything? And what's also interesting is those write operations are being flushed to disk continuously so the number of users the controller will be able to support would be much, much higher.
So if we have cache on our controllers, which most SAN controllers I've seen lately have, are we over designing the storage infrastructure by only focusing on IOPS? (this is assuming you are using SAN and not local disks on your hypervisor which I talk about a lot as well). Just remember that those write operations must eventually get written to disk. So if we know what our controller cache is capable of, and we know the amount of storage required for a particular storm (logon, boot, logoff, etc), can't we support more users (and I mean a lot more users) on the SAN?
What do you think?
Daniel - Lead Architect - Worldwide Consulting Solutions
Follow Me on twitter: @djfeller
My Blog: Virtualize My Desktop
Questions, then email Ask The Architect
Frequently, the IT applications delivery group finds itself in a difficult situation in having been handed the responsibility for delivering an application which - unbeknownst until then - consumes an inordinate amount of resources.
This is a classic driver for the NetScaler application delivery controller optimization capabilities. We've all used caching, SSL offload, load balancing, compression offload, TCP multiplexing, and even redirect policies to ease the strain on and reduce the number of back end servers. Pretty much "old hat".
Well now - as the old joke goes - the captain wants to go water skiing, but with Web 2.0 applications.
Web 2.0
Now that the standard web application optimization is straight forward, there is a new breed of applications that can cause us delivery woes.
They are applications built on an architecture that maintains long lasting connections to the users' browser or other applications and uses those connections to push out data asynchronously, without user intervention. The applications typically provide services such as Mash Ups, team based collaboration portals, subscriber based feeds, and more.
The point is that these applications will typically create and maintain connections from the server back to the client such that they can trigger outbound communications to all subscribed users. This is shown on a single client basis in the diagram to the left.
Furthermore, if the application is successful and enjoys a high rate of adoption, this results in the requirement for the server to maintain a huge number of connections and thus results in huge loads on the servers. Commonly, as the application or service becomes more successful - more widely subscribed to - additional servers must be implemented.
Sadly, this proliferation of servers is not driven by application processing load, but by the system hitting the connection management bottleneck.
NetScaler to the Rescue
The best way to address this problem is through the proven NetScaler connection multiplexing technology that optimizes connections to conventional back-end web servers.
Since the communications are initiated by the application and information is pushed to the client, however, the standard NetScaler VIP/Service/Server configurations cannot be used. This is due to the fact that the Web 2.0 application must keep track of a variable number of subscribed clients, and must send the data to them asynchronously.
As such, TCP connections must be set up and maintained to communicate with those individual users.
Implementation of the NetScaler "Push-VIP" can address this problem, however.

As stated above, the primary application bottleneck is not keeping track of the subscribed users, but rather the connection management. Therefore, letting the NetScaler manage and maintain the connections exploits the connection multiplexing services that the NetScaler performs well.
The following is a brief summary of how it works.
Step #1: Two VIPs are configured within the NetScaler Configuration - a standard Load Balancing-VIP (LB-VIP) and a Push-VIP. While the conventional LB-VIP s client facing, the Push-VIP is server facing. In the complete configuration, the LB-VIP, and its Services and Servers, are bound to the Push-VIP.
Step #2: The user hits the externally facing LB-VIP, and subscribes to the site via a normal NetScaler-serviced website connection. Because the request is associated with the Push-VIP, the NetScaler inserts special headers that cause the back-end application to catalogue the user request, and assign a unique tag ("label") for each user.
Step #3: The Web 2.0 application inserts this user-specific value as part of the label. Then, for each registered user, the application pushes additional information to the single NetScaler Push-VIP. This results in the application reusing the existing TCP connection to that single NetScaler Push-VIP for all user communications, incurring minimal connection management overhead.
Step #4: The NetScaler then fans out the communications to the connected users, thus offloading connection management from the back end servers.
In the above sequence, Step #2 will require minor modifications to the back-end application code. Examples of such code are provided by Citrix for ease of implementation.
So What Are These Applications?
These applications appear as those offering collaboration or subscription services. Applications that provide team collaboration services - such as calendars, blogs, or content sharing often use the Web 2.0 technologies. Also, if the application turnover sheet states that the new application is COMET or Bayeux based, ask if it provides asynchronous data push to the client.
If there's a hit, think of the NetScaler Push-VIP.
Wrap-up
For a more detailed explanation, including an examination of the inserted headers, please refer to Vamsi Korrapati's BLOG.
Comments?
As usual I welcome your comments.
Post a comment or send an email
Also, follow me on Twitter
Are you interested in testing your knowledge of NetScaler 9.2? Now you can with the new beta exam 1Y1-A21 Basic Administration for Citrix NetScaler 9.2. While in beta, this exam is available FREE of cost!
Topics covered:
- Planning the Network Deployment and Architecture
- Initial Configuration and Installation
- Managing and Securing NetScaler
- Auditing and Monitoring
- Configuring High Availability
- Basic Troubleshooting
Exam A21 is a requirement for the CCA for Citrix NetScaler 9.
There are a limited number of seats for this exam. Registration is on a first-come, first-serve basis, so don't delay!
Registration info: To register for this exam, please go to Pearson VUE web site (www.vue.com/citrix).
While in beta, an exam preparation guide is NOT available. Refer to the preparatory training: CNS-203-1 Basic Administration for Citrix NetScaler 9.2
Beta Exam Results: You will not receive your score until the beta period is complete, the test results are analyzed, and a passing score is established.
Exam Feedback: While taking the beta exam, you are encouraged to provide feedback to training@citrix.com. Please include the beta exam number in the subject line.
Act now to take advantage of the beta exam while it is available for free! Good luck!
In an effort to finish publishing the PowerShell scripts I use for scalability testing, today's GenVMs.ps1 PowerShell script demonstrates how to create basic virtual machines on Microsoft Hyper-V 2008 R2 hosts through the SCVMM PowerShell interface. The exciting part about today's script is that when combined with the scripts I have previously released on this blog, it can be used to almost completely replace all the functionality of the XenDesktop Setup Wizard. The only thing left would be to create the Desktop Group, (which is on my list to automate but I have not got to that yet), in the Delivery Services Console.
This PowerShell script does the following:
1. Gets the next available MAC address from the Hyper-V address pool.
2. Creates a default profile with a single processor, 1GB RAM, and boot order.
3. Creates a VM using the supplied base name with a legacy network adapter and a DVD drive.
| GenVMs Syntax Usage: GenVMs.ps1 VMTargetHost VMBaseName NetworkName LocalVMStoragePath NumberToCreate StartingAt Where: VMBaseName= The base name for the virtual machines created. This name will have 00-99 appended to it. NetworkName= The name of the Hyper-V network to assign to the Legacy network adapter. LocalVMStoragePath= The path local to (or appears local to in the case of a CSV) the VMTargetHost. This is the path where the VM configuration files and the .BIN memory save-state file will be created. NumberToCreate= The number of virtual machines to create. Must be between 1 and 99. StartingAt= The starting number for the virtual machine incremental counter. This number plus the NumberToCreate should not exceed 99. Example: .\GenVMs.ps1 "HOST01" "HVDesktop" "External" "E:\Hyper-V" 50 1 The example above will create desktops named HVDesktop01 - HVDesktop50 on HOST01 and the VM configuration files will be stored in HOST01's E:\Hyper-V folder. |
# Purpose: Generate up to 99 virtual machines using the command-line parameters supplied # for customization of the new virtual machine. # Date: 22 July 2010 # Author: Paul Wilson (no implied or expressed warranties) # Notes: The script only creates VMs on a single host. To create VMs on multiple hosts # run multiple instances of the script from a batch file or create an outer loop. # The LocalVMStorage path must exist or the script fails. I have not added any # data validation checks to the script. # Parse the command-line and verify the 6 required parameters are present, if not display usage info if ($args -eq $null -or $args.Count -lt 6) { write-output "Usage: GenVMs.ps1 VMTargetHost VMBaseName NetworkName LocalVMStoragePath NumberToCreate StartingAt" write-output "Example: .\GenVMs.ps1 ""HOST01"" ""HVDesktop"" ""External"" ""E:\Hyper-V"" 50 1 " exit 1 } # Get the name of the SCVMM server we are running this on. The VMM server could be passed as a parameter as well. $VMMServer = Get-VMMServer -Computername "localhost" # Place the command-line parameters into named variables for later use. $VMHost = $args[0] $VMBaseName = $args[1] $NetworkName = $args[2] $VMPath = $args[3] $VMCount = $args[4] $StartCount = $args[5] $EndCount = $StartCount + $VMCount - 1 for ($i=$StartCount; $i -le $EndCount; $i++) { # Create a job group id to link the items together and create them as a group with the New-VM command $JobGroupID = [System.Guid]::NewGuid().ToString() # Get a MAC Address from the pool of available MAC addresses on the server. (Alternatively a MAC address could be assigned here.) $PooledMACAddress = New-PhysicalAddress -Commit # Get a network object for creating the network adapters $VNetwork = Get-VirtualNetwork | where {$_.Name -match $NetworkName -and $_.VMHost -match $VMHost} # Create a Virtual Legacy Network Adapter required for PXE booting with Provisioning Services New-VirtualNetworkAdapter -JobGroup $JobGroupID -PhysicalAddressType Static -PhysicalAddress $PooledMACAddress -VirtualNetwork $VNetwork # In case PXE booting will not be required or a second synthetic adapter the following line can be uncommented # New-VirtualNetworkAdapter -JobGroup $JobGroupID -PhysicalAddressType Dynamic -Synthetic -VirtualNetwork $VNetwork # Create a virtual DVD New-VirtualDVDDrive -JobGroup $JobGroupID -Bus 1 -LUN 0 # Create a new Hardware Profile for a XenDesktop and set the default values or use the existing profile. $HWProfile = Get-HardwareProfile | where {$_.Name -eq "XD4Profile"} if ($HWProfile -eq $null) { write-output "Hardware profile not found. Creating a default profile." $HWProfile = New-HardwareProfile -Owner "XD4\Administrator" -Description "Hosted XenDesktop" -Name "XD4Profile" -CPUCount 1 -MemoryMB 1024 -BootOrder PXEBoot,IDEHardDrive,CD,Floppy } # Create the Virtual Machine and assign the VM Name. This only works up to 99 virtual machines. if ($i -lt 10) { $VMName = "{0}0{1}" -f $VMBaseName, $i } else { $VMName = "{0}{1}" -f $VMBaseName, $i } New-VM -VMMServer $VMMServer -Name $VMName -VMHost $VMHost -Path $VMPath -HardwareProfile $HWProfile -JobGroup $JobGroupID -RunAsynchronously -RunAsSystem -StartAction NeverAutoTurnOnVM -StopAction TurnOffVM }
As mentioned earlier, this is a basic script and is meant to provide an example of how to create virtual machines on Hyper-V. This script could easily be modified to create VMs with different CPU/RAM requirements or even include the write-cache drive for Provisioning Server implementations as described in my previous blog PowerShell Scripts for XenDesktop Part 2.
In fact, if you run multiple instances of GenVMs.ps1 followed by copyVHD.ps1 from Part 2 the machine creation can be run in parallel (rather than serially) significantly reducing the deployment time over the XenDesktop Setup Wizard. Once the machines are created, use either GenPVSFile.ps1 from Part 3 or GenPVSMCLI.ps1 from Part 4 to load the machine and MAC address information into the Provisioning Services database. The final step is to return to the Delivery Services Console and create the desktop group.
If you found this information useful and would like to be notified of future blog posts, please follow me on Twitter @pwilson98 or visit my XenDesktop on Microsoft website.

It's been just over a year since I joined Citrix, and this evening I thought I would carve out a few hours and look back on an incredible year. I've been exposed to so many new experiences and great people that have helped evolve my thinking. I've witnessed major steps forward with the product, but rather than list every product accomplishment and bore you to death, I thought instead I would say thank you. Thank you to my colleagues who have made me feel so very welcome and put up with me pushing us forward.
Thank you to so many people in the community who always keep me honest, have sincerely opened up to share their insights with me and given me the opportunity to share my thoughts with them. For this I am truly grateful.
Since I am in the mood for reflecting. I felt like scribbling down my thoughts on the evolution of desktop management as I have experienced in my career and relay some of the conflicts and thinking that I see as I have spoken to a broad customer base over the last year and discuss how I think we need to move forward towards a better future.
The evolution of desktop management
In the early days of enterprise desktop computing, desktop images were built with floppy disks/CDs and sneakernet was used to deploy images with applications manually installed using native setup routines. In time these desktop images became personal to the user as they configured them as they pleased and installed software that they wanted. This approach never scaled and inventory was impossible to maintain in an enterprise environment and personalization never persisted when users moved to different machines. This led to a series of innovations.
- Image management technology, that would allow you to clone and personalize a machine became available. Microsoft made it easier to automate image creation with Sysprep and companies like Ghost cloning software became popular later followed by Altiris, which extended the concept to delivering images over a network.
- Microsoft added technologies to Windows such as profiles and folder redirection to enable personalization across machines enabling roaming use cases.
- Application setups started to become more standardized and companies like WinInstall gained early market share with their software packaging format to streamline deployment.
As organizations began to acquire more PC assets, the need to manage the inventory of software and hardware became more important. This led to the creation of systems management tools that included inventory management such as MS Systems Management Server (now SCCM) and Marimba (Acquired by BMC) which also included sophisticated machine focused software deployment at scale.
With the plumbing in place, this set of tools powered many enterprises, but cracks started to appear as things began to scale up and organizations became more complex. Packaging formats like WinInstall required manual admin intervention every time for enterprise deployments of setup programs. I don't recall ever seeing a WinInstall software package from a 3rd party. There was no consistency in the industry, and application packaging was cumbersome. In addition Windows itself had a problem called DLL hell. Applications that shared DLL components on the operating system would collide with each other. The WinInstall packaging format was not able to reconcile these differences. There had to be a better way.
Two new application-packaging formats began to emerge. MSI and OSD, both with MS involvement. In short despite OSD being a very flexible format, MS Office shipped as a componentized MSI. While this format did not solve DLL hell, it made it easier to reconcile. MSI packages started to take hold within the broad eco system and became an accepted standard. Many 3rd parties began shipping their installers as MSI packages which were much easier to customize by IT. I certainly recall repacking many MSIs when migrating from Windows NT 4.0 to Windows XP, which I think was the big event that really stimulated the change. To make this migration easier, packaging authoring vendors started to emerge like InstallShield and Wise (not the thin client people). Many enterprises and service providers standardized on the MSI format and authoring tools because they could simply modify 3rd party MSI's as opposed to having to repackage the entire application from scratch. The software distribution (ESD) companies started to embrace enterprise deployment of MSI packages.
This model continued for several years and is still the dominant model in many organizations, and once again after a few years of operation at scale the flaws became evident. MSI's required high admin skill sets, outsourcing did not make it significantly cheaper and DLL conflicts were still there. In addition the amount of software in the market was growing, changes to existing software were occurring more rapidly and security patching frequency was increasing to a point where zero day vulnerabilities gave customers little if any time to regression test remediation patches on both OS and applications.
The change management problem
As the number and iterations of applications and OS changes began to grow with increasing organizational change, the distributed computing model required governance. With all the moving parts and interdependencies making a change is complex and risky because one does not know how change will affect so many custom distributed images. As a result, organizations have built up sophisticated change management processes and teams that police this complexity trying to enforce some known state.
This usually means that updates are slowly managed into the environment, often going through rigorous testing, qa, uat and phased production deployments. Exceptions are made for security related changes and accelerated processes are available. However this increases the risk of poorly written security patches impacting production environments as evidenced by the recent XP patches in Feb 2010 which affected many customers. As you increase the scope from security patches for the core OS to core applications the complexity and risk becomes exponentially greater.
When a problem does occur, there is seldom a reliable way to rollback a change for security patches or MSI's and to keep track of the environments state. (I still don't of any organization who is truly comfortable uninstalling MSI packages at mass scale) This is often addressed with phased rollouts into production after the initially rounds of testing and verification. Even when you have a successful rollout, there is then the task of maintenance. You may have rolled out successfully, but you then need to go and verify the bits actually got there, and all of a sudden you are in the business of configuration management.
Expand the scope once again to include regular applications that require frequent changes, the need to keep the environment stable and the net result is poor flexibility and agility for the enterprise. Developers especially in my experience hated having to go through the whole packaging process and actively started to seek out ways to get around the system that was too slow for them. Java Web Start a simple ESD that pulls from a single source and requires no admin rights started to spring up all over the place, and there was no real way to police it effectively without implementing yet another agent to deal with application whitelisting or blacklisting. That's what the Java developers did, the Windows developers were stuck and converting their apps to Web apps in 99% of use cases was a pipe dream.
The rise of XenApp and the profile guys
To help address the change management problem one use case for our XenApp customer base is to offer supplementary environments to the corporate desktop where rapid updates are required for a particular application. (A lot of my early experience with Citrix technologies was because developers had an update problem). For similar reasons customers use low cost Hosted virtual desktops for groups of users that are largely similar to enable faster updates and simpler management. However for both of these use cases, there are limitations as sharing an OS does restrict the ability for users to personalize. Sure you can get a long way just using the standard OS features such as roaming profiles and folder redirection. For many application vendors, especially internally developed ones it was not a big deal because those applications would write their customization somewhere within their own infrastructure if the native OS features were not good enough. However not so easy for 3rd party applications. As a result a number of vendors such as Appsense, RES, Tricerat have innovated to make the XenApp environment more customizable per user. In the case of Citrix this is known as the User Profile Management feature which we got from a company called Sepago. Even VMware acquired a company call RTO to help them with this problem, which is currently not part of the View VDI only offering.
However, while this seems obvious to XenApp minded people, it's not necessarily intuitive to regular desktop admins. A recent blog helps illustrate this point. Many desktop admins have yet to take the first basic step of enabling roaming profiles as opposed to local profiles, which do not allow users to change machines and persist some level of personalization.
So why is there this discrepancy?
I believe to understand this, it's important to keep in mind that desktop users typically use one device and therefore roam less. With XenApp, users roam all the time from a myriad of devices and share an operating system. As a result they are more sensitized to the challenges of personalization when roaming. As desktop virtualization becomes more common, it's not a leap of faith to assume that desktops will face similar challenges due to user mobility and device diversity. Therefore I think it will be increasingly important to abstract the user preferences from the desktop.
So application virtualization is the silver bullet right?
Several years ago, various application virtualization solutions started to appear on the market. Softricity (acquired by MS and rebranded as App-V), Appstream (acquired by Symantec), ThinStall (acquired by VMware and rebranded to ThinApp), InstallFree, Xenocode and Endeavors amongst the most well known. At Citrix we have built our own and it's a feature of XenApp called Application Streaming. XenApp is also compatible with App-V.
The value proposition with application virtualization was that applications could now be isolated from the operating systems to solve DLL hell, simplify application packaging, enabling applications to be delivered by users on demand and to reduce support costs. In addition, the hope was that now one common base image could be applied to all users, with the differences between users delivered via application virtualization and user profiles.
Ok I will say it, we are not at that reality yet. Application virtualization does not offer 100% application compatibility, although this is getting better over time. Other challenges include inter application communication, x64 support in some cases, the need to repackage all existing applications (just like the old days when MSI was adopted) and integration with existing software distribution scaled infrastructures. Certainly that's not true in all cases, but I am speaking broadly as it stands today but expect this to ramp up as people migrate to Windows 7. IMO, for many customers application virtualization to date has been an evolution not a revolution and they will continue to use existing application management practices until they have a catalyst like Windows 7 and desktop virtualization.
In addition, numerous customers have commented that the benefits of desktop virtualization are many, and that should not mean having to rip out existing systems management processes and tools day 1. These are sunk costs, often political battle grounds with non desktop or Citrix teams that can result in barriers to adoption. Cultural change takes time.
Hmm, so we'll take this in steps
As a result some customers simply say they will phase in desktop virtualization. First move to the data center, and then adopt systems management changes over time. Other's of course are more aggressive. Neither are wrong, it's a question of priorities. I have yet to meet a single customer who is not thinking that moving to a simpler more efficient management paradigm for the desktop does not make sense.
People handle this differently, some simply deploy assigned desktops with existing machine based management tools in place,(usually means they have a clear business need) others brut force it,(forward thinkers) while the unfortunate ones get into circular internal debates and endless POCs that go nowhere.(usually no business sponsor)
So user installed apps are the silver bullet and the best thing since sliced bread?
Once again much debate is brewing over a potential technology solution. The idea here is that a single image could be managed by IT, but users retain the flexibility to install applications. Kind of the ideal fix for lack of current management standards/process, lack of business users understanding why some controls are needed and IT's inability to provide flexibility. One side argues that a single image solution with the ability to enable a user to install apps on top gives them the ultimate flexibility and management simplification they need. Others argue that this is a stupid idea, because legally users can't just accept click through software agreements for liability reasons, admin rights are an open door for malware and of course we come back to 100% application compatibility is still not possible with today's technology. Yet other's will argue that this is too complex, will take years to mature and the market for it is still not proven. There is validity in each of these arguments.
It sometime feels overwhelming and why not just stick with the status quo.
The scariest thought of all
Sticking with the status quo, yikes! I don't say that just because I work for Citrix. I fundamentally think the change management problem is only going to get worse over time and status quo is not a sustainable model for the long haul, just like the original desktop models were not. Distributed management of devices, OS, apps and users to me is like a dog chasing his tail. We will never catch it. It will always be complex, heavy and slow. It will not allow users to roam easily across many devices and connect to work from optimal places. IT will not be agile. It represents a machine centric view of the world, when we should be building towards a user centric vision of the desktop. In the future what is a desktop? That's a great discussion, but what I think will be the same as today is users who want to get to their stuff, easily and quickly. They want that kind of technology, something simple. When I look at other models it is simple. I want to search, I go to Google, Bing, Yahoo etc and it's just works. I want to buy a book, Amazon. It's simple stuff to consume as a service on many device form factors. Now those are probably over simplifications and I don't really account for the session management work the desktop OS does for us with Windows applications, but IMHO we need to create something users want.
I look at the amazing uptake and customer interest in the Citrix Receiver on the iPad. I scratch my head sometimes and wonder why, why do our enterprise customers really like it? To me it boils down to users want it, it's not a need question. User want to connect to work in a different way. I see that as an incredible shift that is becoming more real everyday. We've talked about consumerization for a while and I continue to believe that beyond any vendor it will reshape the landscape. I've spent a lot of time talking to customers struggling with how to deal with this shift.
In addition, many CIOs I speak with, tell me that 2/3 of their budget is operational costs, and the remaining is innovation. They want to reverse that balance and build solutions that users value and will enable their business. They are asking themselves questions like, if cloud means at some point IT services will be consumed centrally how will my organization need to adapt to take advantage? These are transformational strategic discussions that are being shaped by forces larger than any single vendor. For many of these folks, desktop virtualization is just part of a transformational strategy to offer new IT services efficiently. In order to accomplish this they are seeking out ways to abstract state from hardcoded infrastructure so that it can be created on demand and used more efficiently. I don't think any of these shifts towards IT as an on demand service or consumerization are trade secrets. I think everybody in the industry is finding their way with these changing dynamics. In the case of Citrix we are actively working towards and committed to simplifying the desktop and enabling new ways for people and IT to work. I like to think of it as the stateless desktop. Sure we are not perfect and we have work to do, there will be bumps along the way. However I truly believe this is a worthy goal and creates a better tomorrow. It would be far too easy for me to simply give up and stay with the status quo because it is familiar, or become preoccupied with a niche use case constraint. Fortunately I have had the pleasure to meet so many leaders who understand the changing dynamics, the power of a stateless desktop architecture and are navigating their organizations accordingly. Those are some of the most rewarding conversations I have had and why one year in I am still so excited about having an opportunity to help shape the future.
Follow on Twitter