數(shù)字化轉(zhuǎn)型之路》 —2.3.6 在技術(shù)驅(qū)動下,人工智能技術(shù)創(chuàng)新產(chǎn)生了空前的影響力">《數(shù)字化轉(zhuǎn)型之路》 —2.3.6 在技術(shù)驅(qū)動下,人工智能技術(shù)創(chuàng)新產(chǎn)生了空前的影響力
626
2025-04-01
2.1.3 主流技術(shù)平臺
云計(jì)算技術(shù)的發(fā)展離不開虛擬化的成功,因?yàn)樘摂M化是硬件資源池化的基礎(chǔ)。以VMware、XEN和Hyper-V為代表的虛擬化軟件可以在一臺物理服務(wù)器上通過運(yùn)行多個虛擬機(jī)實(shí)例來提升硬件資源利用率,而且也通過虛擬機(jī)配置的動態(tài)調(diào)整實(shí)現(xiàn)了資源的靈活應(yīng)用。
在虛擬化的基礎(chǔ)之上,通過增加三個重要的典型功能,凸顯了云計(jì)算的不同之處:
自服務(wù)門戶。所有對虛擬機(jī)的操作都不再需要通過系統(tǒng)管理員才能完成,使用者在自服務(wù)門戶上基于菜單操作就能完成資源的申請及交付,這背后是一套自動化引擎在支撐。
計(jì)費(fèi)/賬戶。通過統(tǒng)計(jì)資源使用情況,云平臺可以為每一個賬戶實(shí)現(xiàn)計(jì)費(fèi)功能。該功能使得資源的使用和成本的支出有據(jù)可查。雖然是看似簡單的功能,但在企業(yè)現(xiàn)實(shí)環(huán)境中卻可以反向影響需求端的行為模式。在沒有計(jì)費(fèi)功能前,IT部門面臨的挑戰(zhàn)是業(yè)務(wù)部門不斷涌現(xiàn)的需求,這些需求中的大部分其實(shí)都要考慮到IT的成本和投入。計(jì)費(fèi)功能可以讓業(yè)務(wù)部門盡快決定哪些入不敷出的系統(tǒng)應(yīng)該淘汰,哪些投資回報率不合理的需求不應(yīng)提出。
多租戶。多租戶技術(shù)是指以單一系統(tǒng)架構(gòu)與服務(wù)為多個客戶提供相同甚至可定制化的服務(wù),并且仍然可以保障客戶的數(shù)據(jù)隔離的軟件架構(gòu)技術(shù)。一個支持多租戶技術(shù)的系統(tǒng)需要在設(shè)計(jì)上對它的數(shù)據(jù)和配置進(jìn)行虛擬分區(qū),從而使系統(tǒng)的每個租戶或組織都能夠使用一個單獨(dú)的系統(tǒng)實(shí)例,并且每個租戶都可以根據(jù)自己的需求對租用的系統(tǒng)實(shí)例進(jìn)行個性化配置。
業(yè)界最著名的開源IaaS平臺是OpenStack,它一經(jīng)推出便受到業(yè)界的極大關(guān)注。它由若干組件通過網(wǎng)絡(luò)服務(wù)連接在一起,因此能夠靈活配置從而實(shí)現(xiàn)豐富的功能,在圖2-1中顯示了其主要組件。
Nova:計(jì)算資源的組織者和控制者,處理虛擬機(jī)從創(chuàng)建到銷毀的所有過程,是管理任務(wù)的核心。
Neutron:在IaaS層為OpenStack組件提供網(wǎng)絡(luò)連接服務(wù),通過SDN等技術(shù)的應(yīng)用實(shí)現(xiàn)靈活、安全、可靠的網(wǎng)絡(luò)環(huán)境。
Glance:為OpenStack其他服務(wù)和用戶提供對鏡像(image)的發(fā)現(xiàn)、注冊、檢索服務(wù),實(shí)現(xiàn)虛擬機(jī)操作系統(tǒng)及軟件的快速啟用。
Cinder:為OpenStack組件提供塊存儲服務(wù),形式上塊存儲可以理解為虛擬化的磁盤。
Swift:對象存儲服務(wù),允許其他組件和用戶通過網(wǎng)絡(luò)訪問以對象方式進(jìn)行管理的文件和目錄。
Ceilometer:實(shí)現(xiàn)負(fù)載、利用率、性能相關(guān)數(shù)據(jù)指標(biāo)的采集并為每個賬戶提供計(jì)費(fèi)服務(wù)。
Keystone:身份及服務(wù)管理,負(fù)責(zé)用戶的認(rèn)證與授權(quán),同時也構(gòu)建服務(wù)目錄并提供服務(wù)訪問的授權(quán)。
圖2-1 OpenStack體系架構(gòu)
OpenStack的組件眾多而且所構(gòu)成的體系也很復(fù)雜,但其每個組件的獨(dú)立性較強(qiáng),因此可以結(jié)合企業(yè)的業(yè)務(wù)需求而靈活配置。在行業(yè)不斷進(jìn)步的同時,OpenStack也在積極擁抱容器、NFV等新興技術(shù),為企業(yè)提供更加全面的私有云解決方案。
2013年Docker問世,直接引爆了業(yè)界對虛擬化技術(shù)的熱情。在短短兩年里,圍繞容器技術(shù)的各種解決方案便不斷涌現(xiàn)。Docker作為一個輕量級的容器引擎,圖2-2展示了它的三個核心概念。
圖2-2 Docker核心組件
容器:容器借助命名空間(name space)、Cgroup等技術(shù)為進(jìn)程的執(zhí)行提供專用的進(jìn)程空間,既保證了CPU、內(nèi)存等資源的供應(yīng),同時也隔離了不同的進(jìn)程,每一個容器缺省都有嚴(yán)格的安全限制。相比于VMware等虛擬化平臺為了運(yùn)行一個業(yè)務(wù)應(yīng)用程序就要啟動一個運(yùn)行完整操作系統(tǒng)的虛擬機(jī),容器技術(shù)實(shí)現(xiàn)了極高的資源利用率,因?yàn)橹苯釉谌萜髦袌?zhí)行進(jìn)程就可以了。
鏡像:Docker把應(yīng)用程序的執(zhí)行文件和依賴的庫文件等打包成一個鏡像文件用于容器的執(zhí)行,由于引入了堆疊文件系統(tǒng),因此Docker的鏡像文件與虛擬化平臺的鏡像文件相比要小很多。例如,一個CentOS的虛擬機(jī)鏡像文件大小為若干個GB,而如果在Ubuntu系統(tǒng)里啟動一個CentOS容器,那么僅僅需要下載不足100MB的容器鏡像文件。文件大小的巨大差異,也使得應(yīng)用程序的分發(fā)更為便利。
倉庫:倉庫用于集中存放并管理鏡像,分為公共倉庫和私有倉庫。它涉及注冊服務(wù)器和客戶端工具,為應(yīng)用程序的分發(fā)和運(yùn)行創(chuàng)造了無縫的環(huán)境。
圖2-3左側(cè)的虛擬化平臺中,為了執(zhí)行三個App就需要啟動三個操作系統(tǒng),對內(nèi)存等資源的消耗非常高。而右側(cè)的Docker平臺里只需要直接運(yùn)行三個App就可以了,不僅資源的消耗極少,而且由于是進(jìn)程級的調(diào)用,因此可以在毫秒級實(shí)現(xiàn)應(yīng)用的啟動運(yùn)行。
圖2-3 虛擬機(jī)與容器的對比
由于Docker所具有的獨(dú)特優(yōu)勢,業(yè)界眾多著名企業(yè)對容器技術(shù)的關(guān)注迅速升級,這期間Google于2014年推出了一個重量級的工具Kubernetes。作為Google內(nèi)部集群管理系統(tǒng)Borg的開源版本,Kubernetes的目標(biāo)是使容器化的應(yīng)用部署簡單并且高效,因此它提供了一整套應(yīng)用部署、規(guī)劃、更新和維護(hù)的機(jī)制。
Kubernetes提供了一個以容器為中心的管理環(huán)境。它根據(jù)用戶負(fù)載完成計(jì)算、網(wǎng)絡(luò)及存儲基礎(chǔ)架構(gòu)的編排,使得基礎(chǔ)架構(gòu)能夠基于極具靈活性的IaaS提供輕量化的PaaS服務(wù),并提供跨基礎(chǔ)架構(gòu)提供商的業(yè)務(wù)遷移能力。
Docker成功地實(shí)現(xiàn)了容器引擎,但現(xiàn)實(shí)環(huán)境中的業(yè)務(wù)往往并不是單獨(dú)一個或者幾個容器就可以承載的,它需要大量的容器分別運(yùn)行不同的微服務(wù)模塊,而且還要有能力進(jìn)行擴(kuò)展并應(yīng)對各種可能的故障。容器的編排技術(shù)就是針對這些挑戰(zhàn)而生的,由于Kubernetes是Google在運(yùn)行百萬臺服務(wù)器集群的豐富經(jīng)驗(yàn)基礎(chǔ)上構(gòu)建的,因此業(yè)界對其認(rèn)可度要高于Docker所提供的Swarm。圖2-4顯示了Kubernetes的體系架構(gòu),其中涉及Kubernetes的幾個關(guān)鍵概念。
圖2-4 Kubernetes體系架構(gòu)
Pod:集群中所有業(yè)務(wù)類型的基礎(chǔ),它可以支持一個或者多個容器的運(yùn)行,也是部署應(yīng)用或者服務(wù)的最小單元。Pod的設(shè)計(jì)理念是支持多個容器在一個Pod***享網(wǎng)絡(luò)地址和文件系統(tǒng),可以通過進(jìn)程間通信和文件共享這種簡單高效的方式組合完成服務(wù)。
Replication Controller(復(fù)制控制器):集群中保證Pod高可用的API對象,它負(fù)責(zé)監(jiān)控集群中運(yùn)行的Pod并且保證其運(yùn)行著規(guī)定的副本數(shù)量。因此,它是Kubernetes中容錯的保證,當(dāng)它發(fā)現(xiàn)某個Pod副本“死掉”了,就會自行啟動運(yùn)行新的Pod
副本。
Service(服務(wù)):解決了如何訪問運(yùn)行在Pod中的應(yīng)用程序或者服務(wù)的問題,它為每一個服務(wù)提供IP地址及訪問端口,且這些訪問也具備負(fù)載均衡的能力。它還負(fù)責(zé)注冊新啟動的服務(wù),以便其他服務(wù)能夠發(fā)現(xiàn)新服務(wù)并建立聯(lián)系。
Deployment(部署):表示用戶對Kubernetes集群的一次更新操作。部署是一個比RS應(yīng)用模式更廣的API對象,可以是創(chuàng)建一個新服務(wù),更新一個新服務(wù),也可以是滾動升級一個服務(wù)。
數(shù)字化營銷 數(shù)字化辦公
版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實(shí)的內(nèi)容,請聯(lián)系我們jiasou666@gmail.com 處理,核實(shí)后本網(wǎng)站將在24小時內(nèi)刪除侵權(quán)內(nèi)容。
版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實(shí)的內(nèi)容,請聯(lián)系我們jiasou666@gmail.com 處理,核實(shí)后本網(wǎng)站將在24小時內(nèi)刪除侵權(quán)內(nèi)容。