時(shí)間:2023-03-13 03:22:01 | 來(lái)源:電子商務(wù)
時(shí)間:2023-03-13 03:22:01 來(lái)源:電子商務(wù)
集成化的服務(wù)(部署、維護(hù)、升級(jí)、兼容性管理、服務(wù)目錄等);
l一體化開(kāi)發(fā)+運(yùn)維(DevOps)、持續(xù)集成、持續(xù)部署(CI/CD)。
提供資源所需的時(shí)間(Provisioning Time)。云的性能評(píng)測(cè)(Performance Benchmark)可以從多個(gè)維度展開(kāi):
提供可伸縮資源的全面性—左右水平、上下垂直、計(jì)算、網(wǎng)絡(luò)、存儲(chǔ)、服務(wù)及應(yīng)用等。
對(duì)于彈性資源的監(jiān)控粒度。傳統(tǒng)的監(jiān)控方式的顆粒度是基于物理機(jī)或虛擬機(jī)的資源組件(如Nagios、Ganglia等),但是在云計(jì)算框架下對(duì)于一個(gè)可能跨越了多個(gè)物理機(jī)、虛機(jī)或容器的應(yīng)用或服務(wù)而言,對(duì)其監(jiān)控的復(fù)雜度大增,需要在對(duì)整個(gè)應(yīng)用或服務(wù)的各項(xiàng)指標(biāo)做綜合甚至是加權(quán)計(jì)算后呈現(xiàn)給用戶。
資源供應(yīng)的準(zhǔn)確性,避免過(guò)度供應(yīng)(Over-Provisioning)或供應(yīng)不足(Under- Provisioning)。
傳統(tǒng)指標(biāo)的評(píng)測(cè):CPU/VCPU、網(wǎng)絡(luò)、磁盤(pán)吞吐率指標(biāo)。談到云的性能,其核心就是云上工作負(fù)載的性能,在這里,我們需要引入和澄清一個(gè)重要的概念:云本地應(yīng)用、云原生應(yīng)用(Cloud Native Application,CNA)。并非所有的應(yīng)用都是為云而生的,傳統(tǒng)應(yīng)用的一個(gè)重要特點(diǎn)是Monolithic (獨(dú)立性、封閉性),而在云基礎(chǔ)架構(gòu)上運(yùn)行應(yīng)用分為兩類(lèi):傳統(tǒng)應(yīng)用的云化遷移與創(chuàng)建云本地應(yīng)用。傳統(tǒng)應(yīng)用通常對(duì)底層硬件有很多需求,因此遷移并非是像搬箱子(Lift-n-Move)那么簡(jiǎn)單的事情,通常需要對(duì)其進(jìn)行虛擬機(jī)或容器封裝(有些甚至需要在符合規(guī)格的裸機(jī)上直接運(yùn)行才能保證效率,如大數(shù)據(jù)類(lèi)應(yīng)用),并且這些傳統(tǒng)應(yīng)用很難進(jìn)行彈性擴(kuò)展,如此一來(lái)它們的云化遷移更多的是為了云化而云化。
云化工作負(fù)載(Workloads)性能評(píng)測(cè):如數(shù)據(jù)庫(kù)、大數(shù)據(jù)或某個(gè)具體應(yīng)用的性能(吞吐率、啟動(dòng)速度等)評(píng)測(cè)。
其他功能的支持及指標(biāo):如是否支持實(shí)時(shí)的塊數(shù)據(jù)復(fù)制(SAN Replication)、系統(tǒng)的IOPS(每秒讀寫(xiě)操作次數(shù))、對(duì)傳統(tǒng)應(yīng)用向云遷移的支持、云內(nèi)及跨云數(shù)據(jù)遷移速度等。
MSA是云本地應(yīng)用的最重要的特點(diǎn),它源自于SOA(Service Oriented Architecture,面向服務(wù)的架構(gòu)),可以認(rèn)為是SOA整體框架中的一部分,在云化的過(guò)程中逐漸演變?yōu)楦鱾€(gè)云組件之間通過(guò)可獨(dú)立部署的服務(wù)接口來(lái)實(shí)現(xiàn)通信。圖1-39形象地展示了傳統(tǒng)獨(dú)立應(yīng)用與微服務(wù)架構(gòu)應(yīng)用間的差異。獨(dú)立應(yīng)用是一個(gè)“大包大攬”的整體,每一個(gè)應(yīng)用進(jìn)程(Process)會(huì)把多個(gè)功能集成在一起,獨(dú)立應(yīng)用的擴(kuò)展也是以應(yīng)用進(jìn)程為單位擴(kuò)展到多臺(tái)主機(jī)上;而微服務(wù)的最大區(qū)別在于把每一個(gè)功能元素作為一個(gè)獨(dú)立的服務(wù),這些服務(wù)可以部署在不同的主機(jī)上,每個(gè)服務(wù)只要保證通信接口不變,它們可以各自獨(dú)立進(jìn)化。從DevOps的角度出發(fā),MSA架構(gòu)也具有非常明顯的優(yōu)勢(shì)——一個(gè)服務(wù)的故障不至于會(huì)導(dǎo)致整個(gè)應(yīng)用下線,而在獨(dú)立應(yīng)用架構(gòu)中,任何一個(gè)單一功能的維護(hù)、升級(jí)都要求整個(gè)應(yīng)用進(jìn)程下線、重啟……(2)云應(yīng)用12要素:
然而,一味鼓吹MSA的以上的優(yōu)勢(shì),并不等于MSA可以通吃,或者說(shuō)毫無(wú)缺點(diǎn)可言,在HPC(高性能計(jì)算)的很多場(chǎng)景中,關(guān)注每一微秒的吞吐率、時(shí)耗的時(shí)候,MSA平日里靈活、健壯的優(yōu)勢(shì)就無(wú)法體現(xiàn)了,相對(duì)而言,更緊耦合的系統(tǒng)(例如更少的網(wǎng)絡(luò)層數(shù)據(jù)交換)的性能可能會(huì)更好。
12-Factor Application(云應(yīng)用12要素)是業(yè)界被廣泛引用的CNA類(lèi)型應(yīng)用的通用特點(diǎn),由Adam Wiggins在2012年提出10。他總結(jié)了CNA的12要素:?jiǎn)未a庫(kù)多次部署、明確定義依賴關(guān)系、在環(huán)境中存儲(chǔ)配置、后端服務(wù)作為附加資源、建設(shè)發(fā)布及上線運(yùn)行分段、以無(wú)狀態(tài)進(jìn)程來(lái)運(yùn)行應(yīng)用、通過(guò)端口綁定來(lái)暴露服務(wù)、通過(guò)進(jìn)程模型擴(kuò)展來(lái)實(shí)現(xiàn)并發(fā)、通過(guò)快速啟動(dòng)與優(yōu)雅終止來(lái)實(shí)現(xiàn)最大化健壯性、開(kāi)發(fā)環(huán)境=線上環(huán)境、日志=事件流、后臺(tái)管理任務(wù)=一次性進(jìn)程。以上12要素在業(yè)界被廣泛引用,有些人甚至稱之為建設(shè)與運(yùn)行云應(yīng)用最佳實(shí)踐的金標(biāo)準(zhǔn)。(3)自服務(wù)敏捷基礎(chǔ)架構(gòu):
自服務(wù)敏捷基礎(chǔ)架構(gòu)(Self-Service Agile Infrastructure)的概念最早由筆者的同事Matt Stine在他2015年的Migrating to Cloud-Native Application Architectures11一書(shū)中提出,自服務(wù)敏捷架構(gòu)的另一個(gè)叫法是PaaS(平臺(tái)即服務(wù)),它幫助程序員完成四件事情:
· 自動(dòng)化、按需的應(yīng)用實(shí)例伸縮(Automated & On-demand Scaling);
· 應(yīng)用程序健康管理(Health Management);
· 對(duì)應(yīng)用實(shí)例訪問(wèn)的自動(dòng)路由與負(fù)載均衡(Routing&Load-Balancing);
· 對(duì)日志與度量數(shù)據(jù)的集結(jié)(Aggregation)。
面向API的協(xié)作模式是在完成向微服務(wù)架構(gòu)、12要素應(yīng)用建設(shè)、自服務(wù)敏捷基礎(chǔ)架構(gòu)三大模式轉(zhuǎn)變過(guò)程中必然出現(xiàn)的新型協(xié)同工作模式。傳統(tǒng)的協(xié)同開(kāi)發(fā)模式是基于應(yīng)用部件間的方法調(diào)用(Method Calls),而在云架構(gòu)中,更多的是通過(guò)調(diào)用某種APIs的方式來(lái)實(shí)現(xiàn)組件間的通信,而API版本之間的兼容關(guān)系通過(guò)版本號(hào)來(lái)定義與協(xié)調(diào),REST APIs12就是一種非常流行的方式——它也是整個(gè)WWW的軟件架構(gòu)標(biāo)志性風(fēng)格——無(wú)獨(dú)有偶,REST的作者Roy Fielding在他的博士答辯論文中對(duì)RESTful API進(jìn)行了定義,而他同時(shí)也是HTTP/1.113的主要作者。REST與HTTP之間有如此千絲萬(wàn)縷的聯(lián)系,以至于很多人將二者混為一談,在這里需要做一下簡(jiǎn)單的澄清,區(qū)別如下:(5)面向故障:
· HTTP是傳輸層協(xié)議;REST是一組架構(gòu)約束條件(Constraints),它可以使用HTTP或任意其他傳輸層協(xié)議來(lái)實(shí)現(xiàn)。
· HTTP API與REST API間存在本質(zhì)區(qū)別。任何使用HTTP作為傳輸層協(xié)議的API,如SOAP,都是HTTP API,而REST API則遵循REST的約束條件,它更多的是一種圍繞資源的設(shè)計(jì)風(fēng)格而不是標(biāo)準(zhǔn)。
面向故障(Anti-fragile-Design for Failure)是云計(jì)算彈性與敏捷性的終極體現(xiàn),在遵循微服務(wù)架構(gòu)、12要素、自服務(wù)、面向API的設(shè)計(jì)原則下,云本地應(yīng)用可以做到零下線時(shí)間,也就是說(shuō)在故障甚至災(zāi)難發(fā)生時(shí)系統(tǒng)有足夠的冗余來(lái)確保服務(wù)保持在線。業(yè)界最著名的面向故障的實(shí)踐案例是Netflix工程師為了測(cè)試他們?cè)趤嗰R遜AWS上的服務(wù)的健壯性而開(kāi)發(fā)的一套叫作Chaos Monkey14的開(kāi)源軟件——它會(huì)發(fā)現(xiàn)并隨機(jī)終止系統(tǒng)中的云服務(wù),以此來(lái)測(cè)試系統(tǒng)的自我恢復(fù)能力。
·過(guò)度部署(Over-Provisioning);另外,當(dāng)公有云的成本達(dá)到一定階段或某些任務(wù)無(wú)法在現(xiàn)有云服務(wù)目錄中得到滿足(老孫與同事做過(guò)一些市場(chǎng)調(diào)查,發(fā)現(xiàn)很多企業(yè)把每年100萬(wàn)美元在公有云上的消費(fèi)作為一條警戒線,一旦達(dá)到或超過(guò)就會(huì)開(kāi)始把部分業(yè)務(wù)向私有云環(huán)境遷移。
·缺少實(shí)時(shí)審計(jì)(Auditing)導(dǎo)致的空轉(zhuǎn)與浪費(fèi);
·存儲(chǔ)浪費(fèi)(不同熱度的數(shù)據(jù)訪問(wèn)代價(jià)差異巨大);
·一切免費(fèi)都是有代價(jià)的(互聯(lián)網(wǎng)推廣本性所致);
·復(fù)雜的計(jì)費(fèi)方式;
·進(jìn)場(chǎng)免費(fèi)離場(chǎng)代價(jià)高昂(數(shù)據(jù)遷移高代價(jià));
·高昂的故障修復(fù)成本;
·不可定制。
關(guān)鍵詞:
客戶&案例
營(yíng)銷(xiāo)資訊
關(guān)于我們
客戶&案例
營(yíng)銷(xiāo)資訊
關(guān)于我們
微信公眾號(hào)
版權(quán)所有? 億企邦 1997-2025 保留一切法律許可權(quán)利。