As I am working reviewing several of the DaaS offerings (most of them will be part of the EUC BootCamp – Cloud Edition), this thing got me thinking. The whole crusade about a cloud native DaaS solution versus a traditional one modified to work in the cloud. Typical examples of the two types are Workspot and Citrix Cloud.

What I am still trying to determine is the real impact customers will see, feel, experience, in a non-native solution versus a native one and the more I think about it, I cannot see how most customers would be impacted or would even care. With that in mind, let me try to explain this through a couple bullet points:

  • Native backend components versus non-native ones. Such solutions do required several components to run. That includes control planes (i.e. brokers and management consoles), networking components (i.e. gateways to allow access into the environment), backend requirements (i.e. databases, licensing) and of course the actual VMs providing the resources (i.e. desktops and published apps) to the users. Sure, services turned into native cloud applications like brokering, will certainly be more efficient and consume way less resources than running a full VM to run these services. Potentially more scalable too (do not assume it will be more scalable – there are many terrible developers out there that can turn shit into something shittier, trust me on that). That said, will this impact the perceived performance/experience my users see when they connect to their apps and desktops? Almost certainly not at all. As real world examples, we do have Citrix XenApp and Microsoft RDS environments, on-premises, that do perform extremely well and in many cases much better than cloud hosted ones. So the fact you turn all your services into native cloud apps does not necessarily means users will get a much better experience. You may certainly be reducing your costs to run all these backend services and potentially more efficiently too but I fail to see how this will directly impact the user experience.
  • Common hosting environment. At the end of the day, all these solutions are hosted somewhere, in the cloud. As an example, on Microsoft Azure. Scalability is therefore tied to that. If I need fifty new VMs, unless someone is doing something very stupid, the way you will get that will be the same, calling the underlying infrastructure to create all these for you. Sure I can write code to do this more efficiently or not (i.e. ARM templates vs serial calls) but assuming they are both using the most effective way, there should be no difference and both should suffer (or not) from whatever limitations the hosting platform has.
  • Scalability. Sure, I do believe it should be quicker and easier to scale something smaller, native, than a whole behemoth that is just adapted to run in a VM in the cloud. But that said, if you do your monitoring correctly and keep a close eye on performance and trends, you can predict when to fire up additional resources to handle extra load. Again we are not talking about efficiency here but what the impact is on the end-user and here I also fail to see how this will impact my users if I do keep a close eye on the environment or if the environment has decent autoscaling capabilities.

The bottom line for me is, I cannot see any other benefit than being able to reduce costs on the backend requirements (i.e. full RDS infrastructure versus WVD/RDmi components is a great example – not of course considering architectural differences like RDGW requiring domain joining vs the WVD equivalent) and being leaner and more agile.

Is that indeed the case? What is your experience using native versus non-native DaaS offerings?