云計算技術優(yōu)勢和商業(yè)優(yōu)勢是什么
近年來,對于打造高度可擴展的應用程序,軟件架構師們挖掘了若干相關理念,并以***實踐的方式加以實施。在今天的“信息時代”,這些理念更加適用于不斷增長的數(shù)據(jù)集,不可預知的流量模式,以及快速響應時間的需求。本文將強調(diào)并重申其中的一些傳統(tǒng)觀念,并討論他們?nèi)绾卧谌诤显朴嬎愕陌l(fā)展,還將討論由于云計算的動態(tài)性而產(chǎn)生的一些***的概念(如彈性)。
云計算的商業(yè)優(yōu)勢
在云中構建應用程序有一些明顯的商業(yè)優(yōu)勢,這里列出機構主要特點:
前期基礎設施投資幾乎為零:如果你要建立一個大型的系統(tǒng),它可能需要大量投資用于于機房,物理安全,硬件(機架,服務器,路由器,備用電源),硬件管理(電源管理,散熱),和運維人員。由于高昂的前期成本,該項目通常甚至開始之前需要多輪的管理審批和論證?,F(xiàn)在,采用公有云環(huán)境,幾乎沒有固定成本或啟動成本。
基礎設施即時性:在過去,如果你的應用程序開始大規(guī)模上量,而你的系統(tǒng)或基礎設施沒有在規(guī)模上跟上來,將會極大影響應用的成功。相反,如果前期投入了大量資金,而應用沒有得到普及,你的系統(tǒng)或基礎設施又將成為失敗的犧牲品。通過在云環(huán)境自適應部署應用程序,就可以不必擔心是否要預先采購大型的系統(tǒng)。這增加了靈活性,降低了風險和運營成本,因為你可以根據(jù)用于成長的規(guī)模而按需支付費用。
更有效地利用資源:系統(tǒng)管理員通常會擔心新硬件的采購(資源耗盡的情況)和更高的基礎設施利用率(資源冗余余或閑置的情況)。在云環(huán)境中,我們可以根據(jù)該應用程序請求量更高效地管理資源以及有效地按需釋放資源。
根據(jù)使用計算成本:用工具式的定價,可以只對已使用的基礎設施付費而不必支付那些分配了但未使用的基礎設施。這增加了一個節(jié)省成本的新維度。當部署了優(yōu)化補丁來更新云應用時,你可以立竿見影地看到成本節(jié)約(有時會提前出現(xiàn)在下個月的賬單里)。例如,如果一個緩存層可以減少70%的數(shù)據(jù)請求,你馬上就可以在下一個賬單里看到回報。此外,如果您正在云上構建一個平臺,同樣可以把這個靈活可變的基于使用的成本結構傳遞給自己的客戶。
縮短產(chǎn)品上市時間:并行化是加快處理速度的重要方式。如果一個計算密集型或數(shù)據(jù)密集型任務在一臺機器上并行處理需要運行500小時,通過云架構,能夠復制并運行500個實例來處理相同的任務,并在1小時內(nèi)完成。具有彈性的基礎設施提供了利用并行化的成本效益來縮短產(chǎn)品上市時間的能力。
#p#
云計算的技術優(yōu)勢:
云計算的技術優(yōu)勢如下:
- 自動化 :“腳本化的基礎設施”:可以通過充分利用可編程(API驅(qū)動的)基礎設施,可重用構建和部署系統(tǒng)。
- 自動擴展:無需任何人工干預,就可以根據(jù)需求對應用進行雙向擴展。自動縮放提高了自動化程度從而更加高效。
- 主動擴展:基于需求預期和流量模式的合理規(guī)劃,可以對應用進行雙向擴展讓從而保持低成本運營。
- 更有效的開發(fā)周期:可以很容易地克隆開發(fā)和測試環(huán)境到生產(chǎn)系統(tǒng)。不同階段的環(huán)境可以很容易地推廣到生產(chǎn)系統(tǒng)。
- 改進的可測性:不需要進行硬件耗盡的測試。注入和自動化測試能夠持續(xù)在開發(fā)過程的每一個階段。我們可以建立一個預配置環(huán)境——“即時測試實驗室”,僅用于一段時間的測試。
- 災難恢復和業(yè)務連續(xù)性:云服務為維護一系列DR服務器和數(shù)據(jù)存儲提高了低成本選擇。使用云服務,你可以在幾分鐘內(nèi)完成將某一地點的環(huán)境復制到其他地域的云環(huán)境中。
- 流量溢出到云環(huán)境:通過幾次點擊和有效的負載均衡策略,可以創(chuàng)建路由將超出的訪問流量轉(zhuǎn)移到云環(huán)境中的一個完整的防溢應用程序。
云計算中的基本理念
云計算強化了構建高度可擴展互聯(lián)網(wǎng)架構的一些基本理念,同時引入了一些新的概念完全該變量應用的構建和部署方式。因此,當你在從概念設計到實施的過程中,你可能會感到“什么都變了,卻又沒什么不同”。云計算改變了處理方式,模式,實踐方式,甚至哲學理念,同時強化了傳統(tǒng)的SOA原則,這些原則比以前更加重要。在本節(jié),你將看到云計算中的新概念以及對SOA原理的重申。
構建傳統(tǒng)應用時,權衡體系結構和經(jīng)濟性之間的關系需要大量的開發(fā)經(jīng)驗. 云計算帶來了新的理念,現(xiàn)探討如下:
構建可擴展架構:
為了獲得一個可擴展基礎設施的好處,構建一個可擴展的架構非常關鍵。
云計算在設計上提供了概念上的無限可擴展。但是,如果你的架構部署可擴展的,也無法使用到云計算的可擴展性帶來的優(yōu)勢。
你必須確定架構中的瓶頸和單點組件,確定架構中哪些是不能按需部署的部分,然后重構應用來調(diào)整為可擴展的架構,從獲得云計算的益處。
一個真正可擴展應用的特點:
- 增加資源就可以按比例增加性能
- 一個可擴展的服務可以處理異構的兼容性
- 一個可擴展的服務可以有效的運營
- 一個可擴展的服務是彈性的
- 一個可擴展的服務能夠在業(yè)務增長時成本更低(單位成本隨著單元的增加而遞減)
這些特性應該是應用中的固有部分,在架構設計時要銘記于心,基礎設施和應用架構要協(xié)同工作完成可擴展性。
對彈性的理解
下圖解釋了一個云應用架構中按需擴展的不同方法。
放大擴展的途徑: 使用可擴展的應用架構不用擔心為了滿足需求而大規(guī)模投資以及購買更強大的服務器(垂直擴展)這種方法通常工作到一個點,但是在新設備部署前就可以降低成本 (見圖中的“Huge capital expenditure” )或者滿足業(yè)務增長的需要 (見圖中“You just lostyour customers”).
傳統(tǒng)向外擴展的途徑: 創(chuàng)建水平擴展的架構和投資小塊的基礎設施。大多數(shù)業(yè)務或大規(guī)模web應用都采用如下的模式,分布式應用組件,聯(lián)合數(shù)據(jù)集和SOA的設計。 這種方法通常比放大擴展更有效。然而,這需要準確的業(yè)務預期才能實現(xiàn)滿足需求的部署。經(jīng)常會導致容量過剩(“燒錢”) 和持續(xù)人工監(jiān)測 (“浪費人力成本”).此外,如果遇到業(yè)務的爆發(fā)式增長,系統(tǒng)將無法正常工作。
注意:這兩種方法具有初始啟動成本,而且在本質(zhì)上是被動的。
傳統(tǒng)結構一般要預測幾年內(nèi)系統(tǒng)所需資源的數(shù)量,如果預計不足,應用將沒有馬力處理預期外的流量,從而導致客戶的不滿。如果預計過高,又造成資源浪費。
按需部署和彈性是云計算的天然方式(自動彈性),使基礎設施與真實需求盡量匹配,因而可以提供資源利用率及壓縮成本。
彈性是云計算的一個基礎屬性。彈性通過微量的調(diào)整即可實現(xiàn)計算資源的可擴展性增減。彈性給云計算帶來絕對的優(yōu)勢,這非常重要。 作為云計算架構,要牢記這一概念,并應用到系統(tǒng)架構中,才能獲得云計算的***利益。
傳統(tǒng)上,以一個固定的預部署的剛性基礎設施來構建應用,公司不需要每天都要進行安裝部署。結果使大多數(shù)軟件架構不適用快速部署和硬件縮減。既然獲取新資源需要較高的實施時間和追加投資,軟件架構也不會在硬件利用率的優(yōu)化是投入時間和資源,應用在低使用率的硬件上運行時可以接受的。在分鐘級獲得新資源是不可能的,所以一個架構的彈性也是被忽略的。
在云計算中,這是觀念的改變。云計算以流水線處理的方式獲取所需資源,不再需要預先采購設備和保留閑置的硬件。云架構可以在幾分鐘內(nèi)完成資源采購或者自動化采購,從而擁有了大量擴展和響應時間的優(yōu)勢,同樣,也可以釋放掉那些閑置的或低利用率的資源。如果在你的系統(tǒng)架構中不能擁抱這樣的變化,就不能分享云計算的全部好處。
作為一個云應用架構師,你需要創(chuàng)造性地思考在應用系統(tǒng)中實現(xiàn)彈性。 例如,基礎設施被用來白天運行,晚上構建,在凌晨2點執(zhí)行回歸和單元測試兩個小時 ,其他時間都是空閑的?,F(xiàn)在,基礎設施有了彈性, 可以只支付晚上兩個小時的計算時間。類似的,內(nèi)部故障經(jīng)常出現(xiàn)在容量的峰值(例如5 服務器 24x7x365),現(xiàn)在可以按照流量模式來按需配置(如5 服務器從9AM 到 5 PM 運行,而只用2個服務器在5 PM 到 9 AM運行)。
云架構的智能彈性設計使基礎設施能夠按需運行,這本身就是一門藝術。彈性應該是一種架構設計的需求或者系統(tǒng)屬性。你可能會問:系統(tǒng)架構中的哪些組件或者層次可以成為彈性的?用什么技術可以使這些組件變得有彈性? 實現(xiàn)彈性對系統(tǒng)架構的整體有何影響?
在下一章,將會展示在應用中實現(xiàn)彈性的相關技術。有效地利用云計算的彈性優(yōu)勢,是架構中非常重要的觀念。
無懼約束
當你決定架構應用向云計算遷移的時候,或者將自己的系統(tǒng)規(guī)范映射成云服務時,要注意到云計算中沒有原來所需的準確資源定義。例如,云計算中一個服務器沒有RAM的數(shù)量,或者一個數(shù)據(jù)庫實例需要更多的IOPS。
要理解云計算提供的是抽象資源,這才使按需實施模式變得強大。當使用云資源時不用擔心不夠用,你的硬件沒有真正確切地復制在云環(huán)境中,這非常重要,你能夠獲得任何你所需要的資源。
例如,云計算沒有告訴你一個服務器中確切的內(nèi)存數(shù)量,使用了向memcached的分布式緩存,或者將數(shù)據(jù)在多個服務器上做了分區(qū)。如果你的數(shù)據(jù)庫需要更多的IOPS,且不能映射到云中的服務,可以根據(jù)使用用例和數(shù)據(jù)類型選擇其他的云計算方案。如果是一個重度讀應用,你可以將這些讀請求分布到一組同步的從服務中。另一種方法是,采用分片算法來路由數(shù)據(jù),或者采用各種數(shù)據(jù)庫集群解決方案。
回顧一下, 當你將靈活性和按需實施能力結合在一起的時候,就已經(jīng)意識到資源約束的解除顯然提高了可擴展性,改善了系統(tǒng)的整體性能。
虛擬化管理
云計算的到來將系統(tǒng)管理員的角色變成了“虛擬系統(tǒng)管理員”。這意味著這些管理員們更關注應用本身那些有趣的事情,以及從整體上決定哪些對業(yè)務是***的。系統(tǒng)管理員不再需要部署服務器,安裝軟件以及連接網(wǎng)絡設備,所有這繁復的工作都可以通過幾下點擊和幾個命令行調(diào)用就完成了?;A設施的可編程化使云計算自動化程度更高。系統(tǒng)管理員需要升級自己的技術結構來學習如何使用腳本管理抽象的云資源。
類似地,DBA的角色也變成了“虛擬DBA”,通過基于web的終端管理資源,執(zhí)行腳本在容量用光時增加新的數(shù)據(jù)庫容量,以及每天的自動化處理。
虛擬DBA必須學習新的部署方法(通過虛擬機鏡像),擁抱新的模型 (并行查詢,遠程災備和異步復制),反思數(shù)據(jù)的架構方法 (分片,水平分區(qū),聯(lián)盟) 以及針對不同數(shù)據(jù)集采用不同的云存儲服務。
在傳統(tǒng)企業(yè)中,應用開發(fā)者沒有和網(wǎng)絡管理員在一起緊密的工作,網(wǎng)絡管理員也沒有關于應用的膠水。結果是,網(wǎng)絡層和應用架構層優(yōu)化經(jīng)常被忽略。 通過云計算,二者被凝聚在一起,在將來做應用架構的時候,公司將形成更多的跨團隊融合。
博文出處:http://blog.csdn.net/wireless_com/article/details/43305701