Apps I use on my Mac

4

Updated 12/3/2012

I’ve found these lists useful when others have posted them, many times I discover an app I didn’t know about.

Here is a list of apps that are installed on my Macbook Air, I’m not including what came with it.

  • Alfred
  • Aperture
  • AppCleaner
  • AppFresh
  • BetterSnapTool
  • Caffeine
  • Calibre
  • Citrix Kits To Go
  • Citrix Receiver
  • CoRD
  • Evernote
  • Google Chrome
  • GotoMeeting
  • Growl
  • HandBrake
  • iWork ’09
  • LastPass
  • Microsoft Office 2011
  • Microsoft Remote Desktop Client
  • MPlayerX
  • Nik Software (Color efex Pro & Dfine
  • OmniGraffle Professional
  • Pocket
  • Reeder
  • Reminders
  • SkyDrive
  • Skype
  • Sonos Desktop Controller
  • Spotify
  • The Unarchiver
  • Twitter
  • uTorrent
  • VMware View Client
  • XtraFinder
In addition to the above apps I also have these apps on my Macbook Pro that I use primarily at home:
  • Air Video Server
  • atMonitor
  • Burn
  • CrashPlan
  • Firefox
  • gfxCardStatus
  • Opera
  • VMware Fusion
  • VLC

RemotePC solves mobility needs…and you can deploy it tomorrow

2

Citrix RemotePC was released as part of Citrix XenDesktop 5.6 Feature Pack 1. RemotePC is the secure brokering of a physical endpoint (desktop or laptop) that is in your office (typically) via Citrix HDX technology.

Much has been written already by some of my twitter friends:

Think of it as GotoMyPC but with the centralized control over virtual channels (printing, clipboard, local drives, etc), automated provisioning of PC and end users, and the high performance of Citrix HDX. I use Citrix GotoMyPC…and HDX/RemotePC blows it away.

Here is a quick diagram outlining the infrastructure required. In small environments you could combine the Delivery Controller(s) and StoreFront server(s) on the same VM’s to further reduce the number of virtual machines required while still providing high availability.

Funny story…I was talking to a prospect who was interested in allowing their users extended mobility options to their applications and data from personal laptops, tablets, and hotel kiosks. The purpose of the meeting was for me to explain to them how to use “VDI” to provide this type of access. Further questioning revealed their server virtualization infrastructure was non-existent, as in they had absolutely nothing virtualized and use all direct-attached disk. At this point I was not optimistic that they had much chance of accomplishing their goals. However things were looking up when they told me had 100 users requesting this type of access and all of them had physical desktops. RemotePC I exclaimed! I wish I could tell you this prospect was using RemotePC today but to my knowledge they haven’t moved forward on this yet, in my opinion because they are too fixated on a technology (VDI) and not on what they can do immediately to improve the life of their end users. Another barrier for them was that this solution did not provide any BC/DR advantages because if the building power was off, burned down, etc they PC’s would be unavailable. A valid argument…but I still think starting somewhere is better than doing nothing and they’ve got a long road.

Another thing nearly every Citrix XenApp engineer will tell you…”We publish RDP so users can connect to their desktops”. RemotePC! RemotePC! RemotePC!

So you want mobility and you’ve decided that you want to move to a hosted virtual desktop (HVD/VDI) solution so that you can connect to that desktop from anywhere and from any device. Well that’s just great but before you can do that you need to categorize your users, determine which applications they need, determine the server impact of those applications running when they’re sharing a few physical processors (highly overcommitted), buy hardware…and on and on and on….a year later and lots of dollars later you’re ready to roll this solution out. So you can do VDI in a year…or you can deploy RemotePC and broker the user’s applications, data, etc that already works (arguably well enough) tomorrow to any device, anywhere…while still allowing IT to control who, what, and when they can access it. Did I mention that you don’t need a Microsoft VDA license to use it? Boom!

So deploy it already, stop over-thinking it and just do it.

Additional info on RemotePC for your reading enjoyment:

Citrix receiver for web screenshot

Change default icon for published XenApp desktop

If you are publishing both XenApp desktops and XenDesktop Windows 7 desktops you may want to have the same icon for your XenApp published desktop as the default icon you have for Windows 7 desktops.

If you do follow these steps:

  1. go to your Citrix Delivery Controller and navigate to C:\Program Files\Citrix\Desktop Studio
  2. copy the console.ico file to your XenApp Controller server
  3. login to Citrix AppCenter on the XenApp Controller
  4. select the published desktop
  5. right click on it, select application properties
  6. select shortcut presentation, select change icon, browse for the console.ico file you just copied
  7. select OK

That’s it! Now all of your “Desktops” look the same.

High Availability – Citrix Machine Creation Services vs Provisioning Services

4

My blog post from last week on Machine Creation Services, Provisioning Services, and vSphere Content-Based Read Cache caused quite a few tweets back and forth between those in the Citrix community and I thought I’d continue our discussion with a tweet I posted last week, “PVS less highly available than MCS“. So what do I mean by that comment? Well let’s take a look at the components required to deliver a highly available non-persistent image via Machine Creation Services (MCS) and Provisioning Services (PVS) in Citrix XenDesktop delivering a hosted virtual desktop.

Provisioning Services

  • 2 Windows Server instances with Citrix Provisioning Services installed using local, SAN, CIFS, or NFS storage (if you are going to use CIFS or NFS make sure you look at the articles I have posted under Virtualization Resources on my blog.
  • 2 XenDesktop delivery controllers using a highly available SQL database (of course you’d also need Web Interface or Storefront but for the purposes of this discussion and just “delivering” the image we’ll not focus on this)
  • Hypervisor and management infrastructure that PVS will call in to in order to power on/power off virtual machines
  • Storage infrastructure for the virtual machines, either local or shared
Diagram of XenDesktop using Provisioning Services
Screenshot of the storage as seen by the vSphere hypervisor

Machine Creation Services

  • 2 XenDesktop delivery controllers using a highly available SQL database (of course you’d also need Web Interface or Storefront but for the purposes of this discussion and just “delivering” the image we’ll not focus on this)
  • Hypervisor and management infrastructure that MCS will call in to in order to clone replica images, create linked clones, power on/off
  • Storage infrastructure for the virtual machines, either local or shared
Diagram of XenDesktop using Machine Creation Services
Screenshot of the storage as seen by the vSphere hypervisor

So perhaps you’ve noticed that Citrix Provisioning Services only adds additional infrastructure requirements in the way of 2 additional Windows Servers that are used to run the PVS components. While that isn’t necessarily a bad thing it does introduce some additional things that can fail that will affect your ability to deliver an image to your hypervisor infrastructure. The Windows Server OS could fail, in which case if properly configured the virtual machines would fail over to the other Provisioning Server. The failure that I’m ultimately far more concerned about though is one that affects the Citrix Streaming Service. It is this service that is responsible for “streaming” the requested image blocks across the network. If this service has a bug and crashes on one Provisioning Server and the virtual desktops fail over to the other Provisioning Server and if that same circumstance occurs which caused the virtual desktops to crash the streaming service on host 1, then it will probably crash the streaming service on host 2…and now you’re dead in the water. It is for this reason that I say Provisioning Services is less highly available than Machine Creation Services.

Machine Creation Services has one less dependent…Provisioning Servers (OS, Application, and most importantly Streaming Services bugs)

VMware vSphere CBRC removes the need for Citrix Provisioning Services

9

I know this will be a sensitive topic among some Citrix folks…but I personally dislike the product (Citrix Provisioning Services). I dislike it because it’s not the most straightforward product, it’s had its share of challenges (E1000, vmxnet3 for example), and even with n+1 Provisioning Servers I’ve still seen bugs that crash the stream service, targets fail over to the other node, then promptly crash that stream service. There are some scenarios like streamed OS over the LAN for lab, campus, education environments where I can overlook any shortcoming because the product frankly is the best solution on the market for these types of environments…game changer for sure, no question. But in other environments where we use it to manage large XenApp farms and deploy hosted virtual desktops I think we’re starting to see advancements in the hypervisor that will reduce the need for Provisioning Services, that’s not a bad thing, just other technology catching up.

I’ve talked about the VMware vSphere Content-Based Read Cache (CBRC) in a previous post, namely how to enable it on your Machine Creation Services (MCS) provisioned virtual desktops. For those of you who are not aware, CBRC was introduced in VMware vSphere 5 to provide a method for providing a memory based read cache for frequently accessed portions of a vmdk virtual hard disk.  Text from the VMware blogs states:

When enabled for specific VMs, the host hypervisor scans the storage disk blocks to generate digests of the block contents. When these blocks are read into the hypervisor, they are cached in the host based CBRC. Subsequent reads of blocks with the same digest will be served from the in-memory cache directly.  This significantly improves the desktop performance, especially during boot storms or anti-virus scanning storms when a large number of blocks with identical contents are read. 

Now first a few caveats on my title of this post. Today you need and use Provisioning Services for the following:

  • Non-persistent image delivery for Citrix XenApp worker nodes, this is the best way to successfully manage large deployments of Citrix XenApp as you have single image management and non-persistent user nodes, it’s nearly bulletproof and provides a significantly reduced hardware cost model when compared to VDI/hosted virtual desktops
  • Image delivery for Windows XP/7 virtual desktops where you want to use the read cache of Provisioning Services and the Windows operating system to increase scalability and reduce read IOPs. Additionally the single image management, rather than using replica images on each datastore does reduce overall storage requirements.
  • Streamed OS delivery to physical PC’s over the LAN (this is the only future I see for PVS)

The major advantage to Citrix Provisioning Services (PVS) vs Machine Creation Services (MCS) is that PVS is a giant read cache for all of the images it serves up. While there is some storage savings too, it’s usually not a significant enough amount to drastically impact a project cost or complexity.

Now imagine a future world where Citrix can take advantage of the Content-Based Read Cache (CBRC) for Windows XP/7 virtual desktop delivery using MCS. Instead of your Citrix Provisioning Server/OS serving the read requests from memory the VMware vSphere hypervisor does this.

Imagine in that same future world what Citrix has already hinted publicly about (at Synergy) which is the combining of Citrix XenApp IMA architecture into the current XenDesktop FMA architecture, a world where provisioning XenApp worker nodes via MCS might be possible. Again, these images could then take advantage of the hypervisor read cache.

So I ask you…how long do you think Provisioning Services is going to matter for XenApp and XenDesktop hosted delivery? Now all we need is for Citrix to work with VMware to support CBRC with MCS provisioning…and while they are at it adding support for CSV cache on Windows 2012 would be nice too.

Glad to hear your comments on this…I wrote this rather quickly tonight and I’m sure I’ve overlooked an argument or two :)

Virtualization Resources & Links

1

I’ve tweeted this out a couple times but I felt it was worthy of a blog post in case it has gone unnoticed by some. At the top of this page there is a link to “Virtualization Resources”, this is a publicly shared Microsoft SkyDrive document (used to be a Google doc) that I update with links. I update this document a few times a day, any questions or information that I look up for my customers I add to this document. I now find myself referring back to this document hourly and referring people who have questions to it as well…in other words it’s really important to me and I’m hoping you find it useful as well. If you have suggestions of things I’ve missed send me an email or post in the comments on this post. Thanks and enjoy! https://skydrive.live.com/redir?resid=AC104530CDF373DD!1004

Citrix Receiver Storefront delay on first launch

Perhaps you’ve seen the KB articles for solving a delay on first launch for Web Interface http://support.citrix.com/article/CTX117273 or Desktop Director http://support.citrix.com/article/CTX130580…well I’m here to tell you that these changes apply to Citrix Receiver Storefront too.  While there isn’t yet a KB article for this on Storefront these issues occur across many of the Citrix product lines as they all use signed code.  When this signed code starts up the certificates that were used to sign it are checked against a certificate authority.  More information about this process is here http://blogs.msdn.com/b/pfedev/archive/2008/11/26/best-practice-generatepublisherevidence-in-aspnet-config.aspx.

If security is of the highest importance and you want/need to ensure that the code that is executing on your server is indeed the code Citrix created and not some rogue dll then you should leave things as they are and instead try to lengthen the worker process timeout value so they don’t shut down so quickly when there isn’t any activity and/or use health monitors from Citrix Netscaler to keep the site “warmed up”.

If speed and user experience is more important you’ll want to make these changes below to speed up the first connection to the Citrix Receiver Storefront site.

For quick reference here, the change you’ll need to make in order to speed up first login/connection to Citrix Receiver Storefront is:

  1. Check IIS for the ASP.net version that is in use with the Receiver Storefront site.
  2. Open Aspnet.config for editing in the following directory:
    • C:\WINDOWS\Microsoft.NET\Framework64\v2.0.50727
    • Note: The ASPNET.CONFIG file is located in Framework Directory for the version of the Framework you are using. For example, for a 64-bit ASP.NET application it is: c:\Windows\Microsoft.NET\Framework64\v2.0.50727
    • For a 32-bit application it is: c:\Windows\Microsoft.NET\Framework\v2.0.50727
  3. Add the following lines to your Aspnet.config file:

<?xml version=”1.0″ encoding=”utf-8″?>
<configuration>
<runtime>
<generatePublisherEvidence enabled=”false”/>
</runtime>
</configuration>

The CPU scheduler and VDI

3

Something for those of you considering VDI to chew on. First start off with a good read about the vSphere CPU scheduler http://www.vmware.com/resources/techresources/10131 and what you’ll learn is that CPU scheduling on a hypervisor is all about proportional share, not priority as is the case in unix/linux/windows. Quoting here from the whitepaper “when making scheduling decisions, the ratio of the consumed CPU resources to the entitlement is used as the priority of the world“. Basically, all shares equally distributed, the more compute resources a world consumes the more likely another world will preempt it.

So in a VDI world where there is a high ratio of vCPU’s to physical cores the hypervisor does a very good job of fairly distributing compute resources to requesting worlds. What the hypervisor is blind to is the type of workload that is being done and since compute resources are typically oversubscribed, latency sensitive workloads which require also tend to use more CPU than others…things like video and audio, rich multimedia applications tend to struggle as physical cores become oversubscribed. Take a reference made by Andre Leibovici in this article http://myvirtualcloud.net/?p=3371

“A 1vCPU desktop can deliver 720p@25fps without any hardware acceleration. In this scenario it is recommended a maximum of 2 desktops per core for concurrent playbacks at 720p@25fps. Most VDI deployments don’t cater for this kind playback conditions, but if this is the case of your deployment you should follow these guidelines to ensure the best user experience.”

This isn’t a dig against VMware View, Citrix XenDesktop or VDI…this is just the reality of the world of compute oversubscription. I’m not implying we shouldn’t oversubscribe CPU’s either, I doubt all of your employees are watching 720p video all day long. I do however think it is important to understand how and why these things happen. I think some people have an unrealistic view of the expected performance of 100 VM’s on a 12-16 core server.  I’d also contend that the days of a 1 vCPU desktop VM are drawing to a close. Application developers have been told for years now to multithread their apps to harness more of the power of the AMD and Intel cpu’s.

I’ll leave you with this if it helps drive home the point I’m making as it relates to compute oversubscription..

Traditional PC/laptop

Microsoft Remote Desktop Services/TS/XenApp

VDI

Citrix ShareFile + Podio = ?

3

Yesterday Citrix announced their acquisition of Podio…and a little piece of Sharepoint died. Thank you Citrix, now I’m curious as to your vision of the future. My take on this, integrate Podio for team workspaces, Sharefile for follow-me-data, and Receiver to wrap it all up and provide rich desktops, applications, and data to any platform.

From what I can tell Podio has a team or personal workspace for just about anything you can think of, and if they’ve haven’t already created a template you can build your own “app”. Create your own team site to manage documents, tasks, people, lists, etc.  Complete with activity streams to see what is changing and being updated. Noticeably absent is any integration with Exchange (although it does have connectors for Outlook) or integration into displaying reporting data from external data sources. So at first glance it looks shiny and pretty, but when you think about how you want things to work, it’s about integration when we’re creating rich data like time entry, calendaring, tasks, etc…and so I’m left wanting.

Podio seems to be a significant departure from anything else Citrix has today, I’m curious to see where the first work is done, my guess is integrating ShareFile and hopefully a tie in directly to Citrix Receiver. But beyond that, will Citrix develop this into a Sharepoint competitor? My gut tells me no, so what then? Maybe lose all the little apps and focus on fully developed point solutions for my problems then? An acquisition from Citrix just to solve my problems, sounds reasonable, so here’s my list Citrix Santa. My previous wish list posted here.

I use Google Docs for collaboration on documents, Evernote for note taking, ShareFile/Dropbox,Box,SugarSync for FMD, CrashPlan for data backup, WordPress for blogging…combine that into one app and I’m all in…you own all my data. Rather than a Podio which can do anything but nothing can you just create a point solution which easily does this across any device? Simplicity, it worked for Apple.

Governance vs Control in IT and how it relates to BYOD

3

Governance, it’s not a new term but it is one I’m seeing pop up more and more in meetings with IT management.

Businesses don’t dictate whether you buy a SUV, 4 door sedan, hybrid, or diesel vehicle, yet it’s a requirement that you be able to get to work.  Why then does IT dictate standards and control about what devices, OS’s, locations, etc that you be allowed?  Ok, so it’s not a completely valid comparison but let me run with it.  The “Consumerization of IT” needs governance, not control.  We don’t have all of the tools yet for effective IT governance as it relates to people bringing any device they want or working on any data from anywhere, but many of the beginning pieces are in place for IT departments to begin fitting them together and enable their companies to transition to a user-focused IT organization based on governance not control.

Governance in IT as it relates to End-User-Computing EUC (to me) means creating policies within which users can be free to use whichever device they feel comfortable with and have access to their applications and data.  Systems, applications, data will fit in to these frameworks to enforce the policies in the organization while allowing freedom of device, location, ownership.  I’m not predicting the end of the IT provided device, but I do think the probability that IT will provide all devices for their users in the future is 0%.  It’s already starting with smartphone and tablets.  Most organization I speak with don’t provide these devices yet they are expected to provide services to them.  IT departments when confronted with this reality go one of two roads…they either say no and cite security or resources to support them or they write policy (governance) on what can be used on them, where, etc.  I believe in the next few years we will see products go from controlling devices to instead governing applications, data, and rights.

Mobile Device Management (MDM) is short-sighted and destined for failure.  It’s more of the same from IT…control and it is focused on controlling the wrong thing.  It’s not about device management, it’s about application and ultimately data management.  MDM simply is focused a layer too high in the stack and I suspect most of them realize that and will branch out into data and application management and entitlement.  Do businesses care about the device?  No, it’s simply the only means available for controlling access to applications and data.  That’s not the future though.  Consider Follow-me-data (Enterprise Dropbox), this is a solution which is based entirely focused on data.  VMware View client and Citrix Receiver applications aren’t worth locking down or controlling, it’s what they provide access to that people want to control, applications.

I know many a person in IT who feels their users are idiots and can’t be trusted to have a functioning device, let alone know how to use it.  This is not a future I’m worried about.  Have you seen 5 year olds today on an iPad?  High school students?  College students?  They all know how to use these devices.  Our future is this workforce.  Focus on the future, not the present.  The problems you’re predicating your stubbornness on will not exist in the future…in fact perhaps you’re the inhibitor of inovation in your company.

Stop trusting endpoints, stop trying to control endpoints.  Our future is one where we govern the data and applications which run businesses and enable users to choose the endpoint they want.