信息化 频道

技术演进带给软件业的冲击

    【IT168 专稿】由于业务发展很快,现在很多企业都面临跨行业、跨企业、跨系统整合的挑战。当要跨行业、跨企业的时候,数据、流程、系统不见得能够通。怎么样做整合?不仅仅是内部流程的整合,甚至于外部流程和跨行业外部的整合,从而提升服务的水平。不管是CIO也好,还是CEO也好,都面临这样的挑战。
   
  
业务挑战与技术的关系

    首先我们来看看技术演进对业务挑战的影响。从CPU角度来说,摩尔定律是每18个月翻一番,内存技术也是每18个月翻一番;由于信息爆炸存储价格也在非常快的降低,它的技术也是每12个月翻一番。互联网也一样,近距离无线通信,今天可以做到每秒钟有1G的数码流。
 
    摩尔定律支持IT产业发展了很多年,但是在2003年以以后,就不再完全按照其发展。并不是说一个公司、一个厂家不能够跑得那么快,而是碰到了不同的挑战。
 
    第一,成本的挑战。在半导体里面,把东西越做越小,跑得越来越快。可是,把东西做好,成本会越来越高。
 
    第二,碰到了功耗的问题。1990年以前,我们用的是二极管的技术做计算的原件,但是能耗达到了13瓦,比电熨斗的能耗还高。走不下去了,之后开发出了一种CMOS技术,到今天还用CMOS技术,是100倍功耗的降低。想越做越小,越跑越快,但是能够进步的,就是功耗。
 
    因为速度越跑越快,功耗又到了极限。今天推出了两核、三核、五核、八核等各种不同的系统。 过去的摩尔定律每十八个月翻一番,是在计算原件来看。在系统这一个角度来看,还是跑得很快,但是以多核的方法来处理。换句话说,今天要看芯片里面核的数量,IBM的产品是有9个核,很快会有16核产品出来。从这一个角度来看,在不久的将来,会有高性能并行计算机,是非常容易达到。
 
    从这一个角度来看,不管摩尔定律怎么走,基本系统的架构没有做太大的变化,从高性能计算机等来看,中间经历了两三代,但是每一种类型的系统都用了多核的时候,事实上有很大的挑战。在核的这一层,我们应用系统和操作系统和嵌入式的软件,是不是因为依照多核的方法来设计?换句话说,非常简单的计算机语言要把我们的应用以及操作用计算机语言能够了解的来表达,多核的能不能做得好、能不能做得有效,各个层次的软件面临着硬件极速的增长要有所变化。
多核应用加速虚拟化
 
    要充分利用系统功能的话,我们会发现有很多的应用所需要的资源不见得是整个系统的资源,可能是核某一个部分的资源。如果在核的这一层做的时候,可以得到更多的效益。因此虚拟化一定要达到核这一层,这直接导致了下一代数据中心技术的出现。
在谈到数据中心之前,先看整个行业里面。在数据中心里面,如果去买各种不同的设备需要这么多钱,调查发现在一个数据中心里面所花的成本和预算没有太大变化,并不表示说数据中心里面服务器没有增加,事实上是快速的增加,因为这么多年来服务器功能越来越高、价格越来越便宜,所以数据中心里面的预算没有太大变化。除了买设备成本之外,需要花的电费的成本会越来越高。
 
    为什么会这样呢?因为系统越跑越快的时候,功耗会越来越大。功耗大,没有关系,因为算的东西越来越多,并不是说我花了电费没有做事。今天看到,一个数据中心里面所有的服务器是不是充分的使用到?计算单元快速计算的设计是否达到了极限?在10、20年前,一个机器是100瓦,是运算的时候用100瓦,不运算的时候是5瓦。今天即便是刀片计算机也是一样,在运算的时候跑的是250瓦,在没有算东西而是待机的时候可能是跑200瓦。换句话说,今天的服务器使用率不高,就是干烧电,而没有做任何事情。
 
    从这一个方面来说,在一个数据中心要达到高效率:
 
    第一,设备本身要非常节能。IBM去年推出了P6处理器,P6跟P5处理器相比,计算功能增加了一倍,而功耗完全一样。
 
    第二,数据集中,希望集中的资源是做类似的功能。当做类似功能的时候,如果我因为量的关系,就可以做适当的调配。所以,要充分的虚拟化。所谓的虚拟化,也就是说在资源调配这一层要做非常多的工作。
 
    我们再谈一个新的计算模式,就是云计算。如果来看一个传统的计算模式,它的应用硬件跟设备跟应用通常是绑定的。应用资源不能很快的从另外一个地方调到这一边来用。在云计算里面,因为有非常好的资源调配的系统,所以在量级有变化的时候,我可以把不同的资源随时的调用。在云计算里面的“云”观念,把云想象成水汽,水汽散布在各个地方不能成“云”,要集中才能成“云”。比如说今天平均的设备使用率是50%,峰值是100%,你不会希望达到100%,你希望达到80%,因为否则会宕机。
当量值进来的时候,很快的发现有一些服务器到顶了。如果用云计算充分调配,可以用不同的应用,如果是不同的量级的时候,可以来充分的交换使用。应用比较低的时候,在不同量级的时候,甚至于可以把不需要的系统闲置。在需要一个服务器就可以把过去四个服务器甚至更多服务器东西全部整到一个地方做,让服务器使用率比较高。利用虚拟化的管理可以有效的实现节能的目标。
对软件开发的冲击
 
    设备计算的能力越来越快,对软件业有很大的冲击。因为我们要各种不同的灵活性,我们变成组件化,一个组件跟另外一个组件要握手,每次握手需要资源和需要计算,但没有关系。从硬件计算的能力快速提升给软件很多的支持。同时,给软件非常多处理逻辑和规则的能力。每次有一个逻辑要来,得有一个东西要算,但是算的时候需要资源。没有关系,将来并行计算机能力非常高,我不担心没有资源。
 
    从web2.0角度来看,四年前问多少人用这一个东西,举手的人不太多。现在几乎所有厂商会充分利用到这一些技术。比如说mashups,可以在很短时间把应用拼在一起做一个新的解决方案。
 
    再比如,假设我是卖房地产的厂商,我知道哪一个房子卖了多少钱,隔壁的房子是多少钱,虽然在数据库里面都有,但对一个用户和想要买房子的人来说,看数据库非常的头痛。把地图跟mashups拼在一起的时候,就知道哪一个房子是多少钱。所以对用户非常方便。从头开始开发软件,可能需要很多的时间。我把已经有的数据库跟界面拼凑在一起,不需要三天就可以上线。
 
    我用非常方便的逻辑语言用讲话的方法写出来了,如果你是一个经理,你是我的常客,可能给你八折的优惠。今天已经有语义分析的工具,哪一个是主语、谓语、条件词等,从而很快写出逻辑图。你看逻辑图,是不是你所需要的,如果是,你按一个纽,就可以开发程序了。
 
    传统的开发是结构性比较强,代码的检查也是比较严谨,功能测试和质量测试和性能测试很严谨。在多台机器上部署比较大型的应用。不管是mashups,还是新的应用要快速的开发,希望做开发性的应用。在建模的时候是比较松散,限制也比较少。而常常利用别人的接口,所以测试也没有那么严谨。小型部署,就是测试,有问题就马上改。在很小的机器上跑各种不同的应用。换句话说从建模到组装到管理等,都需要新的模式。比如说昨天才把左边的事情部署好,今天需要新的东西,怎么办?建模、组装、部署等方法不同,怎么办?今天讲了SOA,用各种不同形式和工具来建模、组装、部署、管理等。
 
    我们经常讲软件就是服务,但仔细想想,这一句话其实没有太大意义。软件用来干什么?软件是跑业务流程,把各种不同的业务组装起来。非常重要的是中间有一个平台能够把服务提交出去。如果客户很多,每个客户绑定一套设备,你赚不了钱。希望在一个平台里面同时服务多个客户。客户希望随时能够设计、选定需要什么新的服务,因为业务的变化非常快。所以,整个讲起来是比较动态的,也是非常重要的。
 
    总结一下,在二十一世纪里面,在互联网里面,有各种不同的功能,像WEB2.0等等,它的计算和信息架构和平台不一样了。除了物理平台,还要有虚拟化的平台,还有不同的应用。不同的客户可以用同一个平台来提交出去。最后,我们需要管理的时候,我们需要对下面的设备有各种不同的排程以及监控。
 
    从技术的演进、核心技术的演进从而导致计算功能的演进,从而导致软件有更多灵活性的变化,最后因为节能减排的关系,怎么样充分利用虚拟化以及调用适当的资源达到有效的使用IT设备。数据中心的整合需要把云计算里面各种不同资源调配灵活运用起来。
0
相关文章