如何為云計算選擇和準備應用 |
發布時間: 2012/8/15 19:33:29 |
通過云服務,你能夠為客戶和員工帶來額外的價值,甚至建立起新的收益流。以下我們將介紹如何在現有應用中找到適當的服務,讓它們為迎接云計算做好準備。 得益于亞馬遜EC2、Salesforce和其它公有云服務取得的成功,許多企業了解了云計算的價值。實際上,越來越的企業開始嘗試云計算。為什么不呢?啟動一個公有云服務或許可以在最小限度修改現有基礎設施的情況下建立一個新的收益流,或是為客戶提供便捷的自助服務。不過,啟動一個云服務的過程未必一帆風順。企業IT經理需要確定在苛刻的條件下哪些應用能夠轉移到云上。此外,他們必須要建立或修改服務接口或API,應對控制與安全方面帶來的新挑戰,包括建立用于計費與收費的使用情況追蹤功能。你是否已經為云業務做好了準備?你的哪些服務已經成熟到可以變成云服務?你如何建立一個成功的商業案例?你如何創建一個成功的云服務,無論它們是簡單的還是復雜的?本文將提供一些建立云服務的通用指南,包括如何識別、判斷、遷移和檢驗新的和現有應用服務向真正云服務轉型。通過這些信息,你將對如何在企業內部或外部建立一個彈性服務有一個大致了解。 步驟1:為云選擇正確的應用 每個公司都有一個人人都認為會成為優秀云服務的應用。但是往往分析證明情況并不如人們所認為的那樣。 你需要創建一個商業案例,以證明不同于單個應用或多個應用的云服務具有優勢。你需要考慮云服務實際上是什么?需要考慮技術現實,包括遷移成本和性能。換句話說,云服務的真正投資回報是什么? 為了確定可行性,你首先需要考慮應用的實際價值。理解云服務的使用案例,例如以下這些常見的案例: 1、外部客戶能夠獲取訂單信息,包括檢查訂單狀態、延遲和升級等。 2、通過向其它外部公司出租庫存控制云服務,公司能夠獲得額外利潤。 3、公司其他部門能夠有效獲取正在使用云服務的數據,無論是人至機器還是機器至機器,這將促使數據品質提升。 確定潛在的云服務能夠解決的問題是確定云服務價值的第一步。需要記住的是,在一些實例中,你需要移動整個應用。而在其它一些實例中,你僅需要通過Web服務協議提供一些簡單的服務。 一旦在配置云服務之后確定了“原因”和“內容”,你需要確定怎么做,更重要的是,它的成本可能是多少。遷移成本取決于現有應用的狀態和應用架構,以及作為云服務,你希望它們具有應用的哪些功能,或是完全像應用一樣。 很明顯,評估方式很大程度上取決于應用類型和你準備提供的服務。以下常用的評估步驟列表將幫助你著手: 評估現有應用的狀態 評估當前用戶接口設計 評估當前的安全設計 確定基于使用情況的賬單如何計費 評估核心應用和其它再開發任務的修改程度 考慮可能使用服務的內部或外部客戶數量,評估可能需要哪些額外的架構 評估需要增加哪些云計算功能,例如自動配置或多租戶 評估研發服務接口的成本和投入 確定與現有安全系統的整合所需要的投入 草擬測試與階段實施計劃 評估部署成本,包括以后擴展所需要的基礎設施。 一個總的原則為,應用越老越復雜,向云遷移的成本也就越高,費效比也就越不合算。與此同時你還要考慮技術的可靠性,例如性能損失。在通過開放的互聯網訪問時,任何內部應用都會都會出現性能下降。 在將應用修改作為云服務時,應當考慮以下因素: 遷移成本。這是修改應用,讓其滿足云計算服務要求所付出的代價。包括所有需要的新硬件和軟件,以及調整架構和設計、研發成本、測試資源、部署成本等等。 風險成本。換句話說,如果將應用向云計算遷移失敗,會遭受經濟損失。 長期維護成本。隨著時間的遷移,你需要在維護云服務方面花費多少資金。 商業價值。讓應用成為真正云服務的潛在收益已經超過了預期收益,包括戰略價值,例如能夠為現有客戶群提升服務,可更好的挽留這些客戶。 簡而言之:云服務的價值=商業價值-(風險成本+遷移成本+長期維護成本)。這一公式的時間范圍為三年。 如果一個應用轉型為云計算服務具有,000,000的商業價值、,000,000的風險成本、,500,000的遷移成本和,000,000的長期維護成本,那么可以表述為: 云服務的價值/投資回報= ,000,000 - (,000,000 + ,500,000 + ,000,000) 因此,云服務的價值大約為,500,000.很明顯,這例子已經很好的證明了其自身的價值,你的云服務轉型相當合算。 在進行決策時,你應當考慮表1中所列出的內容: 圖1 在準備創建云服務時應當仔細考慮以下問題: 明確為業務帶來的優勢。 所選應用有明確而經濟的可行技術路徑以提供云服務。 能夠定義可用的使用案例。 能夠整合基于使用的計費系統以測量服務的使用量。 能夠創建合理的安全架構,保護關鍵的商業信息。 對數據和服務具有良好的管理方法。 步驟2:評估現有的應用架構 一旦你計算出可行的投資回報,證明你云服務具有合理性,那么你就可以關注現有應用的架構了。其中包括: 數據 服務 流程 網絡 用戶接口和API 安全性 管理性 擴展能力 這方面更多的取決于應用的老舊程度以及應用是如何設計的。在許多實例中,較新的應用被創建時使用的是針對于行為與數據的API.較老的應用可能根本沒有API.在一些案例中,較老的應用在向云服務遷移時需要花費額外的時間與精力。 當然,總是有辦法與老舊的應用進行溝通的,例如事務接口、直接數據訪問,甚至是屏幕抓取。但是這些方法常常存在性能與擴展性問題。是使用這些接口還是對架構進行大幅修改應當考慮效率問題。 當你全面了解了應用架構,你將更加深刻地理解將核心應用服務轉變為云服務的最佳方式。這包括了解數據庫的結構和工作機制、數據庫訪問方式、業務邏輯的使用與執行、與用戶接口的整合,以及核心業務流程的諸多組件等。 首先要將應用分解成功能基元,如數據、服務、流程、用戶接口等。一旦你全面了解了這些組件,你就能夠為應用重新創建邏輯架構,讓其適合云服務要求。其次是將新的邏輯架構映射到物理架構中,確定創建物理架構所需要的工作。 步驟3:為創建云服務選擇最佳的方式 目標系統應當為真正的云計算系統。換句話說,他們應當提供現有應用所沒有的新功能。例如: 機器尋址。無需人參與的訪問、分配和使用云服務、機器至機器的能力 多租戶。能夠同時支持大量外部云服務用戶,確保性能一致,保證租戶不會相互干擾。 基于使用的計費。能夠監控授權用戶的云服務使用情況,根據使用情況進行計費。 高級安全性。包括能夠管理安全使用方式和基于身份的方式。 為新的或現有的應用創建云服務有三個基本的方法。它們的規模分為小、中、大。 在小型云服務方案中,我們僅具體化應用的一小部分,通常是那些執行如數據有效性操作的服務。幾乎只需要創建一個Web服務。這個Web服務有一個被良好定義的接口,以接受云服務客戶的數據、應用所連接的數據庫中的有效數據,然后將狀態反饋給客戶。例如,客戶通過開放的互聯網使用Web服務確認一個訂單。為了說明問題,我們創建一個Validate_ Order()的服務。該服務會做以下工作: 啟動服務記錄服務 與客戶的使用情況 記錄時間 接受訂單號 確認訂單號 在數據庫中查找訂單號 反饋狀態,有效或無效 記錄時間 關閉服務 當然,你需要保證你能夠通過多用戶/多租戶方法做這個。這意味著你必須為所有的用戶平均分配,保護用戶流程。此外,你還需要利用按使用量收費的計費系統追蹤使用情況,無論你是否對這一服務收費。 在部署這種小型解決方案中你能夠使用不同的技術,包括在獨立處理空間內運行的外部程序。這些外部程序不與核心應用掛鉤,可能只需要稍做修改,甚至不需要進行修改。或許服務可能與應用結合緊密,需要對核心程序進行一些修改。它們沒有固定的解決方案或是最佳實踐。你需要根據具體情況調整每一個云服務。 一旦你創建了這種服務,你需要與相關的WSDL相連,以及選擇了一個通信方法,這通常被稱為REST(表述性狀態轉移)。客戶應當能夠通過URL訪問服務,因此必須了解如何通過讀取WSDL調用服務,以及如何使用REST調用服務。 在中型云服務解決方案中,我們通常會面對許多不同的云服務,它們提供了許多不同類型的功能。你可以認為它們的規模是小型云服務解決方案的5至10倍。它們擁有更多可被云服務客戶訪問的并行云服務。這意味著你需要應對更多的并行和多租戶問題。 在大型云服務解決方案中,我們通常要應對數百,甚至是數千個被具體化和托管的云服務。這類云服務可能每天會被數千個用戶所使用。這些用戶的訪問方式和目的都不盡相同。我們所面對的挑戰并不是服務的具體化,而是這些云服務的并行管理,讓其長期處于良好的運行狀態。換句話說,核心目標是擴展性與穩定性。 在中型與大型云服務解決方案中,你需要對核心應用進行更多系統性重新設計,包括修改核心數據庫和計算服務(見圖2)。你只能在兩種辦法中選擇一個。 1、附加軟件提供了云能力。實際上,中間件將原生的應用服務轉變為了云服務,并通過產品預先設置的功能管理這些服務。目前市場上已經出現了這類產品,它們通常被稱為“云能力軟件”。 2、徹底從頭重新編寫應用。重新編寫的應用將滿足云服務的需要,包括支持多租戶。這實際上是一個重新創建應用的機會,或許可以使用更新的編程語言或數據庫技術。與在老代碼上編寫相比,更新的編程語言或數據庫技術的成本會更低。 圖2 通過專門為這一目標設計的軟件,你能夠具體化云服務,或是通過重新編寫應用將服務具體化。最佳辦法取決于你的應用。 最后,在考慮應用架構、云服務具體化與管理時,你需要考慮使用的標準。這里的大多數標準都與Web相關,例如WSDL、SOAP、REST等。當然,部分標準是在云計算領域中新出現的,包括安全標準和管理標準。應當在項目開始前就考慮好適合你的云服務的最佳標準與解決方案。 步驟4:評估安全問題 在云計算的執行中,安全性排在首位。在設置云服務的過程中,無論是公有云還是私有云,你都應當考慮安全措施。其中包括創建一個安全模型,選擇適當的安全技術,全面了解存在的風險。 云服務的安全模型通常十分復雜,使用了大量先進的加密技術與基于身份的安全技術。 基于身份的安全技術意味著你可以追蹤人類用戶的身份、機器用戶、數據、服務等,讓你能夠細致地管理安全問題,確定誰能夠訪問特定的服務,以及他們能夠通過這些服務做什么。例如,我們知道特定身份的機器能夠調用服務,因為機器在允許調用服務之前已經經過了授權。身份管理安全軟件系統通常需要一資源庫以追蹤身份,需要能夠對所有的參與者進行授權和認證。 加密是另一個標準的云服務安全機制。客戶和服務提供商應當能夠在需要的時候提供加密措施,確保服務提供商與客戶之間的會話是私密的。當加密數據從一個系統中傳輸到另一個系統中,我們稱之為動態加密。 此外,你還需要考慮保護內部數據。強化的保護措施能夠確保外部伙伴無法接觸到你的核心應用或是訪問數據庫。當數據存儲在磁盤中時,數據被進行加密處理。當這些數據根據需要被提供給應用或云服務時,它們會被解密。 步驟5:確定成本模型和基于使用情況的計費方式 最后一步是找出如何追蹤你的云服務的使用情況,以及如何根據使用情況進行收費。許多商業軟件會為你追蹤云服務使用情況。這些商業套件為外部應用,它們可以與你的核心應用和云服務結合在一起。其中一部分軟件是常規的授權許可軟件,還有一部分是由公有云提供商提供的云服務。選擇哪一種取決于你偏愛的成本模式和云服務特點。由于技術很容易獲得,因此沒有必要自己創建。 其次是,決定如何對服務進行收費。部分公有云計算服務的收費方式與手機通信公司為手機服務收費相似。部分服務在企業內部中傳輸也會收費。以下是幾種收費模式: 交納一定費用后不限量使用 根據時間收費 根據席位收費 根據流量收費 交納一定費用后不限量使用收費方式也追蹤服務的使用情況,但是客戶可以隨意使用。通常,這適合于你了解服務用戶,以及將提供服務作為一種附加優勢。 如果你選擇根據時間計費,那么基于使用情況的計費系統將匯報使用情況,并為你生成賬單。賬單將根據預先約定的期間定期自動發送。 如果你選擇根據席位收費,那么費用總額為用戶賬號數量乘以每月使用率,或是測量每名用戶的使用情況,然后分別計費。如果你選擇后者,那么一定要確保套餐能夠滿足你的需求。 如果你選擇根據流量計費,那么云服務提供商將根據你傳輸給客戶的數據流量收費。通常,流量者是兆字節級。此外,數據使用量將被跟蹤。賬單將會被自動發送至云服務客戶手中。 現在是什么情況? 具體化應用數據和使用公有與私有云計算的速度將加快。實際上,創建云服務將為一些公司帶來新的營利機遇,同時為向公司內外推廣企業應用核心價值提供了一個相對容易的方法。請記住,在開始轉向云計算之前應當仔細評估你的應用。一些貌似能夠成功轉向云服務的應用可能有時候最終會因為一些潛在的原因而無法轉型。另一方面,如果你對你的所有應用了如指掌,那么你會很容易找到一些你以前從未想過要遷移至云服務的應用,而這些應用可能更容易轉向云服務。 一切都由你自己做主。它們會為你帶來充足的營利空間,尤其是當你選擇部署一些能夠為公司提供特色功能的服務。 本文出自:億恩科技【www.laynepeng.cn】 |