前言
臺風蘇迪羅于8月8日登陸我國沿海,臺灣、福建、江西、浙江、安徽、江蘇等地均受到影響。
“臺風到哪里了”,這兩天又成了一個全民話題。
浙江省水利廳研發(fā)的臺風路徑實時發(fā)布系統(tǒng),可以讓任何一個人都能通過網(wǎng)絡及時了解臺風信息。
臺風的季節(jié)性反應在IT系統(tǒng)上,是訪問量波峰和波谷的巨大差異。
隨著關注度的提升,這種差異被不斷拉大。臺風來的時候需要緊急擴容,臺風走了機器就閑置了。冗長的采購擴容流程和機器的復用問題難以解決。
2012年,浙江省水利廳選擇將系統(tǒng)遷移到阿里云上,借助云計算的彈性應對巨大的峰谷差異。
臺風帶來的苦惱
服務器無法靈活的增刪
先看一下網(wǎng)站近些年的業(yè)務量變化情況(由于缺少2012年及之前的數(shù)據(jù)故只能用現(xiàn)在的數(shù)據(jù)來讓大家有個直觀的感受):
2012年“???rdquo;期間峰值PV達到350W,UV達到120W
2015年“燦鴻”期間峰值PV達到1434W,UV達到508W
這些業(yè)務高峰基本上都是每年的7月至10月間產(chǎn)生的,其余時間網(wǎng)站訪問量只有幾千。對,沒錯,就是幾千。
從數(shù)據(jù)來看,三年時間網(wǎng)站的關注度有了近5倍的增長。
與之對應的服務器數(shù)量,也是隨著季節(jié)變化而變化。
比如平常只需要2臺服務器即可,但是臺風來了就需要增加到12臺,那么10臺物理機采購就需要近30W塊,但是臺風過后這10臺物理機又沒有任何負載了,怎么安置他們又是個問題。
未來,這一問題可能還會進一步加劇。
運維成本太高
由于浙江省水利廳內(nèi)部IT平臺較多,人員較少,沒有辦法安排專門的運維工程師和DBA來支持臺風網(wǎng)站,平時都是由開發(fā)人員來兼職。
需要每個月基于網(wǎng)站的訪問情況和歷史數(shù)據(jù),對平臺服務器數(shù)量進行評估、調(diào)整,人力和工作量較大。
如果產(chǎn)品可以承擔大部分的運維工作,做到自動化處理服務器的增刪,數(shù)據(jù)庫的備份等工作,那么將大大的節(jié)省了成本,并且能將更多的精力集中在臺風平臺的優(yōu)化、業(yè)務邏輯優(yōu)化上。
攻擊無解
普通的IDC和自建機房最怕的就是大流量DDoS攻擊,這種攻擊會導致機房出口線路擁塞,影響該機房所有用戶和業(yè)務。
綜上所述,顯然這種傳統(tǒng)的處理方式反應速度太慢。對于臺風路徑實時發(fā)布系統(tǒng)這種災害預警網(wǎng)站,如果長時間無法打開,容易影響到臺風期間大家的日常生活安排。
畢竟現(xiàn)在通過手機就可以第一時間獲取最新的臺風位置等信息,非常便捷。
云計算如何應對臺風
第一階段
之前傳統(tǒng)的方式會經(jīng)常遇到“平常時刻好用不要用,關鍵時刻想用不能用”的尷尬局面。
于是浙江省水利廳在2012年做出創(chuàng)新,將臺風網(wǎng)站遷入阿里云,當時主要考慮到平穩(wěn)上云,所以并未對網(wǎng)站架構等做大量調(diào)整。當初僅使用了阿里云的云服務器(ECS)、負載均衡(SLB)和開放存儲服務(OSS)產(chǎn)品。
上云之后,浙江省水利廳確實體會到了按量購買、快速調(diào)整的便利性,再無之前的顧慮。
當時的網(wǎng)站架構簡單的描述如下:
經(jīng)過這樣的改造后,當年網(wǎng)站僅用5臺云服務器就成功的支撐了峰值350W的訪問量。
第二階段
臺風網(wǎng)站下一步需要對外提供移動端的支持,一旦移動端開放了,那么訪問量將會劇增,畢竟移動端的便利性是PC端無法比擬的。
同時臺風網(wǎng)站初次改版上云后發(fā)現(xiàn)使用開放存儲服務(OSS)來做臺風路徑數(shù)據(jù)、云圖數(shù)據(jù)的中轉(zhuǎn)還是會有延時的問題。
于是,浙江省水利廳又再次對網(wǎng)站架構及產(chǎn)品使用上做了如下調(diào)整:
云服務器(ECS)里的網(wǎng)站環(huán)境部署及網(wǎng)站代碼調(diào)整優(yōu)化,與數(shù)據(jù)盤解耦,軟件及數(shù)據(jù)全部放置到系統(tǒng)盤。
使用該系統(tǒng)盤制作自定義鏡像,后面擴容機器即可使用自定義鏡像快速擴容無需重新配置環(huán)境和拷貝網(wǎng)站數(shù)據(jù)。
啟用彈性伸縮服務(ESS),對同一角色的服務器性能評估并在SLB中自動完成擴容、縮容,解放人力、提升效率。
將臺風路徑數(shù)據(jù)從開放存儲服務(OSS)里遷移到云數(shù)據(jù)庫(RDS)中??梢员WC各WEB服務器獲取到的臺風路徑數(shù)據(jù)的實時性和一致性。
由于臺風路徑數(shù)據(jù)同步周期為1個小時及以上,所以網(wǎng)站前端機沒有必要每次訪問都調(diào)用數(shù)據(jù)庫。在網(wǎng)站前端機中配置緩存,節(jié)省數(shù)據(jù)庫的資源,提升網(wǎng)站訪問體驗。
經(jīng)過這樣改造后,今年“燦鴻”期間,峰值PV達到1434W,UV超過500萬,其中有1000W的訪問量來至于移動端。
第三階段
臺風期間使用高防IP功能
高防IP是將大量攻擊用戶的流量引入到高防平臺,由平臺進行分析過濾,將正常的請求轉(zhuǎn)發(fā)給真實的業(yè)務服務器。
阿里云安全品牌云盾的DDoS高防IP是東半球最大的高防中心,防御DDoS、CC攻擊。用戶無需部署,支持一鍵彈性升級防御量。
網(wǎng)站架構持續(xù)優(yōu)化
“燦鴻”期間的峰值PV里有70%的流量是來自于移動端,且網(wǎng)站的訪問量增長劇烈。
需要結合阿里云更多的產(chǎn)品,對自身架構上做些改造以應對未來的高速發(fā)展。
備注
云服務器(ECS)
一種簡單高效,處理能力可彈性伸縮的計算服務助您快速構建更穩(wěn)定、安全的應用。
提升運維效率,降低IT成本。
負載均衡(SLB)
對多臺云服務器進行流量分發(fā)的負載均衡服務。
SLB可以通過流量分發(fā)擴展應用系統(tǒng)對外的服務能力,通過消除單點故障提升應用系統(tǒng)的可用性。
開放存儲服務(OSS)
對外提供的海量、安全和高可靠的云存儲服務。
RESTFul API的平臺無關性,容量和處理能力的彈性擴展,按實際容量付費真正使您專注于核心業(yè)務。
彈性伸縮服務(ESS)
根據(jù)用戶的業(yè)務需求和策略,自動調(diào)整其彈性計算資源的管理服務。
其能夠在業(yè)務增長時自動增加ECS實例,并在業(yè)務下降時自動減少ECS實例。
云數(shù)據(jù)庫(RDS)
是構建在SSD盤上,完全兼容MySQL,SQLServer,PostgreSQL協(xié)議的關系型數(shù)據(jù)庫服務。
采取主從雙機熱備架構,具有多重安全防護措施和完善的性能監(jiān)控體系,并提供專業(yè)的數(shù)據(jù)庫備份、恢復及優(yōu)化方案。
開放緩存服務(OCS)
是在線緩存服務,為熱點數(shù)據(jù)的訪問提供高速響應。
高防DDoS專家服務
是一項防御DDoS攻擊的托管服務。
主要內(nèi)容包括:防護策略托管、攻擊實時監(jiān)控與及時通知用戶、階段性網(wǎng)絡威脅分析報告和用戶重大活動安全保障。
更多云產(chǎn)品:http://click.aliyun.com/m/1332/