前言
臺風蘇迪羅于8月8日登陸我國沿海,臺灣、福建、江西、浙江、安徽、江蘇等地均受到影響。
“臺風到哪里了”,這兩天又成了一個全民話題。
浙江省水利廳研發的臺風路徑實時發布系統,可以讓任何一個人都能通過網絡及時了解臺風信息。
臺風的季節性反應在IT系統上,是訪問量波峰和波谷的巨大差異。
隨著關注度的提升,這種差異被不斷拉大。臺風來的時候需要緊急擴容,臺風走了機器就閑置了。冗長的采購擴容流程和機器的復用問題難以解決。
2012年,浙江省水利廳選擇將系統遷移到阿里云上,借助云計算的彈性應對巨大的峰谷差異。
臺風帶來的苦惱
服務器無法靈活的增刪
先看一下網站近些年的業務量變化情況(由于缺少2012年及之前的數據故只能用現在的數據來讓大家有個直觀的感受):
2012年“海葵”期間峰值PV達到350W,UV達到120W
2015年“燦鴻”期間峰值PV達到1434W,UV達到508W
這些業務高峰基本上都是每年的7月至10月間產生的,其余時間網站訪問量只有幾千。對,沒錯,就是幾千。
從數據來看,三年時間網站的關注度有了近5倍的增長。
與之對應的服務器數量,也是隨著季節變化而變化。
比如平常只需要2臺服務器即可,但是臺風來了就需要增加到12臺,那么10臺物理機采購就需要近30W塊,但是臺風過后這10臺物理機又沒有任何負載了,怎么安置他們又是個問題。
未來,這一問題可能還會進一步加劇。
運維成本太高
由于浙江省水利廳內部IT平臺較多,人員較少,沒有辦法安排專門的運維工程師和DBA來支持臺風網站,平時都是由開發人員來兼職。
需要每個月基于網站的訪問情況和歷史數據,對平臺服務器數量進行評估、調整,人力和工作量較大。
如果產品可以承擔大部分的運維工作,做到自動化處理服務器的增刪,數據庫的備份等工作,那么將大大的節省了成本,并且能將更多的精力集中在臺風平臺的優化、業務邏輯優化上。
攻擊無解
普通的IDC和自建機房最怕的就是大流量DDoS攻擊,這種攻擊會導致機房出口線路擁塞,影響該機房所有用戶和業務。
綜上所述,顯然這種傳統的處理方式反應速度太慢。對于臺風路徑實時發布系統這種災害預警網站,如果長時間無法打開,容易影響到臺風期間大家的日常生活安排。
畢竟現在通過手機就可以第一時間獲取最新的臺風位置等信息,非常便捷。
云計算如何應對臺風
第一階段
之前傳統的方式會經常遇到“平常時刻好用不要用,關鍵時刻想用不能用”的尷尬局面。
于是浙江省水利廳在2012年做出創新,將臺風網站遷入阿里云,當時主要考慮到平穩上云,所以并未對網站架構等做大量調整。當初僅使用了阿里云的云服務器(ECS)、負載均衡(SLB)和開放存儲服務(OSS)產品。
上云之后,浙江省水利廳確實體會到了按量購買、快速調整的便利性,再無之前的顧慮。
當時的網站架構簡單的描述如下:


經過這樣的改造后,當年網站僅用5臺云服務器就成功的支撐了峰值350W的訪問量。
第二階段
臺風網站下一步需要對外提供移動端的支持,一旦移動端開放了,那么訪問量將會劇增,畢竟移動端的便利性是PC端無法比擬的。
同時臺風網站初次改版上云后發現使用開放存儲服務(OSS)來做臺風路徑數據、云圖數據的中轉還是會有延時的問題。
于是,浙江省水利廳又再次對網站架構及產品使用上做了如下調整:


云服務器(ECS)里的網站環境部署及網站代碼調整優化,與數據盤解耦,軟件及數據全部放置到系統盤。
使用該系統盤制作自定義鏡像,后面擴容機器即可使用自定義鏡像快速擴容無需重新配置環境和拷貝網站數據。
啟用彈性伸縮服務(ESS),對同一角色的服務器性能評估并在SLB中自動完成擴容、縮容,解放人力、提升效率。
將臺風路徑數據從開放存儲服務(OSS)里遷移到云數據庫(RDS)中。可以保證各WEB服務器獲取到的臺風路徑數據的實時性和一致性。
由于臺風路徑數據同步周期為1個小時及以上,所以網站前端機沒有必要每次訪問都調用數據庫。在網站前端機中配置緩存,節省數據庫的資源,提升網站訪問體驗。
經過這樣改造后,今年“燦鴻”期間,峰值PV達到1434W,UV超過500萬,其中有1000W的訪問量來至于移動端。
第三階段
臺風期間使用高防IP功能
高防IP是將大量攻擊用戶的流量引入到高防平臺,由平臺進行分析過濾,將正常的請求轉發給真實的業務服務器。
阿里云安全品牌云盾的DDoS高防IP是東半球最大的高防中心,防御DDoS、CC攻擊。用戶無需部署,支持一鍵彈性升級防御量。
網站架構持續優化
“燦鴻”期間的峰值PV里有70%的流量是來自于移動端,且網站的訪問量增長劇烈。
需要結合阿里云更多的產品,對自身架構上做些改造以應對未來的高速發展。
備注
云服務器(ECS)
一種簡單高效,處理能力可彈性伸縮的計算服務助您快速構建更穩定、安全的應用。
提升運維效率,降低IT成本。
負載均衡(SLB)
對多臺云服務器進行流量分發的負載均衡服務。
SLB可以通過流量分發擴展應用系統對外的服務能力,通過消除單點故障提升應用系統的可用性。
開放存儲服務(OSS)
對外提供的海量、安全和高可靠的云存儲服務。
RESTFul API的平臺無關性,容量和處理能力的彈性擴展,按實際容量付費真正使您專注于核心業務。
彈性伸縮服務(ESS)
根據用戶的業務需求和策略,自動調整其彈性計算資源的管理服務。
其能夠在業務增長時自動增加ECS實例,并在業務下降時自動減少ECS實例。
云數據庫(RDS)
是構建在SSD盤上,完全兼容MySQL,SQLServer,PostgreSQL協議的關系型數據庫服務。
采取主從雙機熱備架構,具有多重安全防護措施和完善的性能監控體系,并提供專業的數據庫備份、恢復及優化方案。
開放緩存服務(OCS)
是在線緩存服務,為熱點數據的訪問提供高速響應。
高防DDoS專家服務
是一項防御DDoS攻擊的托管服務。
主要內容包括:防護策略托管、攻擊實時監控與及時通知用戶、階段性網絡威脅分析報告和用戶重大活動安全保障。
更多云產品:http://click.aliyun.com/m/1332/