Invisible 是一家 B2B 生產力新創公司,讓使用者能夠透過 Worksharing 自動化和外包任何複雜的工作流程或業務流程。Prisma 在協助 Invisible 實現技術堆疊的未來proofing 以及支援其規模方面,扮演了關鍵的角色。

Invisible,營運效率和自動化的解決方案
在過去一年中,許多公司更清楚地了解到,僅僅數位化以實現業務轉型是不夠的。企業需要建立一個專注於營運效率和自動化的數位轉型策略。這對於實現生產力和效率的提升,以及在需要不斷提高客戶體驗水準的市場中保持競爭力至關重要。
在 Invisible 之前,企業依靠 BPO(業務流程委外)來提高營運效率,以及 RPA(機器人流程自動化)和其他工具來實現自動化。
然而,就其本身而言,這兩種解決方案都不足夠。每個企業都有客製化且複雜的業務流程,許多 RPA 的一體適用方法無法解決這些問題。同樣地,委外給 BPO 可能可以避免為內部資源建立新的工作流程、培訓計畫等需求,但它只適用於支援相對簡單、大規模的工業流程。
Invisible 透過 Worksharing 解決了這個問題。它結合了 BPO 和 RPA 的最佳要素,而沒有失去人類判斷的關鍵組成部分。
Invisible 的 DNA 中具有卓越的營運和自動化。我們正在將知識工作產業化,將所有事物分解為最小的組件,將一切轉化為流程,建構工具,並調整激勵機制。這是透過 Invisible 的數位裝配線完成的:客戶可以在 Invisible 線上入口網站上選擇預先建構的業務流程,或使用我們提供的可用「建構模組」建立自己的客製化流程。

選擇 Prisma 以提升內部效率
Invisible 透過確保其內部遵循相同的原則,來為其客戶確保營運效率和自動化:他們選擇的技術將使他們的開發人員能夠節省時間,同時也能確保其技術堆疊面向未來。
這就是為什麼資深軟體工程師 Pieter Venter 在為 Invisible 設計新的技術堆疊時選擇 Prisma 的原因。當 Pieter 加入 Invisible 並評估其技術堆疊時,他認為需要進行完整的重構,以為該平台未來幾年的發展奠定堅實的基礎。
使用 Prisma 將使 Invisible 團隊能夠
- 根據市場需求快速發展其結構描述,新增功能和流程
- 在編寫後端所需的自訂邏輯方面具有彈性
- 對所使用的工具充滿信心,無需擔心持續的維護和疑難排解
最初,Invisible 使用 Sequelize,它為他們提供了強大的 TypeScript 類型,但需要大量樣板程式碼來建立他們的模型。此外,類型定義和類型不會根據查詢選擇進行更新。他們也研究了 Hasura,但最終它未能達到他們的期望,缺乏後端自訂邏輯所需的彈性。
Prisma 是理想的解決方案
- 它是為 GraphQL 實作而建構的
- 它在使用基於查詢選擇的推斷類型,在用戶端中提供自動產生的類型
- 流暢的 API 非常容易讓開發人員學習,允許開發新的現代查詢引擎
在實際運作的應用程式中從 Sequelize 遷移到 Prisma
對於 Invisible 而言,從 Sequelize 遷移到 Prisma 的過程是輕鬆且毫不費力的。
團隊在其 Sequelize 用戶端旁邊建立了一個 Prisma 用戶端,該用戶端在 Heroku 上託管的 API 伺服器單體架構中使用。他們使用 Prisma introspect 基於他們的資料庫建立了一個新的 Prisma 檔案,該檔案最終與他們之前的結構描述非常相似。
同時,他們也建立了一個新的無伺服器 GraphQL API(使用 Postgres 託管在 Vercel 上),該 API 只會使用 Prisma,而沒有 Sequelize 的包袱。簡單的資料模型和業務邏輯被快速且輕鬆地轉移到新的後端。
高流量請求也被移至新的無伺服器功能,以減少舊 API 伺服器的舊 Heroku dyno 上的負載,並讓他們縮減 Heroku 的規模。
目前,所有新的核心資料模型都在新儲存庫的 Prisma 結構描述和新的 Postgres 資料庫中建構,任何剩餘的舊查詢都正在緩慢地從 Sequelize 和 Heroku 遷移出來,目標是在今年內完全棄用它們。
這種漸進式方法使 Invisible 能夠繼續讓全球數百名代理商 24/7 無縫且不間斷地工作,並確保他們的客戶沒有遇到任何停機時間。
雖然他們可以選擇在一週內完成遷移,但他們決定逐步進行,以便他們可以繼續開發新功能並利用 Prisma 更快速地交付它們。
Invisible 的技術堆疊
Invisible 在所有地方都使用 TypeScript,這使他們能夠從資料庫直接到前端擁有 100% 類型安全的程式碼,而無需維護類型。他們的堆疊包含幾個 React 應用程式 (NextJS) 和 Nodejs 後端 API 伺服器。他們將 Prisma 與 Postgres 中高度關聯的資料模型一起使用。
他們目前的堆疊由以下項目組成
與 Sequelize 甚至 TypeORM 相比,Prisma 的類型安全 ORM 方法更上一層樓。tRPC + Prisma 的組合非常容易上手!它提供完全的類型安全,而無需任何程式碼產生或繁瑣的類型和介面來編寫和維護。Prisma 產生類型,tRPC 使用它們並將它們向下傳遞,我們甚至不需要維護任何 API 伺服器。透過 Nextjs 和 Vercel,我們還能以通常運行我們自己的有狀態伺服器所需成本的一小部分,獲得出色的 DX 和 UX。

目前,Invisible 團隊正專注於將 Heroku 單體式 API 重構為託管在 Vercel 上的無伺服器功能集合。此外,他們已將 GraphQL 和 Apollo 替換為 tRPC - React Query 周圍的一個輕量級封裝器,可處理用戶端和伺服器擷取邏輯。這已大幅簡化了他們的技術堆疊,並將允許更快速的功能開發和更可靠的資料庫增量變更。
Prisma 與他們新的微服務架構無縫協作,並已抽象化到它自己的程式庫中,該程式庫可以在需要資料的服務之間共享。Prisma 會根據無伺服器功能的需求自動開啟和關閉資料庫連線。查看 Martina Welander 關於此主題的演講 - 世界上最糟糕的泳池派對:Prisma 的連線管理!
Invisible 的工程文化
Invisible 真正在所有部門,尤其是工程團隊中,擁抱了所有權文化。Invisible 技術長 Scott Downes 是這樣描述團隊內部的共同責任感的
我們所有的合作夥伴(禁用「員工」一詞!)都同意透明、任人唯賢的模式,每個人都會隨著時間的推移獲得有意義的股權,而我們的薪資和獎金直接與業務績效掛鉤。每個人的工作都直接影響並塑造公司的方向及其成功。

當查看 Pieter 的工作時,這一點尤其明顯:Pieter 獨自評估了先前堆疊中的缺陷,並主導設計了一個新的、可擴展且面向未來的解決方案。
如果您想加入完全遠端的 Invisible 團隊,請在此處查看所有職位空缺 here。
結論
Invisible 的營收在過去一年中成長了四倍,因為越來越多的公司意識到提高效率和自動化的重要性。依靠 Prisma 等技術使他們能夠保持敏捷性和可擴展性,並確保他們能夠滿足客戶日益增長的需求。
採用 Prisma 使 Invisible 能夠比以前更快地部署變更,確保他們可以繼續提高團隊的效率,同時降低客戶的成本。
若要進一步了解 Prisma 如何協助您的團隊提高生產力,請加入 Prisma Slack 社群。
不要錯過下一篇文章!
訂閱 Prisma 電子報