左耳朵耗子谈云计算:拼的就是运维

IT资讯 3958 Views

对云计算的定义

云计算其实跟PC机有一样的概念,有CPU、硬盘、操作系统、应用软件。云计算的计算节点(虚拟机)就是PC中的CPU,数据缓存服务就是PC的内存,存储节点就是PC的硬盘,提供数据服务,让数据不丢、高可用,PC中的控制器就是云计算的控制系统。PC机的硬件上面要有操作系统。操作系统很大一块是给开发人员提供系统的API接口,提供系统监控以看运行情况,并且还要有系统管理——如用户账号的权限管理、备份恢复等等。操作系统上面要有应用软件,这样才能服务于最终用户,应用软件就是真正落地的业务,这样才会有用户。

这就是工程师说的stack,也就是我们听到的IaaS、PaaS、SaaS三个层。IaaS层就像PC机的基础硬件加驱动程序,PaaS层就像PC机上的操作系统——把基础硬件抽象、包起来并屏蔽硬件和硬件驱动细节、调度基础硬件,而SaaS层就是PC机里的应用软件。另外,我们还得给开发人员提供各种开发框架、类库和开发环境。云计算自然也会像PC机一样,三个层上都会有用于控制和管理的系统。

说到底,云计算的IaaS、PaaS、SaaS最后那个S都是Service。就是说,无论你云计算长成什么样,都得要向用户提供“服务”而不仅仅是软硬件和各种资源。

云计算的技术难点

对于云计算工程方面,现在最难的是运维。管100台、1万台还是100万台机器,那是完全不同的。数据中心/云计算拼的就是运维能力。

为什么我说运维比较复杂,原因有这么几个。一方面,云计算要用廉价设备取代那些昂贵的解决方案。另一方面,因为你机器多了,然后你用的又不是昂贵的硬件,所以故障就变成了常态,硬盘、主板、网络天天坏。所以,没什么好想的,运维就必须要跟上。云计算的目标是在故障成为常态的情况下保证高可用。最后,这一大堆机器和设备都放在一起,你的安全就是一个挑战,一方面是Security,另一方面是Safety,保证数十台数百台的设备的安全还好说,但是对于数万数十万台的设计,就没有那么简单了。所以,面对这样的难题,人是无法搞得定的,你只能依靠技术来管理和运维整个平台。

然后,你还要找到可用性更好的节点,这需要有一些故障自检的功能。为了数据的高可用性,你只能使用数据冗余,写多份到不同的节点——工业界标准写三份是安全。然而,你做了冗余,又有数据一致性问题。另外,公有云人来人往,里面的资源和服务今天用明天不用,有分配有释放,有冻结,你还要搞一个资源管理系统来管理这些资源的生命状态。

云计算的门槛

为啥云计算有这么多开源的东西,却不是人人都能做?我觉得有以下原因:

一方面,这就跟盖楼一样,带宽的价格贵得就像土地的价格。其实云计算跟房地产一样,要占地、占机房、占带宽。最简单的例子,IP地址是有限的。另一方面,正如前面所说的,运维是件很难的事,运维这个事并不是一般人能搞的事。没有足够的场景、经验和时间,这种能力很难出现。从用户的角度来说呢,云计算是一种服务,你需要对用户企业内的解决方案要有很好的了解,这样才能提高很好的服务。

云计算有两个东西我觉得是被人低估的,一个是运维,一个是那堆服务。做服务的需要有生态环境,有人帮你做。所以做云计算要落地并不简单。

云计算的市场细分

市场细分必然是市场来驱动的。大的方向应该会是这样的:有类是需要玩计算密集型的(比如大数据计算、网络游戏),有类是需要玩IO密集型的(比如视频网站),有类就是为了建网站的(比如电子商务、门户网站、无线),有类是为了数据安全和保密的(比如金融数据)。

上面也说过,无论IaaS、PaaS、SaaS,后面的S都是service,本质上都是提供服务。所以,我认为,市场的细分本质上就是服务的细分。

对PaaS的看法

无论是Google的GAE还是新浪的SAE都是给个容器,给个容器的好处是不用管数据连接、CPU什么,程序一传就能用,什么水平扩展都不用管。不爽的是,一个是在编程上限制太多:AppEngine总会阉割很多系统相关的功能,比如Java、PHP、Python的很多系统调用都阉割了,因为如果给你这些系统调用,你就可以突破沙箱;另一个是有故障的时候:技术人遇到问题都恨不得自己上去解决,想看看后面在忙啥,但是看不到,很无助,只能等你解决,就看你的人解决的好不好、快不快。所以如果IaaS没做好,运维、故障自动处理、迁移没做好,出了问题用户只能干瞪眼,PaaS必然不好用。当然IaaS层也有这个问题,但是至少你还可以登到机器上看一看,大不了重启一下。像AWS,你重启一下就跑到别的物理机,问题也许就解决了。

其实,对于PaaS中间这层的确很尴尬。怎么解决?我觉得还是要依赖某种业务场景。单纯一个平台要阉割很多功能,搞得用户不舒服,还不如干脆一步到位,根据业务场景给一个编程框架。比如SAE可以就做微博app,上来就调API,数据库都ready;或者微信如果做个PaaS,上面只玩微信公众平台上的东西,也可以。我觉得PaaS层更贴合业务会更成功。给新浪微博做个插件,你去买个VM、买数据库?这种时候很需要PaaS。我觉得PaaS层要成功就要贴近业务场景。比如:腾讯的风铃系统(虽然不知道企业帐号看见是什么样的),就做无线建站,这样多好。干巴巴的PaaS有点高不成低不就。

对SDN的看法

SDN其意图是想改变目前超级复杂的网络结构。意图是挺好的。想一想,如果以后我家的网络不用因为买个新的路由器都要重新设计一把,只要一次设置,然后对所有的路由器都通过,的确是挺方便的,这点对企业非常好。不过,不知道在操作上怎么做,也许会从企业内部开始这场革命,这个不得而知。

对私有云的看法

私有云跟公有云,都会存在。这跟人一样,私人生活和公众生活都会需要的。大公司有1万、2万人,这么多数据,要存,需要一个很稳定的解决方案。要稳定可以买IBM,但是贵。云计算出来说,我可以写三份,但他不想上公有云,我的数据放在别人那里,总感觉不好的,所以有了私有云做物理隔离,他觉得安全。

一定会有公司不愿意上云的,比如金融方面的企业,他们觉得互联网不安全,他们要的更多的是安全。在公网上你的系统的安全攻防能力都要跟上,但如果物理不通的话就不用考虑的太复杂。企业内部私有云肯定有市场。你看,好些企业内部目前还被EMC、IBM所垄断着呢。

另外,还是那句话,云就是服务,只要提供了好的服务,无论公有还是私有都是会有价值的。

更多精彩内容,请点击阅读原文。

***********************************

本文来自InfoQ微信公众账号:infoqchina

1、回复“今日新闻”,查看今天更新的新闻;

2、回复“今日英文”,查看今天英文站的更新;

3、回复“文章 +关键词”,搜索关键词相关内容;

4、回复“QCon”,了解QCon大会相关信息;

5、回复“活动”,了解最近InfoQ组织的线下沙龙;

6、回复“架构师”,获取《架构师》下载地址;

7、回复“投稿”,了解投稿和加入编辑团队的流程。

***********************************

如未说明则本站原创,转载请注明出处:NULL » 左耳朵耗子谈云计算:拼的就是运维