上云不買云主機(jī),這么做省錢還安全(上)
中國企業(yè)真正的上云之路應(yīng)該是從IaaS開始的,雖然SaaS其實(shí)更早為業(yè)界所熟知和利用。這幾年也正是IaaS技術(shù)的迅速成熟以及用戶對(duì)IaaS的廣泛認(rèn)可帶動(dòng)了整個(gè)云計(jì)算產(chǎn)業(yè)的興起。
IaaS之所以能在PaaS、SaaS中脫穎而出,很大一部分原因在于,IaaS允許用戶能以一種非常簡單的方式上云:購買云主機(jī),把應(yīng)用搬到云主機(jī)中(不做或者做不多的修改)。其使用體驗(yàn)和自己的服務(wù)器上使用區(qū)別并不大,學(xué)習(xí)成本低,而收益(節(jié)省成本、彈性等)很明確。因此 IaaS很快就成為最受歡迎的云服務(wù)模式。
但是,云主機(jī)并不是上云的唯一途徑,在很多場合PaaS可能更為合適。與購買云主機(jī)相比,以PaaS服務(wù)(比如數(shù)據(jù)庫服務(wù)RDS)模式上云,不僅成本更低,運(yùn)維更簡單,也更安全。當(dāng)然,這種方式對(duì)所上云應(yīng)用的架構(gòu)和開發(fā)都有一定要求,要求用戶具有一定技術(shù)能力。因此,相比IaaS模式,采用PaaS云服務(wù)模式的用戶少得多。
本期要介紹的易縱互聯(lián)(北京)科技有限公司正式以為以PaaS服務(wù)模式上云的企業(yè),它們的經(jīng)驗(yàn)或許可以為其他上云的企業(yè)提供參考。
易縱互聯(lián)(北京)科技有限公司是由一群對(duì).NET非常熟悉的技術(shù)人員(微軟MVP和資深互聯(lián)網(wǎng)專業(yè)人士)創(chuàng)建,其核心業(yè)務(wù)51Aspx.COM(以下簡稱51Aspx)是一個(gè)微軟.Net學(xué)習(xí)、分享平臺(tái)以及源代碼交易平臺(tái),于2009年開始商業(yè)運(yùn)營。
基于團(tuán)隊(duì)成員對(duì)云技術(shù)的深刻了解,他們?cè)趯?1Aspx.COM的業(yè)務(wù)從托管服務(wù)器遷往云上的時(shí)候,沒有選擇最常見的云主機(jī)模式,而是對(duì)軟件架構(gòu)進(jìn)行了重構(gòu)后,使用了Azure的PaaS服務(wù)。此舉雖然初期費(fèi)了些功夫,但給后期帶來運(yùn)維的方便性,更好的彈性以及更經(jīng)濟(jì)的成本,這些都證明這份付出是值得的。
杜鵬是易縱互聯(lián)(北京)科技有限公司CTO,是資深全棧開發(fā)工程師,從事多年軟件開發(fā)工作,曾參與大型分布式高并發(fā)互聯(lián)網(wǎng)項(xiàng)目設(shè)計(jì)開發(fā),多次作為講師對(duì)企業(yè)內(nèi)部開發(fā)人員進(jìn)行Azure公有云培訓(xùn)。至頂網(wǎng)副總編鄒大斌對(duì)杜鵬進(jìn)行了獨(dú)家專訪,以下為專訪杜鵬的速記內(nèi)容整理。
至頂網(wǎng):請(qǐng)先介紹一下您所在的公司大體情況,比如什么時(shí)候成立,主營業(yè)務(wù)是什么?
杜鵬:我們公司2009年成立,公司有很多業(yè)務(wù),基本都是圍繞微軟的產(chǎn)品和技術(shù)開展。51Aspx.com是我們的主營業(yè)務(wù),它是一個(gè)軟件源代碼交易的平臺(tái),主要是面向.NET平臺(tái)。2009年公司開始運(yùn)營,最早采用的傳統(tǒng)的業(yè)務(wù)架構(gòu),部署在托管的服務(wù)器上。2014年我們把這個(gè)平臺(tái)的業(yè)務(wù)遷移到Azure云,算是國內(nèi)較早使用Azure云的用戶。當(dāng)年我們的這個(gè)上云項(xiàng)目案例曾參加微軟的創(chuàng)新大賽,拿到當(dāng)時(shí)企業(yè)組的冠軍。經(jīng)過差不多10年的運(yùn)營,今天的51Aspx擁有上百萬的用戶,高峰時(shí)同時(shí)上線人數(shù)能達(dá)到2000人。
對(duì)于Azure云,我們算是比較了解的,這與我們核心團(tuán)隊(duì)的背景有關(guān)系。在Azure還沒有真正在中國落地的時(shí)候,記得當(dāng)時(shí)用的還是代號(hào)“Mooncake”,我們就參與過測試和一些小的應(yīng)用開發(fā)。落地后,我們也做了一些本地化的工作。正是因?yàn)橛辛诉@些技術(shù)基礎(chǔ)后來我們的軟件架構(gòu)調(diào)整也才比較順利。
至頂網(wǎng):你們公司上云之前IT狀況是什么樣?
杜鵬:公司成立時(shí),已經(jīng)有了很多種的代碼學(xué)習(xí)和分享平臺(tái),比如ASP、PHP等。雖然種類很多,但是沒有.NET的。公司創(chuàng)世團(tuán)隊(duì)都是.NET的愛好者,決定自己做一個(gè).NET的交流平臺(tái)。剛開始是完全出于愛好做這件事情,都是免費(fèi)的。后來有一些人對(duì)代碼有了更高需求,也有人希望能交易代碼,然后就慢慢衍生出了我們今天的商業(yè)模式——代碼交易,后來跟微軟的業(yè)務(wù)逐漸增長、規(guī);,我們也走上了商業(yè)化的路線。
最早的IT系統(tǒng)主要有3臺(tái)服務(wù)器來支持:一個(gè)是做Web展現(xiàn),一個(gè)做數(shù)據(jù)庫,一個(gè)是做備份,存放我們網(wǎng)站的代碼資源、代碼壓縮包、圖片資源。服務(wù)器托管到IDC。
至頂網(wǎng):你們后來把系統(tǒng)從托管服務(wù)器遷移到Azure云上,當(dāng)時(shí)是怎么做出的這個(gè)決策?
杜鵬:我們是2014年正式上云的。其實(shí),微軟Azure在中國沒落地之前,我們?cè)囍岩徊糠謽I(yè)務(wù),包括論壇、數(shù)據(jù)備份放到Azure云上。我們之所以選擇Azure云,最主要原因在于我們對(duì)Azure有技術(shù)依賴。我們的業(yè)務(wù)與Windows平臺(tái)和Azure有關(guān),我們自己用,再給客戶進(jìn)行培訓(xùn)的時(shí)候也相對(duì)熟練一些。另一方面是我們整個(gè)團(tuán)隊(duì)對(duì)Azure相對(duì)來說比較熟悉,所以很容易地選擇了Azure。
從2014年之后,我們就完全就遷移到Azure云了。我們用的都是Azure的PaaS云服務(wù),沒有用一臺(tái)云主機(jī)或者虛機(jī)。其實(shí),我們最早進(jìn)行架構(gòu)設(shè)計(jì)時(shí)候就根本沒有考慮用云主機(jī)或者虛機(jī)。
我們知道,很多人上云就選擇IaaS,很少用PaaS。但我們對(duì)云技術(shù)以及Azure很熟悉,我們很清楚我們最合適的選擇就是PaaS,而不是IaaS。我們的系統(tǒng)從運(yùn)維、到管理、易用性等都是面向PaaS建的。當(dāng)時(shí)設(shè)計(jì)的架構(gòu)今天還是一直在運(yùn)行,未來3-5年也問題不大,當(dāng)時(shí)的設(shè)計(jì)還是比較有前瞻性的。
至頂網(wǎng):當(dāng)初你們?yōu)槭裁匆獜耐泄芊⻊?wù)器遷移到公有云?
杜鵬:我們當(dāng)時(shí)上公有云最大的需求就是解決備份問題。備份這個(gè)事當(dāng)時(shí)讓我們非常頭疼,我們備份主要是兩個(gè):一個(gè)是SQL Server數(shù)據(jù)庫的備份;另外一個(gè)是上傳的數(shù)據(jù)文件備份。我們有十幾年的數(shù)據(jù),這幾百個(gè)GB的數(shù)據(jù)文件不能丟。
原來,我們做的是服務(wù)器的備份,本地做RAID。但是我們有一次嘗試對(duì)備份進(jìn)行恢復(fù)時(shí),300G數(shù)據(jù),結(jié)果沒恢復(fù)成功,是恢復(fù)了很久后發(fā)現(xiàn)失敗的。還有一次我們遷移了超過100G的小文件,遷移花了24小時(shí)都沒遷移完。后來我們考慮,如果備份完了以后換數(shù)據(jù)中心,換服務(wù)器要做數(shù)據(jù)遷移,遷移和恢復(fù)時(shí)間特別長,這是問題。我們自己想了各種備份方案,都不是完美的。后來發(fā)現(xiàn)放到公有云上以后,有云的一式三份還有各種備份服務(wù),這對(duì)我們來說解決了大問題。
至頂網(wǎng):云是如何幫助你們解決數(shù)據(jù)備份問題了,你們單獨(dú)購買了備份服務(wù)了嗎?
杜鵬:我們沒有單獨(dú)購買備份服務(wù)。首先,云服務(wù)本身的多副本模式,讓我們基本沒有了對(duì)數(shù)據(jù)丟失的擔(dān)心。其次,對(duì)于SQL數(shù)據(jù)庫我們定期有快照進(jìn)行備份,只需支付存儲(chǔ)空間的費(fèi)用。如果有更高要求的備份,可以單獨(dú)購買服務(wù),但都非常便宜,比自己做這些事簡單多了。
至頂網(wǎng):你們沒有選最常用的IaaS服務(wù)而是選了PaaS服務(wù),背后的原因是什么?
杜鵬:我們一直對(duì)外強(qiáng)調(diào)一個(gè)理念:IaaS是云上初級(jí)的應(yīng)用,但是好多人還存在這種最低級(jí)的應(yīng)用。根據(jù)我們自己的經(jīng)驗(yàn),使用PaaS服務(wù)相比于IaaS有幾個(gè)好處:第一個(gè)是訂閱成本能降下來;第二降低了運(yùn)維成本;第三提高了安全;第四開發(fā)成本也能降低。
關(guān)于開發(fā)成本降低,我這里稍做下解釋。因?yàn)橐郧败浖_發(fā)要考慮將來如何部署和運(yùn)行,為此需要了解一些運(yùn)維方面的情況,現(xiàn)在就不需要去關(guān)心這些了。另外,上云后很多功能能直接調(diào)用云服務(wù)商的API。比如,我們?cè)瓉淼南㈥?duì)列是自己開發(fā)的。而上云后我們發(fā)現(xiàn)Azure上有Server Bus服務(wù),可以進(jìn)行多消息傳送,很可靠,而且非常便宜。
鑒于上述原因,我的建議是,企業(yè)在上云過程中能轉(zhuǎn)換PaaS服務(wù)就應(yīng)該盡量用PaaS服務(wù);實(shí)在轉(zhuǎn)換不了,比如傳統(tǒng)業(yè)務(wù)因?yàn)殚_發(fā)工作量或者沒有源代碼,沒有辦法才用云主機(jī)來運(yùn)行,只要能轉(zhuǎn)的我們會(huì)推薦直接轉(zhuǎn)到PaaS。(未來待續(xù),下期我們將繼續(xù)請(qǐng)杜鵬介紹PaaS模式的優(yōu)勢,以及這種模式對(duì)應(yīng)用架構(gòu)的具體要求)
本文章選自《數(shù)字化轉(zhuǎn)型方略》雜志,閱讀更多雜志內(nèi)容,請(qǐng)掃描下方二維碼