SBC has been around for quite a long time, and you can actually trace it back as far as the 1950s to mainframe computing. Mainframes were designed to deliver centralized compute power to run applications, with users connecting to the applications using a "green screen" terminal.
Today's SBC model doesn't really change this, but it now offers the ability to connect to either applications or an operating system. We will cover each of these and how they work in the next sections, starting with traditional published application delivery.
So, the first option with SBC is to just deliver an individual application to a user. This is often referred to as publishing an application. The architecture of how this works is shown in the following diagram:
With SBC, rather than connecting to a full-desktop operating system running as a virtual desktop machine, you are now connecting to an application. The application is running on a server; however, it is running in a separate, protected session for each individual user that is connected, which means that a single server can host multiple sessions of the same application for multiple users. The server hosting the application sessions runs a multiuser operating system, and a user would connect to a session using a terminal or thin client. This is why SBC is often referred to as thin client computing. SBC has evolved from the mainframe days, and now you can run a desktop operating system as a hosted session, as we will describe in the next section.
Sometimes, there is a requirement to have a full-desktop experience rather than just having individual applications delivered to the end user. Similar to application publishing, with SBC, you can publish a desktop operating system as a session, as shown in the following diagram:
In this model, you are running a desktop operating system rather than an application. The OS runs as a separated, protected session. This is where the differences lie between desktops delivered by SBC and those delivered by VDI.
With VDI, you have a fully functional desktop operating system, on which you can customize, personalize, and install your own applications; whereas with SBC, you are either running just an application session or sharing a desktop environment by having your own session rather than a full desktop.
You also need to bear in mind that in an SBC environment, the desktop session isn't actually running as a true desktop operating system; it is, in fact, running a session of the host servers' operating system, which is made to look like a desktop operating system.
So, the question posed in the title of this section is which technology should I choose between VDI, published applications, or perhaps desktop sessions?
There are advantages and disadvantages to all of the above technologies, and ultimately, it will come down to your specific use cases. We will discuss some of the use cases in Chapter 3, Designing and Building a Horizon View 6.0 Infrastructure.
In most scenarios, it is likely that you will employ a hybrid approach and have a mixed environment of the different technologies. For example, developers might need a full desktop on which they can install applications, so VDI would be suitable for them, whereas a call center operator who only uses one or two applications is more suited to a published application solution.
Horizon View 6.0 can deliver all of these technologies, allowing you to deploy a single platform to manage and deliver the end user experience, no matter what the use case is. In this section, we are just going to cover the VDI elements of Horizon View 6.0, and in the next section, we will highlight some of the benefits of deploying VDI.