What is special about cloud hosting? The main advantage is highlighted: you pay exactly as much as you use; You can quickly increase performance if you need.
In fact, we have a web interface to the virtualization system. We get the usual vps only easier and faster. It can also be automated so that, for example, during the day, additional instances will be launched during the loaded hours.
I think you can easily make an analog of amazon \ rackspace yourself in a relatively short time. We take a virtualization system, it can be a virtualbox, xeh or any other one and fasten a web interface to it that will start and stop virtual machines on several servers.
To this we add registration and billing. Everything, we have our own cloud.
Then you can add the feature cloud files: you need to be able to upload files there and give it away quickly and a lot. I think everyone will figure out how to do it :)
Calculate finances:
My data center is too complicated and expensive, I would take a server in hetzner: for 40 euros ($ 53) we have CORE i7 920, 8GB RAM, 750GB HDD RAID1.
I think you can allocate 1GB of RAM and 50GB HDD for the shell that controls the running instances.
And the rest is divided into 14 parts (512mb ram, 50gb hdd) and sell for example at $ 20, in the end we get $ 280 from one server, we give 53 to hetzner, the rest to ourselves. If so fill 10 servers, then we have $ 2,200 per month :)
')
If you use servers with 12gb ram and 1.5TB hdd, then it can be divided into 22 pieces, sell them for $ 440 and $ 76 to give to hetzner.
It turns out a bit more profitable, but customers will get less processor.
Allow me a little fantasy
How does it scale now? We make application server, server for base, server for static.
I would like the hosting to scale simply. Those. when a project needs more resources, it gets them. It seems simple, but there is a problem when 2 projects on the same server want the entire server. If you think up a mechanism so that you can move the instance to another physical server. To do this, you need to create a full copy of the RAM on the second machine, and access to the hard disk. Suspend for a split second and redirect all packets to the new server by the router.
As I see the solution: you need a controller for hard drives to connect a bunch of screws and servers, the diagram is attached:
When the "move" is made, the hard disk passes under the control of a new server.
If you even think of one instance using the resources of several servers, it turns out like a cluster (but I don’t know anything at all about this). And we have at our disposal an unlimited cloud computing. Where you can run anything. I think this is the future of hosting.
For example, there is a competition for gamers and a lot of people have gone to see, and the cloud will allocate the necessary resources without interrupting the game process.
Or if your service got to mashable, then the site will not fall and you will not have to bother about scaling (just bother to find the money :))