Martin+Heller
編譯 Charles
不想對每個月的云賬單感到大吃一驚?采用含有容器、容量預購等措施的云成本管理策略將有助于您控制好難以駕馭的云開支。
在云中開展業(yè)務與您在本地運營是完全不同的。既然運營不同,那么控制成本的策略也就不盡相同。
從財務角度來看,數(shù)據(jù)中心需要大量的建設資金,服務器和軟件許可也需要額外的資金,還有用于服務器和冷卻系統(tǒng)供電,以及維護和管理的運營支出,這類支出雖然不多但是也非常重要。
在云中,沒有資金投入。相反,有很大的運營支出,包括服務器虛擬機實例、存儲、網(wǎng)絡、軟件許可等其他繁瑣的開支。
從成本管理角度來看,把計算負載轉移到云中有明顯的好處,但也存在重大風險。
當有人想在您的數(shù)據(jù)中心安裝新服務器機架時,需要做好訂單、等待批準、解釋理由,整個過程是完全受控的。整個過程要經(jīng)過批準,很多公司會需要6個月的時間。機架安裝好后,就沒有人再注意它負載有多重,是不是在用,除非它的負載太重以至于不能正常工作。是的,這在成本上是不明智的——所以要在數(shù)據(jù)中心推動虛擬機和容器(例如,Docker)的應用,以提高服務器的利用率。
如果有人想在云中建立新的虛擬服務器集群,可能只需要幾分鐘的時間就能夠啟動了。雖然您會有政策要求經(jīng)過管理審批后才能使用新的云資源,每個部門的云資源也都有配額,但幾乎每個有云賬戶的人在有需要時,都可以建立他們想要的東西,事后才作出解釋——如果管理層發(fā)現(xiàn)了。
如此的自由究竟是好還是不好,取決于您的觀點。從業(yè)務敏捷和開發(fā)的觀點看,這很好。從財務管理的角度來看,如果做得好,那還說得過去,否則就是潛在的災難。
在本文中,我將討論怎樣避免“讓您大吃一驚的云賬單?!蔽覐膬?yōu)化云開支的個人技術策略開始,以云開支管理的主題來結束。
資產(chǎn)利用率
據(jù)埃森哲云全球總經(jīng)理Michael Liebow,云服務會導致“僵尸災難”,不是人類的僵尸,而是僵尸服務器。僵尸服務器利用率很低甚至沒有用:花了您的錢,但沒干什么事。
Liebow和他的同事們還提到了“孤兒”,這是被遺棄的服務,使用這些服務的資源在用完后已經(jīng)被刪除了,還有“暴飲暴食者”,這是過度服務的虛擬機。如果管理不好,這三種不正常的狀態(tài)很容易讓您的云賬單猛增20%~40%。
及時地找到云中未充分利用的資產(chǎn)并非易事,也不會自動完成。云提供商的賬單只是按月提供,對于一家擁有相當規(guī)模云產(chǎn)業(yè)的大企業(yè)而言,這可能含有一億多條費用。如果您一直等著賬單生效,您才會發(fā)現(xiàn)已經(jīng)閑置了30天的虛擬機等服務還在產(chǎn)生很高的費用,早就應該被關閉或者減小其規(guī)模。
當您要管理多個云的多個帳戶對,這會變得更難。好消息是,您可以通過電子方式每天從您的云提供商那里得到賬單信息;壞消息是您可能需要許可或者開發(fā)新工具來管理你的云資產(chǎn)。
容量預購
您減少云資源開支的一種方法是以折扣價購買基本容量,這個方法可以使用多年。每一云提供商在這方面都有點不同,會定期的更改其計費策略。警告:這是一個讓人難以理解的領域,即使提供商聲稱對定價透明。
亞馬遜對其預購計劃的解釋如下:
“與按需實例定價相比,保留實例有更大的折扣(高達75%)。此外,當保留實例被分配給特定的可用性區(qū)域時,提供了容量保留,使您覺得更應該在需要時啟動實例。
對于資源使用量比較穩(wěn)定或者可預測的應用程序,保留實例要比按需實例成本低很多?!?/p>
亞馬遜建議以下情形使用保留實例:
● 資源使用量比較穩(wěn)定的應用程序
● 可能需要保留容量的應用程序
● 客戶承諾使用EC2長達1年或者3年期,以降低總計算成本
作為一個具體的例子,在北弗吉尼亞區(qū)有一個運行Linux的計算優(yōu)化c4.8xlarge虛擬機實例,它的按需成本是每小時1.591美元,提供36個虛擬CPU和60GB的內(nèi)存。如果您把這個實例保留一年,一次性提前付清,您的費率將降至每小時0.947美元,節(jié)省了40%。標準3年期也是一樣,費率降至每小時0.621美元,節(jié)省了61%。對于更靈活的可兌換的3年期,費率是每小時0.739美元,節(jié)省了54%。如果前期付款少,等效費率會略有上升,但差額與資金的時間成本大致相當。
客戶可以靈活地更改標準保留實例的可用區(qū)域、實例大小和網(wǎng)絡類型??蓛稉Q3年期保留實例更加靈活,例如,能夠使用不同的各種實例和操作系統(tǒng),還可以長期租用保留實例。
Azure在其通用D32-v3實例中有容量相似的虛擬機(CPU更少,RAM更大),它提供了32個虛擬CPU和128GB的內(nèi)存,按需成本是每小時1.60美元。Azure不提供保留實例,相反,它提供了一種企業(yè)協(xié)議,預先承諾會降低價格,盡管還沒有公布有多少折扣。
谷歌提供了具有32個虛擬CPU和120GB內(nèi)存的n1-standard-32虛擬機,每月持續(xù)使用會有折扣,成本是每小時1.52美元。您不必承諾會繼續(xù)使用更多的資源以獲得持續(xù)使用折扣,相反,它會隨著使用時間的遞增,按照25%、50%和75%的使用級別,自動應用折扣。
谷歌還針對虛擬機提供了承諾使用折扣,您可以通過購買1年或者3年的承諾合同來獲得折扣。任何應用了承諾折扣的資源將不再應用持續(xù)使用折扣。采用了承諾使用折扣后,虛擬機的價格會比普通虛擬機價格低57%。把折扣應用于某一區(qū)域大量的vCPU或者內(nèi)存,這樣,它們就不會受到實例機器類型變化的影響。承諾使用折扣沒有前期成本。每個月都會對您的賬單實行承諾折扣。美中不足的是,無論您使用與否,都要按照承諾來付費。
Spot和低優(yōu)先級實例
亞馬遜EC2 Spot實例支持您出價購買空閑亞馬遜EC2計算資源。由于Spot實例與按需定價相比通常會有折扣,因此顯著降低了運行應用程序的成本,在相同的預算下增強了應用程序的計算能力和吞吐量,并支持新類型的云計算應用。endprint
當您的出價高于Spot價格后,就會運行Spot實例,與按需實例相比,會有50%~90%的折扣。采用Spot實例,對您的收費永遠不會超過您設定的最高價格。當您的實例運行時,按照使用期間的實際使用量收取Spot費用。如果Spot費用超過了您設定的價格,在終止您的實例之前兩分鐘會通知您,不會針對您實例運行的這部分時間來收取費用。
如果您在Spot實例請求中包含了持續(xù)時間請求,那么實例會繼續(xù)運行,直到您選擇終止它,或者直到設定的時間結束為止;由于Spot價格的變化,您的實例不會被終止。據(jù)我剛剛了解到的,在北弗吉尼亞區(qū),一個c4.8xlarge實例的Spot實例運行Linux的成本是每小時0.3591美元,而按需成本則是每小時1.591美元。
Azure稱其與亞馬遜Spot實例對應的產(chǎn)品為“低優(yōu)先級”實例。據(jù)我所知,在東部區(qū),一個低優(yōu)先級D32-v3實例的成本是每小時0.345美元,按需的成本是每小時1.60美元。但是,在我的賬戶里,不能選擇這一選項。
谷歌與Spot實例等效的產(chǎn)品被稱為“搶占式實例”。對于這種搶占式的實例,您能夠以比普通實例低得多的價格來建立并運行它。然而,計算引擎如果要使用這些資源用于其他任務,那么可以終止(搶占)這些實例。搶占式實例有很大的計算引擎容量,因此,其可用性隨著使用情況而變化。在北弗吉尼亞區(qū),搶占式n1-standard-32實例目前的成本是每小時0.3424美元,而全價是每小時1.712美元,持續(xù)使用的價格是每小時1.52美元。據(jù)谷歌,對于每一項目,每7天,搶占式費率通常在5%至15%范圍內(nèi)變化。
容器
未充分利用的服務器和空間有限的新機架促使企業(yè)把數(shù)據(jù)中心的一些專用服務器轉換為虛擬機主機。然后,當虛擬機主機內(nèi)存的使用成為問題時,他們把一些虛擬機轉換為容器主機。
虛擬機的虛擬化與容器虛擬化之間的基本區(qū)別是,除了應用軟件,虛擬機含有完整的操作系統(tǒng)和一套完整的虛擬硬件,而容器只含有部分操作系統(tǒng)、部分庫和應用軟件。虛擬機和容器都支持與其他應用程序的隔離;虛擬機隔離度更高,安全性更好,但在內(nèi)存使用方面成本較高。
RAM是云中最昂貴的租用資源之一,與虛擬機相比,容器通常只需要三分之一的RAM資源來運行相同的軟件。這就使得在容器中運行您的云資產(chǎn)在成本上非常吸引人,只要您覺得隔離度低不是問題即可。
直到最近,容器的使用還局限于基于Linux的系統(tǒng),還缺少適用于容器的編排、工具支持和儀器。這些不再是真正的問題,把負載遷移到云中的容器是簡化操作和減少云開支的好方法。
在AWS,運行容器沒有額外的費用——您只需要為底層虛擬機和存儲付費。Azure允許您直接從資源池中創(chuàng)建和使用容器,每建立一個實例需要0.0025美元,每GB-秒的成本是0.0000125美元,每內(nèi)核-秒是0.0000125美元。例如,如果您一個月內(nèi)同時運行3個容器,每個容器使用1GB的內(nèi)存和2個內(nèi)核,那么您每個月為其付費不到300美元。
谷歌容器引擎在計算引擎虛擬機實例之上運行Kubernetes容器節(jié)點群;您為虛擬機付費。需要為Kubernetes管理付一些費用,6個或者多個節(jié)點集群的費用是每小時0.15美元。
無服務器計算
無服務器云計算,或者更準確的稱之為“函數(shù)即服務”,有可能大幅度減少把負載送入云端的成本和相關的工作。AWS Lambda、Bluemix OpenWhisk、谷歌云,以及Azure函數(shù)都提供了一種模型,開發(fā)人員可以在其中定義一個按需運行的函數(shù),為函數(shù)創(chuàng)建觸發(fā)器,為函數(shù)設置內(nèi)存分配。云基礎設施負責在函數(shù)需要運行時為其分配一個容器,因此開發(fā)人員不用擔心容量或者可伸縮性。
無服務器計算的成本通常包括基于觸發(fā)器的數(shù)量(一般是可以忽略不計的費用)、執(zhí)行時間和所使用的內(nèi)存量。根據(jù)不同的平臺,一個函數(shù)調(diào)用的運行時間被限制在5至10分鐘,實際更常見的是不到一秒鐘的運行時間。大部分平臺還限制了可以同時運行的函數(shù)數(shù)量,每個月為函數(shù)提供免費的捆綁容量。
作為經(jīng)驗,如果所有函數(shù)的執(zhí)行時間每個月不到一百萬秒,或者大約每個月的20%,那么使用無服務器計算函數(shù)要比運行小虛擬機便宜。不同的供應商提供的數(shù)量有所不同,您應該將函數(shù)與全價或者打折的虛擬機實例進行比較。
進行成本分析時,您還需要考慮開發(fā)和運營時間,由于大部分管理工作交給了云提供商,因此,無服務計算函數(shù)在這方面的成本要低于虛擬機。對于開發(fā)和運營成本,使用無服務器計算函數(shù)比運行小虛擬機成本更低——即使所有函數(shù)執(zhí)行使用時間達到了每個月的75%。
使用無服務器計算函數(shù)的一個缺點是計費的復雜性。如果把函數(shù)交給虛擬機,那么無論函數(shù)被調(diào)用多少次,虛擬機每個月只是生成一條計費。如果您的無服務器計算函數(shù)每個月被調(diào)用400萬次,那么計費日志中會有400萬個事件。
云開支管理
考慮到云定價的復雜性以及數(shù)據(jù)中心管理的差異,很多公司需要采用云IT開支管理的新工具。如果在互聯(lián)網(wǎng)上搜索“云開支管理”、“云成本管理”和“云管理平臺”,至少能找到6種可行的方案,以及一大堆不相干的結果。雖然您可以采用自帶的工具對資源進行標記和報告,去管理一個云平臺的使用,但如果您有兩個或者多個云提供商,就很難充分發(fā)揮云應用的優(yōu)勢,也難以管理好成本。
無論您使用什么工具,管理云開支最關鍵的一點是標記您的資源。如果你能查看計費條目,立即就能看出這是與Fizzpop產(chǎn)品相關的測試和開發(fā)費用,這要比您只知道虛擬機的序列號好得多。如果能把標記放到報告和管理工具中,這樣,您可以放大查看圖中的“僵尸”設備,看到它的目的和群組關系,您可以關掉相關設備,對沒有使用的服務器虛擬機采取一些措施。
云成本管理并非易事,如果不采用大部分IT企業(yè)應用于數(shù)據(jù)中心的ITIL流程和工具,很難進行云成本管理。為有效地管理云資產(chǎn),您應該每天都監(jiān)控您的成本,并在必要時進行干預,例如,關閉資源、縮減資源,或者使其按計劃運行,而不是一直運行它們。
Martin Heller是InfoWorld的特約編輯和審稿人。他曾是一名網(wǎng)絡和Windows編程顧問,1986年至2010年間開發(fā)過數(shù)據(jù)庫、軟件和網(wǎng)站。他最近擔任的職位是Alpha Software的技術和教育副總裁,以及Tubifi的董事長兼首席執(zhí)行官。
原文網(wǎng)址:
http://www.cio.com/article/3226377/cloud-computing/6-cloud-cost-management-tips.htmlendprint