Why is the current PaaS unsuccessful? Talking about the development direction of cloud computing

[Editor's Note] This article through the review of the history of the operating system, think PaaS can learn from the Unix operating system experience, a new generation of human-computer interaction basis, in general, this is a discussion of design ideas rather than engineering Practice the article. Hope to lead to more consider the underlying structure of the students thinking.

From the history of the development of the operating system can be seen, the operating system's greatest role is to provide the appropriate abstraction.

The operating system is the software that helps us manipulate the hardware, it is like the middle of the application and the hardware, between the two play a coordinated, management role. Their relationship is shown below.
The operating system provides several familiar concepts to represent hardware devices, such as processes, virtual storage, and files. The hardware devices they represent are shown below.
You can see that the file is an abstract description of the I / O device, and the virtual memory is the main memory and I / O devices collectively, and finally, a process on the basis of which joined the processor.

But in the case of the current large-scale multi-machine cluster, this abstraction has failed.

Due to the failure of Moore's Law, single-core CPU efficiency can not be improved, while the stand-alone IO can not be expanded. But the commercial and scientific data on the demand and continue to expand the scale, resulting in more and more rely on the server to expand the scale of the machine to solve the problem.

But the expansion of the machine size is only extensive, to solve the machine, system, data coordination between the huge problem
We are no longer as before, through the shell or window to log the system, we landed on the phone system, behind the data from one after another large cluster
Well, the problem comes, the current operating system is not enough to abstract the above machine.

This leads to a lot of problems, for programmers, we can not write a simple program and then run, at least one large-scale, need to be a lot of people visit the system is the case.
For the people, they can not directly access to the cluster, but the pain of the New Year grab votes in fact from behind the system.
Is the new abstract cloud?

This is the current cloud computing abstract map, although it looks cool, but in fact this abstraction is just a blueprint, and not as the first picture has been achieved.
As Microsoft's win9, win10 trying to use the same operating system UI to solve the problem of mobile phones and PC as unrealistic, the same story also occurred in the cloud, IaaS provided to the user or the traditional operating system interaction, after landing the system See the same operating system shell.

PaaS is slightly better, PaaS allows programmers to deploy their own programs to run on the cluster, but is currently limited to security, performance, implementation considerations, users can get the freedom in the PaaS system is very small, and again Depends on the cloud implementation of different vendors.
Docker provides a way to manage the program, or that it is just a standard in the cluster.
Like this picture suggests, Docker only provides the standard for the container, but the matching terminal, loader, center control, etc. have not yet been established, this is just the beginning. The freedom of man is also very small.

We have countless data in this era, but these data are confined to the government or large commercial companies in the engine room, the human brain can accept the amount of data is limited, you can think of our current PC has been substantially overcapacity , The phone is also fast. Only in the cloud gives the system a reasonable abstraction, most people have the opportunity to manipulate and use these data, and evolved us and the world's new way of communication.

    Heads up! This alert needs your attention, but it's not super important.