Cloud Team:上能修 DB,下能改容器的雲原生信仰者 | PingCAP 招聘季

TiDB 從誕生之時就帶着雲原生的標籤,並且底層存儲引擎 TiKV 也在 2019 年成爲了 CNCF (雲原生計算基金會)的孵化項目。我們很早就認識到,雲提供的基礎設施可編程、按量付費等區別於傳統數據中心的核心特質,正是釋放 TiDB 彈性伸縮潛力的最佳載體。

而在另一方面,由於有狀態應用天生的複雜性和數據資產不可估量的重要性,雲原生革命的上半場仍聚焦在運維流程更易標準化、故障也相對可容忍的無狀態應用上。隨着 Kubernetes 與 Docker Swarm 的容器編排之戰塵埃落定,無狀態應用編排問題在幾年內迅速得到解決後,如何在雲上構建堅實可靠的數據層作爲新的問題浮出了水面。相信很多有識之士早已看到了這些問題,準備“尋機而動”。不過,有那麼一羣人已經腳踏實地付諸行動了。

是的,有那麼一羣人,在他們眼中,TiDB 與雲是天生互相吸引、互相需要的,用“佳偶天成”來形容二者的關係並不爲過。這羣人就是 PingCAP 的 Cloud 團隊,一羣義無反顧的雲原生信仰者、一羣“上能修 DB、下能改容器”的技術 Nerds、一羣 TiDB 和雲的忠實 “CP 粉”。我們就是這羣人,而這篇文章就是希望能打動屏幕面前的你,加入我們 —— “不負韶華,共譜雲與 TiDB 的和諧樂章”。好了,務虛到此結束,下面我們來點實在的。

TiDB Operator

TiDB Operator 是 Cloud 團隊最早的項目,Operator 是一種爲 Kubernetes 擴展編排知識的編程範式。而 TiDB Operator,顧名思義,就是將 TiDB 的運維知識寫成代碼,注入到 Kubernetes 中。而這些特定的運維知識,正是 Kubernetes 上的有狀態應用所缺失的東西。2016 年 CoreOS 率先提出的 Operator 模式,我們也同期開始了 TiDB Operator 的開發。大家或許知道,Kubernetes 的成熟與穩定是近些年的事兒。單就計算,服務於有狀態應用編排的 StatefulSet 直到 1.5 纔出現。而對於要求高 IO 低延遲的數據庫應用,其強需求的本地持久化存儲(Local PV)在 1.10 (2018 年)才進入 Beta 階段,直到 1.14 方纔正式 GA。TiDB Operator 經歷了一無所有的蠻荒時期,我們編寫控制器去逐個編排 Pod 組成 TiDB 集羣,通過 HostPath 實現了類似 Local PV 的本地存儲管理體系。雖然這個“平地起高樓”的第一版 Operator 最後並未面世,但卻爲大家現在看到的 Operator 積累了相當多的經驗。當我們看到 Kubernetes 對 StatefulSet 控制器的不斷增強以及 Local PV 的推出時,那種“似曾相識”的熟悉感讓我們放心地選擇了 Upstream 的 in-tree 解決方案來更好地擁抱社區。在去年 7 月,我們 正式發佈 TiDB Operator v1.0 GA ,完成了 TiDB 與雲融合的第一個里程碑。

而在 GA 後的幾個月,海內外多家用戶進行了 TiDB Operator 的 PoC 併成功推向核心生產環境,TiDB Operator 也沒有辜負期待,穩定支撐了包括公有云和 on-premise、混部和獨佔式部署各類集羣形態的自動化管理運維。而今年,我們則着眼於社區與 DBaaS,期待讓 TiDB 在更多的用戶、更多的雲、更多的生態中落地開花。

此外,作爲連接 TiDB 和 Kubernetes 兩大頂級開源項目的 TiDB Operator,本身也是一個開源項目,我們希望打造一個活躍的開源社區,帶領志同道合的社區萌新們一路打怪升級,從躍躍欲試的 Contributor,到執掌一個模塊的 Commiter 甚至 Maintainer。作爲 Cloud 團隊成員,你將有機會親手構建並領導一個充滿生命力的社區,並和來自不同背景、不同國家的貢獻者一起爲 TiDB Operator 添加更多酷炫的特性。

DBaaS 服務

爲了進一步降低用戶使用 TiDB 的門檻與運維成本,我們構建了基於公有云的 DBaaS (Database as a Service)服務,提供全託管的數據庫服務。我們希望用戶不用關注分佈式數據庫自身的運維,將精力聚焦到自己的業務邏輯上。從開源的 TiDB Operator 到生產級的 DBaaS 服務,我們將和你一起解決這些有意思的事情:

多層級、多維度編排

對於 TiDB 這樣的複雜分佈式數據庫,在調度 Pod 時我們既要考慮數據庫內部數據分片(一段連續的數據,表現爲一個Raft 複製組) 的調度,也要考慮外部進程沙箱的調度。在保證最大程度容災的同時儘可能提高數據庫整體性能。

對於雲服務,性價比是可稱得上是“決定生死”的關鍵因素。成本優化同樣是一個複雜的命題。我們是否可以爲 TiDB 引入冷熱數據分離特性,將冷數據調度到低速的機械盤、網絡盤甚至 S3 這樣的對象存儲上,以降低使用成本呢?假如可以,這又勢必會爲編排和調度又引入新的挑戰:當我們彈性擴容時,我們是彈出幾個使用 SSD 的 replica,還是幾個使用 HDD 的 replica,抑或是混合?當熱點過去,數據庫的查詢漸小,但存儲空間仍然吃緊時,我們又該怎樣將部分節點替換成性能稍差但存儲空間龐大的冷存儲節點呢?

K8s 自身的調度編排能力,在面對上述複雜的應用場景時顯得捉襟見肘,當你擁有全集羣的上帝視角時,你會如何對整個集羣進行自動化合理的編排調度呢?在這裏你不僅要成爲 TiDB 和 K8s 領域專家,還要能夠上能改 TiDB 代碼,下能調 K8s 代碼,讓這兩大項目能更好地結合在一起。

跨雲部署

TiDB 作爲一款分佈式數據庫,在雲時代我們希望它能夠跨地域(region)、跨雲部署,用戶可以自由選擇自己喜歡的雲平臺,使用兼容 MySQL 協議的無限水平擴展的分佈式數據庫,只要用戶願意甚至可以選擇跨雲部署實現跨雲容災。

最後

假如你:

  • 優秀的發現和解決問題能力,良好的溝通能力和團隊合作精神;

  • 有三年以上相關領域開發經驗,紮實的編程能力,熟悉 C/C++/Rust/Go/Python 中至少一種;

  • 瞭解各種常見網絡協議原理和虛擬化技術,對分佈式系統有一定的瞭解;

  • 熟悉 Docker 和 Kubernetes 原理,踐行 Infrastructure as Code,瞭解常用的 IaC 工具(Terraform, Pulumi 等)。

那麼,歡迎上船,cloud guys here!

加入我們吧!

我們認爲優秀的工程師或多或少有以下共同特質:

· A Quick Learner
· A- n Earnest Curiosity
· Faith in Open Source
· Self-driven
· Get Things Done

如果你符合以上特質,歡迎進入招聘頁面查看目前開放的工作機會。

簡歷投遞通道:[email protected]

實習生:公司的各項福利和學習資源對實習生全面開放,更重要的是實習生還未畢業就有機會接觸工業級項目,而且實習期間表現優異者將有機會獲得校招綠色通道特權。針對實習時間並不充裕的小夥伴,你可以先通過 Talent Plan 豐富基礎知識(https://university.pingcap.com/talent-plan/),也可以通過參與 TiDB 開源社區獲得更多實踐機會!

伯樂推薦:如果你身邊有符合以上要求的小夥伴,也可以找我們聊一聊,推薦成功就有機會獲得伯樂推薦獎勵。伯樂推薦郵件格式:[伯樂推薦] 候選人姓名-職位名稱-推薦人姓名-推薦人手機號。

延展閱讀

是的,我們在招人!PingCAP 2020 招聘季正式開啓

TiDB Architecture Team:挑戰數據庫的本質難題

揭祕 PingCAP 年輕前沿的團隊:用戶生態

TiDB SQL Infra Team:一起打造從計算層到存儲層的完美橋樑

寫給 TiDB 原廠 DBA 的一封信:連接技術和價值的“最後一米”

TiDB SQL Engine Team:純手工打磨前沿的優化器和執行引擎

E.T. 團隊:TiDB 開源生態宇宙構造者

我眼中的 PingCAP 工程師文化

程序媛眼中的 PingCAP:無法抗拒的五大吸引力

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章