云計算基礎技術

云計算基礎技術概覽

  • 計算類產品主要提供算力,支持業務運行,例如網站、辦公軟件、數據分析等計算能力,目前典型的產品主要是虛擬化和容器,在公有云上的云主機本質也是虛擬機。
  • 網絡類產品主要滿足資源的網絡連通性和隔離,傳統數據中心的網絡,園區網絡等場景,在云上的虛擬機也同樣需要虛擬網絡,例如虛擬私有云VPC,該邏輯拓撲與傳統網絡類似。

存儲類產品一般分為三大類:

  • 塊存儲:具備高性能和低時延的特點,用各種高IO需求的場景。
  • 文件存儲:能滿足多服務器間的文件共享,或者企業團隊部門的文件共享。
  • 對象存儲:扁平化架構,橫向擴展方便,適合做云存儲池,用于海量數據存儲、冷數據備份、軟件倉庫等場景。

虛擬化技術

虛擬化技術可將單臺物理服務器虛擬為多臺虛擬機使用,多臺虛擬機共享該物理服務器的硬件資源。

  • 虛擬化本質上是由磁盤文件和描述文件組成,封裝在同一個文件中。
  • 服務器上運行多個虛擬機,各自封裝,互相隔離,即存在多個文件夾。
  • 這些文件夾又可以存放在底層存儲提供的文件系統上,因此實現同一介質可以存放或運行多個虛擬機。

虛擬化的本質就是將原先的物理設備進行邏輯化,轉化成一個文件夾或文件,實現軟硬件解耦。

  • 在計算機技術中,虛擬化(技術)一種資源管理技術,是將計算機的各種實體資源(CPU、內存、磁盤空間、網絡適配器等),予以抽象、轉換后呈現出來并可供分割組合為一個或多個電腦配置環境。由此,打破實體結構間的不可切割的障礙,使用戶可以比原本的配置更好的方式來應用這些電腦硬件資源。
  • 從圖中我們可以了解到,通過虛擬化,原本的硬件服務器被分割成一個個文件,而這一個個文件也代表著一個個虛擬機。
虛擬化與云計算

虛擬化是實現云計算的核心技術,但不等同于云計算。云計算的內容維度要比虛擬化大得多。

  • 虛擬化是云計算的關鍵技術,旨在將物理資源抽象為邏輯資源,進而能夠二次分配,特點是支撐資源池的彈性敏捷,靈活調度,同時也具備的分布式調度、資源高可用的能力。
  • 云計算是一種服務,突出其按需的商業模式,使得用戶能像用水用電一樣地使用云資源。其敏捷的特點有依賴虛擬化技術實現。
虛擬化的特點

虛擬機的特點:

  • 分區:用一臺物理服務器上可以運行多臺虛擬機,也意味著虛擬化層擁有為虛擬機劃分底層服務器資源的能力。我們把這個能力叫做分區。
  • 隔離:同一服務器上的虛擬機若有一臺故障或者中病毒,不會影響到其他虛擬機的使用。這就要求虛擬機具備最基本的隔離能力。
  • 封裝:虛擬機的本質是以文件的形式存在于虛擬化系統中,可以通過移動文件或者復制粘貼的形式對虛擬機進行遷移。
  • 獨立:在遷移虛擬機后無需對服務器做任何修改即可運行虛擬機(相當于上層操作系統與硬件解耦合),所以這里的獨立主要指的是獨立于硬件。

計算虛擬化中的重要概念

  • Hypervisor:我們經常把它稱為虛擬化軟件層或者虛擬機監視器,通過Hypervisor,我們可以實現按需使用物理機硬件資源的目的。目前主流的幾個開源的虛擬化技術有:Xen、KVM等。

計算資源種類

計算的本質是獲得信息的一種過程。在ICT行業中,我們需要很多計算資源,來將數據做運算處理,從而得到對應的信息。

  • 計算機程序運行時所需的CPU資源、內存資源、硬盤資源和網絡資源,指計算中所需的各種資源。一般地,計算資源包括CPU,GPU,內存。
  • CPU(Central Processing Unit,中央處理器)作為計算機系統的運算和控制核心,是信息處理、程序運行的最終執行單元。
  • 內存(Memory)是計算機的重要部件之一,也稱內存儲器和主存儲器,它用于暫時存放CPU中的運算數據,與硬盤等外部存儲器交換的數據。
  • GPU(Graphics Processing Unit,圖形處理器),又稱顯示核心、視覺處理器、顯示芯片,是一種專門在個人電腦、工作站、游戲機和一些移動設備(如平板電腦、智能手機等)上做圖像和圖形相關運算工作的微處理器。

計算在云計算中的服務形態

  • 彈性云服務器(Elastic Cloud Server,ECS)是由CPU、內存、操作系統、云硬盤組成的基礎的計算組件。彈性云服務器創建成功后,用戶就可以像使用自己的本地PC或物理服務器一樣,在云上使用彈性云服務器。
  • 彈性伸縮(Auto Scaling)可根據用戶的業務需求和預設策略,自動調整計算資源使云服務器數量自動隨業務負載增長而增加,隨業務負載降低而減少,保證業務平穩健康運行。
  • 鏡像(lmage Service)是用于創建服務器或磁盤的模板。鏡像服務提供鏡像生命周期管理能力。可以通過服務器或外部文件創建系統盤鏡像或數據盤鏡像,也可以使用彈性云服務器或云服務器備份創建帶數據盤的整機鏡像。

容器的概述

容器是一個標準化的單元,是一個輕量級、可移植的軟件打包技術。它將軟件代碼及其相關依賴打包,使應用程序可以在任何計算介質中運行。簡單來講,容器就像一個標準化的盒子,能夠裝很多不同類型的東西,并且裝完后能夠塞進不同類型的柜子里。

?容器的特性:

  • 打包:將軟件打包成標準化單元進行開發、遷移和部署。
  • 隔離性:計算、存儲、網絡等資源彼此隔離。
  • 高效性:輕量、快速啟停、快速部署與遷移。
  • 職責分工明確:開發專心寫代碼,運維專注基礎環境配置。
容器技術發展歷史

容器發展全景圖,容器虛擬化在推廣應用中面臨兩大難題逐漸被攻破:

  • 統一平臺
  • 易用性

  • 容器技術最早可以追溯到1979年UNIX系統中的chroot,最初是為了方便切換root日錄,為每個進程提供了文件系統資源的隔離,這也是OS虛擬化思想的起源。
  • 2000年,BSD吸收并改進了chroot技術,發布了FreeBsD Jails。FreeBsD Jails除文件系統隔離外,還添加了用戶和網絡資源等的隔離,每個Jail還能分配一個獨立IP,進行一些相對獨立的軟件安裝和配置。
  • 2005年SWsoft公司發布了OpenVz,OpenVz和Solaris Containers非常類似,通過打了補丁的Linux內核來提供虛擬化、隔離、資源管理和檢查點。OpenVz 標志著內核級別的虛擬化真正成為主流,之后不斷有相關的技術被加入。
  • 2006年Google發布了Process Containers,Process Containers記錄和隔離每個進程的資源使用(包括CPU、內存、硬盤I/0、網絡等),后改名為Cgroups(Control Groups),并在2007年被加入Linux內核2.6.24版本中。
  • 2008年出現了第一個比較完善的LXC容器技術,基于已經被加入內核的Cgroups和Linux namespaces實現。不需要打補丁,LXC就能運行在任意vanila內核的Linux上。
  • 2013年Docker誕生,Docker最早是dotCloud(Docker公司的前身,是一家PaaS公司)內部的項目,和Warden類似,Docker最初也用了LXC,后來才自己寫了libcontainer替換了LXC。和其它容器技術不同的是,Docker圍繞容器構建了一套完整的生態,包括容器鏡像標準、容器Registry、REST API、CLI、容器集群管理工具Docker Swarm等。
  • 2014年Core0s創建了rkt,為了改進Docker在安全方面的缺陷,重寫的一個容器引擎,相關容器工具產品包括:服務發現工具etcd和網絡工具flannel等。
  • 2016年微軟公司發布基于Windows的容器技術Hyper-V Container,Hyper-V Container原理和Linux下的容器技術類似,可以保證在某個容器里運行的進程與外界是隔離的,兼顧虛擬機的安全性和容器的輕量級。
容器和虛擬化的架構對比

  • 容器和虛擬機具有相似的資源隔離和分配優勢,但功能不同,因為容器虛擬的是操作系統而不是硬件,容器更便攜,更高效。
  • 從容器和虛擬化的架構圖可以看出,容器是沒有虛擬化層的,這也是為什么我們通常把容器稱為輕量級虛擬化技術的原因。也正因為沒有虛擬化層,使得運行在容器中的應用比運行在虛擬機中的應用性能更強。
  • 容器因具有許多優勢而變得流行起來。下面列出的是容器的一些好處:
  1. 敏捷應用程序的創建和部署:與使用 VM 鏡像相比,提高了容器鏡像創建的簡便性和效率。
  2. 持續開發、集成和部署:通過快速簡單的回滾(由于鏡像不可變性),支持可靠且頻繁的容器鏡像構建和部署
  3. 跨云和操作系統發行版本的可移植性:可在 Ubuntu、RHEL、CoreOs、本地、Google Kubernetes Engine和其他任何地方運行。
  4. 以應用程序為中心的管理:提高抽象級別,從在虛擬硬件上運行 OS 到使用邏輯資源在 OS 上運行應用程序。
  5. 松散耦合、分布式、彈性、解放的微服務:應用程序被分解成較小的獨立部分并且可以動態部署和管理,而不是在一臺大型單機上整體運行
  6. 資源隔離:可預測的應用程序性能
  7. 資源利用:高效率和高密度
容器和虛擬機的區別

  • 容器是應用層的抽象,將代碼和依賴項打包在一起。多個容器可以在同一臺機器上運行,并與其他容器共享操作系統內核,每個容器作為用戶空間中的獨立進程運行。容器占用的空間比虛擬機少,可以處理更多應用程序,并且需要更少的CPU和內存資源
  • 虛擬機(VM)是將一臺服務器變成多臺服務器的物理硬件的抽象。管理程序允許多個VM在一臺機器上運行。每個VM都包含操作系統、應用程序、必要的二進制文件和庫的完整副本,占用幾十GB。VM的啟動速度也可能很慢。
  • 容器鏡像:專用于運行特定服務,通常只包含運行該服務所需的上下文內容,許多廣泛使用的鏡像都只有幾十MB,甚至幾MB大小。
  • 虛擬機鏡像:需要提供包括內核在內的通用進程運行環境,它的鏡像偏向于大而完整的全功能集合,即使一個最小的精鏡像的體積也有幾百MB。
容器在云計算的服務形態

  • 云容器引擎(Cloud Container Engine)提供高可靠高性能的企業級容器應用管理服務,支持Kubernetes社區原生應用和工具,簡化云上自動化容器運行環境搭建,面向云原生2.0打造CCE Turbo容器集群,計算、網絡、調度全面加速。
  • 云容器實例(Cloud Container Instance,CCl)服務提供 Serverless Container(無服務器容器)引擎,讓用戶無需創建和管理服務器集群即可直接運行容器。
  • 容器鏡像服務(Software Repository for Container,簡稱SWR)是一種支持鏡像全生命周期管理的服務,提供簡單易用、安全可靠的鏡像管理功能,幫助用戶快速部署容器化服務。用戶可以通過界面、社區CLI和原生API上傳、下載和管理容器鏡像。
  • 容器鏡像服務可配合云容器引擎CCE、云容器實例CCI使用,也可單獨作為容器鏡像倉庫使用。?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/36032.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/36032.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/36032.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

軟考初級網絡管理員__軟件單選題

1.如下圖所示,在IE“Intemet選項”對話框的()選項卡中可指定電子郵件程序。 常規 內容 高級 程序 2.在Excel的A1單元格中輸入函數“ROUND(1/3,3)”,按回車鍵之后,A1中的值為()。 1 1/3 0.34 0.333 3.在輸入Word文檔過程中,為了防止意…

Pinia的基本用法

Pinia的安裝和引入 1.安裝Pinia npm install pinia2. 在vue項目的main.js文件中引入pinia import { createApp } from vue import { createPinia } from pinia import App from ./App.vueconst pinia createPinia() const app createApp(App)app.use(pinia) app.mount(#ap…

日志打印中對容器(包括多級容器)的通用輸出

在日志打印中,往往有打印一個數組、集合等容器中的每個元素的需求,這些容器甚至可能嵌套起來,如果每個地方都用for循環打印,將會特別麻煩。基于這種需求,作者嘗試實現一個通用的打印函數SeqToStr(),將容器序…

線上民族傳統服飾商城

摘 要 隨著互聯網的不斷發展和普及,電子商務成為了人們生活中不可或缺的一部分。傳統的線下購物方式逐漸被線上購物所取代,人們越來越習慣在互聯網上購物。而民族傳統服飾作為我國豐富多樣的民族文化的重要組成部分,具有獨特的藝術價值和商業…

unity VR Interaction Framework 創建新手勢

提示:文章有錯誤的地方,還望諸位大神不吝指教! 文章目錄 前言一、新建物體,并添加必要組件二、添加抓取點三、查看手勢的可視化樣式四、制作新的手勢1.點擊編輯2.根據需求調節手指關節3.保存手勢4. 使用創建的手勢5.運行 總結 前言…

等保測評——安全通信網絡——安全區域邊界

安全通信網絡 網絡架構 a) 應保證網絡設備的業務處理能力滿足業務高峰期需要; b) 應保證網絡各個部分的帶寬滿足業務高峰期需要; c) 應劃分不同的網絡區域,并按照方便管理和控制的原則為各網絡區域分配地址; 應核查是否依據重…

遠程過程調用協議gRPC及在go環境下的使用

1. 遠程過程調用協議 1.1 定義 遠程過程調用(Remote Procedure Call,PRC是一種進程間通信技術,它使得程序可以像調用本地函數一樣調用遠程服務器上的函數。RPC 屏蔽了底層的通信細節,讓開發者能夠更專注于業務邏輯,而無需關心網絡…

無源電壓繼電器 JDY-1210AW 導軌安裝 約瑟JOSEF

系列型號: JDY-1002AW電壓繼電器;JDY-1002B電壓繼電器; JDY-1110AW電壓繼電器;JDY-1110B電壓繼電器; JDY-1220AW電壓繼電器;JDY-1220B電壓繼電器; JDY-1100AW電壓繼電器;JDY-110…

服務器數據恢復—用raid6陣列磁盤組建raid5陣列如何恢復原raid數據?

服務器存儲數據恢復環境: 華為OceanStor 5800存儲,該存儲中有一組由10塊硬盤組建的raid6磁盤陣列,供企業內部使用,服務器安裝linux操作系統EXT3文件系統,劃分2個lun。 服務器存儲故障: 管理員發現存儲中rai…

JavaScript的學習之dom的查詢(一)

一、獲得元素 通過document對象調用&#xff1a; getElementById()&#xff1a;通過id屬性獲取一個元素節點對象getElementsByTagName()&#xff1a;通過標簽名獲取一組元素節點對象getElementsByName()&#xff1a;通過name屬性來獲取一組元素節點對象 核心學習代碼 <scrip…

記錄一次即將出現的釣魚新方式

釣魚通常是內網滲透過程中的最為常見的入口方式&#xff0c;但是隨著藍隊人員溯源反制思路開闊&#xff0c;入侵排查能力提升&#xff0c;釣魚也越來越困難&#xff0c;這里就記一種不同尋常的釣魚方式。 pip install 的執行流程&#xff1a; 先獲取到遠端的服務器地址 url 比…

node.js 面試題 1

### 明天要去面試了 今天晚上突擊一下node.js 什么是Node.js&#xff1f;它有什么特點&#xff1f; Node.js是一個基于Chrome V8引擎的JavaScript運行環境&#xff0c;它允許在服務器端運行JavaScript代碼。它的特點包括單線程、非阻塞I/O、事件驅動等 …

dispatch_after

dispatch_after dispatch_after dispatch_after dispatch_after函數并不是延遲對應時間后立即執行block塊中的操作&#xff0c;而是將任務追加到對應隊列中&#xff0c;考慮到隊列阻塞等情況&#xff0c;所以這個任務從加入隊列到真正執行的時間是不準確的。 dispatch_after(…

Kubernetes CSI livenessprobe探活

Kubernetes CSI livenessprobe探活 要實現一個Kubernetes CSI的livenessprobe探活&#xff0c;可以有以下三種方法&#xff1a; HttpServer 1、在CSI中實現一個簡單的HttpServer&#xff0c;暴露探活接口&#xff1b; GRPC探測 2、CSI鏡像中&#xff0c;增加grpcurl命令&a…

單目標應用:基于吸血水蛭優化器(Blood-Sucking Leech Optimizer,BSLO)的微電網優化(MATLAB代碼)

一、微電網模型介紹 微電網多目標優化調度模型簡介_vmgpqv-CSDN博客 參考文獻&#xff1a; [1]李興莘,張靖,何宇,等.基于改進粒子群算法的微電網多目標優化調度[J].電力科學與工程, 2021, 37(3):7 二、吸血水蛭優化器求解微電網 2.1算法簡介 吸血水蛭優化器&#xff08;B…

【Java Web】Tomcat服務器

目錄 一、Tomcat是什么 二、Tomcat安裝 三、Tomcat相關目錄 四、Web項目標準目錄結構規范 五、Tomcat項目部署方式 六、IDEA關聯本地Tomcat 七、HTTP協議 7.1 http的交互方式 7.1.1 http長連接和短連接 7.1.2 http1.1緩存機制 7.2 http數據報文格式 八、常見響應狀態碼 一、Tom…

印刷企業數字工廠管理系統如何保障產品質量

一、引言 隨著信息技術的迅猛發展&#xff0c;印刷行業也迎來了數字化轉型的浪潮。數字工廠管理系統作為這一轉型的核心工具&#xff0c;不僅在提高生產效率、優化資源配置方面發揮了重要作用&#xff0c;更在保障產品質量上扮演著關鍵角色。本文將深入探討印刷企業數字工廠管…

瀏覽器擴展V3開發系列之 chrome.contextMenus 右鍵菜單的用法和案例

【作者主頁】&#xff1a;小魚神1024 【擅長領域】&#xff1a;JS逆向、小程序逆向、AST還原、驗證碼突防、Python開發、瀏覽器插件開發、React前端開發、NestJS后端開發等等 chrome.contextMenus 允許開發者向瀏覽器的右鍵菜單添加自定義項。 在使用 chrome.contextMenus 之前…

本地讀取classNames txt文件

通過本地讀取classNames,來減少程序修改代碼,提高了程序的拓展性和自定義化。 步驟: 1、輸入本地路徑,分割字符串。 2、將className按順序放入vector容器中。 3、將vector賦值給classNmaes;獲取classNames.size(),賦值給CLASSES;這樣,類別個數和類別都已經賦值完成。…

Python | Leetcode Python題解之第199題二叉樹的右視圖

題目&#xff1a; 題解&#xff1a; class Solution:def rightSideView(self, root: TreeNode) -> List[int]:rightmost_value_at_depth dict() # 深度為索引&#xff0c;存放節點的值max_depth -1stack [(root, 0)]while stack:node, depth stack.pop()if node is not…