相關閱讀 |
>>> 技術話題—商業文明的嶄新時代 >>> | 簡體 傳統 |
英文原文:Cloud Platforms and Open APIs: The new application stack
應用程序層疊的說法未免稍顯落伍,時髦的說法是切片。得益于開放式 APIs 的飛速發展,我們正迎來應用開發的新時代。比方說是基礎服務 APIs,例如:郵件,FTP,監控管理等,這些服務越來越多地以切片的形式來交付,幫助開發者減少了本地開發部署的時間,從而能把精力更多地集中到應用程序本身。此外,遠程調用,臉部識別,社交數據挖掘等新技術新服務,我們都可以快速擁有并運用到實際當中。所以,簡單來說,現代應用開發更偏向是 APIs 的組合運用,而不是單純的代碼編寫。
傳統的程序開發層疊模式
傳統模式是這樣的:
不論你是使用 LAMP,RoR 還是 Java,對此模式應該都不會陌生。應用層,Web/App 服務器層,數據庫,操作系統。而隨著 IaaS 和 PaaS 的引入,它轉變成下面的樣子:
在云環境中,操作系統和數據存儲通常都被模糊看作是一個單一 Iaas 層。Web/App 服務器是一個 PaaS 層。這是現在常見的結構,除非 PaaS 另作他用,如虛擬化,彈性層等。
開放式 API
然而,開放式 APIs 的出現仿佛讓一切推倒重來。我們來看看一個傳統應用中的普通構成:
一個 Web 應用通常被認為是一個 UI 層,一個商業邏輯層,一個數據層,以及一個負責認證和審核工作的安全層的綜合。由于 JavaScript 的廣泛使用,采用 REST API 把 UI 層獨立出來的做法變得普遍,這使得數據可在表示層完成處理并展示。商業邏輯層和安全層由于地位特殊,目前尚保持穩定。越來越多的開發者投進了開放式 APIs 的懷抱—第三方服務—或引入新功能,或創建更豐富的數據集。將近 5000 個 APIs 可供選擇,成為開發者得力的左膀右臂,我們把這部分定義為“整合”,因此傳統的構成最終轉變成這樣:
切片化的應用程序
新型模式中另外一個特點是,越來越多的功能層將可在程序外來完成整合,數據層甚至是安全層的實現現在都可交由第三方服務來完成。或許將來我們再分析應用的構成時,會看到類似下圖的 APIs 呈現百家爭鳴模式。
對于開發者來說,這是個多么美妙的時刻。PaaS 是下一代的平臺,開放式 APIs 提供了切片化功能。誠然程序的性能對于這樣的改變需要付出一定代價,比方說是數據和程序間的通訊延遲,但在發達的網絡環境下,類似的問題容易解決。此外,很多新特性越來越傾向于以簡單拖拽釋放的方式來進行,這對開發平臺易用性也提出了更高的要求。所以,如果有好的開發想法,不妨馬上去實踐,而不用困擾于開發門檻過高的問題了。
CSDN 2015-05-19 00:32:41
稱謂:
内容: