Vitess畢業回顧:簡化遷移路徑以替代MySQL將是加速採用的關鍵
- 2020 年 2 月 20 日
- 筆記
作者:Abhi Vaidyanatha
去年11月,Vitess成為第八個畢業的CNCF項目,加入了Kubernetes、Prometheus、Envoy、CoreDNS、containerd、Fluentd和Jaeger等一系列令人驚嘆的項目。為了說明這個裡程碑,我從Vitess的共同創造者Sugu Sougoumarane的大腦中選取了一些花絮,讓他分享我們是如何走到今天,我們面臨的障礙,我們前進的方向。
孵化
考慮到直到2018年2月CNCF才同意將Vitess作為一個孵化項目託管,Vitess已經在成為水平擴展MySQL的實際標準方面取得了很大的進步。然而,在橫向範圍之外,Vitess託管到CNCF的主要目標是率先在Kubernetes運行數據庫。我們對我們作為一個社區所取得的進展感到非常興奮,這些並列的引用來自Slack首席工程師Michael Demmer,展示了項目的發展第一手資料:
Michael Demmer談Vitess孵化(2018年5月2日)
「Slack的服務核心正處於MySQL基礎設施的大遷移中,我們需要一個可擴展的架構來滿足我們最大的客戶不斷增長的需求,並在壓力下保持穩定和高性能的服務,每小時執行數十億的MySQL事務,」Slack高級工程師Michael Demmer說:「我們需要一個提供熟悉的全功能SQL接口的解決方案,並希望繼續使用MySQL作為後台存儲來維護我們的操作知識和舒適度。Vitess是實現這一目標的自然選擇,到目前為止,它已經很好地為我們服務了。」
Michael Demmer談Vitess畢業(2019年5月11日)
「Vitess是Slack的一個明顯的成功。」Slack首席工程師Michael Demmer說:「這個項目比任何人預想的都要複雜和困難,但與此同時,Vitess在其承諾的角色中的表現比人們希望的要好得多。我們的目標是Slack的所有MySQL都在Vitess運行。在可預見的未來,我們在存儲方面沒有其他選擇。」
孵化後
在開始孵化之後,有人猜測Vitess是否會在安全和持續集成方面滿足開源社區的嚴格要求。然而,Sugu並沒有那麼害怕:
鑒於Vitess一直被用於安全敏感的生產環境,如YouTube、Square的Cash應用程序和Slack,所以沒有發現重大漏洞也就不足為奇了。另一個受到高度關注的領域是貢獻者中僱主的多樣性。這也不是一個挑戰;Vitess採用者非常關心項目,並不斷投入時間和精力。我們現在有14名來自不同公司的活躍維護者。
準備畢業
在我們的開源維護者和貢獻者的持續支持下,慢慢地,顯而易見的是,Vitess沒有直接嘗試就自然地達到了畢業要求。Sugu的信心一直延續到這一時期,因為他認為畢業在這一點上主要是一種形式。儘管許多人都對他充滿信心,但畢業過程與上一次畢業項目相比已經發生了變化。
正式流程從TOC倉庫上的拉取請求開始,其中包含對畢業標準的回答。如前所述,自2018年2月以來,孵化標準已經有所變化(在某些方面,某些孵化標準更難達到)。為了適應這一點,我們包含了兩個版本的標準答案。在我們的要求得到驗證之後,我們得到了向TOC介紹的日期。即使在驗證之後,我們還有一個測試要通過;來自TOC成員的盡職調查檢查。
盡職調查
雖然通過這個階段不是一件容易的事情,但是回顧可以歸結為四個方面:質量、採用、貢獻和支持。雖然採用、貢獻和社區支持都歸結於統計數據,但是顯示質量則稍微困難一些。
我們首先列出了一些常見問題的概要,我們假設每個人都想了解數據庫項目,但歸根結底有兩個問題:如何測試它,如何確保性能?審閱人要求我們對此給出更清晰的答案,這是有道理的,這讓我們詳細闡述了Vitess與其他類似角色的技術的比較方式。此外,我們非常樂意與我們的審閱人深入探討關於採用、維護和新功能的設計過程的細節,審閱人對所有這些事情都很感興趣。最重要的是,Sugu似乎專註于欣賞這些審閱:
這些都是很好的反饋。我認為這是有趣的,可以看到隨着我們不斷發展時,Vitess所處的位置。
我們現在在哪裡?
Vitess項目統計數據(2/5/2018)
- 105位貢獻者
- 5413個GitHub星星
- 15個發佈
- 13733個提交
- 707個分叉
Vitess項目統計數據(2019年5月11日)
- 187位貢獻者
- 8961個GitHub星星
- 24個發佈
- 17428個提交
- 1179個分叉
從繁華的社區和項目的發展,很明顯,Vitess正在繼續獲得動力。Vitess採用者和在Kubernetes上運行的人數正在上升,我們預測這種相關性將保持正值。Vitess現在是一個先驅者,它展示了一個人確實可以在Kubernetes中運行有狀態的工作負載,這一說法很快就被許多人否定了。隨着各大公司致力於完全遷移到Vitess,它已經成為雲原生空間中最受信任的存儲解決方案之一。
如果您要遷移到Kubernetes,請不要忘記您的數據。
我們要去哪裡?
雖然我們的特性一直很好地服務公眾,但我們也意識到,我們的產品並不像我們希望的那樣簡單。我們未來的重點之一是讓Vitess越來越平易近人。在這個話題上,Sugu對未來充滿希望:
上線一個Vitess集群應該不難,我們將使它非常容易做到這一點。與此同時,對於我們的用戶來說,簡化遷移路徑以替代MySQL將是加速採用的關鍵。
如果您有興趣加入日益增長的力量,成為Vitess貢獻者,一定要來我們的社區Slack開始!