虛擬化之路

程序世界和現(xiàn)實世界總是存在千絲萬縷的聯(lián)系,從現(xiàn)實世界映射程序世界,從程序世界反觀現(xiàn)實世界。虛擬化,一切的未來,未來的一切。
何為虛擬化
何為虛擬化,舉幾個例子
1、在Windows操作系統(tǒng)之上安裝VMware軟件,可以在一臺電腦上同時運行多個操作系統(tǒng),這些操作系統(tǒng)都是建立在VMware虛擬的硬件之上。
2、在Java中,有一個非常流行的概念叫IOC,把類的實例交給IOC容器來管理,我們操作的實例都是由IOC容器給到我們的非原始類實例。
3、在js中,Vue的出現(xiàn),不需要開發(fā)者來操作dom,dom都由Vue來控制。
4、在城市中,我們把土地鋪上水泥、瀝青,在此之上建立一棟棟的高樓大廈。
在我看來,虛擬化就是在真實的資源之上,建立一套控制體系,可以更加充分的利用資源。被虛擬的資源都會存放到一個容器中,控制體系可以對容器中的資源進行便捷的管理。
為什么虛擬化
一、資源利用充分
一臺服務器,動輒幾十個G的內(nèi)存,十幾個T的磁盤存儲,幾百核心的CPU,如果給到一個操作系統(tǒng),必然導致資源的浪費,基于這么一個強大的硬件資源,虛擬出多個操作系統(tǒng),就能夠讓資源更大化的利用。
二、管理更加靈活
還是從操作系統(tǒng)的虛擬化說起,真實機器上的操作系統(tǒng)想要進行一次備份,就必須停止操作系統(tǒng),并使用專業(yè)的備份工具進行備份。而對于虛擬化的操作系統(tǒng)來講,在不停機的情況下就可以進行整機的備份。
Java對象交給IOC容器管理后,可以靈活的實現(xiàn)切入即AOP。
Dom交給Vue管理后,開發(fā)者也是只需要關(guān)注數(shù)據(jù)和數(shù)據(jù)模板。
在土地上鋪上水泥和瀝青之后,建筑工人就可以任意建筑需要的建筑。
三、職責更加明確
底層平臺和上層應用分離。
暢想
如果把地面鋪設水泥和瀝青當做最初級別的虛擬化,那么什么是最高級別的虛擬化呢?
地球是一個非常龐大的資源,“動輒幾十個G的內(nèi)存,十幾個T的磁盤存儲,幾百核心的CPU” 。。。。。
后記
其實理解虛擬化,對程序開發(fā)有挺重要的作用。現(xiàn)在軟件世界,基本上都做到了虛擬化,從基于Spring的后端開發(fā),到基于Vue的前端開發(fā),再到容器云平臺的部署,幾乎都是在虛擬化下完成的。
你從騰訊云、阿里云各種的云平臺廠商購買的服務器,并不真的是給你部署了一臺真實的物理機器,也都是在虛擬化下完成的。
網(wǎng)絡本身其實就是個虛擬化。
所以,虛擬化無刻不在。
不過,我更想說的是,這篇文章吧,就是我自己瞎想的,可能不對,也可能偏激,也有思考不全的地方。
縱然如此,對于這個話題,還是有很大的想象空間的。
