無服務(wù)器準(zhǔn)備:
近兩年無服務(wù)器是軟件開發(fā)熱門話題。AWS引領(lǐng)這項(xiàng)技術(shù)且在不斷進(jìn)步,而各云廠商都具有自己的技術(shù)標(biāo)準(zhǔn),如果要做各個(gè)云廠商之前無縫移植,從目前看來幾乎不可能,不過我相信對(duì)這一技術(shù)的創(chuàng)新未來有可能會(huì)出現(xiàn)第三方無縫對(duì)接或者統(tǒng)一標(biāo)準(zhǔn),我們期待有這么一天。
由于無服務(wù)具備以下突出的優(yōu)點(diǎn),如:1.實(shí)現(xiàn)業(yè)務(wù)快速上線、2.無須運(yùn)維人員維護(hù)基礎(chǔ)資源,降低運(yùn)維成本、3.系統(tǒng)級(jí)安全性更高、4.降低開發(fā)成本、5.適合微服務(wù)框架,在這些優(yōu)點(diǎn)吸引下以及大云廠商推薦下,很多用戶就會(huì)試著把他們?cè)瓉碓贠n-prem的業(yè)務(wù)使用重構(gòu)的方式往Lambda遷移,而這些嘗試首先必須要求用戶的人員能夠在微服務(wù)基礎(chǔ)上繼續(xù)拆分成Function的能力,能夠把業(yè)務(wù)做成無狀態(tài)。
業(yè)務(wù)演進(jìn)圖1
從原來巨型業(yè)務(wù)Refactor到Function,這對(duì)開發(fā)人員要求越來越高,需要開發(fā)人員對(duì)業(yè)務(wù)進(jìn)行細(xì)粒度拆分,以滿足這種新技術(shù)的要求。
實(shí)踐分享:
由于客戶原來在On-premises的應(yīng)用已經(jīng)無法滿足業(yè)務(wù)的日益擴(kuò)展,需要對(duì)原來的應(yīng)用進(jìn)行代碼重構(gòu)后上云??蛻魶]有具備技術(shù)很強(qiáng)架構(gòu)師或開發(fā)人員,幾乎都是初級(jí)外包人員。我們的人工程師協(xié)助過客戶的外包人員做一個(gè)基于Python的Lambda Demo測(cè)試之后,他們的外包人員開始自己使用SpringBoot借助Lambda技術(shù)對(duì)原來的應(yīng)用進(jìn)行重構(gòu)上云,然而進(jìn)行到一定階段時(shí)發(fā)現(xiàn)此技術(shù)需要很專業(yè)的技術(shù)人員才能夠完全掌握,最后不得不放棄Lambda使用,回歸到EC2部署方式。以下是做過一定刪減的客戶業(yè)務(wù)架構(gòu)設(shè)計(jì)圖:
業(yè)務(wù)架構(gòu)圖2
1)業(yè)務(wù)及人員
這種新技術(shù)是要求開發(fā)人員必須具備一定微服務(wù)的能力,能夠應(yīng)用進(jìn)行拆分,并能夠通過業(yè)務(wù)代碼解決新技術(shù)存在一些缺點(diǎn),還要求開發(fā)人員對(duì)原來的業(yè)務(wù)邏輯完全掌握。在新技術(shù)并不完善的情況下,并不是所有業(yè)務(wù)場(chǎng)景都合適重構(gòu)為Serverless服務(wù)。此客戶情況如下:
2) 技術(shù)選型:
在進(jìn)行技術(shù)選型時(shí),必須有一到兩個(gè)人員對(duì)某一技術(shù)有一定掌握,前期進(jìn)行大量測(cè)試與預(yù)研,充分掌握此技術(shù)缺點(diǎn)與優(yōu)化。Lambda技術(shù)出現(xiàn)并不長(zhǎng),必然存在一些不完善,這樣就要求開發(fā)人員能夠?qū)@些不完善有所掌握,并能夠通過其他技術(shù)手段解決Lambda存在的缺陷,以滿足業(yè)務(wù)持續(xù)服務(wù)的要求。
1. 冷啟動(dòng)時(shí)間
2. 開發(fā)語言是否合適
3. Lambda的請(qǐng)求并發(fā)與內(nèi)存配置容量上限
4. AWS各個(gè)服務(wù)Timeout時(shí)間
5. 在Lambda內(nèi)存達(dá)到上限后,重啟的問題
6. 使用Lambda預(yù)熱方案能否滿足未來業(yè)務(wù)擴(kuò)展
7. 微服務(wù)化后,能否集成CI/CD功能
實(shí)踐總結(jié):
用戶在經(jīng)歷以上使用體驗(yàn)后,慢慢知道有些業(yè)務(wù)還要具備一定能力后,才能夠去嘗試,而不是急于求成,需要聽更多專業(yè)人員的建議,一步一個(gè)腳印完成業(yè)務(wù)遷移,先從簡(jiǎn)單再到復(fù)雜,先從Rehost再到Refactor,如果要Refactor必須經(jīng)過大量驗(yàn)證測(cè)試。以下是經(jīng)歷過此案例后一些建議:
1. Lambda合適在輕量級(jí)業(yè)務(wù)場(chǎng)景
2. 做足冷啟時(shí)間評(píng)估與測(cè)試
3. 能夠更細(xì)粒度拆分業(yè)務(wù),以Function方式寫業(yè)務(wù)
4. 掌握并測(cè)試AWS各個(gè)服務(wù)的限制(例如:API gateway的Timeout 20秒,Lamdba的內(nèi)存上限3GB等)
5. 選擇更輕量開發(fā)語言(例如:Nodejs/Python等),盡量減少部署包的大小
6. 非常熟練自己的業(yè)務(wù)
7. 具備高級(jí)以上開發(fā)工程師
8. 使用完善的監(jiān)控,不斷優(yōu)化Function
Refactor是遷移當(dāng)中高級(jí)且最復(fù)雜的方式,最好有專業(yè)人員進(jìn)行協(xié)助與指導(dǎo),避免重復(fù)的成本浪費(fèi)。建議如果客戶的業(yè)務(wù)確實(shí)需要進(jìn)行重構(gòu),請(qǐng)必須經(jīng)過大量的功能與性能測(cè)試驗(yàn)證。(此文章若有錯(cuò)誤,請(qǐng)指正,謝謝?。?/p>
參考學(xué)習(xí)地址:
https://blog.csdn.net/j01G58UC80251/article/details/78591424
https://www.jeremydaly.com/lambda-warmer-optimize-aws-lambda-function-cold-starts/
作為一家專業(yè)的云計(jì)算服務(wù)型企業(yè),博思云為專為客戶提供 AWS 上的運(yùn)營(yíng)服務(wù):包括架構(gòu)咨詢服務(wù)、遷移服務(wù)、云安全集成服務(wù)、混合云管理服務(wù)、大數(shù)據(jù)服務(wù)以及 DevOps 服務(wù)。目前,博思云為在大數(shù)據(jù)、DevOps、架構(gòu)、數(shù)據(jù)庫以及操作系統(tǒng)等都已取得廠商認(rèn)證,在上海、南京、杭州、武漢等地設(shè)有分公司。為創(chuàng)新服務(wù)模式、引領(lǐng) IT 服務(wù)業(yè)的發(fā)展,博思云為將持續(xù)投入資源開展智能混合云管理平臺(tái)、圖數(shù)據(jù)庫的研發(fā)等。
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。
網(wǎng)頁題目:重構(gòu)遷移到Serverless(Lambda)-創(chuàng)新互聯(lián)
本文網(wǎng)址:http://jinyejixie.com/article46/gpheg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供自適應(yīng)網(wǎng)站、網(wǎng)站收錄、手機(jī)網(wǎng)站建設(shè)、Google、面包屑導(dǎo)航、微信小程序
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容