If you have paid any attention to any articles relating to desktop virtualization, you will quickly see claims like:
- Will Windows 7 fuel desktop virtualization adoption
- How desktop virtualization eases Windows 7 Migration
- Windows 7 Drives Desktop Virtualization
- Windows 7 and Desktop Virtualization: The New Tools
- Windows 7 - The Desktop Virtualization Catalystâ
I could go on, but you get the point. The major thought is that Windows 7 and desktop virtualization go hand-in-hand, but how do you get there? You are not only migrating the OS but you are also migrating to a virtualized desktop operating environment. Is this too much change for an organization?
NO. This is the perfect time to make the move. Think about it this way, we have the opportunity to start with a clean slate. We can define the new operating system that completely aligns with the organization's policies. We can provide an environment that self heals and is optimized each and every time a user connects. But in order to achieve these benefits, we have to design the environment correctly. We need to focus on
• What do we include in our base desktop image?
• How do we deliver the operating system to our end point (which might be a physical or virtual desktop)?
• How do we integrate applications into the mix?
• What are the recommendations for allowing users to personalize their environment without impacting the business?
• What are the best practices for providing a great user experience for any user over any connection?
These are some of the topics being presenting in this week's Microsoft TechNet broadcast focusing on "Accelerating Windows 7 Migration with Citrix and Desktop Virtualization"
The show starts on Thursday, November 12th at 1PM Eastern time and you can register here
Daniel - Lead Architect - Worldwide Consulting Solutions
- Twitter: @djfeller
- Desktop virtualization information: Ask the Architect - Next-Generation Desktop site
- Questions - Then Ask The Architect
I got an interesting item in my inbox from a friend who was speaking with VMware about their VDI solution. He asked me if the information VMware was telling him was true. He was especially curious because he knew I wrote the Citrix XenDesktop Enterprise Designreference architecture that VMware was referencing to talk about how much better View was. VMWare's approach is laughable. They are taking a detailed consulting design document and trying to compare it to the VMware View reference architecture, which if you read it like I have (wasted 2 hours of my life), you will quickly see it is high-level and full of marketing spin and provides no insight. I, on the other hand, was trying to provide all of you in the community with insight into how to design a large, and complex customer environment with XenDesktop. Anyways, I told him the angle they were using and he thought it was ridiculous. I was going to leave it at that, but I've been seeing and hearing more about it from others so I thought I would provide all of you with the same information. Let's break it down:
Scalability:
- Misconception: VMWare says that XenDesktop has poor hypervisor scalability. They say that on a 16 core server XenDesktop can only support 40 users (3 users per core).
- Truth: The XenDesktop reference architecture for the hosted virtual desktops is 8 cores, not 16. In the design phase, we estimated 40-50 VMs per server, which averages to 5-7 virtual desktops per core. We were a little conservative as we were not sure how the unique applications would impact the system. But you can look at Project Virtual Reality Check scalability white paper to get a good comparison of XenServer and ESX. Although the design VMWare references was for XenServer, the same estimates would have been used if the hypervisor was running ESX.
Storage:
- Misconception: VMware likes to say that XenDesktop is a storage pig in that we need a lot of storage associated with each virtual desktop.
- Truth: This particular design had a requirement to keep a few system items persistent across workstation reboots so we recommended the creation of a local, persistent disk of between 3-5GB to store items like event logs, performance metrics, antivirus definitions, etc. This is not NAS/SAN storage; it is the storage on the physical XenServer. Think about it. You buy an 8 core server, install XenServer, which is small, and the rest of the local storage is wasted. We utilize that for the persistent store of the virtual desktops. This means we cannot do XenMotion on the virtual desktops, but most customers I've spoken to do not have this requirement. After looking at VMware's reference architecture I don't see any level of detail as to the amount of storage they require. I wonder why not.
Workloads:
- Misconception: VMware states that they can get more users on a hypervisor than we can.
- Truth: This is all around scalability tests, which I'm not a fan of. I can easily find you 5 tests that show XenServer is better and another 5 that shows ESX is. The VMware reference architecture had users connected for 14 straight hours, seems like a long workday to me. I have a question for VMWare: What company did you create this architecture for where users would work for 14 hours? Please tell me as I do not want to work there. As we all know, the most typical system hit is during startup and logon. So by expanding the session time from a few hours to 14, the overall average utilization rates can be significantly lowered, thus providing an inaccurate estimate to the hardware
- Truth: The Citrix Reference Architecture made estimates based on the applications and expected real user workload, not simple apps and 14 hour workdays. VMware's reference architecture was based on standard scalability samples shown below. If this was an actual user workload, I totally want to work for that company because that job looks so easy:
- Microsoft Word - Open/minimize/close, write random words/numbers, save modifications.
- Microsoft Excel - Open/minimize/close, write random numbers, insert/delete columns/rows, copy/paste formulas
- Etc
RAM:
- Misconception: The amount of RAM that VMware recommends in their reference architecture is nuts. They say they can get 96 users on a server with 96GB RAM.
- Truth: If you subtract the hypervisor overhead you are looking at "USABLE" RAM of about 800MB per virtual desktop. I say usable because ESX has probably enabled memory ballooning. It is true that XenServer does not have memory ballooning, but I would recommend customers disable this feature for virtual desktops. On XenDesktop projects that use the ESX hypervisor, I also recommend disabling this feature. Users and desktops are more dynamic than server workloads, meaning the RAM consumption is going to fluctuate greatly. If RAM starts to decrease to the critical threshold, what happens to the hypervisor? It must free up memory by paging this to disk. Isn't this an intensive system process that consumes more resources at a time when resources are scarce?
End Points:
- Misconception: Vmware talks about the end points and only focus on thin clients and end points that we can repurpose with a Linux OS or locked down Windows OS. What about the newer end points that organizations have already spent money on?
- Truth: With VMware View you still will connect to the VDI desktop and idle your local hardware. Seems like a lot of wasted desktop resources to me. XenDesktop, on the other hand, allows you to re-use those desktops as a local streamed virtual desktop. Don't be fooled, there is more to desktop virtualization than VDI.
Provision:
- Truth: Closer to the end, the reference architecture talks about the time to provision X number of linked clone desktops. I'm not sure if this is automated or if an admin has to do each desktop one-by-one. I'll give VMware the benefit of doubt here and say it is automated, but taking 161 minutes (2 1/2 hours) to provision 500 virtual desktops seems long to me. I personally don't think this metric is important, even though XenDesktop is measured in seconds. If it is automated, you do all of this in the build out phase and not in production. So the time it takes is irrelevant to me. Why did they choose to include it? No idea
So my advice to anyone who is still reading this blog... Take everything you get with a level of skepticism. Do your own due diligence and look at the details to see if things were glossed over or if an in-depth analysis and design was completed. That recommendation even includes the materials I post. I try to be open and honest in my blogs, white papers, TechTalks and videos, but I am a little biased to Citrix because they pay my bills.
If you want to discuss more, or have further questions, then Ask the Architect
Daniel - Lead Architect - Worldwide Consulting Solutions
- Twitter: @djfeller
- For the latest desktop virtualization information visit the Ask the Architect - Next-Generation Desktop site
- Questions - Then Ask The Architect
My role allows me to speak with many different people (customers, technologists, coworkers, administrators, etc). I've been able to see presentations comparing the different desktop virtualization solutions out there. One of the problems I see is that many of the solutions only focus on one aspect of desktop virtualization, and that is the VDI model.
VDI is only one aspect of the entire desktop virtualization solution. This is a concept that many fail to comprehend. For example, I attended Gartner ITExpo last week and was amazed at how many people I talked to only thought about the VDI scenario (you know VDI, allowing you to have a remote virtual desktop running on a hypervisor in the data center). When I talked to people about the other options, I could see their eyes light up.
If you are reading this and only know about the VDI version, the I suggest you take a look at FlexCast to get a better understanding at all of the different options out there (FYI, even the CIO magazine identifies there is more to desktop virtualization than VDI). But in a nutshell, here's the deal... desktop virtualization includes:
- Hosted shared desktop
- Hosted VM-based VDI desktop
- Hosted blade PCs
- Streamed local desktop
- Virtual Apps to installed desktops
- Local VM-based desktop
I want to focus on the Streamed local desktops scenario. This is the one that really got people's attention at Gartner. Why? Because most organizations do not do a big bang effect of replacing their end point devices. Instead, most have a rolling lifecycle where each year a portion of the endpoints are upgraded and over the course of 3-4 years the entire desktop environment has been upgraded. Once the process completes, it starts over, never ending.
Let's now say you are embarking on a desktop virtualization project. It seems like a waste of resources and money to idle those desktops that are only 1 year old. They are powerful enough to run Windows 7 and the latest applications, so why would we not use the hardware we already have? This is where the streamed local desktop comes in. It uses the same XenDesktop infrastructure, the same OS images, the same application layer and the same personalization layer. The only thing that changed is the hardware layer.
As money always seems to speak louder than words, think about it this way: If you have 3,000 desktops and they are replaced every 3 years on a rolling cycle, that means 1,000 of those desktop are less than 1 year old. If you estimate 50-100 virtual desktops on a hypervisor (XenServer, ESX or Hyper-V) then you need 10-20 fewer physical servers, which is a substantial cost savings (and even greater if you are using a hypervisor that costs money).
So I encourage all of you to not think about the VDI-only solution but instead to look at your environment as a whole. Chances are you will see that VDI-only might work for you, but probably isn't the best way to run your business. Think about it this way... You can create documents in Notepad, but would you really base your business on a solution that only does one thing, or would you use a more complete solution like Microsoft Word that gives you options?
Daniel - Lead Architect - Worldwide Consulting Solutions
- Twitter: @djfeller
- For the latest desktop virtualization information visit the Ask the Architect - Next-Generation site
- Questions - Then Ask The Architect
I have recently returned from Gartner ITExpo in Orlando. It was quite interesting, especially some of the thoughts they had around the economy and impending recovery. One thing stated during the conference should not be a surprise to anyone, during a recession you save your money by not taking on any new projects. By not implementing beneficial upgrades to your systems. By not delivering newer versions of your applications to users.
This does have the benefit of saving money, but this can only go on for so long. Eventually, your competitors will stop saving and start expanding. Where will you be?
We are at a very unique inflection point that can have lasting ramifications to your IT infrastructure. We are:
- Coming out of a recession. We are very likely to see a slew of projects going across the tables to install this or upgrade that. So it is looking like the next 1-2 years will have IT taking on a lot of tactical projects.
- Getting ready for a major operating system upgrade with Windows 7. Whether you are ready or not, Windows XP doesn't have much time left, and most people are skipping Windows Vista. How are you going to migrate?
- Able to do things that were unheard of in previous years. We can virtualize a massive server into small chunks, we can do the same to an operating system, applications, and the user's personalization layer and deliver it to any type of device imaginable (phones, PCs, MACs).
So what does this mean? It means you can continue running your environment like you have for the last 10-20-30 years, or you can ask yourself one simple questions: "Is there a better way?"
We have a very profound opportunity to correct the issues of the past. And if we do it correctly, the resources required to update, maintain and support our environment will greatly reduce. So when the next recession comes around, your organization will be ready with a fast and streamlined approach towards maintaining your IT environment as well as continuously providing new services. But where to begin?
Take a look at your infrastructure. What area requires a lot of time and resources to maintain? Probably your desktop environment. Let's investigate and fix it, but let's do it right. Make sure you look at all aspects
- The users: what do they need and how do they work
- The devices: what type of devices, what capabilities
- The locations: where are they located, what bandwidth pipes are available
- The applications: how many are there, what level of dependencies do they have, who uses what
This information is critical. This is what you need if you want to do the desktop virtualization solution correctly, from day 1. Is it going to be something you can do in 10 minutes? No. Is it something you can implement in 1 hour? No. Why? Because we are taking something that is seriously complex and trying to create a solution that can scale and simplify our lives. So during the next recession, we won't have to stop delivering new services, but can forge ahead and beat your competition with an entirely new delivery solution.
Daniel - Lead Architect - Worldwide Consulting Solutions
- Twitter: @djfeller
- Ask the Architect - Next-Generation site
- Questions - Then Ask The Architect
We have had a great discussion going about user-installed applications and the need/risks associated with this type of solution. One of the comments I received in favor of allowing users to install applications was around Firefox. For those of you who don't use Firefox, there are thousands of add-ons a user can install to customize their browser experience. I personally have about five different add-ons configured with my Firefox implementation.
Now I've been advocating the need for IT to have a process in place that can handle the expansion of the application pool for the users as needed by:
- Taking user requests for new applications/tools
- Validating the need
- Delivering in a timely manner
This is all well and good until we get to the topic of these add-ons. I don't expect any IT organization to have a requirement to support the add-ons. There are thousands of them. Think about it, do you really expect your IT to be spending time messing with these add-ons? And what would it look like for the user? A Firefox application with thousands of add-ons? CRAZY (I do wonder at what point that app would crash. Maybe need a MythBuster episode on it)
All of the sudden, I had a very enlightening experience. I just got my new XenDesktop 4 environment built. I went in an started to personalize my environment, including my 5 Firefox add-ons (remember I'm using pooled desktops from a single base image with roaming profiles). The next day, when I logged onto my virtual desktop, my Firefox starts up and BAM all of my add-ons are still there?!?!
I did some investigation into this. Well, this is an example of an intelligent application design. The add-ons are located within the user's profile (the roaming portion). User's are able to customize the Firefox application without any special tools/utilities. The discussion about Firefox and the add-ons is now a non-issue as the application manages this for us.
So, 1 application down, only 999,999 to go
The point is you need to test before deciding if something will or will not work.
Daniel - Lead Architect - Worldwide Consulting Solutions
- Twitter: @djfeller
- Ask the Architect - Next-Generation site
- Questions - Then Ask The Architect
Now that XenDesktop 4 includes numerous ways to deliver virtual desktops, (Greater description of the FlexCast technology), we need to take a look at how those applications are integrated into:
- Hosted/Shared desktops
- Hosted VM-based desktops (VDI)
- Hosted Blade PC desktops
- Local Streamed desktops
- Virtual Apps to Installed desktops
- Local VM-based desktops
(BTW, this also aligns with a CIO magazine article on Desktop Virtualization's 5 most important flavors)
And this is a question that Cole M sent into Ask the Architect. As always, the short answer is "It Depends", but I try to do a little better than that in the latest Ask the Architect Video.
Daniel - Lead Architect
Follow me on Twitter: @djfeller
Follow the latest in desktop virtualization
Send Desktop Virtualization questions to: AskTheArchitect@Citrix.com
Did Brian Maddenmake a valid point about VDI and desktop virtualization that most people missed?
Brian discussed a VDIchallenge, user-installed applications, which was in response to a desktop virtualization postI recently wrote about the same topic. Brian's premise was that each user needs to be able to install their own applications and should be allocated 2 virtual desktops:
- First one locked down by IT
- Second one is open where users would have full control
When I first read this I thought, well yes that would work but talk about a nightmare situation. Many of the comments posted were extremely funny and I encourage you to read them (especially the one that said "Steve Ballmer must be smiling"). But seriously, if you think about what Brian is saying, it does have validity, if done correctly.
Sure there are tools/solutions that can allow users to install their own applications but we should not open the flood-gates and allow users to install whatever they desire. Not only are you looking at a management nightmare, but you are also looking at security risks, legal risks, and productivity risks. What I can see happening is an environment that is suited to what the user needs. Something like the following...
- Each user gets their IT-delivered desktop that includes all known corporate applications. These applications are delivered into the desktop either through installation, streaming or hosting. Users will inevitably try to install apps/plugins/tools into the corporate-delivered desktop. The app will work until the user reboots (assuming shared image mode). Once rebooted, the app is gone and the cycle starts again. If the application is a new business requirement, there must be an IT process in place where users can request a new application. IT must have SLA's in place that allows them to assess the validity of the request, profile the application and deliver it to the virtual desktop in a timely manner (a few days to a week). Until the application is ready for delivery by IT, the user can continue to install or request a second virtual desktop (step 2 below).
- Each user has the "ability" to self-service a second virtual desktop that can be used as a "playground". Many power users have a need to install, test, evaluate different tools to make their jobs easier. Most users only need these applications for a few days or weeks, at least until a project is complete. Other users only need the application until IT is able to properly deliver the application into their corporate-delivered desktop. This is where a second virtual desktop, i.e. a self-service desktop, could be requested. This is something like Brian recommended, 2 desktops. But the second desktop is only used if it is needed and requested through a self-service process. Of course because IT does not know what users will do to this desktop, proper security precautions must be taken into account. With this option, users would have the ability to:
- Select the OS
- Select the life of the desktop (days, weeks or months)
- In the background, workflows are initiated that creates a new desktop, assign it to the user, and allow changes to be stored within the writable, user image. When the timeframe expires, the desktop is deleted from existence.
This option solves many of the challenges users experience in a virtual desktop world. How to install temporary applications. How to use a new business application until IT is able to assess and deliver it properly.
The point is that we must understand the users and their needs. Most users can get along perfectly well with the applications delivered from IT. But a sizeable portion of the user group needs autonomy, freedom, experimentation... A Playground. The one size desktop does not fit all. Some user's might have two different desktops, others only 1. We need to change the way we think about delivering desktops to users. And in order to meet user expectations, we need systems (technical and process oriented) in place that can accommodate the users in a timely manner.
- Twitter: @djfeller
- Ask the Architect - Next-Generation site
- Questions - Then Ask The Architect
- See me talk about designing your XenDesktop solution on Citrix Live
Daniel - Lead Architect - Worldwide Consulting Solutions
With so many articles flying around about desktop virtualization and VDI, have you ever seen or heard of anyone actually implementing this solution? And even if you have, I bet you, like me, have many questions to ask.
Well, I've had the opportunity to sit down with Sandy Kingdon, a Dynamic Desktop architect for CSC. Sandy is working on a large XenDesktop implementation and I was able to speak with her about it. It is an interesting discussion and architecture in that it uses Citrix XenDesktop, VMware ESX and AppSense User Environment Management
- Current Capacity: 1,000 users
- End of Year Capacity plan: 10,000 users
- End of Project Capacity plan: 40,000 users
- Virtual desktop specifications: Based on customer analysis and experience
- Antivirus requirements and updates design
- Application integration with the user desktop images
- User-installed applications requirements and design
- End-point device configurations
This discussion was focused on the architecture, design considerations and experiences. I can imagine as this project continues to grow to their 40,000 user goal we can have additional discussions on lessons learned, tips/tricks, etc.
If you want to hear more and see what else we have going on around desktop virtualization architectures, I recommend you visit the Ask the Architect site. Also, if you or someone you know who is currently or already completed a desktop virtualization implementation, I'd be eager to hear from you.
- Sandy Kingdon (CSC) Podcast
- Ask the Architect - Next-Generation site
- Questions - Then Ask The Architect
- Twitter: @djfeller
Daniel - Lead Architect - Worldwide Consulting Solutions
Some of the questions I've received lately is how to design a large-scale, enterprise XenDesktop architecture. We all can attest that most systems put into place become much more difficult to architect as the number of users increases. I'm not talking about Citrix products, I'm talking about any product. Which one do you think would be more difficult to design:
- A 100 user (insert your own product here) environment
- A 10,000 user (insert your own product here) environment
- A 50,000 user (insert your own product here) environment
Most of you will probably agree that it gets quite a bit more difficult as the number of users increases. And if we do a typical type of design, I would tend to agree, but I'm thinking we can simplify this so even the 10,000 and 50,000 user XenDesktop environment can be as easy as a 100 user deployment.
Many of you are probably thinking, this guy is full of it, he is too pie-in-the-sky for me. And when I first started thinking about this simplified architecture, I tended to agree. But as I've continued looking into this and discussing with other architects, I've come to the realization that I might be on to something here. See for yourself in the following video. I plan on posting additional videos around this concept in the future to show/demonstrate how it would work. But for now, I bring to you the Pod concept (and don't forget to leave your comments)
Daniel - Lead Architect
Follow my Blogs: http://community.citrix.com/blogs/citrite/danielf
Follow me on Twitter: @djfeller
Send Desktop Virtualization questions to: AskTheArchitect@Citrix.com
Watch previous Ask The Architect Videos at: http://www.citrix.com/tv/#video/1063
As we now have the desktp virtualization design discussion going, I want to look at the next big question... Should I do XenApp or XenDesktop? Can I get by with Terminal Services or do I need VDI? Spend just a little time going through tweets, blogs and articles related to desktop virtualization and you will be left in the same place you started, asking the simple question "Should I do this or am I crazy?" When I think about the desktop (I really need to have a better imagination) it isn't focused on what solution to pick, or which vendor to pick... It is focused on one simple concept:
Delivering the Correct Application to the Correct User in the Best Manner Possible
- What is the correct application? The one the user wants
- Who is the correct user? The one making the request
- How should it be delivered? That is the tricky question isn't it. This is where we all struggle to make headway, we keep stalling because we just aren't sure. Why is the decision so difficult? Because users are very demanding. User keep the organization functioning. If you hurt the user, you hurt the organization, which means you will hurt yourself (bye bye promotion, raise, or job).
So how do you make the right decision? By realizing three simple truths:
- One size does NOT fit all
- Applications are unique
- User's requirements change
Trying to align the users, applications and devices into a single, coherent desktop virtualization solution seems like a daunting task, but if you follow a few guidelines the process is doable. For example, if a user comes to work with their own personal laptop, can I simply deliver them a hosted virtual desktop or will they need a local virtual desktop? What about users with a 3-4 year old PC? What can I do with that setup?
This is why I suggest you take a look at the following, recently published, white paper focusing on the deciding factors between VDI and Terminal Services-based solution. If you want a highlight of the article, it is that the whole debate is not even a debate at all.
What do you think?
Daniel - Lead Architect - Worldwide Consulting Solutions
Follow me on Twitter: http://www.twitter.com/djfeller
Follow me in the Blogs: http://community.citrix.com/blogs/citrite/danielf
After my first blog, I received a few comments focused about user-installed applications and how there isn't much talk about them. Faisal posted a comment that stated he was doing a pilot with XenDesktop. Right now the biggest complaint is that users can't install their own "personal" applications and this is one of the big questions regarding virtual desktops. We had a few comments from others wanting to know the same thing (some really good posts). Well, here are my thoughts
With a physical desktop model, users could essentially do just about anything to their workstation. How much of a good thing was this? It makes the user happy, but what are the associated risks?
- Managing the endpoint became a nightmare. Hard to know what application conflicts will ensue with these unknown applications.
- Introduction of viruses, malware, spyware, etc. Many of the applications users install are freeware/shareware from untrustworthy sites. If it is on the desktop, does it now have the freedom to inflict damage to the rest of the network?
- Workstations became bloated and eventually slowed to a crawl resulting in IT having to completely rebuild the workstation.
Let's now move to the desktop virtualization model. If we are using hosted virtual desktops, that typically means the desktop is now operating within the confines of the data center. If you allow users to install applications onto their hosted virtual desktop, in my opinion, you might as well just open the doors to your data center and let anyone in because that is what you are doing if you let users install anything. Doesn't that concern you? If not, try telling this to a security person within the organization. After they recover from their stroke, they will tell you why this is not a good idea.
Now I'm not saying that we can't and shouldn't allow user-installed applications, I just want to make sure everyone understands the risks with doing such a thing. With the 3rd party solutions that are out there (AppSense and Atlantis Computing were mentioned in the comments from a previous blog post), my question would be
- How do we protect the data center from unknown apps.
- How do we keep the virtual desktop optimized and supportable. I don't want manage more bloated desktops By the way, this makes a great case for a Bring Your Own Computer (BYOC or BYOPC) model.
I do just want to add one more point. I've been using a hosted virtual desktop for about 2 months now with a shared disk, so any changes I make (application installs) go away after reboot. Truthfully, I haven't had much of a problem. I did need to download and install a few freeware tools to help me finish a project, but I only used those items for about 2 hrs. The nice thing, in this instance, was after I rebooted, they were gone. I don't plan on using them again. And if I do, I'll just re-install. Of course this isn't an application I need.
So the final question is should we really allow user-installed applications to persist or should we have a process in place where IT can quickly virtualize and deliver these applications to the respective users through a standardized application delivery approach?
Daniel - Lead Architect - Worldwide Consulting Solutions
Follow me on Twitter: http://www.twitter.com/djfeller
Follow me in the Blogs: http://community.citrix.com/blogs/citrite/danielf
What's new in desktop virtualization? Well, lots of announcements from different vendors trying to peddle their wares, but I haven't seen or read anything very thought provoking.
<rant> (Man, I'm totally geeking out here)
I'm trying to keep abreast of the latest happenings in the desktop virtualization space from a design and architecture perpsective, but honestly, there isn't much. There are tons of solutions out there, some better than others. There are many point solutions out there that solve 1 issue for desktop virtualization. Heck, even Brian Madden commented about the one-hit wonders in a recent blog.
I'm also on twitter (@djfeller) and I try to follow VDI/Desktop Virtualization, I have Google Reader alerts setup (You can follow my shared items but there isn't much I've found useful). What do I typically see? One post about a new feature, then I see it retweeted a zillion times (Ok, I'm exaggerating a little, but still). I see articles about why companies aren't doing the VDI/Desktop Virtualization thing yet. Why? It's not because there aren't solutions. There are. They might not solve every use case, but they can solve some for some users. So what's the holdup? No one is showing them how to get it done.
It's time for a REAL discussion. Let's start focusing on designing a desktop virtualization solution.
</rant>
I'm not going to lie to you and tell you desktop virtualization is easy. It won't be a walk in the park unless your park is full of mountains, rivers, mosquitoes, coyotes, wolfs and bears. So, why would we attempt to do something like this? Because the alternative is even worse. With so many different user requirements you can quickly see how the current distributed desktop environment is a disaster waiting to happen (or already happened over and over again).
But let's not dwell on the ugliness of the current model. Let's instead focus on designing a better solution. Let's start talking about design, and my oh my there is a lot to talk about, which is why I'm about to start a blog series on designing a desktop virtualization solution with XenDesktop. I plan to focus on the main design decision areas and giving you my thoughts and recommendations based on what I've seen so far. I'm positive many of you have seen different things, which I encourage you to comment so we all can learn.
This should be a great series and I can't wait to hear some of your comments. (BTW, I got a lot of great comments for all of you during our Provisioning Services for XenApp blog series and hope to get the same level of feedback.)
Daniel - Lead Architect - Worldwide Consulting Solutions
Follow me on Twitter: http://www.twitter.com/djfeller
Follow me in the Blogs: http://community.citrix.com/blogs/citrite/danielf
Well, for those of you who were able to attend Burton Catalyst 2009 in San Diego the other week, you probably noticed the number of sessions focused on VDI. The first one I want to talk about is McHenry Savings Bank and their move to VDI. Based on the discussion, their pre-VDI deployment consisted of the following:
- 130 Desktops purchased in 2001
- Windows 2000 SP4
- 1 Day desktop creation time
- No device consistency
Although this is not a large desktop environment, they do run very lean with 2 people managing the entire IT environment, which includes hardware, networking, IP phones, ATMs, desktops and software. As you can imagine, these two people have their hands full and probably had little time to focus on improving the environment because they were spending most of their time in a support fashion.
What I found particularly fascinating about their VDI story was not so much about the infrastructure and VDI solution they used but what they used as a success criteria: electricity. Many of the benefits I've seen in VDI is based on simplification. Using a single desktop image for hundreds of users simplifies support. But in their solution, they used a 1:1 relationship between user/VM (each user had their own unique VM). Over 3 years they said they had cost savings of roughly $23,000 over 3 years just for the desktop device due to the low power consumption of the desktop appliance (I do question these numbers as they did not take into account the power consumption of their new servers that are used to virtualize the desktop).
They also broke down the costs (including desktop hardware) and showed a net savings of $19,000 over 3 years, but again they failed to take into account the cost of the 8 servers that would host the virtual desktops.
From my perspective, one of the more interesting points were the challenges with VDI, which I believe is important for any one considering a move to VDI. Based on the solution they selected, the following were their challenges:
- Graphic intensive applications and speed issues across the WAN
- Centralization of virtual desktops not possible over limited WAN bandwidth
- No Central location of all VMs. (VM Sprawl)
- Some limitations on peripheral support
- Finding weaknesses in local LAN as it is now critical
I think when looking at a VDI solution, you need to consider the branch office. What impact will the WAN have on VDI plans? Can the transport protocol used provide enough resilience and responsiveness over WAN connections?
But one thing is definite based on the story McHenry Savings Bank told, delivering a new desktop to a user is now as easy as plugging in a device. That is truly a huge improvement. Nice work
Note: This blog was brought to you from a hosted XenDesktop virtual desktop with a XenApp-streamed Firefox browser.
Daniel - Lead Architect - Worldwide Consulting Solutions
Follow me on Twitter: http://www.twitter.com/djfeller
Follow me in the Blogs: http://community.citrix.com/blogs/citrite/danielf
Big discussions are happening in August and will you be part of it? Over three days in August a XenDesktop Ask the Architect TechTalk series will be delivered focusing on analyzing, designing and implementing a VDI solution.
This particular series is focusing on the questions I hear over and over again: # I'm interested in VDI but I'm not sure where to start?
- I already use XenApp but don't know if and when I should be using XenDesktop instead.
- I've decided to go with XenDesktop as my VDI solution, but how do I design the environment correctly?
I believe many of you have similar questions. Instead of answering these questions on a one-by-one basis, we've decided to do an Ask the Architect TechTalk series.
Part 1: Virtual Desktops or Virtual Applications: Selecting Your Best Solution*(August 11 @ 1PM EDT)*
We've heard the debate from numerous people across numerous platforms... Should I use TSE or VDI for my organization? When should I use XenDesktop if I already have XenApp? What type of virtual desktop do my users require? What options do I even have?
This is a big question and one that deserves the entire time. I encourage you to attend this session as it sets the stage for the rest of the week. If you can only attend one session, then this is the one to attend.
Part 2: Creating an Enterprise VDI Solution with XenDesktop (August 12 @ 1PM EDT)
Once you decided to use XenDesktop as your VDI solution, how do you create your enterprise design? Would you believe there are essentially 4 things you need to know in order to create your XenDesktop design? Based on those four items, you can design the entire infrastructure. We will cover the design decisions for# Virtualization Infrastructure
- OS Delivery
- Application Delivery
- Desktop Delivery
- Virtual Desktop Design
Part 3: Successfully Migrating Users to Virtual Desktops(August 13 @ 1PM EDT)
Once the environment is designed and built, its time to move users over to the virtual system. The cutover needs to be smooth and seamless for the users or else they will need to recreate their entire personalized desktop environment. This will not only take time, but will also give the users a bad first imipression of the overall solution.
This TechTalk session focuses specifically on how to migrate user environments into the virtual desktop world. It will cover the options, ramifications, and approaches.
This should be a great series with lots of good information. Hope to see you there!
Daniel - Lead Architect - Worldwide Consulting Solutions
Follow me on Twitter: http://www.twitter.com/djfeller
Follow me in the Blogs: http://community.citrix.com/blogs/citrite/danielf
The Burton Group Catalyst Conference has always been a highly technical and packed-full of practical recommendations. This year's event, July 27-31 in San Diego, California looks to be no exception. More importantly, this year's event will focus heavily on VDI and VDI architecture as Chris Wolf from Burton highlights. Some of the key VDI sessions are:
- Building a Business Case for VDI
- VDI on the Large-Scale: From Business Case to Support
- Desktop Virtualization - Five Years Forward
- Starting Over: New Management Trends for Virtualized Desktops
How you can help?
As you know from my blog, I focus on defining the next generation VDI architecture. I'm not interested in hearing more opinions on whether VMware View is better than XenDesktop or hearing one company bash another. I let others do that, which you can watch the Thrilla in California between Simon Crosby and Scott Drummonds (should be entertaining). I want to understand how different companies are architecting for VDI.
Unfortunately, because of other commitments, I'm unable to attend Catalyst and I know the VDI information is going to be extremely valuable. So I'm asking to see if any of you plan on attending.
Reporting from Burton Catalyst
If so, I have a request. I'm looking for the following information from the VDI session:
- Key points
- Lessons learned
- Decision criteria
- Photos
- How are companies architecting VDI
- Reference architecture diagrams
If you are game, send me an email and let me know. After the conference I would compile the notes into blog post(s) and provide a huge shoutout for your help. I know this is a different approach, but none of us can be at all the events that we want. Remember, even though I work for Citrix, my goal is to advance the VDI concept. Everyone has a lot to learn about VDI and it is in the best interest of the industry to share the latest knowledge, regardless of vendor.
If you would like to contribute, please contact me by emailing me.
Thanks and I look forward to hearing from you
Daniel - Lead Architect - Worldwide Consulting Solutions
Follow me on Twitter: http://www.twitter.com/djfeller
Follow me in the Blogs: http://community.citrix.com/blogs/citrite/danielf
As many of you know, I'm not a Ft. Lauderdale or San Jose based Citrix employee. I work out of the grand Citrix office in Minneapolis (my basement). I've been a remote Citrix person since I started here almost 10 years ago. And I can tell you this, being a virtual worker used to suck pretty bad. Sure I could use any XenApp application over my internet connection effectively, but what was missing was being able to have an active part in brainstorming meetings and the feeling of being part of the team. I can't tell you how many times I've been in a meeting when people started white boarding. Not much for someone on the phone to do. Nothing to look at, nothing to see, nothing to contribute.
I tried to travel to Ft. Lauderdale once a month and this was pretty effective. Unfortunately, as we all experienced, the economy crumbled and so did travel budgets (which was my only monthly escape from cold Minnesota winters).
This got me thinking about virtual workers. What do they need to be effective and still feel like a member of the team? What have we done in our group to make our virtual workforce more effective? From a user's perspective, they only need a few things:
- Resources
- People Interaction
These are actually pretty easy to come by nowadays.
First, let's start with resources.
That was then...
- I had to have a local install for most of my apps. Sure I could have used XenApp, but many times I was disconnected from the internet and out of luck.
This is now...
- I now use Application Streaming. Many of my applications are streamed down to my laptop. I figure that 90% of the applications I use are streamed, while the remaining 10% are not because they require a backend data connection in order to function. What's the point in streaming something for offline use if it requires a backend data connection? I don't see one.
What about people interaction?
That was then...
- Trying to have discussions with coworkers was done via phone and required my own business line (Costs $$$).
- Trying to work on the same doc was done by XenApp shadowing.
- Trying to whiteboard was a joke (have you ever tried it with your mouse? I don't recommend it)
- Trying to get peoples facial expressions/reactions was impossible. At one point I went 6-9 months without seeing my boss or other coworkers.
This is now...
- Voice conversations no longer requires a separate business line. If I'm just doing a one-to-one conversation, I can use EasyCall. If I'm taking part in an online meeting, I can simply use the integrated VoIP functionality within GoToMeeting. No more long distance charges for me

- Collaboration on the same doc is now easy with GoToMeeting. Anyone can modify the one open document and comment on the fly.
- White boarding is done online, but instead of using a mouse we use sketch pads (Wacom, AIPTEK, UC-Logic). I even used mine during a recent Citrix TechTalk on offline mobility. And my manager just used it during a brainstorming meeting. Much more effective (and entertaining because my boss is not a very good artist.)
- Face-to-face conversations are done with video conferencing (Microsoft Communicator, TokBox, Oovoo). Actually makes you feel like you are part of the team.
- Quick conversations are done via any number of Instant Messenger providers
- Training is done online and collaboratively. One of my coworkers used video conferencing and GoToMeeting to train others that were located on a different continent. The feedback was extremely positive because the webinars was much more interesting when you can see everyone else.
Things have definitely improved for virtual workers. The technology has matured and become more integrated, which is making our lives easier. Are any of you virtual workers? What enhancements/technologies have you found to be helpful?
If you are interested in more information regarding virtual workers, take a look at the materials on this site.
Daniel - Lead Architect - Worldwide Consulting Solutions
Follow me on Twitter: http://www.twitter.com/djfeller
Follow me in the Blogs: http://community.citrix.com/blogs/citrite/danielf
The following is the Q/A session from the XenApp: Fact vs. Fiction - The Truth about App Compatibility with Citrix TechTalk. For those of you who missed it or are wondering where to get materials, they can be found here:
Q: does the appcompat site differentiate between verification with xenapp hosting versus xenapp streaming?
A: Yes. In the platform column, you can see the product and whether it was hosted or streamed
Q: does per user image mean per user per app or per user for all apps
A: Per user per app. Essentially, within the user's profile, you will have a GUID on the file level the registry level. Each GUID corresponds to 1 app. As this information is stored in the user's profile, you get down to 1 user and 1 app personalization.
Q: Is streaming licensed for XenApp 4.5 EE?
A: Yes. Enterprise and Platinum edition of XenApp 4.5 and 5 gives you App Streaming
Q: What is the difference between Stream to XenApp and Application Isolation?
A: Application streaming utilizes isolation environments. In older versions of XenApp, you could install applications into an isolated environment. The Isolation Environments are now only available as part of Application Streaming.
Q: Your Twitter site.
A: http://twitter.com/djfeller
Q: Daniel...need to know what hardware you use for your home setup? how many boxes do you have?
A: My personal lab setup is very simple and not a typical implementation. I'm only looking at functionality and not scalability. Two powerful workstations (Quad core, 8GB RAM, 500MB storage). Both systems are configured with XenServer. I also have a 1TB Debian Etch system I use for XenServer shared storage. Within XenServer, I have 1 Domain Controller (SQL and File share), 2 PVS servers, 4 XA servers, 2 WI servers, 2 XD servers, 10 Vista and 10 XP workstations, 1 App Profiler
Q: It sounds like when streaming, the application runs on the client. If so, doesn't this defeat the purpose of XenApp ?
A: You can actually stream applications to the client (client-side app virtualization) or to the XenApp server (server-side app virtualization). App streaming helps overcome app compatibility issues on either location. Doing client-side allows you to use some of your workstation's power and allow you to continue using the application if the network link is broken. While XenApp streaming allows you to centralize hosting, better scalability, and better security, plus all the other benefits of XenApp.
Q: Do you recommend streaming for PACS app with high resolution graphic and clips
A: I would test to see if it will stream. Some applications just won't stream, especially if they have a Windows service or drivers. Now if the app can be streamed, then you will need to see if the app performs adequately on XenApp with the graphics. I've seen many people have PACS on XenApp with great results when they use the SpeedScreen Progressive Display technology.
Q: For offline... how much disk space for your apps. Slide 27 / 28?
A: Depends on the application. Some examples from my apps: Office is 1.1GB in size. Adobe Acrobat is 160MB, Firefox is 12MB. Remember, these are the sizes of the app profile that is copied to your local workstation for offline mobility.
Q: Would apps that require back-end connections work offline? It seems this should not without being connected to the network/internet... correct?
A: Correct. There is another TechTalk (XenApp: Take Your Data with You: App Streaming ) that talks specifically about App Streaming and offline mobility and covers this item. But long story short, apps that require backend data shouldn't be streamed for offline as they will more than likely be useless (although there are exceptions). If the app syncs when back online, then you can stream for offline (Outlook is perfect example).
Q: We're using linux and MS based Neoware thin clients almost exclusively. What problems does this present?
A: Well, you can still do server-side application streaming. Right now, the streaming plugin (offline apps plugin) is only available for the Windows platform. Many of the thin clients also use an OEM version of Windows XP or do not include enough hard drive space to store the application cache. You might want to look at XenDesktop which would give these users a desktop-like experience if that is what you are looking for.
Daniel - Lead Architect - Worldwide Consulting Solutions
Follow me on Twitter: http://www.twitter.com/djfeller
Follow me in the Blogs: http://community.citrix.com/blogs/citrite/danielf
In Provisioning Services for XenApp Best Practice #5, I wrote about application streaming integration. I talked about two different options:
1. Stream on-the-fly: which results in the vDisk write cache growing as the application is streamed
2. Pre-cache: which stores the application cache within the vDisk, but helps to reduce the size of the vDisk
Both of these options had their issues. Option 1 would grow your write cache quickly, especially on XenApp servers hosting tons of applications. Option 2 creates a link between the vDisk and applications, which adds another step to application updates.
I received many suggestions and alternatives, some were quite interesting
. The one that resonated the most was to store the application streaming cache on another disk that is not delivered via Provisioning services.
- Physical Servers: You would use the physical disks installed into the physical servers
- Virtual Servers: You would use a virtual disk assigned to the virtual machine (preferably shared storage so you can still do XenMotion).
This setup doesn't really change our architecture in that many implementations have a non-Provisioning Services disk associated with each server to store items like event logs, local databases, write cache and pagefile (as explained in BP 8?).
Honestly, I haven't had the opportunity to set up an environment like this in a large environment, so I didn't want to offer it as a best practice yet. But I've had many of you say that this is about the only way you deliver XenApp images with Provisioning Services and have had no issues with the environment from configuration or maintenance. I've always thought this provided the best solution as it overcomes many of the lingering challenges of option 1 and option2. So, how do you do this? It is actually pretty easy:
- Make sure you have an NTFS disk associated with the physical server (physical disk) or virtual server (virtual disk)
- With the Provisioning Services image in private-image mode, change the location of the Application streaming cache location
- Launch C:\Program Files\Citrix\Streaming Client\ClientCache.exe
- Change the client cache directory to the virtual or physical disk
- Shut down and place vDisk back into standard image mode

When you boot, and launch your applications, your application cache is now stored on the physical/virtual disk that is not erased during reboot. What does this get you?
- Faster application launch after server reboots because the application cache is not erased
- Easier application maintenance because the application cache is not included within the vDisk
But this configuration does come at a price. You have to have a persistent disk associated with each physical and virtual server. Although this cost is pretty small as most Provisioning Services/XenApp implementations already have a local disk to store local monitoring databases, event logs, etc.
My list is now empty, but will post new topics as they come in. Feel free to tweet me some ideas on Twitter.
- vDisk Type
- vDisk Cache
- Active Directory
- Application Integration
- Application Streaming Cache
- System-level settings: Page file, drive remapping and multiple drive
- Image Management
- Local Database Storage (event viewer, EdgeSight, AntiVirus updates)
- Plus more
By the way, if you haven't done so already, take a look at the Provisioning Services for XenApp TechTalk presented by yours truly. I'm a little biased, but I think it is a good one.
Daniel - Lead Architect - Worldwide Consulting Solutions
Follow me on Twitter: http://www.twitter.com/djfeller
Follow me in the Blogs: http://community.citrix.com/blogs/citrite/danielf
One of my biggest gripes about Terminal Services and XenApp was that once I disconnected from the network, I could no longer use my applications. This was a major pain as I spent a lot of time on airplanes. During my 3-4 hours flights as well as 1-3 hrs sitting in the terminal, I was unable to get any work done (although I did get a lot of reading done). My problems with XenApp wasn't just limited to airports and airplanes, but also included remote connectivity. As I'm a remote employee, I spend most of my time working from my home office. There were many cases where I just wanted to spend 1 minute to look something up in a local file. But because my applications are hosted from XenApp, that 1 minute actually took 3-5 minutes (authenticate to employee portal, launch XenApp application, open file and wait for the file to be transferred from local workstation to XenApp server).
I got frustrated and installed my applications locally. This was wonderful. All of the frustrations I've had were almost gone. But this now caused new challenges. I now had to manage and maintain my applications. I had to install appropriate hotfixes/service packs. I also had to troubleshoot application issues, not something I enjoy doing. (Why does it always seem like your applications fail when you need to use them the most?) Well, believe it or not, XenApp actually allows offline access to your applications. You get to use your XenApp applications while your network is not connected, while you have absolutely no connection to the XenApp infrastructure. This sounds like a good deal. I get local usage and I don't have to worry about maintenance.
How does it work? How do you implement it? What best practices should be followed? All of these questions are the basis for an upcoming TechTalk on offline mobility with XenApp. In this TechTalk session, you'll learn about:
• How XenApp users can take their applications with them, disconnected
• How offline XenApp users are kept current
• How to eliminate app conflicts without stress
• How to follow the best practices while delivering offline applications
• How application streaming can help simplify your Vista and Windows 7 migration
Hope to see you at this TechTalk on Friday, June 5th at 1PM Eastern time.
Daniel - Lead Architect - Worldwide Consulting Solutions
You can follow Daniel at http://twitter.com/djfeller
You can read Daniel's blogs at http://community.citrix.com/blogs/citrite/danielf
XenApp admins are a creative group of people. I used to be a XenApp admin and I remember having to do tons of things to an application to get it working correctly on XenApp (but back then it was called WinFrame and MetaFrame, not even MetaFrame XP). Back in the day, applications were not built to execute on a multi-user system like XenApp. In fact, many applications today, especially those home-grown applications, are problematic on XenApp. This is where the creative XenApp admins come in. They developed numerous tweaks, configurations, hacks and custom solutions in order to get an application functioning properly. Of course this made the environment much more complex to build and maintain.
But just getting applications functioning on XenApp is just part of the problem. I remember hearing people ask about running different high-graphics or video applications on XenApp and thought, ARE YOU NUTS? ICA was built to only send those screen changes down to your video display, but with video the entire screen is changing. Talk about chaos.
THAT WAS THEN. THIS IS NOW. Things have changed for the better. Application issues are more of a myth nowadays. With new XenApp features, many of the application challenges that plagued XenApp environments are being eradicated. But unfortunately, many of you have experienced application issues years ago and haven't looked at those applications since. So I'm asking that we spend an hour going through the XenApp features focused on application compatibility in an upcoming TechTalk session.
I plan to discuss the technologies that make application compatibility easier, which will also help simplify your XenApp architectures. We will go through many of the challenges you all have experienced and talk about how these are now easily overcome. So I encourage you to attend this TechTalk session called: Fact vs. Fiction - The Truth About Application Compatibility and XenApp.
Can't wait to see you there on Wednesday, May 27, 2009 at 1PM eastern time.
Daniel - Lead Architect - Worldwide Consulting Solutions
"Learn from the past, live in the moment, and plan for the future"
Follow me in the blogs: http://community.citrix.com/blogs/citrite/danielf
Follow me in Twitter: http://www.twitter.com/djfeller