天天看點

《PaaS程式設計》一2.4 PaaS:現代應用的虛拟工具

本節書摘來自華章出版社《paas程式設計》一書中的第2章,第2.4節,作者 lucas carlson,更多章節内容可以通路雲栖社群“華章計算機”公衆号檢視

在過去的數十年中,應用開發發生了巨大的變化。從早期的在計算機上運作編譯的代碼,到客戶/伺服器架構,再到現在的rest 應用程式設計接口(api),編譯和運作代碼的工具也發生了很大的變化。

讓我們回到早些的那個例子:需要一個程式進行dna測序,這個程式要運作得盡可能快,是以,我們可以使用諸如c或者彙編的底層語言,以便獲得盡可能高的性能。

使用paas,通常需要建構web應用程式,延遲并不是那麼的至關重要。對于運作在paas上的不同類型的應用程式來說,最具價值的品質特點在于快速建立相關部分并将它們連接配接在一起的能力。進階語言,特别是諸如ruby、php、python以及node.js之類的動态腳本語言,要比其他底層語言更好地适合這一要求。

是以,在paas中,通常會采用數十年前主要被視為腳本語言的語言。現在這些語言成為企業助力他們的應用系統的強大工具。作為世界上最大的網站之一的facebook就使用php來助力他們的系統。yahoo!也使用php。twitter最初建構于ruby之上。linkedin一開始使用ruby,之後換為node.js。是以動态語言被越來越多地應用于建構web内容。

新一代的程式設計語言也産生了新的開發風格:基于更小的代碼段得快速疊代,更快速地将更小以及更易擴充的應用投入生産。通常,建構的應用都是api類型的應用。這類應用(在更大的規模上)使用api與web前端進行通訊,包括gmail、twitter以及mobileme。也可以被用于移動應用,以保證一個移動應用可以讓使用者注冊以及讓使用者之間互相交流。所有的這一切都必須通過api以及後端服務才得以完成。

相對于初次建構這個移動應用,管理一個移動應用的後端,通常要花費更多的時間,這就是平台即服務作為這樣一個虛拟工具的原因。如果你有一個應用在apple應用商店排名前10位,那麼你就得確定後端的應用能夠随着使用者地增長而擴充,以便能夠處理每分鐘來自使用者手機的上百萬次的通路請求。傳統上,要做到這一點需要一個由it和運維人員組成的團隊。平台即服務給了我們管理成百上千的後端應用的能力,這一切隻需要簡單的一個滾動條,而不是一個團隊。

如果這些還不夠清楚,通俗點說,就是paas将控制和能力交還到開發者手中。最後,我們不再需要尋呼機。雖然,paas無法去掉代碼中的缺陷,但是,很顯然開發者可以完全不用再關注任何硬體或者基礎設施的失效問題。