組織的云計(jì)算之旅通常都將內(nèi)部部署應(yīng)用程序遷移到云平臺(tái)中,而在這一過(guò)程將面臨一些挑戰(zhàn),但最終將獲得更多收益。
組織將工作負(fù)載轉(zhuǎn)移到云平臺(tái)中有時(shí)很簡(jiǎn)單,而如果可以將內(nèi)部部署服務(wù)器提升并轉(zhuǎn)移到IaaS計(jì)算平臺(tái),對(duì)組織來(lái)說(shuō)將會(huì)帶來(lái)更多好處。在某些情況下,組織將工作負(fù)載遷移到云平臺(tái)則更具挑戰(zhàn)性。例如,如果組織的工作負(fù)載涉及多個(gè)層次基礎(chǔ)設(shè)施和軟件,或者需要細(xì)致而復(fù)雜的供應(yīng)流程,那么其云計(jì)算之旅可能會(huì)困難得多。
醫(yī)療保健服務(wù)商O(píng)ptum公司首席工程師Bill Schneider在最近舉辦的Interop 2020會(huì)議中發(fā)表演講,其報(bào)告題目為“我們的云之旅如何將傳統(tǒng)應(yīng)用程序遷移到AWS云平臺(tái)”,其中討論了該公司團(tuán)隊(duì)如何應(yīng)對(duì)這些挑戰(zhàn)的經(jīng)驗(yàn)。Schneider對(duì)他及其團(tuán)隊(duì)如何將內(nèi)部部署分析應(yīng)用程序(或至少其中大部分)移至AWS云平臺(tái),為什么選擇云架構(gòu),以及自從轉(zhuǎn)移工作負(fù)載以來(lái)帶來(lái)的好處進(jìn)行了闡述和分析。
開(kāi)發(fā)和管理醫(yī)療保健數(shù)據(jù)分析工具
Schneider及其團(tuán)隊(duì)將開(kāi)發(fā)和管理應(yīng)用程序稱之為OPA,可以幫助Optum公司的客戶管理醫(yī)療數(shù)據(jù)。該應(yīng)用程序使他們能夠查找和分析患者數(shù)據(jù),并將其與醫(yī)療保健價(jià)格和所獲得的醫(yī)護(hù)質(zhì)量等因素相關(guān)聯(lián)。該應(yīng)用程序是面向公眾的資源,Optum公司的員工和客戶使用該資源。
最初,OPA是一個(gè)由四個(gè)主要組件組成的內(nèi)部部署應(yīng)用程序。首先是存儲(chǔ)Optum公司創(chuàng)建或收集的原始數(shù)據(jù)的文件;將數(shù)據(jù)從那里傳遞到Oracle數(shù)據(jù)倉(cāng)庫(kù),在那里進(jìn)行處理和重組;而在數(shù)據(jù)轉(zhuǎn)換完成之后,移動(dòng)到Oracle公司提供的數(shù)據(jù)集市;最后,通過(guò)MicroStrategy分析應(yīng)用程序從數(shù)據(jù)集市提取數(shù)據(jù),以便處理用戶查詢。
遷移到云平臺(tái)
如今,OPA主要在云平臺(tái)中運(yùn)行。雖然仍然存在內(nèi)部部署組件,因?yàn)閿?shù)據(jù)管道從內(nèi)部部署存儲(chǔ)的數(shù)據(jù)開(kāi)始,但是先上傳到AWS S3存儲(chǔ)桶,然后在將數(shù)據(jù)存儲(chǔ)到AWS Redshift之前存儲(chǔ)在其中。在Redshift中,可以通過(guò)AWS云中托管的MicroStrategy應(yīng)用程序?qū)嵗樵償?shù)據(jù)。
通過(guò)彈性負(fù)載平衡器(ELB)管理基于云計(jì)算管道的流量,這些流量將路由到不同的MicroStrategy實(shí)例。采用彈性負(fù)載平衡器(ELB),Schneider及其團(tuán)隊(duì)可以簡(jiǎn)化證書(shū)管理。他們還避免了在為OPA應(yīng)用程序添加新客戶端時(shí)更新DNS記錄。
為什么要進(jìn)行云之旅?
最初為OPA提供支持的內(nèi)部部署架構(gòu)受到一些限制。Schneider指出,除了獲得Oracle軟件許可的費(fèi)用之外,該應(yīng)用程序還面臨著擴(kuò)展方面的挑戰(zhàn),因?yàn)樗诤艽蟪潭壬弦蕾囉趦?nèi)存中的高速緩存來(lái)使報(bào)告對(duì)最終用戶作出響應(yīng)。因此,為了支持更多的客戶,Schneider和團(tuán)隊(duì)將不得不添加更多的服務(wù)器以提供更多的可用內(nèi)存。
將OPA遷移到云平臺(tái)為解決這兩個(gè)挑戰(zhàn)提供了解決方案。通過(guò)使用AWS Redshift代替Oracle的數(shù)據(jù)倉(cāng)庫(kù)和數(shù)據(jù)集市工具,Optum公司降低了其軟件許可成本。同時(shí),即使在應(yīng)用程序正在處理多達(dá)十億行數(shù)據(jù)的情況下,云平臺(tái)也使為應(yīng)用程序?qū)嵗峙涓嗷A(chǔ)設(shè)施資源變得更加容易,以確保獲得適當(dāng)?shù)男阅堋?/p>
應(yīng)用程序遷移到云平臺(tái)后出現(xiàn)的第三個(gè)優(yōu)勢(shì)是全自動(dòng)編排。Schneider及其團(tuán)隊(duì)實(shí)施了AWS Step Functions,以調(diào)用AWS Lambda中托管的代碼來(lái)處理置備和管理任務(wù)。Schneider解釋說(shuō):“每個(gè)步驟函數(shù)代表一個(gè)高級(jí)過(guò)程,例如‘執(zhí)行數(shù)據(jù)查找'或‘部署發(fā)布'。然后,這些步驟函數(shù)會(huì)調(diào)用一系列Lambda,每個(gè)Lambda都執(zhí)行獨(dú)立的任務(wù),例如設(shè)置AWS基礎(chǔ)設(shè)施或安全組。”
通過(guò)允許應(yīng)用程序?qū)嵗詣?dòng)部署,這種方法實(shí)際上消除了人工啟動(dòng)新應(yīng)用程序環(huán)境的需要。Schneider表示,與內(nèi)部部署版本的應(yīng)用程序相比,這意味著效率的巨大提高,為此,團(tuán)隊(duì)使用IaC工具(如Puppet)來(lái)協(xié)調(diào)一些管理任務(wù),但在其他方面依賴于人工的工作流程。
云之旅面臨的挑戰(zhàn)
Schneider表示,OPA的云之旅并非沒(méi)有坎坷。其中一個(gè)主要挑戰(zhàn)是為應(yīng)用程序開(kāi)發(fā)人員找到方法,使其從進(jìn)行開(kāi)發(fā)工作的內(nèi)部部署工作站安全地連接到基于云計(jì)算的環(huán)境。為此,Optum公司最初除了必須創(chuàng)建特殊的防火墻例之外,還利用了AWS的SSM服務(wù),該服務(wù)使工程師可以通過(guò)HTTPS在云中的計(jì)算機(jī)上執(zhí)行命令。
MicroStrategy的應(yīng)用程序早在云計(jì)算成為標(biāo)準(zhǔn)之前就已經(jīng)出現(xiàn),但它的設(shè)計(jì)并不是為了作為高度動(dòng)態(tài)的應(yīng)用程序堆棧的一部分運(yùn)行的。這帶來(lái)了一些問(wèn)題,但他的團(tuán)隊(duì)能夠與供應(yīng)商合作解決這些問(wèn)題。
Schneider表示,自從將應(yīng)用程序遷移到云中以來(lái),內(nèi)部的技術(shù)債務(wù)也已成為Optum公司面臨的更為緊迫的挑戰(zhàn)。在云中,技術(shù)債務(wù)不僅構(gòu)成性能挑戰(zhàn),而且還帶來(lái)直接的成本影響。展望未來(lái),其團(tuán)隊(duì)的一個(gè)關(guān)鍵優(yōu)先事項(xiàng)是繼續(xù)尋找和解決OPA的技術(shù)問(wèn)題,以確保該應(yīng)用程序從成本和性能兩個(gè)方面都盡可能高效。
結(jié)論
傳統(tǒng)應(yīng)用程序并不僅僅適用于云平臺(tái),可以直接將其提升并轉(zhuǎn)移到托管虛擬機(jī)中。也并非只針對(duì)從一開(kāi)始就誕生于云中的云原生應(yīng)用程序。正如Optum公司云之旅的故事所表明的那樣,組織可以采用復(fù)雜的、多層次的內(nèi)部部署應(yīng)用程序,并以一種允許組織充分利用其可擴(kuò)展性和自動(dòng)化特性的方式遷移到云中。