0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

通俗易懂的宏觀介紹云計算

物聯(lián)網(wǎng)之聲 ? 來源:cg ? 2018-12-29 14:25 ? 次閱讀

云計算”這個詞,相信大家都非常熟悉了。作為IT行業(yè)的熱門技術(shù),它頻繁出現(xiàn)在各大媒體的新聞報道中。BAT這樣的互聯(lián)網(wǎng)企業(yè),也經(jīng)常把它掛在嘴邊。

相信很多人都想學(xué)習(xí)云計算,跟上技術(shù)潮流。如果對云計算有一定了解的話,應(yīng)該會或多或少地聽到這些名詞——OpenStack、Hypervisor、KVM、Docker、K8S...

這些名詞,全部都屬于云計算的范疇。

對于自學(xué)的初學(xué)者來說,想要理解這些名詞的具體含義,還有它們之間的關(guān)系,并不是一件容易的事情。

雖然互聯(lián)網(wǎng)上有很多的資料,但是雜亂無章、晦澀難懂,對新人很不友好,容易讓人暈頭轉(zhuǎn)向,甚至打退堂鼓。

所以,今天這篇文章,作為云計算的入門第一課,將給大家做一個通俗易懂的宏觀介紹,重點解釋最主要的幾個名詞,和它們之間的關(guān)系,希望對大家入門有所幫助。

什么是云計算

在介紹那些古怪名詞之前,我先簡單介紹一下云計算。

以前電腦被發(fā)明的時候,還沒有網(wǎng)絡(luò),每個電腦(PC),就是一個單機。

這臺單機,包括CPU、內(nèi)存、硬盤、顯卡等硬件。用戶在單機上,安裝操作系統(tǒng)和應(yīng)用軟件,完成自己的工作。

后來,有了網(wǎng)絡(luò)(Network),單機與單機之間,可以交換信息,協(xié)同工作。

再后來,單機性能越來越強,就有了服務(wù)器(Server)。人們發(fā)現(xiàn),可以把一些服務(wù)器集中起來,放在機房里,然后讓用戶通過網(wǎng)絡(luò),去訪問和使用機房里的計算機資源。

再再后來,小型網(wǎng)絡(luò)變成了大型網(wǎng)絡(luò),就有了互聯(lián)網(wǎng)(Internet)。小型機房變成了大型機房,就有了IDC(Internet Data Center,互聯(lián)網(wǎng)數(shù)據(jù)中心)。

當越來越多的計算機資源和應(yīng)用服務(wù)(Application,例如看網(wǎng)頁,下電影)被集中起來,就變成了——“云計算(Cloud Computing)”。無數(shù)的大型機房,就成了“云端”。

云計算

是不是覺得太簡單?別急,開始深入。

云計算的道理是簡單的,說白了,就是把計算機資源集中起來,放在網(wǎng)絡(luò)上。但是,云計算的實現(xiàn)方式,就復(fù)雜了。

舉個例子,如果你只是在公司小機房擺了一個服務(wù)器,開個FTP下載服務(wù),然后用于幾個同事之間的電影分享,當然是很簡單的。

如果是“雙11”的淘寶購物節(jié),全球幾十億用戶訪問阿里巴巴的淘寶網(wǎng)站,單日幾十PB(1PB=1024TB=1024×1024GB)的訪問量,每秒幾百GB的流量……這個,就不是幾根網(wǎng)線幾臺服務(wù)器能解決的了。

需要設(shè)計一個超大容量、超高并發(fā)(同時訪問)、超快速度、超強安全的云計算系統(tǒng),才能滿足業(yè)務(wù)平穩(wěn)運行的要求。

這才是云計算的復(fù)雜之處。

剛才說了,我們把計算機資源,放在云端。這個計算機資源,實際上,分為好幾種層次:

第一層次,是最底層的硬件資源,主要包括CPU(計算資源),硬盤(存儲資源),還有網(wǎng)卡(網(wǎng)絡(luò)資源)等。

第二層次,要高級一些,我不打算直接使用CPU、硬盤、網(wǎng)卡,我希望你把操作系統(tǒng)(例如Windows、Linux)裝好,把數(shù)據(jù)庫軟件裝好,我再來使用。

第三層次,更高級一些,你不但要裝好操作系統(tǒng)這些基本的,還要把具體的應(yīng)用軟件裝好,例如FTP服務(wù)端軟件、在線視頻服務(wù)端軟件等,我可以直接使用服務(wù)。

這三種層次,就是大家經(jīng)常聽到的IaaS、Paas、SaaS。

SaaS: Software-as-a-Service(軟件即服務(wù))

PaaS: Platform-as-a-Service(平臺即服務(wù))

IaaS: Infrastructure-as-a-Service(基礎(chǔ)設(shè)施即服務(wù))

再補一張圖,可能更直觀:

目前主流的云計算服務(wù)提供商,例如亞馬遜AWS、阿里云、華為云,說白了,都是為大家提供以上三個層次的云資源。你想要什么,它們就提供什么。

繼續(xù),繼續(xù)。

這么多樣化多層次的云計算服務(wù),阿里、華為們又是怎么提供的呢?

難道說,人工安排?——

如果你要八核CPU、16GB內(nèi)存、500GB硬盤的服務(wù)器,阿里臨時安排工程師幫你組裝?如果你要裝CentOS 7.2(一種類Linux操作系統(tǒng)),MySQL 5.5.60(一種數(shù)據(jù)庫系統(tǒng)),阿里也臨時讓工程師幫你安裝配置?

這顯然是不可能的,耗不起人力,也等不起時間。

于是,就有了各種軟件和平臺,負責(zé)對資源進行調(diào)用和管理。

什么是虛擬化

如果要對物理資源進行管理,第一步,就是“虛擬化”。

虛擬化是云計算的基礎(chǔ)。簡單來說,虛擬化就是在一臺物理服務(wù)器上,運行多臺“虛擬服務(wù)器”。這種虛擬服務(wù)器,也叫虛擬機(VM,Virtual Machine)。

從表面來看,這些虛擬機都是獨立的服務(wù)器,但實際上,它們共享物理服務(wù)器的CPU、內(nèi)存、硬件、網(wǎng)卡等資源。

物理機,通常稱為“宿主機(Host)”。虛擬機,則稱為“客戶機(Guest)”。

誰來完成物理資源虛擬化的工作呢?

就是大名鼎鼎的Hypervisor。

Hypervisor,漢譯過來是“超級監(jiān)督者”,也叫做VMM(Virtual Machine Monitor,虛擬機監(jiān)視器)。它不是一款具體的軟件,而是一類軟件的統(tǒng)稱。

Hypervisor分為兩大類:

第一類,hypervisor直接運行在物理機之上。虛擬機運行在hypervisor之上。第二類,物理機上安裝正常的操作系統(tǒng)(例如Linux或Windows),然后在正常操作系統(tǒng)上安裝hypervisor,生成和管理虛擬機。

像VMware、KVM、Xen、Virtual Box,都屬于Hypervisor。

VMware大家應(yīng)該很熟悉,就是VMware Workstation。學(xué)習(xí)Linux的話,很多人都是在windows系統(tǒng)下安裝WMware,然后創(chuàng)建Linux虛擬機。

但是,真正厲害的,是KVM(kernel-based virtual machine,基于Linux內(nèi)核的虛擬機)。它是目前最熱門最受追捧的虛擬化方案。

KVM這樣的Hypervisor軟件,實際上是提供了一種虛擬化能力,模擬CPU的運行,更為底層。但是它的用戶交互并不良好,不方便使用。

于是,為了更好地管理虛擬機,就需要OpenStack這樣的云管理平臺。

關(guān)于OpenStack,我之前曾經(jīng)介紹過(鏈接)。它有點像個商店,負責(zé)管理商品(計算資源、存儲資源、網(wǎng)絡(luò)資源等),賣給用戶,但它本身不制造商品(不具備虛擬化能力),它的商品,來自于KVM。當然,如果不用KVM,也可以用Xen等其它hypervisor。

OpenStack的管理界面,比命令行好多了吧?

請記住,上面所說的幾個概念,包括VM、KVM、OpenStack等,都主要屬于IaaS(基礎(chǔ)設(shè)施即服務(wù))。這個不難理解吧?

容器 VS 虛擬機

繼續(xù)往下說。

那么,容器、Docker、K8S,又是什么呢?

根據(jù)前文所說的虛擬化方式,人們在使用一段時間后發(fā)現(xiàn),它存在一些問題:

不同的用戶,有時候只是希望運行各自的一些簡單程序,跑一個小進程。為了不相互影響,就要建立虛擬機。如果建虛擬機,顯然浪費就會有點大,而且操作也比較復(fù)雜,花費時間也會比較長。

而且,有的時候,想要遷移自己的服務(wù)程序,就要遷移整個虛擬機。顯然,遷移過程也會很復(fù)雜。

有沒有辦法更靈活快速一些呢?

有,這就引入了“容器(Container)”。

容器也是虛擬化,但是屬于“輕量級”的虛擬化。它的目的和虛擬機一樣,都是為了創(chuàng)造“隔離環(huán)境”。但是,它又和虛擬機有很大的不同——虛擬機是操作系統(tǒng)級別的資源隔離,而容器本質(zhì)上是進程級的資源隔離。

而大家常聽說的Docker,就是創(chuàng)建容器的工具,是應(yīng)用容器引擎。

Docker的中文意思,就是碼頭工人。而它的LOGO,就是一只鯨魚背著很多貨柜箱。

相比于傳統(tǒng)的虛擬機,Docker的優(yōu)勢很明顯,它啟動時間很快,是秒級,而且對資源的利用率很高(一臺主機可以同時運行幾千個Docker容器)。此外,它占的空間很小,虛擬機一般要幾GB到幾十GB,而容器只需要MB級甚至KB級。

o4YBAFwnE_aARiDbAACjoXfBSlE697.png

除了Docker對容器進行創(chuàng)建之外,我們還需要一個工具,對容器進行編排。

這個工具,就是K8S。

K8S,就是Kubernetes,中文意思是舵手或?qū)Ш絾T。Kubernetes這個單詞很長,所以大家把中間8個字母縮寫成8,就成了K8S。

K8S是一個容器集群管理系統(tǒng),主要職責(zé)是容器編排(Container Orchestration)——啟動容器,自動化部署、擴展和管理容器應(yīng)用,還有回收容器。

簡單來說,K8S有點像容器的保姆。它負責(zé)管理容器在哪個機器上運行,監(jiān)控容器是否存在問題,控制容器和外界的通信,等等。

通過下面這張K8S系統(tǒng)結(jié)構(gòu)圖,就能夠看出K8S和容器之間的關(guān)系。

除了K8S之外,還有很多種容器管理平臺,例如Compose,Marathon,Swarm,Mesos等。

Docker和K8S,關(guān)注的不再是基礎(chǔ)設(shè)施和物理資源,而是應(yīng)用層,所以,就屬于PaaS。明白了吧?

好啦,以上就是今天的內(nèi)容。再說下去,估計很多人又要暈了。

正如文章開頭所說,今天主要是介紹KVM、Hypervisor、OpenStack、Docker、K8S這些名詞的意思,它們在云計算系統(tǒng)中的位置,以及它們之間的關(guān)系。云計算涉及到大量的需求。同一個需求,會有很多不同的技術(shù)來實現(xiàn)。同一個技術(shù),往往又有多個不同的廠家互相競爭。所以,概念和名詞就會特別多,發(fā)展變化也會很快。

不管怎么說,梳理清楚最關(guān)鍵的名詞概念,是學(xué)好云計算的第一步。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 云計算
    +關(guān)注

    關(guān)注

    39

    文章

    7678

    瀏覽量

    137031
  • 互聯(lián)網(wǎng)
    +關(guān)注

    關(guān)注

    54

    文章

    11042

    瀏覽量

    102463

原文標題:云計算到底是怎么玩的?

文章出處:【微信號:szwlw26059696,微信公眾號:物聯(lián)網(wǎng)之聲】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    通俗易懂的PID教程

    本帖最后由 Calvin248 于 2013-5-5 15:31 編輯 幫助大家更好的理解PID算法,講解的很通俗易懂,并且附有程序,幫助大家理解掌握!
    發(fā)表于 05-05 15:30

    通俗易懂的PID算法

    發(fā)幾個通俗易懂的PID算法,需要的拿走
    發(fā)表于 01-26 00:54

    通俗易懂系列整合—電源基礎(chǔ)知識講解

    之前發(fā)表了六篇用通俗易懂的話講解電源知識的文章,分別是關(guān)于三極管、電阻、電容、電感、二極管和場效應(yīng)管的講解。怕想學(xué)習(xí)的壇友找不到內(nèi)容,所以這邊整合一下,給大家分享文章的鏈接。用通俗易懂的話讓你明白
    發(fā)表于 02-17 09:43

    標準的PID處理例程(PID通俗易懂的講解)[2]

    標準的PID處理例程(PID通俗易懂的講解)[2]
    發(fā)表于 06-13 11:44

    PID通俗易懂

    PID通俗易懂.....................
    發(fā)表于 06-30 18:54

    通俗易懂之電子稱開發(fā)導(dǎo)航篇

    通俗易懂之電子稱開發(fā)立項篇https://bbs.elecfans.com/jishu_919726_1_1.html通俗易懂之電子稱開發(fā)硬件篇https://bbs.elecfans.com
    發(fā)表于 07-18 21:22

    通俗易懂的《路由和交換》

    通俗易懂的《路由和交換》 路由和交換是網(wǎng)絡(luò)世界中兩個重要的概念。傳統(tǒng)的交換發(fā)生在網(wǎng)絡(luò)的第二層,即數(shù)據(jù)鏈路層,而路由則發(fā)
    發(fā)表于 08-01 10:39 ?942次閱讀

    通俗易懂的單片機教程

    通俗易懂的單片機教程
    發(fā)表于 09-29 15:45 ?636次下載
    <b class='flag-5'>通俗易懂</b>的單片機教程

    卡爾曼濾波的原理說明(通俗易懂)

    通俗易懂的 卡爾曼濾波原理 由淺入深不光是公式的介紹
    發(fā)表于 12-08 18:13 ?37次下載

    卡爾曼濾波的原理說明(通俗易懂)

    這是關(guān)于卡爾曼濾波的原理說明(通俗易懂),適合初學(xué)者
    發(fā)表于 03-16 14:40 ?0次下載

    PID通俗易懂

    PID通俗易懂PID通俗易懂PID通俗易懂PID通俗易懂PID通俗易懂PID通俗易懂
    發(fā)表于 04-19 09:54 ?21次下載

    卡爾曼濾波器[附帶例程]通俗易懂

    卡爾曼濾波器[附帶例程] 通俗易懂 附上工程代碼 C語言 c++ 以及matlab
    發(fā)表于 09-27 16:34 ?17次下載

    步進電機基本原理(通俗易懂)

    步進電機基本原理(通俗易懂)
    發(fā)表于 11-30 11:55 ?0次下載

    通俗易懂的講解FFT的讓你快速了解FFT

    相信網(wǎng)上現(xiàn)在有很多關(guān)于FFT的教程,我曾經(jīng)也參閱了很多網(wǎng)上的教程,感覺都不怎么通俗易懂。在基本上的研究FFT,并且通過編程的形式實現(xiàn)之后。我決定寫一篇通俗易懂的關(guān)于FFT的講解。因此我在接下來的敘述中盡量非常通俗細致的講解。
    的頭像 發(fā)表于 03-24 11:52 ?3.6w次閱讀
    <b class='flag-5'>通俗易懂</b>的講解FFT的讓你快速了解FFT

    通俗易懂的ArkTS語言入門指南

    本文為我整理出來最通俗易懂的 ArkTS 語言入門指南。
    的頭像 發(fā)表于 06-18 15:12 ?2.2w次閱讀
    最<b class='flag-5'>通俗易懂</b>的ArkTS語言入門指南