Anytime you make a web application, you're going to have to consider the different types of deployment models that are available for it. How are you going to get that to the people who need to use this new, amazing app that you've developed? Well, you've got a lot of choices here. So let's start with way back in the day, back in the old days, if you developed an app, yeah, I mean, old days, I'm talking about like, you know, 2005, if you develop the web app, you would have to then buy yourself physical servers. And you'd have to take these physical servers and you didn't stall some type of server software, and you didn't install a web server on there. And then you would install your web application and you'd set up your own DNS Z's.
You set up your own firewall, you'd be responsible for everything. And if a lot of people liked it, you'd have to start setting up more servers and SSL accelerators and load balancers. And it wasn't a really pretty way to do it. It didn't take very long for third party organizations to offer new ways. to host these types of applications, so one that came on fairly early was a called a hosted application. In this particular situation, what would happen is that some big building with really incredible internet connectivity and extra power and generators in case the power went out, and all this security and all the safety would allow you to put your computer into their facility.
Now, after a while, that got even better. And they would then say, listen, we've already got a computer here for you. And then you just go ahead and put your application on there. And then you could imagine that we got to the point where virtualization came along, and now people are taking a system and they're saying, well here, just install it onto one of my virtual machines here in my third party location. And if you really think about it, you're using the cloud. I mean, what do you got?
It's a remote location. It's running virtualization. You have no real direct control over the hardware. Just the actual software in the VM that you're renting, you have now generated the cloud. So if I'm an organization, I can make my own cloud anytime I want, as long as I've got some server systems, and I've got some big storage, like a sand system or something like that, they can store lots and lots of data, I can make my own cloud, it's actually pretty easy. Now, there's a lot of different clouds out there.
So depending on what your deployment is, you're going to have to pick from one of these four different clouds. The first one is a private cloud. In a private cloud situation, here's my little cloud. So let's just say I've got a whole bunch of computers here. And I've got this all set up. Now we can generate our own virtual machines anytime we want, but it's private.
So keep out it is just for us. So it's just within my organization that we can use this private cloud. The next type is a public cloud. Public Cloud is pretty much the exact opposite of a private cloud with a public cloud. And these are things like Amazon s3 and Microsoft as your these places are open for business. And anybody with a credit card can connect in, they can set up their own VMs.
They can upload their web apps, they can do anything they want to do, and then includes all kinds of stuff like security, add ons, and all kinds of fun stuff. So a public is very, very popular. We see them all the time. Next is a hybrid cloud. A hybrid cloud is a little bit from column A and a little bit from column B. What we have is one big cloud.
But some of this cloud is segregated as private, and some of the cloud maybe we don't need all this capacity. So we offer this up as a public so that we can make some money while we have our cloud. Now, fourth is a community cloud. The problem with setting up your own cloud is that it's expensive. talking hundreds of thousands of dollars, even for the most basic type of robust cloud. So a lot of smaller organizations, businesses, government entities, instead of making their own, they'll join up as a community, three, four or 510 different organizations, everybody puts a little money, and they build one cloud.
So in this particular case, it's like having your own private club. So it's just members only. And if you can be a part of that member, then you can be a part of that cloud. All of these different clouds are great, and the virtualization gives us some real opportunities. One of the places where deployment really comes into play is the idea of virtualizing. Our desktops.
Now, this is a little bit different than simply a web type application. In this case, what we're talking about is virtualizing. The OS itself so when we're talking about that, there's two different ways to do that. And the first is virtual desktop environment. A virtual desktop environment is also known as old school Remote Desktop. In this particular situation, we have a local client that is taking control of some kind of remote system.
This remote system is not virtualized, it's a real computer, like my desktop in my office. If I access this system with some type of remote terminal tool, if anybody walks up to my computer, the computer is not going to like that because it's going to go Wait a minute, somebody is remotely connecting in at this particular moment. These types of remote desktop tools have been around for forever. The Windows Remote Desktop protocol has been popular since the arguably the late 1980s. One of the nice things about something like this though, is that we can do some interesting stuff like here, I've got my little Android right here. And what I want to do is I want to remote desktop into my system in my office.
So it's pretty easy to do. I've already logged in and everything So you already knows I'm here. And I'm actually on the Windows system. Yes, I'm running Android on here. But if you were to take a look at this screen, there's nothing Android about the screen at all is there? It's all there.
All my icons on Yes, I have a messy desktop with a lot of icons, I can actually start up applications. I assure you, I don't have Microsoft Word on this Android. The important thing to keep in mind in this situation is he's really nothing more than a terminal. It's nothing more than keystrokes, mouse movements, which are manifested through my finger and an actual interface to the screen itself. So there's not a lot of work involved with this type of virtual desktop environment. Now, let's take this idea and take it one step further.
What if I took some type of local system and instead of connecting to a real machine, what if I connected to a virtualized machine in the cloud? in that type of situation, I would have some interesting controls. For example. I don't really have to Have any operating system on here at all, I'd have to have some type of virtualized hypervisor or something like that. So I could load something. But really all I would need is a terminal tool.
And that's what virtual desktop integration is all about. So let's take a look at the screen that I have right here. If you look at this, I've just got a little copy of Ubuntu running on top of Windows. Now, what if I did something like this? It takes a minute, but it gets there. If you look at the screen, there's nothing to tell you that you're actually running Ubuntu in a virtual machine.
On top of Windows. Yeah, okay, there's a little tab here. We can make that go away. And now to the common user, all that they're seeing is a desktop. And this is the power of VDI in a VDI environment. You can deploy complete operating systems.
People don't have to have a zillion copies of something. They just have a terminal tool that's on whatever they want a tablet, a phone laptop, whatever it might be, or desktop, and they can log in and connect to they're always running always in one place virtual machine. So when it comes to deployment deployment isn't locked in only for web applications. We can also do it for operating systems. Make sure you're comfortable with the idea of VDP versus VDI.