February 2016 archive

XenApp/XenDesktop 7.8 – A Big Step Forward In Image Management

appdisk-slide_2

Citrix released XenApp and XenDesktop 7.8 on 02/25 and with it came numerous feature enhancements. In this post, I want to focus on two of these features as it addresses a major challenge most Citrix administrators have to deal with today.

The Problem

It is safe to say that every enterprise customer that I work with uses Provisioning Services for XenApp and Pooled VDI for all the management, storage and performance benefits. However, a majority of these customers end up having to manage multiple images (sometimes >10). In most cases, applications are locally installed, in a few cases, App-V is used in conjunction with locally installed apps and in rare occassions, SCCM/LANDESK and similar ESD tools are used. For Pooled desktops, its a combination of locally installed apps and apps delivered via XenApp for the most part. On some occassions third party tools are also used. The net result is that multiple dedicated resources spend most of their time updating these images and managing application updates.

So what does XA/XD 7.8 offer to solve this problem?

AppDisk

I constantly have discussions with my customers around how to solve the problem of image management, and it usually boils down to separating the applications from the operating system as far as possible. XA/XD 7.8 introduces AppDisk, which provides the ability to manage your applications independently of the base image. AppDisk falls under application layering, which has been around for a while now. You can add any number of applications to an AppDisk and the AppDisk can then be tied to multiple machines at the same time running different operating systems. So if you are an Enterprise customer that has multiple XenApp silos today due to different business units requiring different applications for instance and have multiple PVS images that you manage for this purpose, you could potentially cut down to one image for each OS and then use AppDisk to layer the applications thereby making management of the images a lot easier. Not only that, application updates become a lot easier and the maintenance windows will reduce significantly. Also if you wanted to replicate your applications across multiple datacenters, it is as easy as copying these appdisks over.

Integration of AppDisk with AppDNA

There are a number of vendors today that offer layering solutions, including some that partner with Citrix. What truly differentiates AppDisk is our integration with AppDNA. When there are multiple layers tied to a delivery group for instance, AppDNA lets the administrator know how a change in one layer could potentially impact compatibility between layers and can reorder the layers if needed. Similarly, AppDNA can also inform the administrator if an AppLayer is incompatible with a specific OS. So if I were to tie the same AppDisk to multiple delivery groups delivering different operating systems, thanks to AppDNA, you can quickly determine if that AppDisk is compatbile with the target OS. This is truly a differentiator and removes a lot of the guess work and manual labor involved in compatibility analysis.

With all that said, layering is not a one size fits all solution for application deployment. There are various challenges. When you use mutiple Appdisks for instance, it is important to understand the dependencies between layers to make sure the layers can working with each other and there are no conflicts. In large environments, there could be hundreds of layers, each layer having a large number of applications. So management could get complex in those cases. Also, AppDisk is not supported on dedicated desktops today. Also important to note that PvD and Appdisk cannot be used together today

App-V Packages

Another key feature in XenApp/XenDesktop 7.8 is the ability to publish App-V packages that are stored in a network share without needing the App-V infrastructure. The process is no different from publishing a natively installed application. You may ask why even go down this path when you could address most use cases directly with AppDisk. There are a couple of reasons. First, AppDisk does not provide application isolation. So, if you require application isolation, perhaps to run multiple versions of the same application for instance, you would need to use a technology like App-V. Secondly, if you already have your desktop teams leveraging App-V to sequence packages, it makes sense to deploy the same packages within your Citrix environment instead of reinventing the wheel.

Final thoughts

Its human nature to be enamored by the latest shiny toy. But in the case of application management, there is no one size fits all solution. But with the XA/XD 7.8 release, there are various options available for packaging and delivering applications thanks to the tools Citrix added. Does that mean the tools we provide will address 100% of the use cases out there? Probably not. We have a number of partners who add further value through their solutions. Fine examples are Liquidware Labs, FSLogix and Unidesk.

I believe that a lot of enterprise deployments, will continue to deploy core applications natively in the base image, either locally installed or using App-V and the likes. However, AppDisk with AppDNA is a great solution to manage business unit specific applications that were silo’d in the past and increased the infrastructure and operational overhead substantially. To conclude, I would highly recommend that you try XenApp/XenDesktop 7.8 in a lab environment and get familiar with AppDisk and App-V package deployment.

 

Step by step guide on configuring the Rasperry Pi to deliver Citrix Apps and Desktops to your End Users!

IMG_20160209_012418

Why The Raspberry Pi?

In working with my customers over the years, end point management is something most struggle with to this day. Some choose to still provide their end users with fat clients, having to figure out how to manage the operating system and applications while making sure the device is secure. This tends to be a daunting challenge both from an operational and financial perspective. Others choose to leverage thin clients when possible but struggle in deciding what the right device is from a price and functionality pespective. A lot of times, they spend upwards of $500 on these thin clients, which still run a Windows Embedded OS that still needs to be managed and in some ways defeats the purpose of a thin client. While this is not true in every case, I would say that the end point management dillema is one of the biggest factors in virtualization initiatives stalling at my enterprise customers.

Over the past couple of weeks, I have been taking a closer look at the Rapsberry Pi. For those of you not familiar with the Raspberry Pi, I would highly recommend you check this out. While the use cases for the Pi are immense, what peaked my curiosity were recent blogs by Martin Rowan and Trond Eirik Haavarstein around how they leveraged the Pi as a thin client replacement for Citrix workloads.

Now before we go further, its important to understand why this was interest to me. First off, the device can be made highly secure by running stripped down Linux OS. Secondly, a Raspberry Pi 2 costs roughly $35. Tack on a case and adequate storage, the device is still under $50. So if there was a way to effectively deliver Citrix workloads leveraging this device, this would be the cheapest thin client out there! Not to mention a simple support and maintenance strategy, GET A NEW ONE! 🙂

How Does One Get Started?

I decided to get myself a Raspberry Pi 2 and give it a test run. I ordered the Vilros Raspberry Pi 2 Complete Starter Kit off of Amazon for around $55 (its around $70 now but price fluctuates). I would highly recommend going for a starter kit, either the one I got or the even more popular Canakit as these include everything you’ll need including wi fi adapter, case, hdmi cable, heat sinks, storage, power adapter etc. I also ordered a couple of additional micro SD cards. I wanted to have different OS builds on each of the cards, making it easy for me to showcase different solutions by just switching the micro SD cards on the Pi.

I looked at ThinLinx, Raspian Jessie and the Raspberry Pi Thin Client Project as potential options, but decided to start with ThinLinx and Raspbian Jessie. Before you get started, I highly recommend you read the this blog by Eric on Running Citrix workloads on ThinLinx and this blog by Martin Rowan on configuring and optimizing Citrix Receiver on Raspbian Jessie.

Approach 1: ThinLinx

Lets start with the ThinLinx build. ThinLinx OS (TLXOS) helps make effective thin clients out of old PC’s, Intel Compute Stick, Intel NUC and Raspberry Pi. TLXOS supports various protocols including Citrix HDX, RemoteFX 8.1, RDP. Intel showcased their NUC devices running ThinLinx at Citrix Summit this year. Check out the video. In addition Rachel Berry wrote an excellent blog about how Citrix leveraged Intel NUCs running ThinLinx for our Demos and Labs at Citrix Synergy 2015.

The process is as follows:

  • Go to this website and download the TLXOS Installer for Raspberry Pi.
  • Connect your micro SD card to your PC and run the TLXOS installer. This will format your micro SD card and copy the TLXOS image on the card.
  • From the same website mentioned above, download the ThinLinx Management Software (TMS) and install the software on a windows test machine. This is fairly lightweight software and can run on a VM as well.
  • Insert the micro SD card with TLXOS into the Raspberry PI and start it up.
  • Run the TMS app on your PC, which will detect the PI running TLXOS. You can configure the PI running through the management software.
  • In my case, I used TMS to make sure Citrix HDX is selected under the “Protocol” section. You could also choose “Web” and run in Kiosk mode if you’d like user to connect in that manner. You can also speficy a name for the device, upgrade software on the device, push SSL certs (required if your backend resources are running internal certs) etc.
  • On the PI, specify the Native Receiver URL. You will then be prompted for your credentials. Once thats set, you are good to go! You should see your apps and desktops, which you can then launch.

Video showcasing Citrix on a Raspberry Pi 2 running TLXOS

My Thoughts on the ThinLinx Option.

ThinLinx adds about $10 to the cost of the solution, bringing it to $69 in my case. However that is still a lot cheaper than your main stream thin clients. In addition, you get complete management capabilities which is absolutely necessary in an Enterprise environment. TLXOS was extremely easy to get going and the functionality was superb both for regular compute and for multimedia. The Citrix HDX protocol on TLXOS supports H264 decode upto 30 fps at 1080p resolution. There was no tinkering to get receiver to work. It just worked! I did notice some artifacts with the mouse cursor (as you might notice in the video) but not all the time. Overall I was very pleased with the simplicity of the solution and the overall performance of Citrix Workloads on TLXOS.

Approach 2: Raspbian Jessie

Raspbian OS is based off of Debian Linux. Jessie is the current version. There are two versions available for the PI – a full desktop image and a minimal image. I went with the full image for my tests. The Raspbian Jessie solution that I tested was unmanaged, unlike ThinLinx. So I had to install the OS, install receiver, tweak parameters to optimize performance etc. Nonetheless, the end result was a great performing thin client. I followed Martin Rowan’s blog for the various tweaks. I will try and outline them once again but wanted to call out that the tweaks were from his blog. So here are the steps:

  • Download the Raspbian Jessie full desktop image from this link.
  • Download Win32DiskImager and install on your system
  • Extract the Raspbian Jessie Image from the zip file
  • Connect your micro SD card to your PC
  • Run Win32DiskImager and use the extracted image as your source and the micro SD as your destination. This will format and copy the Raspian Jessie image on the SD card.
  • At this point, remove the SD card from your PC and plug it into the Pi and boot the Pi.
  • Run the following optimization commands in Raspbian Jessie. Once again, read Martin’s blog for more details.
    • Expand Filesystem
      • Run sudo raspi-config and select option “1 Expand Filesystem“. Reboot the Pi.
    • Run sudo raspi-config and select option “4 Wait for Network at Boot“, then select the option for “Slow Wait for network connection before completing boot“.
  • Install Citrix Receiver for ARM
    • Download Citrix Receiver for ARM (ARMHF) from the following link (under Debian packages)
    • Also download the USB Support package (ARMHF)
    • Install the Receiver: sudo gdebi icaclient_13.2.0.322243_armhf.deb
    • Install the USB Support package: sudo gdebi ctxusb_2.5.322243_armhf.deb
    • Further Optimizations (Optional)
      • Increase Frame Buffer – Section 2.1 in Martin’s blog
      • Switch to using libjpeg62-turbo – Section 2.2 in Martin’s blog
      • Disable H264 Graphics – Section 2.3 in Martin’s blog
      • Disable Mulimedia (HDX Mediastream redirection) – Section 2.4 on Martin’s blog.
      • Overclock your Pi – Run raspi-config to overclock your Pi and get some additional juice.
    • Start Receiver and specify URL to connect to your Citrix Storefront server. At this point you will be prompted for credentials.
    • Now you will have access to your desktops and apps.
  • I did run into an issue with Audio being routed over HDMI and not the headphone jack. To switch this back to the headphone jack, follow the instructions here

Video showcasing Citrix on a Raspberry Pi 2 running Raspian Jessie

Thoughts on Raspbian Jessie

My experience so far with Raspbian Jessie has been good. A little more tweaking and hacking as compared to ThinLinx, which worked out of the box. You get to install the latest receiver though. General performance for productivity apps was great and on par with ThinLinx. The boot was a lot faster than ThinLinx (<10 seconds).

Final thoughts based on testing so far

Is the Rasperry Pi a good solution for all use cases at the moment? Probably not. Does it fit a majority of the use cases? I would say so based on the testing so far. There are definitely some gaps, like having a power button perhaps (hopefully in Raspberry Pi 3), multi montor support to name a couple. Another major requirement for most organizations out there is Unified Communications, and in most cases, its Skype For Business. Citrix has excelled in supporting Lync and now Skype for Business in a virtualized environment while offering a native-like user experience with out of band peer to peer communication as far as voice and video traffic goes. Watch this video which compares the native vs optimized user experience side by side. One of the pieces that makes this possible is the Real Time Media Engine (RTME) which is installed on the client. Today, there is no RTME client for the ARM processor. You can still support Sype but all the processing will occur on the backend servers. I am sure an ARM based RTME client is on the list of good to have’s for Citrix and its probably just a matter of time, especially with the rapid popularity of ARM based devices like the Pi and Intel Compute Sticks. Hoping my friend and fellow citrite Scott Lane will work some magic to make this happen 🙂 Read this blog by Chris Fleck on why he believes the Raspberry Pi could totally disrupt the PC industry. I tend to agree with Chris.

Whats Next?

I will soon be testing the Raspberry Pi Thin Client Project, specifically the 1.99 release which has Citrix Receiver 13.3 bundled in. I hope to have a follow up blog on this. On the fun side, I plan to build an Arcade Machine for my kids based on the Pi and perhaps even a media center, although I really love my Roku 🙂 Check out some of the fun projects out there based on the Pi. As always I look forward to everyone’s feedback and do comment if you have ideas on future blog topics.

More soon..

George