If I had to identify the state of mind of the many IT managers we meet regarding emerging compute models, it would be "confused, but hopeful". Technology is changing quickly. Buzzwords abound. IT shops are experimenting with just about every model and every combination thereof. Many have expressed frustration that a clear path to the future has not yet emerged, but all eagerly desire relief from management, security and TCO challenges promised by vendors hawking each solution.
Another thing we frequently observe is that very few IT shops are aware of all the compute model options available to them. They all understand classic terminal services and rich, distributed clients - the two ends of the spectrum. Awareness of the choices in between is far from universal, much less a comprehensive understanding.
So, I'll attempt to add value to the world by laying out the landscape as we see it, and let you know where Intel stands.
A Simple Taxonomy
When I talk to customers, I parse the compute model choice on three vectors:
- Where does the application execute?
- Where is the data stored?
- Can it function off the network (mobility)?
Using those criteria, the major compute models we track split out like this:
I'll admit to a couple flaws in this picture. I change definitions for Blade PCs depending if they are used in 1-user-per-blade mode, or many-users-per-blade. In the 1:1 mode, it is just a repartitioned PC, so I classify them as "client-side". In 1:Many mode, the blades are more like servers. Web-based apps are also not pictured. I think of server-based web apps are similar to terminal services. Web apps that rely on client-side execution resources, such as Java, Flash, Ajax and Silverlight, behave like streamed applications.
Devices versus Compute Models
"Thin client" is a loaded term. To some, it's a software architecture. Others see it as a specific device - a terminal. I'm always careful to separate conversations about which compute model is appropriate for a situation from the client device. A desktop or laptop PC can act as a terminal or "thin client" when using server-side applications. My recommendation is first determine the compute models a user will need, and then figure out the right device.
The Ups and Downs of the Models
The list of pros and cons for each model is long, and many authoritative sources and pundit sites are available to debate them. I'll provide a quick list of what we see as the major benefits and biggest limitations of each.
Terminal Services
Benefits |
Limitations |
Well-understood, mature software and management tools |
No off-network mobility |
Centralized application management and data security |
Performance issues with any motion graphics or video |
Greater clients-per-server ratio than other server-side models, making it lower cost to deploy |
Compute load, graphics, number of users and distance can all impact user experience |
Stateless clients for simple adds, moves and changes |
May not be unable to use or synchronize local devices or peripherals (PDAs, barcode readers, digital instruments, etc.) |
Access to applications from any network connected PC |
Critical failure points in server and network that can affect all users |
Virtual Hosted Desktop
Benefits |
Limitations |
PC-like user experience with GUI and application customization |
No off-network mobility |
Centralized management of complete desktop image, including OS and applications |
Performance issues with any motion graphics or video |
Centralized data security |
Compute load, graphics, number of users and distance can all impact user experience |
Stateless clients for simple adds, moves and changes |
Lower clients-per-server ratio than other server-side models, making it higher cost to deploy |
Access to applications from any network connected PC |
May not be unable to use or synchronize local devices or peripherals (PDAs, barcode readers, digital instruments, etc.) |
|
Management tools not as evolved as more mature compute models |
OS + Application Streaming
Benefits |
Limitations |
Centralized management of complete desktop image, including OS and applications |
No off-network mobility |
Centralized data security |
Network must have sufficient capacity to handle "boot storms" |
Application responsiveness due to local execution, even for graphics, audio and video |
Does not remove requirement to tune image to specific client hardware configs |
Stateless clients for simple adds, moves, changes and software fixes |
Sequencing process can be time and labor-intensive |
Fewer servers required to service a population of clients versus server-side compute models, which lowers costs |
Applications may not interact with each other as expected if virtualized. Additional engineering may be required to find optimal app combinations to bundle and virtualize together. |
Application Streaming (aka Application Virtualization)
Benefits |
Limitations |
Centralized management of applications while providing an on-demand user experience |
OS still installed locally, so IT must engineer processes to manage, patch and update distributed, local images |
Data storage flexibility. Options for local or centralized storage, based on policy |
High volume of simultaneous downloads may decrease application streaming speeds and network responsiveness. |
Application responsiveness due to local execution, even for graphics, audio and video |
If using local data storage, data may be at risk if not protected with passwords and/or disk encryption. |
Off-network mobility with local caching options |
Sequencing process can be time and labor-intensive |
Fewer servers required to service a population of clients versus server-side compute models, lowering costs |
Applications may not interact with each other as expected. Additional engineering may be required to find optimal app combinations to bundle and virtualize together. |
By virtualizing and abstracting the application from the OS, many incompatibilities can be avoided, and greater application isolation can increase security |
|
The Intel Point of View
After laying out these options and the pros & cons, customers inevitably want to know where Intel comes down on it all. Our view is this:
- In general, Intel believes the client-side models (application or OS streaming) provide the best balance of user experience, centralized management and data security. We believe they have the broadest potential to serve both users and IT managers well.
- Server-side models (terminal services, virtual hosted desktops) are appropriate and advisable in certain cases and applications. These are situations where mobility is not required, application workloads don't call for motion graphics or security requires tight lock-down.
- In reality, users will access applications via more than one compute model. A user may use locally installed office applications, but access databases through terminal services. A student may access the standard department image with a virtual hosted desktop, but use a local browser and media players.
- If using a client-side model or a mix of models, a PC is the best client device, particularly those with Intel® vPro™ technology. For pure, server-side deployments, terminals are appropriate, driven by 64-bit, multi-core Intel® Xeon® Servers.
Let the Games Begin
We are living in interesting times. Evolution of computing models is happening in real-time, and there is no shortage of opinions and viewpoints. I hope this blog has been informative. Even if it hasn't, I hope it is a launching pad for a spirited (yet respectful) debate here. Let the games begin!
Fresh Perspective from the Inside
The Many Faces of Virtualization