定義術(shù)語
概述
應用平臺(application platforms)是如何被使用的。開發(fā)團隊在創(chuàng)建一個戶內(nèi)應用(on-premises application,即在機構(gòu)內(nèi)運行的應用)時,該應用所需的許多基礎(chǔ)都已經(jīng)事先存在了:操作系統(tǒng)為執(zhí)行應用和訪問存儲等提供了基礎(chǔ)支持;機構(gòu)里的其他計算機提供了諸如遠程存儲之類的服務。倘若每創(chuàng)建一個戶內(nèi)應用都得首先構(gòu)建所有這些基礎(chǔ)的話,那么恐怕我們今天看到的應用會少很多。
同理,倘若每一個希望創(chuàng)建云應用[1](cloud application)的開發(fā)團隊都得首先構(gòu)建自己的云平臺的話,那么我們今后看到的云應用將寥寥無幾。幸運的是出現(xiàn)了一些致力于解決此問題的廠商,今天有很多云平臺技術(shù)可供我們使用。本文的主旨即從企業(yè)應用創(chuàng)建者的角度來分類并簡要介紹這些技術(shù)。
三種云服務
實際環(huán)境中的云平臺:三種云服務
為掌握云平臺,我們先從大體上考察一下云服務。我們可以把通過“云”提供的服務分為三大類。它們是:
軟件即服務(Software as a service,SaaS):SaaS應用是完全在“云”里(也就是說,一個Internet服務提供商的服務器上)運行的。其戶內(nèi)客戶端(on-premises client)通常是一個瀏覽器或其他簡易客戶端。Salesforce可能是當前最知名的SaaS應用,不過除此以外也有許多其他應用。
附著服務(Attached services):每個戶內(nèi)應用(on-premises application)自身都有一定功能,它們可以不時地訪問“云”里針對該應用提供的服務,以增強其功能。由于這些服務僅能為該特定應用所使用,所以可以認為它們是附著于該應用的。一個著名的消費級例子就是蘋果公司的iTunes:其桌面應用可用于播放音樂等等,而附著服務令購買新的音頻或視頻內(nèi)容成為可能。微軟公司的Exchange托管服務是一個企業(yè)級例子,它可以為戶內(nèi)Exchange服務器增加基于“云”的垃圾郵件過濾、存檔等服務。
云平臺(Cloud platforms):云平臺提供基于“云”的服務,供開發(fā)者創(chuàng)建應用時采用。你不必構(gòu)建自己的基礎(chǔ),你完全可以依靠云平臺來創(chuàng)建新的SaaS應用。云平臺的直接用戶是開發(fā)者,而不是最終用戶。
要掌握云平臺,首先要對這里“平臺”的含義達成共識。一種普遍的想法,是將平臺看成“任何為開發(fā)者創(chuàng)建應用提供服務的軟件”。下一節(jié),我們將對此作具體講解。
應用平臺的一般模型
我們今天對應用平臺(application platform)的認識,主要來源于戶內(nèi)平臺(on-premises platforms)。因此,一種思考云平臺(cloud platforms)的方式,就是考察應用開發(fā)者在戶內(nèi)環(huán)境里所依賴的服務(services)是如何轉(zhuǎn)變?yōu)?ldquo;云(cloud)”的。
無論在戶內(nèi)環(huán)境、還是在“云”里,我們可以認為一個應用平臺(application platform)包含以下三個部分:
一個基礎(chǔ)(foundation):幾乎所有應用都會用到一些在機器上運行的平臺軟件。各種支撐功能(如標準的庫與存儲,以及基本操作系統(tǒng)等)均屬此部分。
一組基礎(chǔ)設(shè)施服務(infrastructure services):在現(xiàn)代分布式環(huán)境中,應用經(jīng)常要用到由其他計算機提供的基本服務。比如提供遠程存儲服務、集成服務及身份管理服務等都是很常見的。
一套應用服務(application services):隨著越來越多的應用面向服務化,這些應用提供的功能可為新應用所使用。盡管這些應用主要是為最終用戶提供服務的,但這同時也令它們成為應用平臺的一部分。(也許你要奇怪,為什么要把別的應用視為平臺的一部分,但在面向服務的世界里是這樣的。)
開發(fā)工具也是另一個重要部分?,F(xiàn)代工具可以幫助開發(fā)者們運用應用平臺的這三個部分來構(gòu)建應用。
為了對這個抽象模型有具體的認識,下面我們將它與今天主流的戶內(nèi)平臺加以對照。戶內(nèi)基礎(chǔ)(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è)應用而設(shè)計的平臺。類似地,不同種類的存儲被用于不同目的。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è)施服務(on-premises infrastructure services),典型例子包括:
存儲(Storage):跟基礎(chǔ)里的存儲一樣,基礎(chǔ)設(shè)施里的存儲也分為多種風格。遠程文件系統(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)基礎(chǔ)(比如IBM主機上的MVS和IMS)。到了八、九十年代,隨著分布式計算的普及,戶內(nèi)基礎(chǔ)設(shè)施服務也加入了進來(遠程存儲、集成和身份管理成為十分常見的服務)。時至今日,隨著面向服務的應用的出現(xiàn),戶內(nèi)應用服務也成為應用平臺的一部分了。下一步發(fā)展是毫無疑問的,即在“云”里提供這三個部分。[2]
從戶內(nèi)平臺到云平臺
上面那個一般模型描述的是戶內(nèi)平臺,但它同時也可被用來考察云平臺。另外,因為戶內(nèi)平臺與云平臺可以一同使用,所以理解它們?nèi)绾我黄鸸ぷ饕彩鞘种匾摹?/p>
正如戶內(nèi)應用(on-premises application)是構(gòu)建于戶內(nèi)基礎(chǔ)(on-premises foundation)之上的,云應用(cloud application)也可以構(gòu)建于云基礎(chǔ)(cloud foundation)之上。無論是戶內(nèi)環(huán)境、還是“云”里的基礎(chǔ)設(shè)施與應用服務,均可為這兩種應用所使用。戶內(nèi)平臺為我們今天的應用提供支持,類似地,云平臺為我們明天將構(gòu)建的應用提供服務。
云平臺是由搭載了云平臺服務器端軟件的云服務器、搭載了云平臺客戶端軟件的云電腦以及網(wǎng)絡組件所構(gòu)成的,用于提高低配置或老舊計算機的綜合性能,使其達到現(xiàn)有流行速度的效果。
內(nèi)容來自百科網(wǎng)