空军工程大学学报自然科学版
主办单位:空军工程大学
国际刊号:1009-3516
国内刊号:61-1338/N
学术数据库优秀期刊 《中文科技期刊数据库》来源期刊
       首 页   |   期刊介绍   |   新闻公告   |   征稿要求   |   期刊订阅   |   留言板   |   联系我们   
  本站业务
  在线期刊
      最新录用
      期刊简明目录
      本刊论文精选
      过刊浏览
      论文下载排行
      论文点击排行
      
 

访问统计

访问总数:19213 人次
 
    本刊论文
Thoughtworks技术雷达(三)

  混合云(Hybrid clouds)结合了公有云和私有数据中心的最佳特性。混合云允许应用程序在正常时间运行于私有数据中心,而高峰时段的过载请求则运行于公有云中的租赁空间。


  有很多基础设施解决方案允许在混合云上自动一致的部署,例如Palette和RightScale。由于Amazon,Rackspace和其他服务商提供的强大的产品,我们将混合云放到本版雷达的试用圈中。


  但无论如何,从令人眼花缭乱的云服务商中做正确的选择依然很困难。


  一个策略就是采用开源IaaS(open source IaaS)平台,例如OpenStack或者CloudStack。开源IaaS平台可以运行和公有云一致的私有云,在有需要时从一个云服务商迁移到另一个上去。Apache的Deltacloud进一步从服务商特定的APIs中抽取以提供跨云平台的一致体验。


  Google的BigQuery (BigQuery) 将数据分析带到云上。不再是将数据载入到一个昂贵的,提前定义索引的数据仓库,BigQuery通过随机的类似SQL的查询允许上传和分析一个数据集。数千台服务器在几秒内处理数千兆数据,这为概念证明甚至一个完整的应用都提供了一个廉价的方式。


  微软的Azure云平台(Azure) 继续和AWS这些更成熟的平台扮演追赶者的角色,但微软如何响应市场需求仍然让我们印象深刻。像大多数微软的解决方案一样,Azure仍然是一个竞争者并且值得评估。


  云端的持续集成(Continuous integration in the cloud)是支持敏捷开发且事后显而易见的基础设施解决方案之一。


  没有本地软件,只有最少配置就可以工作。随着产品的成熟,开发人员没有理由不去采用这个重要的实践。


  尽管在全球北美遭到明显的抵制,像肯尼亚的M-Pesa这样的移动支付系统(mobile payment systems)正提供安全的非现金货币交易。


  随着这项服务在非洲的展开,这个系统为百万有着手机却无法访问传统的银行网点的人们打开了一个巨大的市场。如Square这样的供应商正缓慢改变现状,但是北美继续落后。


  对于适用于文档数据库模型的问题,MongoDB提供了简单的可编程性,一个查询借口,自动故障转移的高可用性和自动的分片能力。它允许从一个关系型数据库管理系统模型平滑地转移到NoSQL数据存储,并且用一些大家熟悉的概念,如能够定义索引。


  图形数据库将信息存储为由命名关系形成的任意互连节点,而不是表和连接。


  没有Schema,高度的可扩展性,图形数据库是复杂领域建模半结构化数据的一个非常好的选择。Neo4j是该领域的领跑者,它的REST API和Cypher查询语言支持简单快速的存储和图表的遍历。


  Riak是分布式键值存储,没有Schema,与数据类型无关。对于写任务很重的项目,例如存储像会话、购物车和流日志这样的信息,Riak非常适用,同时它也能在全文本搜索中运行复杂查询。


  分布式集群可以在没有单主站时自我恢复,有可调的一致性和可用性设置,能够检测冲突,如果需要可以解决冲突-这些对于高可用性环境特别有帮助。


  基于对数据库工作原理的重新思考,Datomic是一个不可变的数据库服务器,具备事务处理和部署的特性。


  在敏捷项目里一个共同的头痛之处在于管理数据库迁移,特别是备份之前的状态。Datomic让迁移的需求不再存在-每一个版本的数据(以及schema)都被数据库保存。虽然仍在演进,但我们欣赏Datomic的气魄。


  Couchbase具有持续缓存,具备自动分片,无主机集群和为了避免缓存丢失的数据复制等功能。因为支持Memcached协议,它允许基于Memcached系统的简易替换。


  作为从传统,独立应用程序容器中进化而来的代表,Vert.x是一个连接同步和异步编程风格的应用框架。程序员为了简单起见,可以选择权衡可扩展性和性能。


  和Node.js不同,Vert.x是一个可以从很多支持JVM的语言中被调用的库,包括Java,Ruby和JavaScript。


  我们之前对跨平台重用代码持怀疑态度。我们将市场上很多工具的经验融合,并且建议,对这种类型解决方案感兴趣的客户要慎重考虑再行动。


  如果在这个较为危险的领域做选择的话,我们感觉Calatrava是移动应用开发中值得评估的。


  它的架构很好地遵守了业务和表现层逻辑的分离,最大化重用相同的部分,并且提供平台本地接口的访问来满足速度以及设备特定功能的需求。


  Meteor.js是一个客户端和服务端的JavaScript应用框架,在web浏览器或Node.js容器里运行,用MongoDB支持保持持久性。


  它使用“智能包”,很少的一部分代码,可以作为浏览器运行或者作为云服务的一部分。它允许热部署和在浏览器中更新。我们觉得尽管这个框架还没有完全成熟,但是这个想法还是很棒。


  尽管Windows Phone有一个良好的开端,一个深思熟虑的用户界面,以及可能所有移动平台中最好的开发体验,我们还是看到微软和它的合作伙伴在平台策略执行过程中的一些牵绊。和上一版雷达比,这让我们对这个平台的将来不太乐观。


  有时,架构上的决定导致你将基础设施包含在内,而通常我们只能承受一个基础设施,例如:大型机或者搜索设备。这是个很糟糕的想法。


  它严重限制了测试和部署的灵活性。我们强烈支持可以容易设置和拆除的基础设施。Singleton infrastructure属于过去被误导的供应商驱动的架构。


特别说明:本站仅协助已授权的杂志社进行在线杂志订阅,非《空军工程大学学报自然科学版》杂志官网,直投的朋友请联系杂志社。
版权所有 © 2009-2024《空军工程大学学报自然科学版》编辑部  (权威发表网)   苏ICP备20026650号-8