Apollo宣布釋出開放核心的GraphQL平臺(Apollo GraphQL Platform),為所有規模的產品團隊,提供方便使用的GraphQL技術,平臺包含客戶端以及伺服器端,依訂閱模式分為三種版本,有免費的社群版、適用中小型企業的團隊版,以及支援大規模團隊的企業版。

Apollo是一家開源公司,其GraphQL平臺建構於核心開源的GraphQL客戶端和伺服器之上,提供開源的開發工具和雲端服務,讓企業以正確的方式在現有程式碼和API上,逐步採用GraphQL,與既存的DevOps和基礎架構系統整合,以建構出GraphQL層的最佳實踐和模式。GraphQL平臺能助使用者擴展GraphQL API規模,從一個小團隊至整個企業都沒問題,GraphQL平臺能讓獨立的GraphQL服務,組合成一個統一架構的系統,並且消除單點故障以及開發阻塞點。

GraphQL平臺還會捕捉GraphQL API每個操作的元資料,供開發團隊掌握GraphQL架構,以最佳的方式調整系統,另外,Apollo也提供工具,讓使用者能夠管理已知客戶端的安全列表和查詢,根據產品流量以驗證架構更改,同時還能設置敏捷GraphQL開發工作流程,和企業程式碼控制以及CI/CD系統整合。

Apollo提到,應用GraphQL最重要的就是團隊協作,他們建構了架構註冊表(Schema Registry)來支援團隊協作,提供系統真實資訊來源,並成為GraphQL開發、客戶端以及操作註冊表的中心協作點,追蹤已知服務消費者的資料圖。另外,GraphQL平臺也提供了追蹤資料倉儲,能將每一個與系統架構的互動,儲存微結構化日誌。各註冊單位將共同運作,提供使用者精準了解API的使用情況,像是觀察哪一個客戶端還在使用已經棄用的欄位,或是確認特定GraphQL查詢存取了哪些微服務。

除此之外,Apollo的VS Code外掛可以讓使用者在程式開發階段,就完全掌握系統架構,獲得像是特定欄位的平均延遲等細節資訊。而Apollo伺服器外掛則實作了安全列表、預註冊操作,以及將API鎖定為可信服務的功能。另外,也增加了模式驗證,讓使用者於生產環境中,在觀測操作集中測試提案架構,系統則會自動回傳每個重大變更受影響的使用者列表。

Apollo伺服器還有一個商業套件GraphQL閘道器,能讓企業中的不同團隊,在單一組織範圍架構下協作,便於單點微服務發生故障的時候,快速有條理的修復系統。GraphQL閘道器提供的獨立微服務架構,讓微服務互相參照引用形成單一主架構,其內建了查詢計畫,以便存取上游GraphQL服務,並在獲得所有資料後整合為單一結果。GraphQL閘道器對內部提供分散協作架構,但對客戶端操作來說,仍然是一個尋常的GraphQL架構。

Apollo表示,Apollo客戶端和伺服器端中實作GraphQL的規範,以及基於解析器的程式開發模型的核心技術,這些都在開源程式碼中,另外,像是Codegen的CLI工具和Apollo語言伺服器,適用於社群的常見實作也都是開源且永遠免費。

GraphQL平臺基於以上的開放核心模型,提供三種版本,社群版、團隊版和企業版。社群版是永遠免費的產品,其中包含了核心開源的Apollo函式庫以及工具,使用者可以使用VS Code外掛以及完整的架構註冊表,還有一部分的追蹤資料倉儲功能,獲取註冊架構有用的指標。團隊版適用於需要所有Apollo工具和工作流程的中小型公司,具有完整的追蹤資料倉儲和架構註冊表功能。企業版則額外提供了GraphQL閘道器,適合用來運作關鍵服務的組織,Apollo提供全平臺全年無休SLA的產品支援。

由臉書在2012年開發,2015年正式釋出,用來為替代REST和Ad-hoc網頁服務的技術GraphQL,受到了不少大型網路服務採用,包括了Airbnb、GitHub、Netflix以及推特等。由於日漸成長的使用者,並在考量開源專案的健全發展,臉書認為,需要為GraphQL社群提供一個中立的組織確保發展,因此成立GraphQL開源基金會,交由Linux基金會管理。


Advertisement

更多 iThome相關內容