迄今為止關于云計算的大部分討論都還只是集中于把應用程序遷往云計算的話題上。雖然云計算服務的增長速度是比較高的,但是這一發展態勢甚至都沒有讓云計算相關開支占到企業IT預算的5%。云計算業界的領導者亞馬遜網絡服務(AWS)表示,還有另一條通往云計算成功的道路,也就是使用云計算來做那些在數據中心中做起來有困難、實現成本很高或者甚至根本不可能做的事。
這樣一種平臺服務的方式通過為應用程序增加云計算增強功能來擴展基本的基礎設施即服務(IaaS),從而提出一個更為強大的云計算價值主張和更激動人心的云計算承諾。平臺服務基本上就是網絡服務,這種通過應用程序編程接口(API)提供的服務能夠與其他應用程序實現緊密集成。因為平臺服務看上去更像是基于API的互聯網服務,從本質上來看,無論是在云計算中運行還是在數據中心中運行的應用程序,通過它們進行訪問都是一致的。這就使得平臺服務成為開發混合云計算應用程序的最佳工具。
如果一個平臺服務是通過一個開放API提供的,而這個開放API是可以在數據中心(私有云計算或者甚至傳統軟件)中復制,那么當發生云計算高峰或故障轉移事件時就可以把這個服務遷入或遷出云計算。這也就創建了一種全新的服務模式。
對其進行資本化運作的技巧就是要了解平臺服務、評估實施這些服務的方案選項以及為基于平臺服務的強化而設計應用程序。
抓住平臺服務的精髓
對于一個云計算架構師或規劃者來說,把平臺服務視為一種平行化的SaaS是很自然而然的,因為它是一組支持具有共同技術特點和需求應用程序的工具,而不是單一的垂直化。
(Salesforce.com 和 SAP是使用這一平行化的軟件即服務元素的良好來源。)協作和統一通訊是SaaS工具被視為平臺服務的兩個示例,此外還有很多的AWS工具。
編制一份網絡服務形式的平行化軟件工具的目錄可以從審查所有這些來源開始入手,然后圍繞這些工具從頭開始考慮進行應用程序開發。在你擁有內部組件化應用程序的地方,組件可以被填加至這些基礎的平臺服務框架的想法能夠為你的業務需求提供更為專業的因素。
評估實現平臺服務的選項
那些希望充分利用平臺服務的用戶所面臨的挑戰在于,這些服務并不是我們目前所認為的云計算的一部分。他們并不是目前應用程序的元素,所以他們無法簡單地把這些應用程序遷往云計算。事實上,使用平臺服務將幾乎肯定需要用戶付出一些開發方面的工作,它可以是由你自己的公司或者第三方承包商來進行。對于那些把云計算視為降低IT成本途徑的人來說,這一點似乎是與其目標剛好相反的,但是平臺服務所開發的應用程序具有與生俱來的容量彈性、更好的性能與可用性以及更好的用戶界面性能和體驗質量。其中的關鍵在于用戶能夠找到真正的平臺服務。
當你對你的選項進行評估時,請記得所有真正有用的平臺服務將以某些方式使用云計算。其中包括有用的管理服務(例如調度工具、集成等),可使用網絡API提供這樣的服務,它們可能與平臺服務類似,但是它們不會擴展云計算的使用,它們只是在云計算中實現應用程序的遷移和管理。
平臺服務評估的一個好做法就是審查亞馬遜的服務目錄,在目錄中你將會發現管理服務擴展、在基本云計算數據管理中的數據庫服務擴展以及所謂的應用程序服務,例如AppStream和Kinesis; Simple Queue Service,即SQS; Simple Notification Service,即SNS等等。它是代表了真實平臺服務示例的那一組服務:讓云計算應用程序成為更好應用程序的服務。未來的云計算用戶應當探索這種類型的服務。
使用平臺服務設計應用程序
云計算消費者所面臨的難題就是,目前還沒有平臺服務的標準,所以缺乏這樣的標準也就缺乏足夠的速度和廣度,這樣也就幾乎沒有可能在眾多供應商之間實現互操作性。一個平臺服務實際上就是一個虛擬設備,如果提供這樣設施的每一家供應商都采用了不同的接口,那么問題就大條了,因為你必須在供應商中做出選擇或者采用多個供應商。
這里有一些步驟可以降低與平臺服務非標準API相關的風險。一個就是創建一個單一的應用程序組件來運行,以替代在整個應用程序中的發散。這樣一來,如果你選擇了一個新的供應商,那么你只需要更換一個組件。另一個策略就是在所有可能的供應商中尋找可替代的服務實施,然后根據廣泛的使用約定開發你自己所謂的預包裝應用程序。這種方法可以讓你在更換供應商時只需做出較少的變化即可。
在目前競爭激烈的云計算市場中很可能會出現一個平臺服務產品的總體框架,但是應該不可能出現標準。認識到平臺服務是把你捆綁在一小撮云計算供應商戰車上的強大工具這一點始終是非常重要的,而且你將需要在有限范圍云計算產品所帶來的風險與平臺服務的優勢之間做出權衡抉擇。