在亞馬遜Web服務(wù)的世界中經(jīng)常會(huì)聽到兩個(gè)短語(yǔ):DevOps文化和云原生應(yīng)用。但是它們到底意味著什么呢?如何在現(xiàn)實(shí)世界中實(shí)現(xiàn)呢?一家初創(chuàng)公司已經(jīng)結(jié)合了這兩個(gè)概念,創(chuàng)建了一個(gè)應(yīng)用,展示了用亞馬遜Web服務(wù)(AWS)云可以做什么。
Ekho的同名應(yīng)用套件為客戶提供了各種數(shù)據(jù)挖掘Focus set,涉及到社交媒體流這樣的數(shù)據(jù)源。這可以幫助用戶度量廣告和市場(chǎng)營(yíng)銷的執(zhí)行情況,而且可以預(yù)設(shè)目標(biāo)銷售機(jī)會(huì),接觸到最可能的買家。Focus set通過他們的Web瀏覽器為終端用戶進(jìn)行展示。
訂閱“AWS中文技術(shù)社區(qū)”微信公眾號(hào),實(shí)時(shí)掌握AWS技術(shù)及產(chǎn)品消息!
AWS中文技術(shù)社區(qū)為廣大開發(fā)者提供了一個(gè)Amazon Web Service技術(shù)交流平臺(tái),推送AWS最新資訊、技術(shù)視頻、技術(shù)文檔、精彩技術(shù)博文等相關(guān)精彩內(nèi)容,更有AWS社區(qū)專家與您直接溝通交流!快加入AWS中文技術(shù)社區(qū),更快更好的了解AWS云計(jì)算技術(shù)。
該公司的創(chuàng)始人兼CEO Kent Langley表示,有時(shí)候,挖掘社交媒體流可以生產(chǎn)億萬(wàn)數(shù)據(jù)點(diǎn),Ekho的系統(tǒng)必須徹底貫穿并且分析。還有些時(shí)候,這個(gè)系統(tǒng)可能發(fā)現(xiàn)數(shù)以萬(wàn)計(jì)的數(shù)據(jù)點(diǎn)替代。可以擴(kuò)展和收縮應(yīng)用,而且基礎(chǔ)的AWS基礎(chǔ)架構(gòu)可以讓Ekho管理非常廣泛的工作負(fù)載。
“如果沒有亞馬遜我們還會(huì)存在嗎?答案是也許吧,”Langley說道,“但是我會(huì)花費(fèi)更多量級(jí)的成本才能達(dá)到我們現(xiàn)在所企及的高度,以及我們所擁有的能力。”
Ekho平均運(yùn)行著大約32個(gè)彈性計(jì)算云實(shí)例,具體數(shù)量根據(jù)工作負(fù)載有所不同。但是這僅僅是冰山一角:在AWS簡(jiǎn)單存儲(chǔ)服務(wù)或者S3中,還有計(jì)算實(shí)例訪問和億萬(wàn)記錄分析。
該公司還是用Glacier進(jìn)行長(zhǎng)期的數(shù)據(jù)存儲(chǔ),在最終分析完成之前,DynamoDB用來存儲(chǔ)臨時(shí)的計(jì)算結(jié)果,Elasticache是Redis內(nèi)存數(shù)據(jù)庫(kù),CloudFront內(nèi)容交付網(wǎng)絡(luò)可以用數(shù)據(jù)集在用戶的瀏覽器上執(zhí)行得更好,簡(jiǎn)單消息服務(wù)和簡(jiǎn)單郵件服務(wù)進(jìn)行內(nèi)網(wǎng)操作。
由于這些服務(wù),Ekho的運(yùn)營(yíng)極為精簡(jiǎn),僅雇傭了八名員工,五名是自己的內(nèi)部開發(fā)者。
在Ekho的DevOps文化中,應(yīng)用開發(fā)者管理所有的操作服務(wù)以及編寫代碼開發(fā)應(yīng)用。“在我自己和開發(fā)者之間,我們能夠很好地維系,”Langley說道,“我們并沒有取代操作的角色,我們只是將其分配給每一個(gè)開發(fā)者。”
因此,小型的初創(chuàng)公司也可以做大事業(yè)。“我們有個(gè)客戶說‘我們?cè)谀愕臄?shù)據(jù)庫(kù)中放了100萬(wàn)行數(shù)據(jù),’而且我不必外出購(gòu)買一個(gè)單獨(dú)的服務(wù)器,”Langley說道,“我們可以自旋增加無(wú)數(shù)個(gè)服務(wù)器,而且我們可以擴(kuò)展我們的核心基礎(chǔ)架構(gòu)組件的規(guī)模,我們處理的所有數(shù)據(jù)都在我們的數(shù)據(jù)層的核心,工作一旦完成,我們就關(guān)閉這些服務(wù)器,總共也就花費(fèi)兩個(gè)小時(shí)。”
如果Ekho正在運(yùn)行一個(gè)傳統(tǒng)的數(shù)據(jù)中心基礎(chǔ)架構(gòu),Langley說他可能就拒絕了這樣的機(jī)會(huì)。
雖然亞馬遜的可擴(kuò)展性是基礎(chǔ),能夠讓DevOps靈活實(shí)現(xiàn),實(shí)現(xiàn)正確的DevOps文化最終是人和流程的問題,遠(yuǎn)遠(yuǎn)超越了技術(shù),Langley說道。實(shí)際上,有時(shí)候亞馬遜服務(wù)的寬度和廣度導(dǎo)致了比起解決的問題更多的復(fù)雜度。正如亞馬遜的基礎(chǔ)架構(gòu)的靈活性,正確的應(yīng)用設(shè)計(jì)才能夠充分利用它。
Langley在一本書中這樣說道,優(yōu)雅地?cái)U(kuò)展是設(shè)計(jì)云原生應(yīng)用的關(guān)鍵所在。《可擴(kuò)展的藝術(shù)》講的就是他們公司應(yīng)用設(shè)計(jì)的靈感。這本書介紹了Langley的AKF可擴(kuò)展立方(Scalability Cube),這個(gè)立方體中沿著三個(gè)坐標(biāo)軸設(shè)置分別為:X、Y、Z。
在這個(gè)系統(tǒng)中,X坐標(biāo)軸可擴(kuò)展指的是服務(wù)器水平擴(kuò)展;Y坐標(biāo)軸可擴(kuò)展指的是垂直可擴(kuò)展;Z坐標(biāo)軸指的是數(shù)據(jù)優(yōu)先級(jí)。“做一個(gè)云原生應(yīng)用的關(guān)鍵就是在所有的三個(gè)坐標(biāo)軸上都能夠可擴(kuò)展,”Langley說道。
Ekho將自身也放置在Y坐標(biāo)軸擴(kuò)展性上,Langley說道,“思考Y的另一種方式就是服務(wù)層級(jí)的優(yōu)先級(jí),而且你經(jīng)常會(huì)聽到術(shù)語(yǔ)微服務(wù)架構(gòu),這就是Y坐標(biāo)軸優(yōu)先級(jí)的一個(gè)例子,即將所有的服務(wù)都分解,”他說道。
頭腦中有這些可擴(kuò)展性理念,以及一個(gè)基于Java的應(yīng)用設(shè)計(jì)框架組合,最著名的就是Akka分布式應(yīng)用框架,Ekho已經(jīng)設(shè)計(jì)了自己的應(yīng)用,能夠在完整的服務(wù)分離艙集群之間分割。這些分離艙隨后可以被放置到多個(gè)亞馬遜可用區(qū)域中;多個(gè)地域或者多個(gè)國(guó)家地域中;而且可用區(qū)域能夠?qū)崿F(xiàn)彈性和災(zāi)難恢復(fù),以及性能和可擴(kuò)展性。
原文鏈接:AWS擴(kuò)展的藝術(shù):DevOps文化和云原生應(yīng)用設(shè)計(jì)
如您需要了解AWS最新資訊或是技術(shù)文檔可訪問AWS中文技術(shù)社區(qū);如您有更多的疑問請(qǐng)?jiān)贏WS技術(shù)論壇提出,稍后會(huì)有專家為您進(jìn)行答疑。