Groverは月額制のテクノロジー製品サブスクリプションを提供しており、そのサービスに関する作業を多くのチームに分割しています。一部のチームは最近、Prismaを導入することで生産性が大幅に向上したことを発見しました。PrismaがGroverにどのような利益をもたらし、あなたもどのように利益を得られるかについて読み進めてください。
ガジェットをリフレッシュ
Groverは月額制のテクノロジー製品サブスクリプションを提供しています。常に最新のスマートフォン、タブレット、コンピューターを全額で購入するのではなく、Groverは顧客に機器をレンタルし、新しいものが出たらそれをリフレッシュする方法を提供します。これは、所有と使用の間の障壁を打ち破るだけでなく、テクノロジー製品を使用するためのより持続可能で循環的な方法でもあります。
80万人以上の人々がGroverを利用することで、古いテクノロジー機器を引き出しの中で埃をかぶらせることを避けてきました。そして、最近調達したシリーズB資金の6,000万ユーロにより、家電製品のサブスクリプション数は大幅に増加すると予測されています。
チーム間のサービス分割
組織が成長するにつれて、複数の開発チームがそれぞれ特定のサービスや製品領域を担当することが一般的です。チームが分割され、独自の技術スタックと好みを持つ場合、データや知識がサイロ化され、コミュニケーションが困難になる可能性があります。
Groverは、チームの独立性と主体性を全体的なコラボレーションとバランスさせることに成功した素晴らしい企業例です。彼らは独立した開発者チームと迅速に動くことができ、それぞれのチームが異なるスタックを使用しながらも、サービスを結合的にまとめ上げています。
Groverがこれに成功しているのは、主にデータを統合し、フェデレーテッドGraphQL APIを通じてアクセス可能にしている方法によるものです。Prismaは、グリーンフィールドプロジェクトとブラウンフィールドプロジェクトの両方で、この成功の重要な要素となりつつあります。
この設定を詳しく見てみましょう。GroverのすべてのサービスはフェデレーテッドGraphQL APIを通じて公開されており、これにより各チームは、出力がGraphQLを介して消費可能である限り、自由に選択したスタックで作業できます。
特にApollo Federationの場合、Groverには複数の開発チームによって開発・保守されている14のユニークなサービスがあり(今後も継続的に追加されます)。
チーム全体で使用されている言語には、TypeScript、Ruby、Pythonが含まれます。一部のチームはTypeGraphQLを使用し、他のチームはNexusを使用しています。
実験奨励
Groverでは、チーム間の知識共有と同様に、実験が奨励され、評価されています。チーム間のコラボレーションを通じて、Groverの開発者は重要な教訓を共有し、互いの作業を楽にする可能性のあるテクノロジーを推進することができます。
GroverのソフトウェアエンジニアであるRicardo Almeida氏と話しました。彼はPrismaとの自身の道のり、そしてチームからどのように奨励されたかを共有してくれました。彼は2020年にPrismaの実験を開始し、すぐに成功を収めました。Ricardo氏のPrismaへの関心は、彼のチーム(Prismaを本番環境に導入した)やGroverの他の人々にもすぐに広がり、新しいプロジェクトでのPrismaの自然な採用が絶えず増加する結果となりました。
"Prismaは学習曲線が低いです。TypeScriptを使ったエンドツーエンドの型安全と組み合わせることで、生産性が向上します。"
革新的なテクノロジーを導入し、さまざまな言語やライブラリを試す自由があることで、Groverは顧客の要求に応え、市場投入までの時間を短縮することができます。
Prismaでの成功
Prismaは、開発者が迅速に作業し、安全にコードを書くのに役立つ3つの主要な製品を提供しています。
-
Prisma Client - TypeScriptおよびNode用の型安全なデータベースアクセスクライアント
Prisma Clientは、クエリ作成時に型安全を提供することで、Groverのデータベースアクセスに確信をもたらします。
-
Prisma Migrate - シームレスなデータベース移行のためのツール
Groverにとって、Prisma Migrateを使用することで、データベースのイントロスペクションと移行はスムーズかつシンプルであり、特に本番環境でデータベース構造を変更する必要がある場合に役立ちます。
-
Prisma Studio - ブラウザとデスクトップ用のモダンなデータベースGUI
Groverの開発者は、データベースの豊富なユーザーインターフェースから恩恵を受けており、データの閲覧や編集を簡単に行うことができます。
Ricardo氏にとって、Prismaの3つの主要製品すべてが一体となって、卓越した開発体験とコード記述時の時間短縮を提供しています。
"Prismaは、データベースへのアクセス、移行の実行、データの表示をすべて標準化された方法で提供します。Prismaは、データをグループ化する際の問題に直面したり、結合について心配したり、異なるライブラリを結合したりする必要がない、単一で標準化されたクエリ構築方法を提供します。"
Prismaを使用すると、開発者は型安全なデータベースアクセスクライアントをすぐに利用できます。
データベースモデルはPrismaスキーマ言語で記述され、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で使用されている様々なスタックに完全に適合します。
結論
一部のチームはまだ様子見ですが、Ricardo氏は近い将来、Prismaの採用が増加すると予測しています。
"Prismaを使うことにはメリットしかないので、他のチームがPrismaに移行するのを見るのは非常に興味深いです。"
Prismaは、Ricardo氏、彼のチーム、そしてGroverの他の多くのチームがデータベースを扱う際に、はるかに生産性を向上させました。
Prismaがチームの生産性向上にどのように役立つかについて詳しく知るには、Prisma Slackコミュニティに参加してください。
次回の投稿をお見逃しなく!
Prismaニュースレターに登録