開(kāi)源加快了軟件產(chǎn)業(yè)前進(jìn)的速度
當(dāng)我們談?wù)撋鐓^(qū)帶給開(kāi)源軟件的創(chuàng)新性和革新意識(shí)的時(shí)候,我們總是談?wù)撻_(kāi)源對(duì)于社區(qū)內(nèi)部的代碼貢獻(xiàn)和分工合作的促進(jìn)作用。貢獻(xiàn)者越多,合作的分歧和爭(zhēng)端就會(huì)越少。
然而,當(dāng)云計(jì)算、大數(shù)據(jù)和物聯(lián)網(wǎng)席卷整個(gè)個(gè)IT界,以至于引起了計(jì)算架構(gòu)和計(jì)算方法的改變,同時(shí)我們也看到了開(kāi)源社區(qū)這種開(kāi)發(fā)模式的強(qiáng)大之處:匯集不同背景、不同層次的開(kāi)發(fā)者的智慧,然后重組,達(dá)到***程度的融合。很顯然這是一種富有生命力的開(kāi)發(fā)方式。
而今流行的容器技術(shù),從根本上來(lái)講,也是受Linux啟迪和孵化而產(chǎn)生的。正如不久前我在一次討論中描述的,所有的適用于單個(gè)計(jì)算機(jī)的技術(shù),像安全強(qiáng)化技術(shù),性能優(yōu)化技術(shù),可靠性技術(shù),證書(shū)認(rèn)證技術(shù),也都適用于容器化的計(jì)算機(jī)。事實(shí)上,相比單個(gè)計(jì)算機(jī)天然的隔離性,容器化了的操作系統(tǒng)需要在資源隔離和安全性上做更多的工作,承擔(dān)更多的責(zé)任。
使得容器技術(shù)在當(dāng)下的實(shí)現(xiàn)(其實(shí)其思想早在十年前已經(jīng)出現(xiàn))更有趣的一點(diǎn)是:該技術(shù)匯集了Docker開(kāi)源社區(qū)的工作。Docker社區(qū)致力于使基于Linux內(nèi)核的容器技術(shù)能夠更加易于使用。Linux操作系統(tǒng)的安全性(正如Red Hat公司的Dan Walsh 在這篇博客中描述的)和杰出的資源控制能力(比如Control Group),是容器應(yīng)用打包技術(shù)和服務(wù)器彈性化部署得以實(shí)現(xiàn)的基石。***,Project Atomic會(huì)將所有容器打包技術(shù)和服務(wù)器部署所需的工具和模塊組合起來(lái)。
當(dāng)下跨操作系統(tǒng)、跨平臺(tái)的容器技術(shù)也已嶄露頭角。Docker技術(shù)適用于在單一操作系統(tǒng)上部署,而跨平臺(tái)的容器技術(shù)Kubernetes可能很快會(huì)流行起來(lái),該項(xiàng)目起源于谷歌公司內(nèi)部的容器技術(shù)。Kubernetes具有高可用性和同步性的特點(diǎn),且實(shí)現(xiàn)了服務(wù)發(fā)現(xiàn)和服務(wù)聚合的功能。盡管該技術(shù)源于谷歌公司,但整個(gè)容器化技術(shù)的生態(tài)環(huán)境內(nèi)的業(yè)務(wù)流程,資源安置,管理策略等等各個(gè)方面,肯定還是要從眾多開(kāi)源社區(qū)借鑒經(jīng)驗(yàn),汲取營(yíng)養(yǎng)。
比如說(shuō),有很多項(xiàng)目通過(guò)對(duì)交互應(yīng)用程序提供框架和方法的同時(shí),也為Kubernetes做著貢獻(xiàn)。Apache Mesos就是這樣的一個(gè)項(xiàng)目。該項(xiàng)目致力于為跨云環(huán)境的資源管理和調(diào)度提供高層次的抽象API接口。其他這樣的項(xiàng)目還有Apache Aurora,Twitter利用該項(xiàng)目為Mesos提供服務(wù)調(diào)度功能。在更高的層次上,像ManageIQ這樣的云服務(wù)管理平臺(tái)為不同的云服務(wù)環(huán)境之間的工作負(fù)載和政策控制提供了一些管理方法,而值得一提的是,這些管理方法加入了商業(yè)規(guī)則的考慮,而不是僅僅考慮了技術(shù)實(shí)現(xiàn)上的問(wèn)題。
我們見(jiàn)證了數(shù)據(jù)和存儲(chǔ)技術(shù)上從模擬混合到匹配,再到重新混合的過(guò)程。大數(shù)據(jù)平臺(tái)不斷地融合了從Hadoop MapReduce到Apache Spark再到像Gluster和Ceph這樣的分布式存儲(chǔ)系統(tǒng)的技術(shù)。Ceph是典型的OpenStack存儲(chǔ)后臺(tái),在OpenStack的Folsom發(fā)行版中***被包括進(jìn)來(lái),用以提供統(tǒng)一化的對(duì)象和塊存儲(chǔ)。
OpenStack是不同社區(qū)相互合作,協(xié)同開(kāi)發(fā)的成功典范。我之前提到過(guò)OpenStackde 在做軟件定義存儲(chǔ)方面的研究,同時(shí)OpenStack也立足于軟件定義計(jì)算和軟件定義網(wǎng)絡(luò)的研究。網(wǎng)絡(luò)部分的研究和開(kāi)發(fā)是最有意思的,因?yàn)樵擃I(lǐng)域的開(kāi)發(fā)將諸多開(kāi)源社區(qū)都連接了起來(lái),像Open Daylight(Linux基金會(huì)下面的SDN合作社區(qū)),Open vSwitch(可以看作Open Daylight的一個(gè)節(jié)點(diǎn))和網(wǎng)絡(luò)功能虛擬化項(xiàng)目(該項(xiàng)目在某些方面——如軟件定義防火墻——比Open Daylight做的更出色)的社區(qū)都是OpenStack網(wǎng)絡(luò)部分的重要參與者。
很明顯,真正加速今天的軟件迭代更新的是眾多依賴(lài)模塊組合并增強(qiáng)功能后得到的東西。這是個(gè)動(dòng)態(tài)變化的過(guò)程,所以很難有專(zhuān)利軟件的身影。
原文出自:http://blog.csdn.net/yiranfantexi44/article/details/41593717