同步盤牽手阿里云:構建企業文檔管理利器
同步盤是由易美云研發和運營的面向企業的在線云服務,同步盤以安全的企業數據存儲為基礎,在其上提供了多種在線的數據展示、文件編輯、數據共享與協作的功能,為企業解決文檔協作的相關問題。
當前市場中已經有了不少的網盤產品,與一般的網盤產品相比,同步盤是一個面向企業級的云存儲產品,同步盤立足于滿足企業對安全數據存儲的需求,更加致力于開發基于企業文檔之上的協作和溝通服務。企業在同步盤的幫助之下會逐步積累體現企業核心價值的知識庫,構建關鍵業務流,共享各個離散的業務系統輸出的文檔和數據,進一步發揮出企業的競爭力。
云計算探索之路
作為SaaS云存儲服務提供商,同步盤也是國內云計算技術的先行者之一。我們對于云計算相關的技術有著較為深刻的理解與認識。采用云計算技術作為底層的支撐對于我們也是一種自然的選擇。在同步盤創建之初,Amazon的S3和EC2平臺在國外已經經營了多年,并積累了很好的口碑,Amazon平臺實際上也成為了國外創業公司的首選,但國內的IaaS和PaaS服務那時還處于剛起步的狀態,因此當時,我們也采用了傳統的自建IDC及分布式機群的方式來構件我們的應用。
自建IDC實際上是一項復雜的系統工程,尤其是對于網盤這樣的復雜地交互式應用來說,對于底層平臺的穩定性、擴展性,數據傳輸的高效性都有較高的要求。且當業務擴展的時候,底層的數據存儲平臺還要能夠無縫地擴充,這些都是對系統運維的挑戰。首先作為一個的數據存儲平臺,分布式文件系統是必不可少的。我們當時也搭建了自己的分布式文件系統機群。隨著業務的發展,我們的服務器要不斷擴容,且擴容的過程對于上層應用來說要保證是透明的。在這個過程中我們積累了一些經驗,開發人員當時做了很多自動化的工具來保證這些運維工作的高效性。例如,我們盡量保證硬件資源和軟件資源的同質化,也就是機器的硬件配置和軟件環境基本上都是相同的;同時我們自己維護了一套公司的軟件依賴庫,每個機器的初始化和依賴更新過程都是全自動的等等。在當時看來,我們的運維工作做的還算不錯,不過隨著機器的不斷增加,可以想象到,這一部分的工作也會越來越重。
自建IDC的另一個更大的挑戰就是如何保證網絡帶寬的質量。網盤是一個對于網絡帶寬質量非常敏感的應用,而國內IDC的帶寬環境又非常復雜。不同地方的帶寬價格差距很大,質量卻又參差不齊。我們的服務要保證聯通、電信、移動三家運營商的用戶都能高速訪問,一些IDC可以提供多線BGP的帶寬,但價格昂貴,擴展起來也很不方便。因此自建IDC的過程中,對于帶寬質量的選擇和測試就要花掉很多時間和功夫。
因此2011年我們希望參考國外的Dropbox和Amazon的合作模式,在國內尋找一家云計算平臺服務提供商進行合作。在這樣的合作模式下,底層的云計算平臺將會成為我們整個產品技術體系重要的組成部分,因此我們的選擇是非常謹慎。我們認為云計算平臺不僅應該包含有從存儲到計算的完整的服務,同時應該延伸出一個健康的生態環境。我們不僅僅看重平臺本身所提供的核心產品的功能與品質,也非常看重使用云計算平臺后能夠得到的技術服務以及它背后生態系統給予的各項支持。同時對于一個平臺系統來說,開放性也是我們關注的重要方面,強大的開放性更適合我們這種技術型的創業公司更好的發展自身業務。
2011年底的時候在充分調研了國內幾家云計算平臺之后,同步盤開始與阿里云合作,將服務整體遷移到阿里云平臺之上,開始陸續使用阿里云的相關服務,包括OSS(開放存儲服務)、OTS(開放數據處理服務)、RDS(關系型數據庫服務)、云服務器、云盾、云監控、SLB(負載均衡服務)等。隨著這些云服務的使用,我們系統運維的效率有了一個較大的提升。雖然硬件使用的成本略有提升,但綜合算起來,相當于我們把部分底層運維的業務“外包”給了阿里云,所以整體成本是下降的。而且我們獲得了阿里云平臺提供的高效運維能力。
云平臺中的系統架構優化與運維經驗
遷移到阿里云平臺之后,我的一個深刻感受是,系統運維所面對的問題有了很大的變化。自建機群的時候,我們需要花費很多的精力來維護底層的機群環境和網絡環境,同時我們也要花大量的精力來保證分布式系統的高速訪問和高可用性。在云計算環境中,這些問題的優先級降低了很多,因為阿里云的同事們幫我們提供了一個相對穩定的底層系統。我們的精力可以更多的花在產品功能的演進之上。
在這里我可以和大家分享幾個阿里云環境中,我們運維的小經驗。
1. 優化方法比解決問題重要。優化方法是我們團隊工作的一個重要原則。作為一個創業公司,我們經常會面臨各種的問題。而解決問題的效率是一個創業公司生存的關鍵。對于運維工作更是如此,每天對幾十臺機器的部署和維護,如果沒有優化的方法的話,會占據我們大量的時間。因此我們搭建了大量的監控系統,精確到秒級的日志流過濾系統,通過這些系統能夠實時的檢查到系統的運行狀態。
2. 圖形化一切可以圖形化的東西。在最早的時候,我們的運維同學每天都要跑腳本算日志,然后將結果導出到excel中,這種工作的效率非常低下。本著優化方法的思路,我們構建了自己的日志管理系統,所有的日志都會發送到統一的日志管理平臺來處理,且通過Ganglia實時畫成曲線。例如實時的QPS,每個API的響應時間,都是圖形化訪問的。我們通過這個系統解決了很多之前忽略掉的問題。
3. 通過算法來降低成本。這是我們針對云平臺做的一個優化。阿里云OSS為我們提供了穩定的存儲和高速的帶寬,但是按照流量收費的模式是我們運營成本的一大來源。與此同時,我們的服務器是按照帶寬收費的,低峰時段,帶寬的利用率并不高。因此我們所做的一個優化就是將數據下載流在OSS與我們的云服務器之間進行調度。我們根據用戶的歷史記錄信息,確定用戶的數據工作集,將工作集中的數據在oss和我們服務器之間做數據調度。我們通過這一技術,降低了30%以上的流量成本。
云計算:中小企業創業的催化劑
從國外云計算的發展經歷來看,云計算平臺對于中小企業的創業起到了一個催化劑的作用。例如Dropbox、Netflix等,美國已經有大批基于AWS的成功創業案例。國內的云計算市場這幾年也開始了高速的發展。客觀地講,國內現有的云計算平臺和國外成熟的云計算平臺如AWS等相比,還是有一定差距的。無論是國內的云計算平臺公司,還是開始嘗試使用云服務的中小企業來說,都還需要不斷的實踐、磨合與完善。作為構建在云計算平臺之上的云計算應用服務提供商,同步盤愿意與同行探討、交流云計算技術,分享云服務的使用體驗,同時與阿里云這樣的云計算平臺共同成長,為企業提供安全可靠的文件存儲與協作服務,一起積極推進云計算在國內的發展。