ThoughtWorks 技术雷达 2014 年 7 月刊:JavaScript、微服务和去中心化的技术趋势

  • Abel Avram
  • 李哲

2014 年 8 月 8 日

话题:JavaScriptThoughtWorksDevOps语言 & 开发架构文化 & 方法

ThoughtWorks 最近发布了 2014 年 7 月刊的技术雷达报告PDF 英文文件)(PDF 中文版),该报告关注了 JavaScript 生态系统、微服务、康威定律和基础设施去中心化这几个方面的重要发展趋势。

对于这一期的雷达报告,ThoughtWorks 提到了如下几大趋势:

  • JavaScript 生态系统正在充满活力地不断发展。
  • 人们对微服务的兴趣非常大并且很重视 web API,用它来连接企业内部网络系统以及外部网络系统。
  • 人们对康威定律的认识逐步深入。
  • 在经过了互联网和云服务提供商的一段时间的合并之后,有必要对数据和基础设施进行去中心化设计。

和上一期的 ThoughtWorks 雷达报告的情况一样,该图表包含四个象限,每个象限又分为四个区域:Adopt——推荐采用;Trial——风险比较低,值得在项目中尝试;Assess——建议进行评估;Hold——谨慎运用。当数字标识的条目出现在和上一期的雷达报告相同的位置的时候,这些条目会放到圆形图案中;当这一条目是新的或者位置发生改变后,它们就会被放到圆角三角形中。下图所示就是技术(Technique)象限:

在这里,我们着重指出:

  • (1)Forward SecrecyAdopt)——这是一种加密技术,当某个会话密钥被盗用后,之前的通信还是可以得到保护。
  • (8) 反向康威操纵(Inverse Conway Maneuver(Trial)——它建议“逐渐改进你的团队和组织结构来促进你所渴望的架构”,理想情况下,达到技术架构与业务架构的同构。
  • (15)没有PUTREST(Trial—使用 POST 而非 PUT,这是因为它分离了“命令和查询接口,并且强制调用方来支持最终一致性”
  • (25)DevOps作为一个团队 (Hold)——这意味着要提醒的是,DevOps 是一种文化观念的转变,组织机构不该吞下将 DevOps 作为一个团队而造成的苦果。

对于平台象限(下图所示),我们注意到如下内容:

  • (29)Hadoop 2.0 (Adopt) 已经从 Trial 移到 Adopt 区域。(图中 Hadoop 2.0 采用圆形图案来表示是错误的。
  • 大量平台都被建议进行评估(assessment),这其中包括ARM SoC(35) CoAP——一个物联网(IoT)协议、 (37) Espruino——一个包含了 JavaScript 解释器的控制器,此外还有两阶段认证(Two-factor Authentication)。
  • 有趣的是,ThoughWorks 已经将OSGi置于Hold区域,这是因为它“只能解决整体问题中的一小部分,而它本身却经常给项目带来意外的复杂性,例如更加复杂的构建流程”。

现在我们来到工具象限中,我们可以注意到:

  • (50)Ansible 已经移到 Adopt 区域中。
  • (58)Go CD 这是由 ThoughtWorks 在 3 月份开源的一个 CD 工具,对它的建议是Trial
  • 大量的工具被收录到 Assess 区域中,这包括(69) Appium——一套移动端自动化测试框架、(76) Rosylin——微软的编译器技术、(77)Spark——一款大数据分析工具和 (78) Swagger ——一套 RESTful API 标准。

对于最后一个语言和框架象限,我们注意到:

  • (84Java 8Adopt)——ThoughtWorks 认为 Java 8 成功地保持了向后的兼容性,并同时引入了“重大的语言改动而又能与现有的库和特性相保持一致”,建议进行采用。
  • (87)AngularJS88Core Async以及95R都被认为是适合于放在Trial区域中。
  • 有一些更新的语言被建议为assessed比如96Elm101 Rust以及105 Wolfram
  • (107)JSF依然停留在Hold位置,ThoughtWorks 认为“JSF 是有缺陷的,因为它试图将 HTML、CSS 和 HTTP 抽象出来,而这与现代的 web 框架所做的是相背离的”。

查看原文地址:http://www.infoq.com/news/2014/07/thoughtworks-radar-july-2014


感谢赵震一对本文的审校。

给 InfoQ 中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家通过新浪微博(@InfoQ)或者腾讯微博(@InfoQ)关注我们,并与我们的编辑和其他读者朋友交流。

JavaScriptThoughtWorksDevOps语言 & 开发架构文化 & 方法