我們今天對應用平臺(application platform)的認識,主要來源于戶內(nèi)平臺(on-premises platforms)。因此,一種思考云平臺(cloud platforms)的方式,就是考察應用開發(fā)者在戶內(nèi)環(huán)境里所依賴的服務(services)是如何轉(zhuǎn)變?yōu)椤霸疲╟loud)”的。
無論在戶內(nèi)環(huán)境、還是在“云”里,我們可以認為一個應用平臺(application platform)包含以下三個部分:
一個基礎(foundation):幾乎所有應用都會用到一些在機器上運行的平臺軟件。各種支撐功能(如標準的庫與存儲,以及基本操作系統(tǒng)等)均屬此部分。
一組基礎設施服務(infrastructure services):在現(xiàn)代分布式環(huán)境中,應用經(jīng)常要用到由其他計算機提供的基本服務。比如提供遠程存儲服務、集成服務及身份管理服務等都是很常見的。 一套應用服務(application services):隨著越來越多的應用面向服務化,這些應用提供的功能可為新應用所使用。盡管這些應用主要是為最終用戶提供服務的,但這同時也令它們成為應用平臺的一部分。(也許你要奇怪,為什么要把別的應用視為平臺的一部分,但在面向服務的世界里是這樣的。)
開發(fā)工具也是另一個重要部分?,F(xiàn)代工具可以幫助開發(fā)者們運用應用平臺的這三個部分來構(gòu)建應用。
為了對這個抽象模型有具體的認識,下面我們將它與今天主流的戶內(nèi)平臺加以對照。戶內(nèi)基礎(on-premises foundation)包括有:
操作系統(tǒng)(Operating system):Windows、Linux及其它版本的Unix是主流選擇。
本地支持(Local support):不同風格的應用采用不同的技術(shù)。例如,.NET框架和Java EE應用服務器為Web應用等提供了一般性支持,而其它技術(shù)則面向特定類型的應用。比如Microsoft Dynamics CRM產(chǎn)品提供了一個為創(chuàng)建特定類型的商業(yè)應用而設計的平臺。類似地,不同種類的存儲被用于不同目的。Windows、Linux及其它操作系統(tǒng)里的文件系統(tǒng)提供了原始字節(jié)的存儲功能,而各種數(shù)據(jù)庫技術(shù)(比如Oracle DBMS、MySQL、Microsoft SQL Server及IBM DB2等)則提供了更加結(jié)構(gòu)化的存儲功能。 對于戶內(nèi)基礎設施服務(on-premises infrastructure services),典型例子包括:
存儲(Storage):跟基礎里的存儲一樣,基礎設施里的存儲也分為多種風格。遠程文件系統(tǒng)可以提供簡單的面向字節(jié)的存儲,而Microsoft SharePoint文檔庫可以提供更加結(jié)構(gòu)化的遠程存儲服務。應用也可以遠程訪問數(shù)據(jù)庫系統(tǒng),從而能夠訪問其他種類的結(jié)構(gòu)化存儲。 集成(Integration):把機構(gòu)內(nèi)部的應用連接起來,通常要依賴于某種集成產(chǎn)品提供的遠程服務。比如,消息隊列(message queue)是一個簡單的例子,IBM的WebSphere Process Server及微軟的BizTalk Server等產(chǎn)品可用于更加復雜的場景。 身份管理(Identity):對許多分布式應用而言,提供身份信息是一個最基本的需求。常見的解決此問題的戶內(nèi)技術(shù)包括微軟的Active Directory(活動目錄)及其它LDAP(輕量級目錄訪問協(xié)議)服務器。 
凌云,移動營銷云平臺
至于戶內(nèi)應用服務(on-premises application services),不同機構(gòu)間差別很大。原因很簡單:不同機構(gòu)使用的是不同的應用,因而它們暴露的服務也五花八門。對于這些戶內(nèi)平臺里的應 用,一種思考方式是將它們分成兩大類:套裝軟件(Packaged applications):這包括像SAP、Oracle Applications、Microsoft Dynamics在內(nèi)的許多商業(yè)軟件,以及許許多多現(xiàn)成的產(chǎn)品。雖然不是所有套裝軟件都向其它應用暴露服務,但越來越多的套裝軟件是這么做的。
定制應用(Custom applications):許多機構(gòu)對定制軟件進行了大筆投資。隨著這些應用逐漸將其功能以服務的形式暴露出來,它們也將成為戶內(nèi)應用平臺的一部分。
照此描述,戶內(nèi)應用平臺看起來好像挺復雜的。但實際上,它也是隨著時間的發(fā)展而不斷演化的。在計算技術(shù)的早期,應用平臺只包含一個戶內(nèi)基礎(比如IBM主機上的MVS和IMS)。到了八、九十年代,隨著分布式計算的普及,戶內(nèi)基礎設施服務也加入了進來(遠程存儲、集成和身份管理成為十分常見的服務)。時至今日,隨著面向服務的應用的出現(xiàn),戶內(nèi)應用服務也成為應用平臺的一部分了。下一步發(fā)展是毫無疑問的,即在“云”里提供這三個部分。