挑戰
PingCAP 是領先開發熱門開源 NewSQL 資料庫 TiDB 的公司,TiDB 與 MySQL 相容,可以處理混合交易和分析處理 (HTAP) 工作負載,並具有雲原生架構設計。「擁有混合多雲產品是我們全球市場策略的重要一環,」全球策略與營運總經理 Kevin Xu 說道。為了實現這一目標,團隊必須應對兩項挑戰:Xu 說:「如何在容器化世界中部署、執行和管理分散式有狀態應用程式,例如像 TiDB 這樣的分散式資料庫?」以及「當客戶在雲端(任何雲端,無論是單一雲端供應商還是不同雲端環境的組合)中使用 TiDB 時,如何為他們提供易於使用、一致且可靠的體驗?」他們知道使用分散式系統並不容易,因此開始尋找合適的協調層,以幫助終端使用者降低一些複雜性。
解決方案
團隊很早就開始研究使用 Kubernetes 進行協調。「我們知道 Kubernetes 有望幫助我們解決問題,」Xu 說。「我們只是在等待它成熟。」2018 年初,PingCAP 開始將 Kubernetes 整合到其內部開發以及 TiDB 產品中。在那時,團隊已經有使用其他雲原生技術的經驗,之前已將 Prometheus 和 gRPC 整合到 TiDB 平台中。
影響
Xu 表示,到目前為止,PingCAP 客戶對 Kubernetes 作為部署和管理 TiDB 的工具反應「非常正面」。當客戶部署 TiDB 時,Prometheus(搭配 Grafana 作為儀表板)預設安裝,以便他們可以在生產環境中部署 TiDB 之前和部署期間監控效能,並進行任何必要的調整以達到目標。Xu 說,該監控層「使評估過程和溝通更加順暢」。
藉由公司基於 Kubernetes 的 Operator 實作(已開源),客戶現在能夠在雲端中部署、執行、管理、升級和維護其 TiDB 叢集,而不會停機,並減少工作負載、負擔和額外開銷。Xu 說:「在內部,我們已完全切換到 Kubernetes 用於我們自己的開發和測試,包括我們的資料中心基礎架構和 Schrodinger,這是一個用於 TiDB 的自動化測試平台。」借助 Kubernetes,我們的資源使用率大幅提高。我們的開發人員可以自行分配和部署叢集,部署過程已從數小時縮短到數分鐘,因此我們可以投入更少的人力來管理 IDC 資源。生產力提高了約 15%,隨著我們在除錯和診斷方面獲得更多 Kubernetes 知識,生產力應可提高到 20% 以上。」
TiDB 背後的公司 PingCAP 從一開始就以雲端為中心設計平台,全球策略與營運總經理 Kevin Xu 說道,「擁有混合多雲產品是我們全球市場策略的重要一環。」
為了實現這一目標,團隊必須應對兩項挑戰:Xu 說:「如何在容器化世界中部署、執行和管理分散式有狀態應用程式,例如像 TiDB 這樣的分散式資料庫?」以及「當客戶在雲端(任何雲端,無論是單一雲端供應商還是不同雲端環境的組合)中使用 TiDB 時,如何為他們提供易於使用、一致且可靠的體驗?」
他們知道使用分散式系統並不容易,因此 PingCAP 團隊開始尋找合適的協調層,以幫助終端使用者降低一些複雜性。Kubernetes 在很長一段時間內都受到他們的關注。「我們知道 Kubernetes 有望幫助我們解決問題,」Xu 說。「我們只是在等待它成熟。」
那個時機在 2018 年初到來,當時 PingCAP 開始將 Kubernetes 整合到其內部開發以及 TiDB 產品中。「相較於僅有單一公司的支持,Kubernetes 成為 CNCF 的一部分,這對於我們對技術的長期發展抱持信心非常有價值,」Xu 說。此外,「由於治理流程如此開放,因此不難了解技術和社群的最新發展,或者找出如果我們有問題或疑慮該與誰聯繫。」
TiDB 的雲原生架構包含一個無狀態 SQL 層(也稱為 TiDB)和一個支援分散式交易的持久性鍵值儲存層(TiKV,現在位於 CNCF 沙箱中),它們是鬆散耦合的。「您可以根據您的計算和儲存需求來擴展或縮減兩者,並且這兩個擴展過程可以彼此獨立進行,」Xu 說。PingCAP 團隊還基於 Kubernetes 建構了 TiDB Operator,這有助於在任何雲端環境中引導 TiDB 叢集,並簡化和自動化部署、擴展、排程、升級和維護。該公司最近還預覽了其完全託管的 TiDB Cloud 產品。
整個 TiDB 平台都利用 Kubernetes 和其他雲原生技術,包括用於監控的 Prometheus 和用於服務間通訊的 gRPC。
到目前為止,客戶對啟用 Kubernetes 平台的反應「非常正面」。當客戶部署 TiDB 時,Prometheus(搭配 Grafana 作為儀表板)預設安裝,以便他們可以在生產環境中部署 TiDB 之前監控並進行任何必要的調整以達到效能要求。Xu 說,該監控層「使評估過程和溝通更加順暢」。藉由公司基於 Kubernetes 的 Operator 實作,客戶現在能夠在雲端中部署、執行、管理、升級和維護其 TiDB 叢集,而不會停機,並減少工作負載、負擔和額外開銷。
這些技術也在內部產生了影響。Xu 說:「我們已完全切換到 Kubernetes 用於我們自己的開發和測試,包括我們的資料中心基礎架構和 Schrodinger,這是一個用於 TiDB 的自動化測試平台。」「借助 Kubernetes,我們的資源使用率大幅提高。我們的開發人員可以自行分配和部署叢集,部署過程所需時間更少,因此我們可以投入更少的人力來管理 IDC 資源。
生產力提高了約 15%,隨著我們在除錯和診斷方面獲得更多 Kubernetes 知識,生產力應可提高到 20% 以上。」
Kubernetes 現在是 PingCAP 產品路線圖的關鍵部分。對於任何其他考慮採用雲原生技術的人,Xu 提出以下建議:「現在是開始的最佳時機,」他說。「整個雲原生社群,無論是 Kubernetes、CNCF 總體而言,還是像我們這樣的雲原生供應商,都已獲得足夠的經驗——並擁有傷疤來證明——並且隨時準備好幫助您成功。」
事實上,PingCAP 團隊已經看到越來越多的客戶轉向雲原生方法,而且理由很充分。「IT 基礎架構正迅速從成本中心和事後考量轉變為任何公司的核心競爭力和競爭力,」Xu 說。「雲原生基礎架構不僅可以為您節省資金,並讓您更能掌控所消耗的基礎架構資源,還可以為新的產品創新、使用者的新體驗和新的業務可能性賦能。它既是成本降低者,又是賺錢工具。」