什么是PaaS?程序員如何在云上軟件開發(fā)
如今,將服務器作為平臺(PaaS)是一種云計算的模式,服務器供應商向客戶提供平臺,使客戶可以開發(fā)、運行、管理商業(yè)應用程序,不用構建和維護大多同類軟件開發(fā)過程所需要的基礎設施。
如同其他云服務,例如基礎設施作為平臺(IaaS)和軟件作為平臺(SaaS),PaaS通過云服務供應商的基礎設施來提供。用戶通??梢酝ㄟ^網(wǎng)頁瀏覽器來進入PaaS。
PaaS可以通過公共云、私有云或者混合云來提供。在公共云的PaaS上,客戶可以在云供應商提供維持應用程序所需的全部主要IT元素時控制軟件的部署,包括服務器、儲存系統(tǒng)、網(wǎng)絡、操作系統(tǒng)和數(shù)據(jù)庫。
在私有云上,PaaS作為軟件或者用戶防火墻的裝置通常在內(nèi)部部署的數(shù)據(jù)中心內(nèi)?;旌显粕系腜aaS提供了以上兩種云服務的混合。
PaaS并不會為了軟件開發(fā)而替換掉公司的整個IT基礎設施,而是提供了幾項關鍵的服務,例如應用程序運行或Java開發(fā)。部分PaaS還提供應用程序設計、開發(fā)、測試及部署。PaaS服務還可以包括網(wǎng)絡服務整合、開發(fā)團隊合作、數(shù)據(jù)庫整合以及信息安全。
和其他種類的云服務相同,用戶需要付款使用PaaS,一些供應商會每月對進入平臺和平臺支持的應用程序收取費用。
PaaS的商業(yè)益處和驅動器
PaaS最大的優(yōu)勢在于,企業(yè)可以得到一個創(chuàng)立和部署新應用程序的環(huán)境,不用花費時間和金錢來構造和維護一個包括服務器和數(shù)據(jù)庫的基礎設施。
這可以使開發(fā)和應用程序的傳送更快捷,給尋求競爭優(yōu)勢或是想要迅速向市場推出產(chǎn)品的企業(yè)帶來極大幫助。
PaaS還使企業(yè)可以很快地測試新語言、操作系統(tǒng)、數(shù)據(jù)庫和其他開發(fā)技術,因為它們不用分神去支持基礎設施。PaaS還可以讓企業(yè)更容易更快速地更新工具。
PaaS的使用促使企業(yè)軟件開發(fā)者在他們的應用程序中使用云技術,幫助他們采用現(xiàn)代的準則,更好地利用云基礎設施(IaaS)平臺。
因為使用PaaS的公司可以管理他們的應用程序和數(shù)據(jù),控制失靈這一經(jīng)常在使用云基礎設施或應用程序中出現(xiàn)的現(xiàn)象,并不再是一個嚴重的問題。
典型的PaaS應用程序
PaaS最常見的用途是為應用程序開發(fā)和測試提供主機環(huán)境。但這并不是企業(yè)使用PaaS的唯一原因。
Gartner調(diào)查公司列出了PaaS的廣泛用途,包括:
API開發(fā)和管理
公司可以使用PaaS來開發(fā)、運行、管理應用程序編程界面和微服務以及保障其安全。這包括新API的創(chuàng)建以及端到端的API管理
商業(yè)分析/情報
通過PaaS提供的工具使企業(yè)可以分析數(shù)據(jù)來尋找商業(yè)機會和行為的模式,從而可以做出更好的決策,更準確的分析未來事件,例如市場對產(chǎn)品的需求。
商業(yè)過程管理(BPM)
企業(yè)可以使用PaaS來進入BPM平臺。BPM套裝整合了過程管理所需的IT元素,包括數(shù)據(jù)、商業(yè)規(guī)則和服務級別的合同。
交流
PaaS還可以作為交流平臺的傳送機制。這使得開發(fā)者可以為應用程序添加交流功能,例如聲音、視頻和信息。
數(shù)據(jù)庫
PaaS的供應商可以提供設置和維護公司數(shù)據(jù)庫的服務。調(diào)查公司Forrester將數(shù)據(jù)庫PaaS定義為“需求的、安全的、可擴展的自服務數(shù)據(jù)庫平臺,將數(shù)據(jù)庫的服務開通和管理自動化,可以被開發(fā)者和非技術人員使用”。
物聯(lián)網(wǎng)
IoT預期將成為未來幾年PaaS的廣泛使用之處,它支持很多種應用程序環(huán)境、編程語言和不同IoT部署使用的工具。
大師級數(shù)據(jù)管理(MDM)
MDM包括管理企業(yè)重要商業(yè)數(shù)據(jù)的過程、管理、條款、標準和工具,為數(shù)據(jù)提供單個參照點。這樣的數(shù)據(jù)可能包括參照數(shù)據(jù),例如客戶交易的信息,以及幫助制定決策的分析性數(shù)據(jù)。
PaaS技術和供應商
PaaS包括多個云基礎設施元素,包括服務器、網(wǎng)絡設備、操作系統(tǒng)、內(nèi)存、中間件和數(shù)據(jù)庫。這些都屬于服務供應商所有,由供應商來操作。
PaaS還包括開發(fā)工具、編程語言、圖書館、數(shù)據(jù)管理系統(tǒng)以及其他供應商提供的工具。
領頭的PaaS供應商有亞馬遜網(wǎng)絡服務、微軟、谷歌、Safeforce.com、紅帽、Mendix和Heroku公司。廣泛使用的語言、圖書館、容器和相關工具在所有主要PaaS供應商的云中都可以使用。
這些領頭企業(yè)中也不乏軟件開發(fā)工具的巨頭。Gartner公司估計目前有大概200家PaaS的供應商。
PaaS風險
考慮到PaaS是一種云上的服務,它也有很多與其他云服務相同的內(nèi)在風險,例如信息安全威脅。PaaS基于使用共享源——例如網(wǎng)絡和服務器——的概念,所以安全風險包括將重要數(shù)據(jù)置入此環(huán)境,以及由于非授權的黑客入侵導致的數(shù)據(jù)被盜。
另一方面,主要的云供應商在避免這樣的危險時比普通的企業(yè)數(shù)據(jù)中心要更有力,所以信息安全危機并非是IT行業(yè)最初所擔心的。
有了PaaS,服務供應商在基礎設施和操作中構建適當?shù)慕尤肟刂坪推渌踩珳蕚浼罢{(diào)控,給企業(yè)帶來了巨大幫助。企業(yè)另外要負責為自己的應用程序提供安全保護。
此外,因為企業(yè)依靠于特定的服務供應商基礎設施和軟件,PaaS有一個潛在的供應商鎖定問題。一個IT從業(yè)者應當提出的問題是,PaaS是否會選擇將現(xiàn)有和未來的IaaS和SaaS部署混合操作?
另一個PaaS的風險是,當服務供應商的基礎設施因為某種原因出現(xiàn)了宕機,很可能也會對服務造成影響。萬一供應商調(diào)整了開發(fā)策略、編程語言或是其它部分該怎么辦?
不要擔心這些可能的困難會阻攔你加入PaaS。它為你提供了更多的靈活度,因為當你處理編程任務時,供應商在幫你處理平臺。