- Kubernetes云原生數據管理
- (美)Jeff Carpenter(杰夫·卡彭特)等
- 831字
- 2024-05-11 18:18:57
數據基礎設施越多,問題越多
無論數據基礎設施位于云端、本地還是二者皆有(通常稱混合),在手動配置時都要花費大量時間。在編輯器中輸入命令并進行非常詳細的配置需要深入掌握各種技術。在過去20年中,DevOps團隊在編碼和部署數據基礎設施方面取得了重大進展,這是現代數據基礎設施的重大進步。DevOps賦予了應用的擴展能力,但僅此而已。換言之,它并沒有降低編寫一個完整數據庫服務器部署腳本所需的技能。現在只是(按需)通過模板和腳本來重復執行相同的操作而已。組件之間缺乏連通性及整個應用技術棧缺乏全面描述的問題始終存在,亟待解決。
如同解決工程問題一樣,可以把這個大問題分解為若干易于處理的小問題。第一個小問題是資源管理。我們創造出很多適合大規模作業的方式,但這些方式從根本上都是為了盡量高效地管理計算、網絡和存儲的,如圖1-3所示。這3個目標關乎每個應用都需要的關鍵資源,也是驅動增長的“燃料”。毫無疑問,它們是將資本轉化為正常應用的關鍵資源。理智地使用資源能獲得回報,反之則需要付出高昂的代價。無論在哪里運行應用,計算、網絡和存儲都是最基本的單元。區別在于,在本地運行應用時,一切資源都由自己購買并且歸自己所有。而在云上運行應用時,這些資源都是租借別人的。

圖1-3 云應用的基礎資源:計算、網絡和存儲
第二個小問題是全部技術棧形成一個整體。DevOps提供了很多管理單個組件的工具,如果將這些組件連接起來,那么有望帶來驚人的效率提升。這種模式類似于在桌面上封裝應用,在數據中心層面上運行應用。為此,圍繞云原生應用已經建立起完整的社區。這些應用與我們一直部署的應用極為相似。不同之處在于,現代云應用不具有業務邏輯的單一流程,而需要進行復雜的協調工作,以確保眾多容器化進程可以安全、可靠地進行通信。存儲必須匹配應用的當前需求,但也要確保應用的穩定性。只是部署無狀態應用,不在同一個控制層面上管理數據,聽起來很不完整,事實上也的確不完整。將應用組件分解到不同的控制層面上會讓事情變得更加復雜,并且與理想的云原生背道而馳。
- 漫話大數據
- Python絕技:運用Python成為頂級數據工程師
- Game Development with Swift
- 工業大數據分析算法實戰
- 算法與數據中臺:基于Google、Facebook與微博實踐
- Dependency Injection with AngularJS
- Hadoop 3.x大數據開發實戰
- Starling Game Development Essentials
- 跟老男孩學Linux運維:MySQL入門與提高實踐
- 基于OPAC日志的高校圖書館用戶信息需求與檢索行為研究
- 從實踐中學習sqlmap數據庫注入測試
- 數據指標體系:構建方法與應用實踐
- Learning Ansible
- Access 2010數據庫應用技術教程(第二版)
- 大數據處理框架Apache Spark設計與實現