國內做云計算的目前基本會在OpenStack和CloudStack中做一個選擇。大部分公司都會選擇OpenStack,這些大部分公司中的中小公司會在使用OpenStack一段時間之后,選擇用CloudStack。我個人認為,CloudStack應該感謝OpenStack教育了用戶。CloudStack的用戶大部分都是使用過OpenStack的。
那么對于一家要做云計算的公司,到底該如何抉擇呢?為什么那么多的大公司都在使用OpenStack呢?
首先,建議不要從功能上比較。我最近對OpenStack重新做了了解,目前OpenStack的發展迅猛,大有要和VMware一較高低的氣勢。目前OpenStack的概念和功能已經和CloudStack越來越接近。當然這些功能是否經得住生產檢驗,需要時間來說話。目前OpenStack從功能上說,剛剛達到CloudStack 3.0時的功能,其中網絡部分的高級功能,OpenStack要依賴于第三方的SDN來實現。我相信有一天,OpenStack的網絡功能也會完善起來。從時間來看,比較目前的功能意義不大。
第二點,不要比較社區的參與的公司的數量。參與開源社區的公司都有自己的目的在里面,有的是為了賣設備,有的是害怕錯過機會。在進行選型時,一定要結合自己公司的特點。為什么要做云?是自己運營還是給客戶做方案?自己有多少人手可以做?這些人的能力如何?業務擴大后,團隊能否跟上?要弄清楚自己在整個云計算市場中的定位,然后結合自己的研發力量,客戶特點來選擇。
那么OpenStack和CloudStack對于不同公司意味著什么呢?
我曾經和很多大公司進行過交流,也和不少從OpenStack轉向CloudStack的朋友進行過交流。對于大公司來說,他們的研發能力強,對于云計算有自己的產品或服務要出售,他們會傾向于選擇一個半成品的軟件,自己進行hack。這些公司認為OpenStack就好像是一個開發框架,自己可以在里面做很多的定制開發。所以,如果準備選擇OpenStack,請做好hack的準備。
如果公司是偏向于項目集成的,并不想在底層做太多的投入,只希望有一個穩定的底層,自己根據用戶的業務場景進行二次開發,那么CloudStack 很適合你。CloudStack的底層功能已經做的很完善了,目前CloudStack的落地項目很多,功能和穩定性上更適合商用。國內的公司只需要做一些界面的開發,結合客戶的業務做一些定制即可。相對來說,開發難度低很多。國內的java程序員要比python程序員多很多,招人也方便。
綜上所述:CloudStack 和OpenStack選哪一個,要根據自己的業務模式和研發力量來定。