云應(yīng)用開發(fā)不會(huì)在一夜之間完成。開發(fā)者必須仔細(xì)的,根據(jù)云資源的需求來設(shè)計(jì)云應(yīng)用的使用,運(yùn)行和規(guī)模。此外,云應(yīng)用的開發(fā)過程往往比傳統(tǒng)的應(yīng)用開發(fā)更加靈活,通常遵循DevOps的原則和做法。
一些開發(fā)者開始轉(zhuǎn)向開源平臺(tái)即服務(wù)(PaaS),以支持快速的云應(yīng)用開發(fā)和部署周期。但是,開源開發(fā)平臺(tái)也會(huì)給開發(fā)者和企業(yè)帶來了新挑戰(zhàn)。以下是開源PaaS可能會(huì)產(chǎn)生的六個(gè)問題,以及如何克服它們的步驟。
成功的開源PaaS需要管理層支持
開發(fā)者的投入對(duì)于開源PaaS的成功至關(guān)重要,但更重要的是獲得業(yè)務(wù)上層和管理團(tuán)隊(duì)的認(rèn)可。企業(yè)內(nèi)部應(yīng)對(duì)DevOps原則和云軟件開發(fā)有著共同的愿景,并且了解遷移到開源PaaS的好處和風(fēng)險(xiǎn)。
企業(yè)方需要以DevOps的目標(biāo)來監(jiān)督團(tuán)隊(duì)重組,并且在必要時(shí)批準(zhǔn)增加工作人員。企業(yè)領(lǐng)導(dǎo)者還應(yīng)該幫助制定開發(fā)日程,并合理計(jì)算出平臺(tái)的集成和支持費(fèi)用。
如果缺乏企業(yè)方面的支持,會(huì)阻礙云軟件的發(fā)展目標(biāo)。你最不希望的事情是部署一個(gè)云開發(fā)平臺(tái),然后,在六個(gè)月到一年之后,企業(yè)卻決定要使用別的方式。
一些PaaS平臺(tái)發(fā)展緩慢
云計(jì)算相對(duì)來說仍然還不成熟,新服務(wù)和功能會(huì)一直出現(xiàn)。云開發(fā)平臺(tái)和PaaS也會(huì)在新的功能登場(chǎng)時(shí)不斷演變。然而,由于用戶社區(qū)對(duì)開源軟件的影響很深,因此無法保證新功能會(huì)以足夠快的速度出現(xiàn)以滿足你的開發(fā)需求。
雖然每個(gè)PaaS產(chǎn)品都有著類似的功能,但具備這些功能的速度卻有所不同。例如,Pivotal的開源PaaS產(chǎn)品Cloud Foundry以其對(duì)語(yǔ)言的支持,服務(wù)整合,以及與其它如Chef,Puppet,Jenkins和NoSQL這樣的開源工具的集成著稱。然而,Cloud Foundry上只提供初步的容器支持,用戶界面主要靠命令行,支持?jǐn)?shù)量有限的軟件部署商業(yè)模式以及在應(yīng)用的性能指標(biāo)衡量上偏弱。
監(jiān)控一個(gè)平臺(tái)的發(fā)展路線圖然后再作出決定。那些發(fā)展緩慢或者正在經(jīng)歷某種艱難的發(fā)展模式的平臺(tái)可能會(huì)為你的應(yīng)用開發(fā)團(tuán)隊(duì)和你的業(yè)務(wù)帶來問題 。
為PaaS項(xiàng)目找到相關(guān)文檔
開源云開發(fā)平臺(tái)有著復(fù)雜且要求很高的框架,承載著大量的詳細(xì)文檔。隨著這些平臺(tái)的發(fā)展,它們的文檔必須不停更新,每一個(gè)文檔必須提供一致的功能和特性的信息。
那些支持他們各自開源項(xiàng)目的商業(yè)機(jī)構(gòu),如Pivotal對(duì)Cloud Foundry,Red Hat對(duì)OpenShift以及Salesforce對(duì)Heroku的支持,有助于對(duì)更新的簡(jiǎn)化和劃分優(yōu)先級(jí)。例如,Cloud Foundry在網(wǎng)頁(yè)中提供了大量的文檔鏈接,介紹關(guān)于其命令行接口,部署和集成,管理,故障排除,服務(wù)創(chuàng)建等等的內(nèi)容。相比之下,紅帽也為 OpenShift提供了類似的文檔。
然而,在開源PaaS的發(fā)展過程中,我們無法保證所有的改動(dòng)和更新都能夠被明確或及時(shí)的記錄下來。這可能會(huì)使開發(fā)者失去許多機(jī)會(huì),伴隨代價(jià)高昂的錯(cuò)誤和混亂。
從開源社區(qū)獲得PaaS支持
圍繞一個(gè)開源PaaS展開評(píng)估,部署,整合和建立一個(gè)軟件的開發(fā)計(jì)劃是很艱巨的任務(wù)。對(duì)于內(nèi)部的專家來說,肯定會(huì)碰到不少難以解決的集成,性能和自動(dòng)化上的障礙。這意味著你會(huì)需要平臺(tái)的技術(shù)支持。
開源社區(qū)通常負(fù)責(zé)支持開源平臺(tái)。但是,盡管社區(qū)可以幫助解決不尋?;蛐”姷膯栴},沒人能夠保證你一定會(huì)得到可行的解決方案。例如Pivotal和Red Hat之類的母公司以論壇,wiki和可搜索的知識(shí)庫(kù)來提供一些基礎(chǔ)的支持,但仍然無法做出提供一個(gè)快速解決方案的承諾。
在某些情況下,企業(yè)可以選擇開源平臺(tái)的商業(yè)版本,來結(jié)合開源代碼的可擴(kuò)展性與企業(yè)級(jí)的技術(shù)支持。例如,Pivotal為Cloud Foundry的商業(yè)版本提供高級(jí)和開發(fā)者的支持。然而,一定要考慮這種方法的利弊和成本。
衡量免費(fèi)軟件的成本
開源軟件通常不需要花費(fèi)就能獲得,但從長(zhǎng)期來看并不總是免費(fèi)的。大多數(shù)企業(yè)都做好了廠商提供企業(yè)級(jí)別支持的費(fèi)用準(zhǔn)備,但還有一些其他不那么明顯的隱性開源成本。
額外的開銷可能包括了服務(wù)器,存儲(chǔ),初始評(píng)估,概念證明項(xiàng)目,部署和與第三方工具的整合。組織還需要將維護(hù),管理和報(bào)表的成本也算進(jìn)來。
開源PaaS可以簡(jiǎn)化云軟件開發(fā),同時(shí)最大限度地降低企業(yè)的采購(gòu)成本。但平臺(tái)非常復(fù)雜,需要大量的專業(yè)知識(shí)來部署,集成和高效的使用?;〞r(shí)間慢慢選擇滿足你當(dāng)前和未來需求的合適工具。