25

全球技术宏观趋势——云、机器学习与其他 – ThoughtWorks洞见

 4 years ago
source link: https://insights.thoughtworks.cn/macro-trends-tech-industry/?
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

《技术雷达》是一份技术趋势快照,来自我们最近在软件行业的最新发现。

techradar.jpeg

以下是本期的一些重点内容:

为争霸主,云产品还未成熟就已入市

之前我写过一篇文章,其中提到云已成为当今业界的主导基础设施和架构模式,而且各大云供应商都在争夺市场份额,争取抢占先机。在我看来,这就导致他们在一些功能和服务远为真正成熟之前,就急于将产品推向市场。在过去,我们经常看到这种模式,企业软件供应商会宣称自己的产品拥有比竞争对手更多的功能,而不管这些功能在产品中是否已经完善或可用。这个问题本身并不是什么新问题,但却是当今云服务行业面临的一大挑战。这也不是意外,而是一种有意的战略,是云公司为了快速推出软件而对自身进行重组所产生的结果。

各个云平台竞相推出新的产品和服务,这不一定会给使用这些平台的团队带来好处。供应商过度承诺,言过其实,因此团队作为买方需要保持谨慎。当有新的云数据库或其他服务问世时,团队必须要评估这些服务是否真正成熟,可供他们使用。团队能否承受这些服务不可避免尚需完善的缺陷和局限性?

混合云工具开始日趋成熟

许多大型组织都处于“混合云”状态,使用不止一个云提供商。是应该采用一个还是多个云服务提供商?这个选择非常复杂,不仅要考虑技术,还要考虑商业、政治甚至监管因素。例如,在监管非常严苛的行业,组织可能需要向监管机构证明,如果他们的现有云提供商遇到某种灾难性的技术或商业问题,使他们无法持续运营,他们可以很轻松地转向新的云提供商。我们的一些客户正在进行重大的云整合工作以过渡到单一云平台,因为多云存在延迟、VPN 设置复杂的问题,也有的组织进行整合是为了从供应商处获得更优惠的定价,或者获得特定的云功能(例如支持 Kubernetes 或使用特定机器学习算法)。

这种过渡或整合可能需要数年时间,尤其是考虑到遗留企业系统对此类计划的影响,因此组织需要一种更好的方法来处理多云。一些“混合云控制平面”正在兴起,有助于减轻这种痛苦。我们认为,如果你正在遭受多云的困扰,可以考虑使用 Google AnthosAWS OutpostsAzure ArcAzure Stack

“量子就绪型”云或将成为明年的关键战略

Google 最近正在宣扬他们在所谓“量子霸权”方面取得的成就,他们开发了一台量子计算机,可以运行传统计算机基本上无法应对的算法。具体情况是,Google 使用了一台 53 量子位的量子计算机在 200 秒内解决了一个传统超级计算机需要一万年才能解决的问题(IBM 驳斥了谷歌的说法,认为自己的超级计算机可以在 2.5 天内获得这样的结果)。这里要指出的重点是,量子计算机不仅仅是实验室里的昂贵设备,它已经跨越各种潜在障碍,能够通过量子计算解决更大规模的重要问题。

目前,使用少数量子位可以解决的问题在数量和实用性方面都很有限,但是量子计算无疑拥有广阔前景。加拿大初创公司 Xanadu 不仅在开发量子芯片(Google 使用的是超导体,而 Xanadu 是使用“光子”方法来捕获量子效应),而且还在开发量子模拟和训练工具。他们指出,尽管目前的大多数量子算法看起来有点理论化,但是可以使用量子技术来加速解决蒙特卡洛模拟之类的问题,这在当今金融科技等领域非常有用。

像对待许多技术转型(大数据、区块链、机器学习)一样,你至少要基本熟悉这项技术并了解它可以为你的企业带来什么好处。IBMMicrosoftGoogle 都提供量子计算机模拟工具,在有些情况下还可提供真正的量子计算硬件获取途径。虽然你们的企业可能目前还不能受益于高度专用的算法加速技术,但是“量子就绪型开发者”云很快就会像过去“数据科学家”那样流行起来。

90% 的设备淘汰并未节约任何成本

作为一个行业,IT 不断面临系统过时的压力。如果有的系统太过时,就无法充分适应当今快速变化的节奏,而且维护成本高昂,或者充满风险,例如在 eBay 的硬件上运行过时的系统无疑是一大隐患。作为 IT 专业人员,我们经常需要处理并最终淘汰过时的系统。要更换过时的系统,一种听起来很酷的方法是采用 Strangler Fig Application,就是围绕某个过时的系统进行构建和补充,最终完全取代它。这种模式引起了广泛关注,一个重要的原因是这个名称(Strangler 字面意思为扼杀者)听起来很暴力,很多人都希望能对那些令人沮丧的过时系统采取暴力措施,而这个方法涉及“扼杀”这类过时系统,所以肯定会获得大量支持。

Picture1.png

当我们声称要扼杀过时系统时,问题就来了,因为最终我们只能在这些过时系统的基础上构建额外的系统和 API,而从未真正淘汰掉那些过时的系统。我们的同事 Jonny LeRoy(他善于给事物取名字)称这种方法对于过时系统而言只是“隔靴搔痒”,建议我们将它放在技术雷达评估的“Hold”(暂缓)环节。我们原本认为这个技术太复杂,但是人们都很喜欢听到这样的讯息:如果我们计划使用扼杀者模式来淘汰过时系统,我们最好着手进行淘汰,否则我们的努力往往都会白费。

主干开发似乎正在失去战斗力

多年来,我们一直在推广主干开发,认为最好的软件开发方法就是让每个开发者直接将他们的代码提交到源代码管理的“主线”(每天如是,越多越好)。就像有些见过很多源代码混乱情况的人一样,我可以肯定,分支模型并非免费(甚至谈不上便宜),即使是结合 Git 等工具编写的工整代码也无法使团队避免这种“持续隔离”的开发模式导致的各种问题。人们为需要采用分支代码给出的原因往往正好表明团队或系统架构存在深层次问题,需要直接予以解决,而不是采用代码分支。例如,如果你不信任某些开发人员向你的项目提交的代码,于是使用分支或 Pull Request 作为代码审核机制,那么实际上你应该解决的是核心信任问题。如果你不确定能否赶上项目截止日期,于是想用分支来为候选版本“cherry pick”最佳变更内容,你就会陷入痛苦之中,那么实际上你应该解决项目预估、优先事项安排和项目管理问题,而不是用分支来敷衍这个问题。

遗憾的是,我们在这方面似乎无法挽回局势。GitFlow 等短期分支技术继续受到欢迎,使用 Pull Request 来管理代码审查等活动也同样广受青睐。我们以前的同事 Paul Hammant 创建了 trunkbaseddevelopment.com 并且一直在进行维护,他也建议采用短期功能分支来执行大规模的主干开发。虽然我们最喜欢的这项技术似乎正在失去战斗力,这让我们很难过,但我们仍然希望志同道合的团队将继续尽可能地推动明智的主干开发。

翘首期待 Apple 发布 XR

在最近的 Facebook Connect 大会上,Oculus 确认他们正在开发 AR 眼镜,但未发布任何具体细节。最新传言称,Apple 将于 2020 年发布某种 XR 耳机,并且将于 2022 年发布 AR 眼镜。就像在智能手机和智能手表等许多其他先进技术领域一样,在打造真正吸引用户的体验设计方面,Apple 很可能再次走在前沿。Apple 的魅力始终在于将先进技术与卓越的消费者体验结合起来,只有在真正做到这一点之后,他们才会进入市场。很长一段时间以来(也许今天仍然如是),Apple 的人机界面设计准则一直是应用开发者必读的经典。我预计,Apple(最终)进入 AR 领域时,也会实现类似的飞跃。在此之前,虽然会出现一些精巧的演示和有限的训练体验,但 XR 仍将是一种小众技术。

Techradar.png

机器学习继续制造惊喜,但是我们真正理解它吗?

我最喜欢的一个 YouTube 频道是 Two Minute Papers(两分钟论文),在其中研究员 Károly Zsolnai-Fehér 会对 AI 系统的发展进行报道,令人眼界大开。最近,该频道介绍了一系列 AI 技术,有的可以基于仅仅五秒钟的输入模拟人类语音;有的可以推导客观世界的运动规律,速度是传统物理模拟系统的三万倍;有的可以学习如何玩捉迷藏,并且从真正意义上打破相应游戏世界的规则。这个频道做得很出色,展示了狭义 AI 能力的惊人(甚至有点可怕)的进步,通常用于解决可以直观显示的问题,因此是良好的视频展示内容。但是机器学习也被应用到许多其他领域,比如商业决策、医疗,甚至用于为法官给罪犯量刑提供建议,所以我们必须了解人工智能或机器学习系统如何运作。

一个大问题是,尽管我们可以描述一个基础算法如何运行(例如神经网络的反向传播如何工作),但是我们无法解释网络在经过训练之后实际上会怎么运行。本期《技术雷达》将介绍 what-if 等工具和道德偏见测试等方法。我们认为,在选择机器学习模型时,可解释性是应当考虑的一个重要因素

Mechanical Sympathy(机械同感)再度回归

早在 2012 年,《技术雷达》介绍了一个概念“Mechanical Sympathy”(机械同感),当时是基于 LMAX Disruptor 团队的工作阐述了这个概念。那时候,许多软件应用编写的抽象化程度越来越高,Disruptor 越来越接近 metal 的水平,专为在特定 Intel CPU 上实现极高性能进行了调优。LMAX 问题在于它本质上是单线程的,需要单 CPU 机器提供极高性能。看来,似乎 Mechanical Sympathy(机械同感)问题又回归了。

上一期《技术雷达》介绍了 Humio,这是一种日志聚合工具,在日志聚合和查询方面速度都超快。这一期《技术雷达》将介绍 GraalVM,一款高性能虚拟机。我们认为具有讽刺意味的是:软件行业的许多先进技术都是脱离了硬件(容器、Kubernetes、功能即服务、云数据库等等),而有一些技术仍然高度关注我们用于运行这些技术的硬件。我认为这要取决于使用案例。你需要可扩展性和弹性吗?那就离开硬件,进入云端。但是对于高频交易等非常具体的使用案例,该怎么办?那还是要利用上述某些技术,更专注于从硬件上实现进步。

希望你喜欢我们对技术行业最新趋势的这些简要介绍。由于版面空间限制,有些其他内容没做介绍,可以在技术雷达(https://www.thoughtworks.com/cn/radar)中阅读相关内容。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK