邊緣云部署與運(yùn)營:系統(tǒng)性實(shí)現(xiàn)方法 [美]拉里·彼得森
定 價:69 元
叢書名:云計(jì)算與虛擬化技術(shù)叢書
- 作者:[美]拉里·彼得森(LarryPeterson),[美]斯科特·貝克(ScottBaker),[美]安迪·巴維爾(AndyBavier),[美]扎克·威廉姆斯(ZackWilliams),[美
- 出版時間:2023/12/1
- ISBN:9787111739982
- 出 版 社:機(jī)械工業(yè)出版社
- 中圖法分類:TP393.027
- 頁碼:
- 紙張:膠版紙
- 版次:
- 開本:16開
本書展示了一個邊緣云開發(fā)路線圖,一群工程師在一年的時間里遵循該路線圖,開發(fā)、部署,然后全天候運(yùn)營一個跨越十幾家企業(yè)的邊緣云,并提供了卓越的云原生服務(wù)(在我們的例子中是通過5G連接提供云服務(wù))。該團(tuán)隊(duì)利用20多個開源軟件和組件實(shí)現(xiàn)了這個邊緣云和服務(wù),但選擇這些開源組件只是一個開始。在這個過程中,有幾十個技術(shù)決策需要做出,還有幾千行配置代碼需要編寫。這是一個可重復(fù)的實(shí)踐,作者在本書中對此實(shí)現(xiàn)方案進(jìn)行了詳細(xì)闡述。書中的配置文件和源代碼都是開源的,適用于那些想更詳細(xì)地研究并實(shí)現(xiàn)邊緣云計(jì)算和服務(wù)的讀者。
本書以Aether平臺為例,細(xì)致地闡述
從邊緣云整個平臺的架構(gòu)設(shè)計(jì)到每個子系統(tǒng)的構(gòu)建與運(yùn)維的相關(guān)內(nèi)容,使得讀者
可以比較全面地了解邊緣云的建設(shè)與運(yùn)維。
前 言
云計(jì)算無處不在。每個人都使用云來訪問或交付服務(wù),但不一定每個人都會構(gòu)建和運(yùn)維云。那為什么我們需要關(guān)心如何把一堆服務(wù)器和交換機(jī)變成24×7全天候運(yùn)行的服務(wù)交付平臺呢?這是谷歌、微軟、亞馬遜等云廠商為我們做的事情,而且它們做得非常好。
我們相信,由于分布式應(yīng)用不僅在大型中央數(shù)據(jù)中心運(yùn)行,也在邊緣運(yùn)行,因此云正在以另一種形式變得無處不在。隨著應(yīng)用的解耦,云正在從數(shù)百個數(shù)據(jù)中心擴(kuò)展到數(shù)萬家企業(yè)。雖然公有云廠商渴望把這些邊緣云作為其數(shù)據(jù)中心的邏輯擴(kuò)展來管理,但它們并沒有壟斷實(shí)現(xiàn)這一目標(biāo)的專有技術(shù)。
本書提供了一個小型工程師團(tuán)隊(duì)可以在一年的時間里建立并且24×7全天候運(yùn)維一個邊緣云的路線圖。這種邊緣云覆蓋十幾家企業(yè),承載重要的云原生服務(wù)—本書的例子是5G連接服務(wù)。該團(tuán)隊(duì)通過使用20多個開源組件來實(shí)現(xiàn)這一點(diǎn),但需要注意的是選擇這些組件只是一個開始。在整個過程中,我們要做幾十個技術(shù)決策,還要寫幾千行配置代碼。我們認(rèn)為本書描述的路線圖是一個可重復(fù)的過程。對于想進(jìn)一步了解這個主題的讀者,書中列舉的配置文件代碼是開源的,每個人都可以獲得。
當(dāng)我們說邊緣云的時候,是在表達(dá)什么意思?我們需要區(qū)分由超大規(guī)模云廠商在其大規(guī)模數(shù)據(jù)中心運(yùn)行的云(中心云)以及由處于邊緣的企業(yè)運(yùn)行(或管理)的云。邊緣是真實(shí)物理世界與云的交匯處。例如,邊緣(云)可以是收集和處理來源于傳感器的數(shù)據(jù)的地方,也可以是因?yàn)闀r延敏感或帶寬要求高而需要讓服務(wù)靠近最終用戶的地方。
我們的路線圖可能并不適用于所有情況,但它確實(shí)揭示了云運(yùn)維過程中涉及的基本挑戰(zhàn)和利弊取舍;谖覀兊慕(jīng)驗(yàn),這是一個復(fù)雜的領(lǐng)域,有太多術(shù)語和業(yè)務(wù)情節(jié)需要厘清。
目標(biāo)讀者
希望本書對任何嘗試構(gòu)建和運(yùn)維自己的邊緣云基礎(chǔ)設(shè)施的人來說都有閱讀價值,同時我們希望至少能為另外兩大群體提供有用的信息。
首先是正在對基礎(chǔ)設(shè)施選擇做評估,特別是需要在使用云廠商提供的云服務(wù)和構(gòu)建自己的邊緣云(或者是兩者的某種組合,類似混合云)之間做出選擇的讀者。我們希望為他們揭開邊緣云的神秘面紗,幫助他們做出合適的決定。
其次是那些需要在其組織選中的云基礎(chǔ)設(shè)施上構(gòu)建應(yīng)用和服務(wù)的開發(fā)人員。我們認(rèn)為對于開發(fā)人員來說,至少在高層次上了解云的底層機(jī)制是一件很重要的事情,這樣就可以幫助開發(fā)人員開發(fā)出易于管理和可靠的應(yīng)用程序。開發(fā)人員和運(yùn)維人員之間的互動越來越密切(DevOps運(yùn)動證明了這一點(diǎn)),我們的目標(biāo)是促進(jìn)這種合作。監(jiān)控和可觀測性等話題對這類用戶尤其重要。
開源導(dǎo)覽
好消息是,有大量開源組件可供選擇,幫助管理云平臺和為這些平臺構(gòu)建可伸縮應(yīng)用程序。不過這也是壞消息,因?yàn)閺腖inux基金會、云原生計(jì)算基金會、Apache基金會和開放網(wǎng)絡(luò)基金會(ONF)等開源聯(lián)盟中開源的龐大的、與云相關(guān)的項(xiàng)目空間中選擇相應(yīng)的開源項(xiàng)目來構(gòu)建我們的云管理平臺,是我們面臨的最大挑戰(zhàn)之一。這在很大程度上是因?yàn)檫@些項(xiàng)目都在爭奪人們的注意力,所提供的功能有很多重疊,并且彼此之間有額外的依賴。
閱讀本書的一種方法是將其作為云控制和管理的開源導(dǎo)覽。本著這種精神,我們不會復(fù)制那些項(xiàng)目已有的優(yōu)秀文檔,而是包含特定項(xiàng)目的文檔鏈接(通常包括我們鼓勵大家嘗試的教程)。本書還包括來自這些項(xiàng)目的代碼片段,但選擇這些示例是為了幫助鞏固我們試圖就整個管理平臺提出的要點(diǎn),它們不應(yīng)被解釋為試圖記錄個別項(xiàng)目的內(nèi)部工作。我們的目標(biāo)是解釋各種拼圖如何更好地組合在一起以構(gòu)建一個端到端的管理系統(tǒng),并在此過程中識別出各種有用的工具以及任何工具都無法消除的難題。
毫無疑問,我們需要解決一些具有挑戰(zhàn)性的技術(shù)問題(盡管市場宣傳與之相反)。畢竟,如何運(yùn)作一個計(jì)算機(jī)系統(tǒng)是一個和操作系統(tǒng)本身同樣古老的問題。運(yùn)維一個云只是這個基本問題的現(xiàn)代版本,隨著從設(shè)備管理向上延伸為服務(wù)管理,這個問題變得更加有趣?傊@是一個既新潮又基本的話題。
致謝
本書介紹的軟件要?dú)w功于ONF工程團(tuán)隊(duì)及其合作的開源社區(qū)的辛勤工作。我們感謝他們做出的貢獻(xiàn),特別感謝Hyunsun Moon、Sean Condon和HungWei Chiu對Aether控制與管理平臺的突出貢獻(xiàn),以及Oguz Sunay對Aether整體設(shè)計(jì)的影響。Suchitra Vemuri對測試和質(zhì)量保證提供了無價的見解。
本書會不斷完善,感謝每個提供反饋的人。請使用問題鏈接向我們發(fā)送你的寶貴意見。另外,可以在Wiki上查看目前我們正在處理的待辦事項(xiàng)列表。
Larry Peterson、Scott Baker、Andy Bavier、
Zack Williams、Bruce Davie
2022年6月
扎克·威廉姆斯(Zack Williams)
英特爾的云軟件工程師,在英特爾收購ONF工程團(tuán)隊(duì)后加入英特爾。在為ONF工作期間,他參與了Aether項(xiàng)目,并領(lǐng)導(dǎo)了基礎(chǔ)設(shè)施團(tuán)隊(duì)。在加入ONF之前,他是亞利桑那大學(xué)的系統(tǒng)程序員。他于2001年獲得亞利桑那大學(xué)計(jì)算機(jī)科學(xué)學(xué)士學(xué)位。
布魯斯·戴維(Bruce Davie)
網(wǎng)絡(luò)領(lǐng)域知名計(jì)算機(jī)科學(xué)家、VMware亞太區(qū)前副總裁兼首席技術(shù)官。他在VMware收購SDN(軟件定義網(wǎng)絡(luò))初創(chuàng)公司Nicira后加入VMware。在此之前,他是Cisco Systems的研究員,領(lǐng)導(dǎo)一個架構(gòu)師團(tuán)隊(duì),負(fù)責(zé)多協(xié)議標(biāo)簽交換(MPLS)。他在網(wǎng)絡(luò)行業(yè)擁有超過30年的經(jīng)驗(yàn),并合著了17份RFC。他于2009年成為ACM會士,并于2009年至2013年擔(dān)任ACM SIGCOMM的主席。他還在麻省理工學(xué)院做了五年訪問講師,是多本書的作者,擁有40多項(xiàng)美國專利。
目 錄
譯者序
序
前言
第1章 概述 ·································11.1 術(shù)語 ·········································4
1.2 解耦 ·········································9
1.3 云技術(shù) ····································111.3.1 硬件平臺 ·····················12
1.3.2 軟件構(gòu)建塊 ··················13
1.3.3 交換網(wǎng)絡(luò) ·····················15
1.3.4 存儲庫 ························16
1.3.5 其他選項(xiàng) ·····················17
1.4 系統(tǒng)管理員的未來 ··················19
第2章 架構(gòu) ·······························212.1 邊緣云 ····································24
2.2 混合云 ····································25
2.3 利益相關(guān)者 ·····························27
2.4 控制與管理 ·····························302.4.1 資源配置 ·····················31
2.4.2 生命周期管理 ···············33
2.4.3 運(yùn)行時控制 ··················34
2.4.4 監(jiān)控和遙測 ··················35
2.4.5 小結(jié) ···························36
2.5 DevOps ···································38
第3章 資源配置 ·······················433.1 物理基礎(chǔ)設(shè)施 ·························453.1.1 文檔基礎(chǔ)設(shè)施 ···············46
3.1.2 配置和啟動 ··················53
3.1.3 配置API ·····················56
3.1.4 配置虛擬機(jī) ··················58
3.2 基礎(chǔ)設(shè)施即代碼 ······················59
3.3 平臺定義 ································70
第4章 生命周期管理 ················734.1 設(shè)計(jì)概述 ································74
4.2 測試策略 ································774.2.1 測試類別 ·····················78
4.2.2 測試框架 ·····················81
4.3 持續(xù)集成 ································824.3.1 代碼庫 ························83
4.3.2 構(gòu)建-集成-測試 ········83
4.4 持續(xù)部署 ································89
4.5 版本控制策略 ·························92
4.6 管理密鑰 ································95
4.7 GitOps ····································96
第5章 運(yùn)行時控制 ···················995.1 設(shè)計(jì)概覽 ······························101
5.2 實(shí)現(xiàn)細(xì)節(jié) ······························1065.2.1 模型與狀態(tài) ·················107
5.2.2 運(yùn)行時控制API ···········108
5.2.3 身份管理 ····················110
5.2.4 適配器 ·······················111
5.2.5 工作流引擎 ·················112
5.2.6 安全通信 ····················112
5.3 連接服務(wù)建模 ·······················1135.3.1 企業(yè) ··························114
5.3.2 切片 ··························115
5.3.3 模板和流量類 ··············118
5.3.4 其他模型 ····················122
5.4 重溫GitOps ··························122
第6章 監(jiān)控和遙測 ·················1256.1 指標(biāo)和告警 ···························1286.1.1 導(dǎo)出指標(biāo) ····················128
6.1.2 創(chuàng)建儀表盤 ·················129
6.1.3 定義告警 ····················131
6.2 日志記錄 ······························1336.2.1 通用模式 ····················133
6.2.2 最佳實(shí)踐 ····················135
6.3 分布式跟蹤 ···························136
6.4 集成的儀表盤 ·······················138
6.5 可觀測性 ······························141
關(guān)于本書的幾點(diǎn)說明 ·················145