软件架构设计面临新挑战

来源 :计算机世界 | 被引量 : 0次 | 上传用户:chengxuyuanx
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  应用场景的不可预测,海量的数据处理,云计算、虚拟化等新技术的应用,这些都给应用软件的架构设计带来了相当严峻的挑战。
  
  IT运行环境正在发生激烈的变化。一方面,由于互联网的普及、Web 2.0的流行以及虚拟化、云计算等技术的出现使得软件所要面对的环境日益复杂,不仅要面对种类更多的数据源,同时也要求软件能支持动态的配置和重组; 而另一方面,IT的普及带来了数据量的剧增,根据IDC的研究,未来5年,企业的结构化数据每年会保持20%的增长,而非结构化数据量的增加则高达60%。数据量急剧增加的一个必然后果是软件越来越大,也越来越复杂。
  越来越多的数据、支持更复杂的数据源、软件能自动配置和重组等这些要求最终都需要更灵活和可靠的软件架构来实现,而传统的软件架构显然难以适应新的IT环境。实际上,以前我们设计应用软件架构的前提如今都已经发生了改变,因而软件的架构也需要改变,特别是考虑云计算在未来5年内的普及,我们的软件必须为云计算而设计。
  
  IT成为业务的支柱
  
  过去,IT主要用于完成一些可重复的业务流程的自动化,比如读取某个报表中的数据并对此进行计算。ERP算得上是IT最典型的应用方式,它实现了订单、记账和库存跟踪的自动化,从而大幅度提升工作效率。而如今IT技术的这种应用方式正在发生变化,因为今天的企业所经营的业务已经很难和IT分开。
  一个典型例子就是一种在线音乐服务——网络收音机。提出这种业务的公司在一些专业人士的帮助下为它的客户提供定制的音乐,它们会跟踪每个客户的收听习惯和听完音乐后的反馈,以保证它们为每个客户推送的都是客户喜欢的节目。很显然,没有强大的IT基础设施和计算能力作为保证,这项服务是不可能实现的。
  而物联网的兴起更是推动了应用软件的变化,使得软件从人机交互为主到全面的自动化。应该说,到目前为止,大多数计算都是由人类活动发起的,比如订购了一个商品、访问一个网页等等。而未来,由各种各样的设备(如传感器)发起而非人类活动发起的计算会越来越多。比如,如今智能电表在很多城市得到普及,它取代了传统的人工抄表方式,省时省力。方便的背后是因为它主动发起了很多操作: 这种智能电表与电力公司的数据中心相连,它自动地把账单信息上传到电力公司的数据中心。除此之外,它还能实时地记录用户的电力使用细节,这些信息能帮助电力公司了解某个用户使用电力的情况,从而制定相应的价格策略。这与每月仅仅读取一个用电数相比,要传输和处理的数据量多了很多,也使得后台的处理工作量大了很多,最终必然会影响后台的软件架构。
  
  架构设计需应对四个挑战
  
  应用程序需要处理的数据量、数据类型以及应用程序的应用场景的变化,给未来的应用软件设计带来很多挑战。具体来说,有四个方面:
  应用程序负载变化大。工作任务变化和工作环境的复杂都使得应用程序的负载变得不可预测。比如,酒店传统的高峰时段是每天早上(主要为退房)和下午4~9点(入住)。而在未来,业务的多样化将使得应用程序随时都有可能出现高负荷。也就是说,应用程序将是全天候处于工作状态,而不仅仅只在某几个小时。
  用户接口类型更加复杂。过去很多应用程序是面向人的,因此非常重视人机交互,比如会有很大的显示屏以方便用户输入,而如今数据来源趋于多样化,除了人工输入外,更多时候是来自于其他应用程序、传感设备或者来自用户上载的文件或者之前根本没有想到过的某个数据源。因此,在接口方面除了传统的服务接口、上载接口还要考虑各种终端或者外设的输入,除了单数据的输入还要考虑批量上载。相应地,在应用程序的架构设计时就必须把各种新的数据流考虑进来。
  要支持移动应用。过去的应用程序通常都工作在一个相对稳定的场合,与外部的连接通常也是可靠的,而架构设计通常也是基于这样的前提设计的。而今,随着无线网络的普及,无线应用越来越多,而在无线网络中,连接并非一定是可靠的。比如,用户正在一个急驶的出租车中,他所使用的服务可能随着位置的变化很快不可用。因此,程序必须充分考虑这一点,即在网络联通时能快速获得所需的数据,一旦中断能保护好工作“现场”,以待下次网络恢复时继续。
  应用程序的拓扑结构更复杂。数据处理规模的不可预测,要求软件架构的设计必须改变。比如,很多程序开始大量使用内存缓存数据以提高处理速度,而不一定把每个都保存到数据库。而且,应用程序复杂常常是与异步处理和计算密集性的任务相伴相随的,这时通常都会用到消息队列,在应用程序的软件架构时都必须考虑到这些问题。
  
  从软件架构开始支持云计算
  
  为了保证应用系统能够满足企业未来的新需求,特别是支持云计算,对于新的软件系统有必要在软件架构上做好准备。建议可以从以下几个方面进行考虑:
  1.对应用软件中准备使用的中间件(或组件)进行重新评估。现有大多数中间件是面向静态环境进行设计的,通常采用手工配置,偶尔进行升级。这些中间件一般都有一个配置文件,人工进行流程编排。中间件启动时,先读取这个配置文件,然后根据文件要求完成规定的任务。未来,随着云计算环境的普及,不断会有新的连接加入也会有连接退出,这就会导致与中间件的连接关系发生变化,上述手工方式就开始显出不足来。为此,未来的架构必须支持在线调整中间件在流程中的关系、能动态增加和删减连接。
  2.在软件的设计和开发过程中时刻牢记负载平衡。很多应用软件支持在Web服务器层的负载平衡,但进行负载均衡的时候要求所连接的组件数量固定而且IP地址也是固定的。而实践中,负载变化的幅度可能很大,所以应用软件的每个部分都应是可扩展的,也就是说要支持动态的负载均衡,在设计应用软件架构时不能先假定只有一个或者几个组件。
  3.不要忘了可扩展性。可扩展性一直是设计软件架构时应该考虑的,只是未来软件的可扩展问题可能变得更重要。换句话说,未来的软件必须要有能支持2倍、3倍甚至10倍负载的能力,因为将来软件的应用软件放到云环境中后,负载会变得不可预测,为此必须特别注意可能存在的性能瓶颈,而且要考虑好如何在程序运行的过程中解决可能存在的问题。事实上,如果设计时不考虑到可扩展性,未来的软件架构将很难应对超出的负载。
  4.支持应用软件的动态更新。40年前汽车制造商要生产一种新的车型,需要用两周的时间来对生产线进行调整,而后来丰田汽车率先实现了工厂的动态升级,仅用两个小时就实现了这种调整。今天的应用软件设计所处的情景与此相似,在云计算时代,应用程序24小时运行,不允许为了对软件进行升级而停机。因此,今天的应用软件架构设计必须考虑到如何在不影响用户使用自己所需服务的同时,对软件进行升级和调整,正如丰田汽车所做的那样。同样,与数据库有关的模型设计也必须支持这种新的软件使用模式。
其他文献
几乎所有的IT分析机构都将基于闪存的固态硬盘(SSD)列为2010年的几大技术趋势之一,本报今年第一期的“2010十大技术展望”中,闪存技术也被列入其中。但目前仍有一些因素阻碍SSD的广泛采用,其中一个重要原因就是其高昂的价格。不过,也许这种情况很快就会发生变化。    在基于闪存的固态硬盘  (SSD)领域,眼下一场    颇为激烈的争论正在进行,其焦点就是企业级SSD能不能使用多层存储单元(M
编者的话:又是惊人的财报,苹果与IBM的最新财报大获全胜。苹果Q3营收为157亿美元,创历史纪录;IBM有些差强人意,但利润仍在上涨。亚太地区成为中坚力量,不仅拉动苹果营收,也是平板电脑的主战场。  苹果Q3财报惊人 亚太区营收同比增160%  本报综合消息“这是一个惊人的财季,它超出了我们所有人的预期。”苹果公司总裁史蒂夫乔布斯对第三季度的财报十分满意。  财报显示,苹果Q3营收为157亿美元,
清明过后,上班刚到办公室就闻悉王江民先生辞世。网上一查,先生享年59岁,英年早逝,令人痛惜。周四一早赶到八宝山竹园参加先生的告别仪式,仪式上见到求伯君、鲍岳桥、周鸿等人。他们从告别大厅出来后,聚在一起,悲戚难掩,有几位眼圈红红的。  近一段时间,我一直在为《计算机世界》报30周年做些准备工作。其中一件事就是系统地翻阅回顾30年来的报道和文章。自上世纪80年代中后期起,求伯君、鲍岳桥、王江民、周鸿、
作为雅虎在中国惟一的官方机构,雅虎北京全球研发中心成立至今已有两年多。“毫无疑问,在北京建立研发中心是正确选择。”雅虎全球副总裁、北京全球研发中心(以下简称“北京研发中心”)总裁张晨在接受本报记者专访时表示,北京研发中心已经成为雅虎全球战略布局的核心部分之一。“‘以结果为导向’的公司文化得到了充分体现。”  近年来,不少国际科技企业在华投资,建立各种研发中心,但其中失败案例不少。  对此,张晨认为
『活 动』    惠普工作站举行制造业用户交流会探讨中国创造  本报讯 7月29日,在惠普工作站解决方案体验中心,“惠普‘智’造,分享卓越——惠普工作站制造业用户交流分享会”成功举行。会上,惠普工作站的资深产品专家和技术顾问,CAD/CAE行业用户代表,以及众多中国IT、制造业和石油行业的工作者,共同探讨了在企业由“中国制造”向“中国创造”转型过程中,惠普工作站如何洞悉用户需求,以其卓越、稳定的平
林昊用分布式架构应对了“秒杀”活动,这是淘宝网技术转变的一个案例。林昊决定继续像网站“前辈”学习,早晚有一天要超越它们。    林昊还不到30岁,已经名扬业内。  他是中国OSGi第一人,创办了中国OSGi网站,出过相关书籍; 他又是淘宝网的系统架构工程师,维护万台服务器的稳定。  林昊领导的是淘宝网“秒杀”活动的技术支持团队。在此次“战役”之后,林昊对淘宝网的技术实力有了更清晰的认识,他更要学习
并行SCSI作为服务器存储首选连接技术的日子已经结束了,Ultra320 SCSI是最后一代并行SCSI技术,今年可能将进行最后一批出货了。而串行SCSI的发展已势不可挡。    此前人们曾考虑过一系列服务器替代技术,包括SATA和光纤通道(FC)衍生技术,不过这些技术最终都没有发展起来,而只有串行连接SCSI(SAS)力挫群雄,最终胜出。自2006年年底以来,各大新型网络服务器平台都开始支持3G
本报讯4月7日,华旗召开新闻发布会,宣布爱国者凭借为奥运提供技术服务的丰富经验,仅用3个多月的时间就率先打造出国内首家网上世博馆—贵州馆。该馆完全符合世博会的标准和要求,在全国31个省市中第一个通过世博局审核批准上线。    通过爱国者创新的全景三维虚拟技术,世博贵州馆被进行全面的三维处理,将展馆及实体展项数字化后,整体搬上互联网,通过互动操作浏览、内嵌视频/图片、全景视频、三维动画、互动游戏等各
苹果iPad的上市引起了各方的广泛关注,平板电脑产品也再次成为关注的焦点。和苹果相比,富士通在单用及双用平板电脑的产品研发上更富有经验,最新的LifeBook T900便是一款代表富士通研发实力的产品,只是应用模式的不足以及高昂的价格严重限制了传统单用和双用平板电脑的发展。  富士通LifeBook T900采用了13英寸可左右180度双向旋转的LED背光电磁感应触摸屏,虽然制造成本较高,但这是平
编者的话:市场正在小幅回暖的消息一个接一个。上周,英特尔第二季度财报和分析机构第二季度的PC出货量报告都明显好于之前预期,表明PC市场正略微显示出复苏的迹象。市场还有很多拓展的空间。但ICANN想要扩大顶级域名数量的计划,却遭到了一致反对。  Atom销售暴涨英特尔第二季度净亏损3.98亿美元  本报综合消息英特尔上周公布了其截至6月27日的第二财季财报。财报显示,英特尔第二季度的收入超出了华尔街