定義術(shù)語
概述
應(yīng)用平臺(application platforms)是如何被使用的。開發(fā)團(tuán)隊(duì)在創(chuàng)建一個戶內(nèi)應(yīng)用(on-premises application,即在機(jī)構(gòu)內(nèi)運(yùn)行的應(yīng)用)時,該應(yīng)用所需的許多基礎(chǔ)都已經(jīng)事先存在了:操作系統(tǒng)為執(zhí)行應(yīng)用和訪問存儲等提供了基礎(chǔ)支持;機(jī)構(gòu)里的其他計(jì)算機(jī)提供了諸如遠(yuǎn)程存儲之類的服務(wù)。倘若每創(chuàng)建一個戶內(nèi)應(yīng)用都得首先構(gòu)建所有這些基礎(chǔ)的話,那么恐怕我們今天看到的應(yīng)用會少很多。
同理,倘若每一個希望創(chuàng)建云應(yīng)用[1](cloud application)的開發(fā)團(tuán)隊(duì)都得首先構(gòu)建自己的云平臺的話,那么我們今后看到的云應(yīng)用將寥寥無幾。幸運(yùn)的是出現(xiàn)了一些致力于解決此問題的廠商,今天有很多云平臺技術(shù)可供我們使用。本文的主旨即從企業(yè)應(yīng)用創(chuàng)建者的角度來分類并簡要介紹這些技術(shù)。
三種云服務(wù)
實(shí)際環(huán)境中的云平臺:三種云服務(wù)
為掌握云平臺,我們先從大體上考察一下云服務(wù)。我們可以把通過“云”提供的服務(wù)分為三大類。它們是:
軟件即服務(wù)(Software as a service,SaaS):SaaS應(yīng)用是完全在“云”里(也就是說,一個Internet服務(wù)提供商的服務(wù)器上)運(yùn)行的。其戶內(nèi)客戶端(on-premises client)通常是一個瀏覽器或其他簡易客戶端。Salesforce可能是當(dāng)前最知名的SaaS應(yīng)用,不過除此以外也有許多其他應(yīng)用。
附著服務(wù)(Attached services):每個戶內(nèi)應(yīng)用(on-premises application)自身都有一定功能,它們可以不時地訪問“云”里針對該應(yīng)用提供的服務(wù),以增強(qiáng)其功能。由于這些服務(wù)僅能為該特定應(yīng)用所使用,所以可以認(rèn)為它們是附著于該應(yīng)用的。一個著名的消費(fèi)級例子就是蘋果公司的iTunes:其桌面應(yīng)用可用于播放音樂等等,而附著服務(wù)令購買新的音頻或視頻內(nèi)容成為可能。微軟公司的Exchange托管服務(wù)是一個企業(yè)級例子,它可以為戶內(nèi)Exchange服務(wù)器增加基于“云”的垃圾郵件過濾、存檔等服務(wù)。
云平臺(Cloud platforms):云平臺提供基于“云”的服務(wù),供開發(fā)者創(chuàng)建應(yīng)用時采用。你不必構(gòu)建自己的基礎(chǔ),你完全可以依靠云平臺來創(chuàng)建新的SaaS應(yīng)用。云平臺的直接用戶是開發(fā)者,而不是最終用戶。
要掌握云平臺,首先要對這里“平臺”的含義達(dá)成共識。一種普遍的想法,是將平臺看成“任何為開發(fā)者創(chuàng)建應(yīng)用提供服務(wù)的軟件”。下一節(jié),我們將對此作具體講解。
應(yīng)用平臺的一般模型
我們今天對應(yīng)用平臺(application platform)的認(rèn)識,主要來源于戶內(nèi)平臺(on-premises platforms)。因此,一種思考云平臺(cloud platforms)的方式,就是考察應(yīng)用開發(fā)者在戶內(nèi)環(huán)境里所依賴的服務(wù)(services)是如何轉(zhuǎn)變?yōu)?ldquo;云(cloud)”的。
無論在戶內(nèi)環(huán)境、還是在“云”里,我們可以認(rèn)為一個應(yīng)用平臺(application platform)包含以下三個部分:
一個基礎(chǔ)(foundation):幾乎所有應(yīng)用都會用到一些在機(jī)器上運(yùn)行的平臺軟件。各種支撐功能(如標(biāo)準(zhǔn)的庫與存儲,以及基本操作系統(tǒng)等)均屬此部分。
一組基礎(chǔ)設(shè)施服務(wù)(infrastructure services):在現(xiàn)代分布式環(huán)境中,應(yīng)用經(jīng)常要用到由其他計(jì)算機(jī)提供的基本服務(wù)。比如提供遠(yuǎn)程存儲服務(wù)、集成服務(wù)及身份管理服務(wù)等都是很常見的。
一套應(yīng)用服務(wù)(application services):隨著越來越多的應(yīng)用面向服務(wù)化,這些應(yīng)用提供的功能可為新應(yīng)用所使用。盡管這些應(yīng)用主要是為最終用戶提供服務(wù)的,但這同時也令它們成為應(yīng)用平臺的一部分。(也許你要奇怪,為什么要把別的應(yīng)用視為平臺的一部分,但在面向服務(wù)的世界里是這樣的。)
開發(fā)工具也是另一個重要部分?,F(xiàn)代工具可以幫助開發(fā)者們運(yùn)用應(yīng)用平臺的這三個部分來構(gòu)建應(yīng)用。
為了對這個抽象模型有具體的認(rèn)識,下面我們將它與今天主流的戶內(nèi)平臺加以對照。戶內(nèi)基礎(chǔ)(on-premises foundation)包括有:
操作系統(tǒng)(Operating system):Windows、Linux及其它版本的Unix是主流選擇。
本地支持(Local support):不同風(fēng)格的應(yīng)用采用不同的技術(shù)。例如,.NET框架和Java EE應(yīng)用服務(wù)器為Web應(yīng)用等提供了一般性支持,而其它技術(shù)則面向特定類型的應(yīng)用。比如Microsoft Dynamics CRM產(chǎn)品提供了一個為創(chuàng)建特定類型的商業(yè)應(yīng)用而設(shè)計(jì)的平臺。類似地,不同種類的存儲被用于不同目的。Windows、Linux及其它操作系統(tǒng)里的文件系統(tǒng)提供了原始字節(jié)的存儲功能,而各種數(shù)據(jù)庫技術(shù)(比如Oracle DBMS、MySQL、Microsoft SQL Server及IBM DB2等)則提供了更加結(jié)構(gòu)化的存儲功能。
對于戶內(nèi)基礎(chǔ)設(shè)施服務(wù)(on-premises infrastructure services),典型例子包括:
存儲(Storage):跟基礎(chǔ)里的存儲一樣,基礎(chǔ)設(shè)施里的存儲也分為多種風(fēng)格。遠(yuǎn)程文件系統(tǒng)可以提供簡單的面向字節(jié)的存儲,而Microsoft SharePoint文檔庫可以提供更加結(jié)構(gòu)化的遠(yuǎn)程存儲服務(wù)。應(yīng)用也可以遠(yuǎn)程訪問數(shù)據(jù)庫系統(tǒng),從而能夠訪問其他種類的結(jié)構(gòu)化存儲。
集成(Integration):把機(jī)構(gòu)內(nèi)部的應(yīng)用連接起來,通常要依賴于某種集成產(chǎn)品提供的遠(yuǎn)程服務(wù)。比如,消息隊(duì)列(message queue)是一個簡單的例子,IBM的WebSphere Process Server及微軟的BizTalk Server等產(chǎn)品可用于更加復(fù)雜的場景。
身份管理(Identity):對許多分布式應(yīng)用而言,提供身份信息是一個最基本的需求。常見的解決此問題的戶內(nèi)技術(shù)包括微軟的Active Directory(活動目錄)及其它LDAP(輕量級目錄訪問協(xié)議)服務(wù)器。
至于戶內(nèi)應(yīng)用服務(wù)(on-premises application services),不同機(jī)構(gòu)間差別很大。原因很簡單:不同機(jī)構(gòu)使用的是不同的應(yīng)用,因而它們暴露的服務(wù)也五花八門。對于這些戶內(nèi)平臺里的應(yīng)用,一種思考方式是將它們分成兩大類:
套裝軟件(Packaged applications):這包括像SAP、Oracle Applications、Microsoft Dynamics在內(nèi)的許多商業(yè)軟件,以及許許多多現(xiàn)成的產(chǎn)品。雖然不是所有套裝軟件都向其它應(yīng)用暴露服務(wù),但越來越多的套裝軟件是這么做的。
定制應(yīng)用(Custom applications):許多機(jī)構(gòu)對定制軟件進(jìn)行了大筆投資。隨著這些應(yīng)用逐漸將其功能以服務(wù)的形式暴露出來,它們也將成為戶內(nèi)應(yīng)用平臺的一部分。
照此描述,戶內(nèi)應(yīng)用平臺看起來好像挺復(fù)雜的。但實(shí)際上,它也是隨著時間的發(fā)展而不斷演化的。在計(jì)算技術(shù)的早期,應(yīng)用平臺只包含一個戶內(nèi)基礎(chǔ)(比如IBM主機(jī)上的MVS和IMS)。到了八、九十年代,隨著分布式計(jì)算的普及,戶內(nèi)基礎(chǔ)設(shè)施服務(wù)也加入了進(jìn)來(遠(yuǎn)程存儲、集成和身份管理成為十分常見的服務(wù))。時至今日,隨著面向服務(wù)的應(yīng)用的出現(xiàn),戶內(nèi)應(yīng)用服務(wù)也成為應(yīng)用平臺的一部分了。下一步發(fā)展是毫無疑問的,即在“云”里提供這三個部分。[2]
從戶內(nèi)平臺到云平臺
上面那個一般模型描述的是戶內(nèi)平臺,但它同時也可被用來考察云平臺。另外,因?yàn)閼魞?nèi)平臺與云平臺可以一同使用,所以理解它們?nèi)绾我黄鸸ぷ饕彩鞘种匾摹?/p>
正如戶內(nèi)應(yīng)用(on-premises application)是構(gòu)建于戶內(nèi)基礎(chǔ)(on-premises foundation)之上的,云應(yīng)用(cloud application)也可以構(gòu)建于云基礎(chǔ)(cloud foundation)之上。無論是戶內(nèi)環(huán)境、還是“云”里的基礎(chǔ)設(shè)施與應(yīng)用服務(wù),均可為這兩種應(yīng)用所使用。戶內(nèi)平臺為我們今天的應(yīng)用提供支持,類似地,云平臺為我們明天將構(gòu)建的應(yīng)用提供服務(wù)。
云平臺是由搭載了云平臺服務(wù)器端軟件的云服務(wù)器、搭載了云平臺客戶端軟件的云電腦以及網(wǎng)絡(luò)組件所構(gòu)成的,用于提高低配置或老舊計(jì)算機(jī)的綜合性能,使其達(dá)到現(xiàn)有流行速度的效果。
內(nèi)容來自百科網(wǎng)