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.js 的类型安全数据库访问客户端

    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 模型的状态保持一致。可以在 CI/CD 管道中触发 Migrate,以便在生产环境中轻松生效迁移。

由于 Prisma 在任何可以安装 node 模块的地方都很有用,因此它非常适合 Grover 使用的各种技术栈。

Grover has 14 different services using various tech stacks

结论

虽然有些团队仍在观望,但 Ricardo 预见到 Prisma 的采用将在不久的将来增加。

“我非常有兴趣看到其他团队迁移到使用 Prisma,因为我只能看到使用它的好处。”

Prisma 使 Ricardo、他的团队以及 Grover 的许多其他团队在处理数据库时效率更高。

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

不要错过下一篇文章!

注册 Prisma 新闻通讯