2021 年 5 月 10 日

Grover 如何利用 Prisma 提高速度

Grover 提供按月订阅的科技产品服务,并将其服务工作分配给多个团队。最近,一些团队通过采用 Prisma 实现了巨大的生产力提升。继续阅读,了解 Prisma 如何使 Grover 受益,以及您自己也能如何从中受益。

How Grover Moves Faster with Prisma

焕新我的小工具

Grover 提供按月订阅的科技产品服务。客户无需总是以全价购买最新手机、平板电脑和电脑,Grover 为他们提供了一种租赁设备的方式,并在有新品上市时进行更新。这不仅打破了所有权和使用权之间的障碍,也是一种更可持续、更循环利用科技产品的方式。

超过 80 万人选择使用 Grover,不再让旧科技设备在抽屉里积灰,而且随着他们最近筹集了 6000 万欧元的 B 轮融资,预计其消费电子产品订阅数量将显著增长。

跨团队拆分服务

随着组织的发展,通常会有多个开发团队,每个团队负责产品的一个特定服务或领域。当团队被拆分并拥有各自的技术栈和偏好时,数据和知识可能会被孤立,沟通也可能变得具有挑战性。

Grover 是一个很好的例子,展示了公司如何平衡团队独立性和自主性与整体协作:他们能够让独立的开发团队快速行动,每个团队使用不同的技术栈,但又能将他们的服务有机地整合在一起。

Grover 之所以能取得成功,很大程度上是因为他们如何整合数据并通过联合 GraphQL API 使其可访问。在全新项目和现有项目中,Prisma 正在日益成为这一成功的关键组成部分。

让我们仔细看看这个设置:Grover 的所有服务都通过一个联合 GraphQL API 暴露,这意味着每个团队可以选择他们自己的技术栈进行工作,只要输出可以通过 GraphQL 消费即可。

特别是在他们的 Apollo Federation 中,Grover 拥有由多个开发团队开发和维护的 14 个独立服务(并且还在不断增加)。

团队使用的语言包括 TypeScript、Ruby 和 Python。一些团队使用 TypeGraphQL,而另一些则使用 Nexus

Overview of Grover's Apollo federated GraphQL API

鼓励尝试

Grover 鼓励和奖励实验,以及团队间的知识共享。通过跨团队协作,Grover 的开发者分享重要的经验教训,并能够推广可能使彼此工作更轻松的技术。

我们采访了 Grover 的软件工程师 Ricardo Almeida,他分享了自己与 Prisma 的历程以及他的团队如何鼓励他使用 Prisma。他于 2020 年开始尝试使用 Prisma,并立即取得了成功。Ricardo 对 Prisma 的兴趣很快感染了他的团队(他们将 Prisma 部署到生产环境)以及 Grover 的其他人员,从而导致 Prisma 在新项目中得到越来越广泛的自然采用。

“Prisma 的学习曲线很低。由于它与使用 TypeScript 的端到端类型安全相结合,生产力因此变得更高。”

这种引入创新技术并允许尝试各种语言和库的自由,确保了 Grover 能够满足客户需求并缩短产品上市时间。

Prisma 带来的成功

Prisma 提供三个核心产品,帮助开发者快速行动并安全地编写代码。

  • Prisma Client - 一个用于 TypeScript 和 Node 的类型安全数据库访问客户端。

    Prisma Client 通过在查询时提供类型安全,让 Grover 对其数据库访问充满信心。

  • Prisma Migrate - 一个用于无缝数据库迁移的工具

    Grover 使用 Prisma Migrate 进行数据库内省和迁移非常顺畅和简单,尤其是在生产环境中需要更改数据库结构时。

  • Prisma Studio - 一个适用于浏览器和桌面的现代化数据库 GUI

    Grover 的开发者受益于为其数据库提供的丰富用户界面,使他们能够轻松查看和编辑数据。

对于 Ricardo 来说,Prisma 的所有三个核心产品共同提供了一流的开发者体验,并在编写代码时节省了时间。

“Prisma 提供了一种更标准化、开箱即用的方式来访问数据库、执行迁移和查看数据。Prisma 提供了一种单一且标准化的构建查询的方式,我们确信不会遇到数据分组问题,也不必担心联接或将不同的库粘合在一起。”

使用 Prisma,开发者可以获得开箱即用的类型安全数据库访问客户端。

数据库模型使用 Prisma Schema Language 编写,TypeScript 类型则自动从其生成。

用 Prisma 建模的数据库易于读写。

只需一条命令,Prisma 模型就能提供一个类型安全的数据库访问客户端。

Prisma 在 Grover 的多种技术栈中流行起来

Grover 鼓励实验,这意味着公司内部的各个团队拥有不同的技术栈。对于大多数团队来说,都是以某种形式混合使用 TypeScript 和 GraphQL,但具体细节有所不同。

自 Ricardo 开始在 Grover 使用 Prisma 以来,他一直与其他团队举办学习会议,开发者可以在会上看到 Prisma 提供的类型安全优势,以及使数据库操作更便捷的全面工具。

当 Grover 的开发者看到 Prisma 产品实际运行时,奇迹通常就会发生。

数据库内省等功能让人们对 Prisma 的能力有了强大的了解。通过内省,开发者可以从现有数据库开始,并使用一条命令从中派生出 Prisma 模型。这为开发者节省了大量原本需要花费在重新创建模型上的时间。相反,他们可以立即投入生产。

Prisma Migrate 提供了另一个强大的展示。通过 Migrate,只需几条命令即可修改数据库,使其与 Prisma 模型的状态保持一致。Migrate 可以沿着 CI/CD 流水线触发,从而轻松在生产环境中生效。

由于 Prisma 可以在任何可以安装 Node 模块的地方使用,它与 Grover 正在使用的各种技术栈完美契合。

Grover has 14 different services using various tech stacks

总结

尽管有些团队仍在观望,Ricardo 预测 Prisma 的采用率在不久的将来会增加。

“我非常乐意看到其他团队也迁移到使用 Prisma,因为我只看到使用它的好处。”

Prisma 使得 Ricardo、他的团队以及 Grover 的许多其他团队在处理数据库时大大提高了生产力。

要了解更多关于 Prisma 如何帮助您的团队提高生产力,请加入 Prisma Slack 社区

不要错过下一篇文章!

订阅 Prisma 新闻通讯

© . All rights reserved.