Enable javascript in your browser for better experience. Need to know to enable it? Go here.

平台

采纳 ?

  • 无头内容管理系统已经成为数字平台的常见组成部分, Contentful 仍然是我们在这个领域的首选,但像 Strapi 这样的新进入者也给我们留下了深刻的印象。 我们尤为喜欢 Contentful 的 API 优先的工作方式以及实现了 CMS as code 。它支持强大的代码化内容模型原语和内容模型演化脚本,这使得它可以像其他数据存储模式一样被处理,并演进式数据库设计实践可以应用于 CMS 开发。最近,Contentful 发布了 应用程序框架 来编写应用,以便更容易地将 Contentful 适应个人业务流程并与其他服务集成。这些应用程序可以由特定组织建立,也可以为特定组织构建,与此同时市场上的应用也在快速增多。

  • 对于许多需要在新环境中快速启动和运行CI或CD的团队来说,GitHub Actions已经成为了默认选择。此外,它还能承载更复杂的工作流程,并且能够调用其他复合任务中的任务。尽管GitHub应用市场中的生态在不断发展,我们仍然强烈建议谨慎授予第三方GitHub Actions权限访问您的构建流水线。我们建议您遵循GitHub有关安全强化的建议,避免以不安全的方式共享机密信息。 但是,直接在托管源代码的GitHub上创建构建工作流的便利性,再加上能使用像act等开源工具在本地运行GitHub Actions,让其成为简化团队设置和新成员上手流程的一个引人注目的选项。

  • K3s 仍是我们在边缘计算和资源受限环境下的默认Kubernetes 发行版。它轻量,完全兼容 Kubernetes , 且操作开销较少。它使用 sqlite3 作为默认存储引擎, 而不是 etcd。 由于它在一个进程中运行所有相关组件,因此具有减少内存占用的优点。我们已将 K3s 用于工控系统和 POS 机环境中,我们对自己的决定非常满意。K3s 的运行时 containerd 已经支持 wasm, 因此 K3s 可以直接运行和管理WebAssembly 负载,进一步减少了运行时开销。

试验 ?

  • Apache Hudi 是一款开源数据湖平台,它将 ACID 事务保障引入了数据湖中。我们尝试了在大数据量高吞吐量场景下使用 Hudi 进行实时写入和更新数据,取得了非常理想的效果。特别令人满意的是,Hudi 对定制压缩算法的支持很灵活,这有助于解决“小文件”读写的问题。Apache Hudi 和 Delta Lake 以及 Apache Iceberg 都是同类的工具,它们提供相似的功能,但是在底层的实现方式和功能细节上又各有千秋。

  • 云上 Arm 计算实例在过去几年中越来越受欢迎。因为与传统的基于 x86 的实例相比,其成本更低,能源效率也更高。如今 AWSAzureGCP 等许多云供应商都提供基于 Arm 的实例。_云上 Arm _的成本优势对于运行大型工作负载或需要扩容的企业来说特别有利。根据我们的经验,除非依赖于特定架构,建议所有工作负载都使用 Arm 计算实例。多架构 docker 镜像等很多支持多架构的工具也可以简化构建和部署的工作流。

  • 在面对探索大型配置空间的挑战时,可能需要大量的时间来评估给定配置,团队可以转向自适应实验,这是一种机器引导的迭代过程,以资源高效的方式找到最佳解决方案。Ax 是一个用来管理和自动化自适应实验的平台,它包括机器学习实验,A/B 测试和模拟。目前,它支持两种优化策略,一种是使用 BoTorch 的贝叶斯优化,它是建立在 PyTorch 基础上的,以及 contextual bandits。 Facebook 在 发布 Ax 和 BoTorch 时描述了例如提高后端基础设施的效率,调整排名模型和优化机器学习平台的超参数搜索的用例。我们已经在多种用例中有了丰富的 Ax 应用经验,虽然超参数调整工具是存在的,我们尚未发现有能提供与 Ax 在一定范围上具有相似功能的平台。

  • DuckDB 是一个用于数据科学与数据分析的嵌入式列式数据库。数据分析师通常会在本地将数据加载进诸如 pandasdata.table 这些工具中,从而可以在于服务器内扩展解决方案前就做到快速分析模式和形成假设。 然而,我们现在使用DuckDB来处理这些用例,因为它释放出了比内存分析更大的潜力。 DuckDB 支持庞大事务的 range joins,向量化执行和多版本并发控制 (MVCC) ,我们的团队对此表示非常满意。

  • 任何软件都需要正确表示其所应用的那一领域,并且应该始终了解关键的目标。机器学习项目也不例外。特征工程 是机器学习软件系统工程和设计的重要部分。特征库 是一个架构上的概念,能促进识别、发现和监测与给定领域或业务问题有关的特征。 实现这一概念需要结合架构设计,数据工程和基础设施管理,来创建一个可扩展的、高效的、可靠的机器学习系统。 从工具的角度看,您可以找到开源的和完全托管的方案,但这些只包含了这个概念的一部分。在端到端的机器学习系统设计中,实现特征库带来了以下能力:(1) 定义准确特征的能力;(2) 增强数据的可复用性并且让特征在不同模型中保持一致和可用的能力,其中还包括设置特征工程管道,以规划特征库中的数据的能力; (3) 帮助特征发现的能力和 (4) 提供特征服务的能力。我们的团队利用特征库获得了这些对端到端机器学习系统的便利。

  • RudderStack 是一个可以轻松存储数据至数据仓库或数据湖的客户数据平台(CDP)。 这种方法越来越多地被称为无头 CDP(Headless CDP),它将CDP的功能和用户界面分离,强调可通过API灵活配置,同时强调数据仓库/数据湖为主要存储方式。正如人们对此类产品所期望的那样,RudderStack既拥有丰富的类库支持与第三方服务集成(可同时作为源和接收器),也能够接受自定义事件。RudderStack 既有商业产品,也有部分功能受限的自托管 OSS 版本。

  • Strapi 是一个基于Node.js的开源无头内容管理系统(CMS),它类似于Contentful。它已经出现了一段时间,我们也成功将其用于部分项目。Strapi 提供了 REST 和 GraphQL 两种类型的 API,具有丰富的文档,易用的数据模型 API,并且支持界面和逻辑的定制化。

  • TypeDB是一个知识图谱数据库,设计用于处理复杂的数据关系,从而简化查询和分析大型数据集。TypeDB的TypeQL查询语言类似于SQL语法,它可以简化模式定义、查询和探索的学习曲线。TypeDB带有各种工具,包括一个命令行界面和一个图形用户界面,这使其更容易与数据库集成,TypeDB Studio提供了一些集成TypeDB的功能,如管理模式,查询数据,可视化关系,甚至与他人合作。它有大量的文档,并且有一个活跃的支持社区。我们的团队用它来建立跨不同数据库的分类学概念知识图谱,并通过增加新的推理规则来利用其强大的推理能力来提高效率、减少工作量。凭借其友好的开发者体验和有帮助的社区,TypeDB是一个很好的候选者,任何团队,如果在实施依赖复杂数据关系的解决方案,都可以考虑这个工具,包括自然语言数据、推荐引擎和知识图谱。

评估 ?

  • Autoware 是一个基于 ROS (机器人操作系统)开发的,开源的自动驾驶软件栈。它可以用于为各种各样的车辆,如汽车和卡车等,开发和部署先进辅助驾驶系统(ADAS)。它不仅为自动驾驶的各个组成方面提供了一套开发工具与算法,譬如车身感知,驾驶决策和控制;而且它也内置有路线规划和控制的模块,可以基于周围环境和目的地的信息为车辆提供路线信息。它的出现促进了自动驾驶技术的开放式创新。我们在 Autoware 上构建自动驾驶原型去验证新产品构想,并发现它卓有成效。

  • Cozo 是一个以 Datalog 作为查询语言的可嵌入关系型数据库。其对时间旅行 (time-travel) 查询及对在关系型数据模式中建模图数据的支持使我们非常感兴趣。我们很喜欢它将数据存储委托给现有的主流引擎,例如 SQLite, RocksDB, Sled 和 TiKV。尽管 Cozo 还处在早期开发阶段,我们仍认为它值得一试。

  • Dapr 是分布式应用程序运行时 (Distributed Application Runtime) 的缩写,帮助开发人员构建在云中运行的具有弹性、无状态和有状态微服务。一些人可能会将其与服务网格 (service mesh) 混淆,因为它使用一个边车 (Sidecar) 架构,作为应用程序旁边独立运行的进程。Dapr 更加面向应用程序,并专注于封装构建分布式应用所需的容错性和连接性。例如,Dapr 提供多个构建块 (building blocks),从服务调用和消息发布/订阅到分布式锁定等都是分布式通信中常见的模式。我们团队最近在一个项目上评估了 Dapr;基于这一成功经验,他们期待将其引入未来其他项目中。

  • Immuta是一个数据安全平台,它允许你安全地访问数据,自动发现敏感数据并审计数据在组织中的使用情况。在过去,当我们考虑安全风险时,我们已经谈到了自动化、工程实践和将安全策略代码化的重要性。数据安全也不例外。我们的团队一直在探索Immuta,它能将数据访问策略作为代码来管理,以实现精细化的访问控制,这超出了基于角色的访问控制(RBAC)所能提供的范围。基于版本控制的策略可以被测试,然后配置为CI/CD管道的一部分。在一个去中心化的数据生态系统中,比如由数据网格促成的生态系统,拥有特定领域的角色会导致身份认证系统中的角色或用户组扩散。Immuta的基于属性的访问控制(ABAC)的特性将访问授权简化为一个数学方程式,即把用户的 "属性 "与数据源的 "标签 "相匹配。这个平台虽然很新,但在满足数据安全需求方面绝对值得考虑。

  • Matter 是由亚马逊、苹果、谷歌、康卡斯特和Zigbee联盟(现已更名为Connectivity Standards Alliance,简称CSA)联合推出的智能家居技术的开放标准。它使设备能够与任何已通过Matter认证的生态系统配合使用,从而减少了不同供应商的设备和物联网平台之间的碎片化,促进了互操作性。它专注于在应用层面上的标准化、支持Wi-Fi和Thread作为通信媒介。与Zigbee等其他协议不同,Matter得到了主要科技公司的支持。尽管支持Matter的设备数量仍然相对较少,但它在物联网领域日益重要,因此对于那些希望构建智能家居和物联网解决方案的人来说,它是值得评估的。

  • Modal 是一种平台即服务(PaaS),您无需自己的基础设施即可按需计算。Modal 让您可以部署机器学习模型、大规模并行计算作业、任务队列和 Web 应用程序。它提供了容器抽象,使得从本地部署到云端部署无缝切换,在本地和云端都可以热重载。它甚至可以自动删除部署,避免了手动清理的需要,但也可以使其持久化。

    Modal 由为 Spotify 开发第一个推荐引擎的同一个团队编写。它负责端到端的 人工智能(AI)/ML 栈,并能提供按需的GPU资源,如果您有特别密集的计算需求,这将非常有用。无论您是在笔记本电脑上还是在云端工作,Modal 都能发挥作用,为运行和部署您的项目提供了一种简单高效的方式。

  • Neon 是 AWS Aurora PostgreSQL 的一款开源替代产品。云原生分析型数据库已经采用了将存储与计算节点分离的技术,以便根据需要弹性扩展。然而,在事务性数据库中进行相同的操作比较困难。Neon 通过其新的多租户存储引擎技术实现了这一点。它对主流 PostgreSQL 代码进行最小的更改,并利用 AWS S3 进行长期数据存储,在计算方面弹性扩缩容(包括缩放到零)。这种架构有几个好处,包括便宜和快速地克隆、写入时复制和分支。我们对基于 PostgreSQL 的创新非常兴奋。我们的团队正在评估 Neon,并建议您也对其进行评估。

  • OpenLineage 是一个开放的数据管道沿袭元数据收集标准,旨在在作业运行时对其进行编整。它使用一致的命名约定定义了运行、作业和数据集实体的通用模型。沿袭模型的核心是可扩展的,可以通过定制切面来增加实体。OpenLineage 解决了生产者和消费者之间互通问题,否则大家不得不想各种办法实现互通。虽然存在它会成为另一个“中间标准”的风险,但作为 Linux 基金会 AI 和数据基金会项目,它获得被广泛采用的机会很大。OpenLineage 目前支持多个平台的数据采集,如 SparkAirflowdbt,但用户需要自己配置监听器。OpenLineage 对数据消费者的支持目前较为有限

  • “密码的终结”可能终于要到来了。在 FIDO 联盟的指导和苹果、谷歌、微软的支持下, passkeys 的可用性正在接近其他主流身份验证方式。当用 passkeys 注册新的登录信息时,它会产生一对密钥:网站收到公钥而用户保留私钥。它使用非对称加密处理登录。用户需要证明他们拥有私钥,但与密码不同,私钥不会被发送到网站上。在用户的设备上,会使用生物识别技术或 PIN 码来保护对 passkeys 的访问。

    Passkeys 可以在各大软件生态中存储和同步,例如苹果的 iCloud 钥匙链、谷歌的密码管理器或微软的 Windows Hello。在大多数情况下,该功能只适用于最新的操作系统和浏览器版本。值得注意的是,Windows 10 并不支持在 Windows Hello 中存储密码。不过幸运的是,客户端到认证器协议 (CTAP)让 passkeys 可以被保存在创建密钥或需要密钥登录的设备之外的不同设备上。例如,一个用户在 Windows 10 上为一个网站创建了一个 passkeys,并通过扫描二维码将其存储在 iPhone 上。因为密钥是通过 iCloud 同步的,所以用户可以从他们的 MacBook等其他 Apple 生态设备上登录到该网站。Passkeys 也可以存储在硬件安全密钥上,在 iOS 和 Android 上也提供了对原生应用的支持。

    尽管仍有一些可用性问题——例如,登录时需要设备支持并开启蓝牙,因为扫描二维码时要检查设备是否接近—— passkeys 依然是值得考虑的。我们建议你在 passkeys.io 上试用,以了解它们的可用性。

  • Spin 是一个开源平台, 用于在 WebAssembly(/cn/radar/languages-and-frameworks/webassembly) (WASM) 中构建和运行微服务。在技术雷达以前的版本中,我们曾谈论过在浏览器中使用 WebAssembly,但现在由于它在细粒度的沙盒功能、跨语言互操作性和热重载的能力,我们正在目睹其在服务器端的渗透。通过使用 Spin CLI,您可以创建和分发基于 Rust(/cn/radar/languages-and-frameworks/rust)、TypeScript(/cn/radar/languages-and-frameworks/typescript)、Python 和 TinyGo 的WebAssembly 微服务。我们对 Spin 充满期待,并建议您仔细评估它,因为它正在退出早期预览阶段。

暂缓 ?

  • Denodo 是一款数据虚拟化工具,可以从单个平台将来自多个底层数据源和各种接口、经过转换后对使用者友好的数据方便地进行展示和保护。在 Denodo 中,可以使用类似于 SQL 的语言 VQL 创建虚拟数据库和视图,来实现数据转换。这些视图和虚拟数据库会在用户查询虚拟数据库时执行。在底层,Denodo 可以将虚拟数据库的查询委托给一个或多个底层数据库。

    尽管 Denodo 可以简化展示消费者友好的数据的工作,但随着视图和虚拟数据库层的叠加,特别当查询需要连接多个底层数据库时,性能会受到影响。只有对产品行为和性能调优方案有相当深入的了解,才能解决这些问题。由于这些缺点,以及对单元测试支持有限,我们不建议使用 Denodo 作为主要数据转换工具 ,而应使用 Spark 或 SQL(通过dbt) 等工具做数据转换。

 
  • platforms quadrant with radar rings 采纳 试验 评估 暂缓 采纳 试验 评估 暂缓
  • 新的
  • 移进/移出
  • 没有变化

无法找到需要的信息?

 

每期技术雷达中的条目都在试图反映我们在过去六个月中的技术洞见,或许你所搜索的内容已经在前几期中出现过。由于我们有太多想要谈论的内容,有时候不得不剔除一些长期没有发生变化的条目。技术雷达来自于我们的主观经验,而非全面的市场分析,所以你可能会找不到自己最在意的技术条目。

无法找到需要的信息?

 

每期技术雷达中的条目都在试图反映我们在过去六个月中的技术洞见,或许你所搜索的内容已经在前几期中出现过。由于我们有太多想要谈论的内容,有时候不得不剔除一些长期没有发生变化的条目。技术雷达来自于我们的主观经验,而非全面的市场分析,所以你可能会找不到自己最在意的技术条目。

下载第28期技术雷达

English | Español | Português | 中文

获取最新技术洞见

 

立即订阅

查看存档并阅读往期内容