我心中的云技术的发展问题?

我最近在关注云技术,我很迷茫,我觉得就是比服务器多,网上很多论坛也是这样认为的。云技术的演变
网格技术计算—>集群技术计算—>分布式技术计算—>云技术计算。
第一个问题:是这样一个慢慢的过程。其实我看了很多资料也没有怎么很明白这些技术的区分和层次感?
第二个问题:我感觉现在很多公司都在想云,我觉得啊,云是好,我心中的云就是服务器多,有钱,有资本呗,但是不管你用不用云,你的服务实现和接口。。。。。那才是你的服务基础啊,很多公司,我的认为是没有具备去发展云的条件,但是还是盲目的。。。
我知道有想的是好啊。但是真实的情况不是那样简单的。现在中国的云本来就还不怎么算好吧,我对这些不怎么了解,才开始关注。不知道我上面所说的问题,是不是问题?

2012-05-30 09:04 "@javawebkaifa"的内容
其实我看了很多资料也没有怎么很明白这些技术的区分和层次感? ...

云计算,网格计算,分布式计算,集群计算的区别?

其实如果从应用的有状态和无状态两个分类去看,这些分布式技术都是分别提升有态应用和无态应用的性能和可扩展性Scalable。

应用架构设计的三个类型中,我也谈到了:并发是解决有态应用;并行是解决无态应用。

而集群和网格计算属于一种并发计算,主要解决有态应用;而云计算则是解决有态和无态两种。

过去我们都是围绕数据库编程,企业应用大部分都是数据库系统,数据库为核心的系统大部分是有状态应用,因为数据库保存的是数据,这个数据大部分是结果状态数据,比如交易后的数量和金额,发票的数量和金额,单据的状态等等。

企业中数据能够使用传统数据库装载存储,说明其数据量不是很大,但是随着互联网普及,特别是facebook等这些拥有几亿用户数据的系统诞生,大数据Big Data诞生,大数据和海量数据差不多,但是好像应该再多些。

大数据诞生后,传统有态并发方案已经失效,脱离数据状态进行裸奔的并行计算得到重视,因为数据太大,干脆抛弃它们,从函数编程这个思维去重新看待大数据计算,这样云计算的新特性:并行计算,如Hadoop等诞生,并成为云计算区别于传统集群的重要区别。

当然,云计算不只是解决并行计算,也提供并发计算能力,是以前分布式技术的一种总括,所以,刚开始有人怀疑云计算是旧瓶装新酒,这是没有深刻理解云计算的原因所在。


谢谢banq的回答:
我再请教一个问题:mongodb hbase hadoop 的区别: 对大数据分析的区别,怎么去选择技术?

2012-06-02 23:54 "@javawebkaifa"的内容
mongodb hbase hadoop 的区别: 对大数据分析的区别,怎么去选择技术? ...

如果从算法+数据结构这个角度去看待,mongodb hbase属于数据结构,是一种数据库,而Hadoop属于并行算法,用最通俗比喻可能不太确切:mongodb hbase相当于数据表的结构和数据记录,负责数据的存储;而Hadoop类似SQL语句,负责数据的计算。

以前我们是在一个关系数据库中集合了这些,如同傻瓜相机集合了光圈和快门一样,而随着大数据诞生,就需要单反手工可调校的光圈和快门了,这时我们将数据的存储和计算要进行分离。

如果从“过程”和“结果”这个更高抽象来看,计算属于过程,存储的是结果。而你在第一篇中谈到离不开“服务实现和接口”,也属于“过程”,和Hadoop计算属于同一类。

过去我们的“服务”通常是直接调用SQL语句操作数据库,这些SQL语句实际是一个计算过程,比如排序归类筛选,以前都是依靠关系数据库内部实现,这种自动相机缺点是不能针对自己项目优化,所以,我们强调根据自己的业务提炼自己的领域模型,然后根据领域模型选择相应的特定的计算功能:排序归类筛选。

大数据属于一种通用的业务领域模型,这类业务特点数据的非结构化,没有太多紧密的关联关系,不是一种层次感的结构数据,那么根据这种业务模型选择相应技术架构,HBase+Hadoop替代关系数据存储+SQL。

当然,因为Hadoop是直接针对文件系统的排序筛选,性能没有直接针对In-memory内存计算快,针对这个缺点,现在基于内存计算的类似Hadoop也百花齐放,加上专门为“过程计算”定制的语言如Scala,大数据分析将迎来实时分析的时代。(见Hadoop生态链:Hive, Pig, Scalding, Scoobi, Scrunch 和 Spark等hadoop框架比较

mongodb hbase这两个NoSQL数据库之间区别主要从CAP定理去区分。


[该贴被banq于2012-06-03 08:02修改过]

谢谢banq的回答:
说真的,听了你的分析后,我清楚了很大,当然这个不是一两天就学习的,我会继续研究的,我相信我可以做到。呵呵。
我还想讨论一个问题,“关于现在中国的软件开发的标准”其实也不叫什么标准,就拿我的公司来说吧,我觉得开发,技术管理一团乱,基础都没有打好,就想往搞端发展,是的,想法可以有,如果一个公司没有想法,那面临的就是公司倒闭,我们公司啊,这个项目用了很多技术,但是我觉得有些技术只是用了皮毛,比如说开始设计规划的时候,完全没有,想怎么做就怎么做,比如说,要用大数据存储了,用mongodb还是hbase了,随便确定一个,叫一个人研究今天就用了,我觉得公司的技术不是这样的,真的,我觉得这样很垃圾(我很气愤),公司的技术和业务和领域分析是完全密不可分的,我们现在的项目就是乱用技术,导致项目现在乱得来不是一点乱,还好,我们公司部门有一个项目管理人员一直在坚持他的做法,项目才好一点,他去建议老总,但是得不到支持,反正一个字乱,我们公司还往云上靠,我也才说了,这个想法没有错,但是我们是不是该把基础搞好是,从领域分析出怎么设计,怎么细分接口。。。。。这些工作我知道必须做的,但是现在公司不给做就往高端技术靠,我觉得再这样下去,这个项目永远做不好,没有意思,我都想过走了,但是我想了哈,现在中国的好多公司都是这样开发的吧。
说真的,banq我是从外地来北京的。我在老家那边我觉得没有压力,没有什么挑战,我喜欢挑战,这样我进步快,我心中的软件开发是按着分析一步一步的来的,就是你一直倡导的领域开发,但是现在公司为了收钱,其他的什么都不管,我作为一个技术人员,我觉得我设计的东西,写出来的代码是这样的,我都不知道为什么,没有人支持,公司是站在利益的角度来看,但是这个短浅的目光,从长远的角度,我觉得领导在这些方面认识不怎么好,我觉得是这样,可能我认识有限,没有考虑到。我想问banq,现在中国的这个软件开发风气,一直下去,永远落后别人,这个也给中国国情,文化又关系的,我不知道我认识对不,5月23,24,25号,举行的云计算大会,我也在关注,我觉得我们国内的软件行业不是这样的,要靠大家猜可以行成好的软件行业气氛,还有就是现在的程序员太不负责,我觉得就是没有资格做一名程序员?
想听听banq的看法?谢谢

2012-06-03 11:43 "@javawebkaifa"的内容
,但是我们是不是该把基础搞好是,从领域分析出怎么设计,怎么细分接口 ...

说得非常好,我个人观点:云计算平台+领域模型=云服务SaaS。SaaS是一种结合业务模型的云计算能力服务。

以国内某著名购物网站为例,且称为活宝。活宝这种B2C网站SaaS云计算模式应该是什么样呢?商家只要把符合顾客用户体验的界面设计出来,后台直接调用其Saas服务接口,这样,拥有进销存等完整功能的网上商店系统全部就有了,随时监控库存和销售数量等等。

而现在活宝商城是无法提供卖家等个性化租用定制(云计算中的租户概念)。这从每个商家界面上可以看出这点:都是使用其现成模板,每个商家无法根据自己的产品特点进行销售页面的定制(比如以规格销售和以数量销售方式是不同的),除了大红字以外就是大黑字,如同电线杆上的狗皮膏药一样,这样的形象是脏乱差,不是店主没有能力设计得象京东商城那样正规,而是活宝无法提供这种强大的Saas云服务能力;而活宝不是没有云计算,有台湾阿里山云,但是和业务模型脱节的云计算有什么意义呢?这种公有云是google app engine和Amazon模式而已。

以上只是描绘一下一个真正云计算应该是什么样子,云计算在国内刚刚起步,很多人没有看到这个愿景,还在忙于投资数据中心建设或研究HBase这些底层基础,产生很多虚火,但是迟早会进入结合自己业务特点的云服务攻坚阶段。

[该贴被banq于2012-06-03 14:00修改过]

关于“云计算”,我们不要牵强地把我们想象中的东西放到“云计算”的框里去,虽然现在“云计算”这个框几乎无所不包了。
我认为,云计算其实体现的是一个激活固定投资、精细管理的问题。
大家的企业为了1%可能出现的访问峰值,而提供了100%满足峰值访问的全部投资。这样问题就来了,99%的时候这些投资都闲置,如何激活这些资产,增加其收益是云计算应用模式产生的根源。于是,出现了如何划分资源(多租户),动态调配资源(伸缩性)等问题。为了宣传的需要,起了个非常美丽的名字—云计算。
我们的企业还处在一个粗放型增长的阶段,这种最大化固定投资的必要性和紧迫性都不强,谈啥云计算呢?
至于从“有状态”和“无状态”的角度区分计算模式,我觉得实在是第一次见了。