低调大师

为什么目前的PaaS都没有成功?兼谈云计算的发展方向

2015-2-2 14:13 44已围观 收藏 加入我们

##从操作系统发展的历史可以看出,操作系统的最大作用是提供合适的抽象

操作系统是帮我们操控硬件的软件,它就像是应用程序与硬件的中间者,在两者之间扮演一个协调、管理的角色。它们的关系如下图。

在此输入图片描述

操作系统提供了几个我们熟悉的概念去表示硬件设备,比如进程、虚拟存储器、文件。它们表示的硬件设备如下图所示。

在此输入图片描述

可以看出文件是对I/O设备的抽象描述,而虚拟存储器是对主存和I/O设备的统称,最后,一个进程在此基础上又加入了处理器。

##但在目前的大规模多机集群的情况下,这个抽象已经失效了

由于摩尔定律的失效,单核CPU的效率无法提升,同时单机IO的无法扩展。但是商业和科研的上的数据需求又不断的在扩大规模,导致了在服务端越来越依靠不断的扩大机器规模来解决问题。

但机器规模的扩张仅仅是粗放型的,解决机器、系统、数据之间的协调成为巨大的问题

在此输入图片描述

我们不再像以前那样,通过shell或者视窗来登陆系统了,我们在手机上登陆的系统,背后的数据来自于一个又一个的大集群

在此输入图片描述

##那么,问题来了,目前的操作系统不足以抽象上面的机器

这导致了很多问题,对于程序员而言,我们写的程序不再能简单的编写然后运行了,至少一个大规模的,需要被很多人访问的系统是这样的

在此输入图片描述

对于民众而言,他们不能直接接触到这个集群,但是过年抢票的痛苦的背后其实来自于系统

在此输入图片描述

##新的抽象是云吗?

这是目前的云计算的抽象图,虽然看起来很酷,但实际上这个抽象还只是一个蓝图,并没有像第一幅图那样已经实现。

在此输入图片描述

正如微软的win9,win10试图用同一个操作系统UI解决手机和PC的问题那样不切实际一样,同样的故事也在云端发生,IaaS提供给用户的还是传统的操作系统交互,登陆系统后你还是看到一样的操作系统shell。

PaaS稍微好一些,PaaS能让程序员把自己的程序分发部署、运行到集群上,但目前受限于安全性、性能、实现的考虑,用户能在PaaS系统中获得的自由非常小,并且又依赖于不同厂商的云实现。

在此输入图片描述

Docker提供了一种思路,就是集装箱方式来管理程序,或者说,这只是集群中的一项标准

在此输入图片描述

和这个图片所暗示的一样,docker仅仅提供了集装箱的标准,但与之配套的码头、装卸机、中心控制等还没有建立,这仅仅是个开始。人的自由还非常的小。

我们这个时代有无数的数据,但这些数据却被禁锢在政府或者大商业公司的机房内,人类的大脑所能接受的数据量是有限的,可以想想目前我们的PC已经实质上性能过剩了,手机也快了。唯有在云上给出系统的合理抽象,大多人才有机会去操纵和利用这些数据,并进化出我们和这个世界的新的交流方式。

文章转载至:https://my.oschina.net/HardySimpson/blog/374399
收藏 (0)

文章评论

共有0条评论来说两句吧...