摘要:測(cè)試人員將各個(gè)應(yīng)用程序組件組合起來,以評(píng)估它們?cè)趯?shí)際工作流程中的工作方式集成測(cè)試可能會(huì)暴露孤立應(yīng)用程序組件中的擴(kuò)展問題,以及更高級(jí)別的問題。
云計(jì)算可以無限擴(kuò)展,并不意味著應(yīng)用程序中的每個(gè)組件都應(yīng)該這樣。當(dāng)運(yùn)營商不參與設(shè)計(jì)和測(cè)試時(shí),團(tuán)隊(duì)可能就會(huì)浪費(fèi)資金,并降低應(yīng)用程序的性能。
在應(yīng)用程序投入生產(chǎn)時(shí),再去修復(fù)可擴(kuò)展性問題已為時(shí)過晚。相反,需要關(guān)注開發(fā)和運(yùn)營合作伙伴關(guān)系以及集成測(cè)試。
云計(jì)算的可擴(kuò)展性使用戶能夠隨著負(fù)載的增加而擴(kuò)大資源消耗,但是普遍的資源增長(zhǎng)是不夠的。并非應(yīng)用程序的所有組件都需要相同的乘法運(yùn)算,并且其擴(kuò)展不會(huì)造成緊張的組件的負(fù)面后果。智能擴(kuò)展只會(huì)增加支持重載應(yīng)用程序組件的資源。運(yùn)營團(tuán)隊(duì)需要在設(shè)計(jì)流程的早期就開發(fā)人員與應(yīng)用程序可擴(kuò)展性進(jìn)行溝通,并確定組件的啟動(dòng)時(shí)間和方式。這些團(tuán)隊(duì)?wèi)?yīng)該通過集成測(cè)試一起工作,以確保應(yīng)用程序在擴(kuò)展以滿足需求時(shí)保持性能和可靠性。
應(yīng)用程序可擴(kuò)展性是棘手的業(yè)務(wù)
此示例顯示了擴(kuò)展資源可能出現(xiàn)的問題:不同分支機(jī)構(gòu)的兩名工作人員幾乎同時(shí)開始交易,以銷售某種東西。交易服務(wù)檢查庫存,銷售產(chǎn)品并輸入訂單。而在云中,同一應(yīng)用程序的兩個(gè)實(shí)例為這兩名工作人員提供支持。每個(gè)實(shí)例檢查庫存,以找到產(chǎn)品和訂單,但在第二種情況下,其庫存水平不反映第一個(gè)訂單正在處理的事實(shí)。
彈性擴(kuò)展會(huì)創(chuàng)建不可預(yù)知數(shù)量的應(yīng)用程序組件實(shí)例,并且這些實(shí)例不一定能夠彼此識(shí)別。獨(dú)立組件擴(kuò)展對(duì)這種沖突構(gòu)成了主要挑戰(zhàn),但傳統(tǒng)實(shí)踐通常只處理雙倍或N + 1冗余組件。云爆發(fā)是通過容器托管、虛擬化和私有云工具實(shí)現(xiàn)的,云擴(kuò)展可以來自公共云自動(dòng)縮放功能和混合云管理器。有數(shù)百種工具可以實(shí)現(xiàn)突發(fā)和擴(kuò)展,而這些工具通常不會(huì)期望組件知道云爆發(fā)過程。
IT運(yùn)營團(tuán)隊(duì)跟蹤哪些工作負(fù)載處于高度或過度利用狀態(tài),以及托管資源應(yīng)擴(kuò)展以適應(yīng)需求,但如果應(yīng)用程序組件不能有效擴(kuò)展,操作無法確保應(yīng)用程序的可擴(kuò)展架構(gòu)。 DevOps的一個(gè)宗旨是將開發(fā)人員對(duì)應(yīng)用程序部署和管理的要求轉(zhuǎn)化為運(yùn)營術(shù)語。那么將什么轉(zhuǎn)化成運(yùn)營需求,即云計(jì)算環(huán)境中的可擴(kuò)展性?對(duì)于應(yīng)用程序可擴(kuò)展性和基礎(chǔ)設(shè)施靈活性,應(yīng)該通過運(yùn)營為開發(fā)者提供哪些具體的細(xì)節(jié)?
開發(fā)人員在應(yīng)用程序擴(kuò)展中的角色
應(yīng)用程序開發(fā)人員必須了解軟件使用的場(chǎng)景。并非每一筆交易都具有沖突的風(fēng)險(xiǎn),只有那些試圖更新相關(guān)數(shù)據(jù)庫元素的服務(wù)。某些應(yīng)用程序需要具備防火墻來確保與給定事務(wù)關(guān)聯(lián)的所有消息都轉(zhuǎn)到相同的處理組件。有些還需要狀態(tài)控制,以便它們像功能組件或微服務(wù)一樣運(yùn)行??s放組件的場(chǎng)景感知也可以解決性能和功能方面的問題。
這些是只有開發(fā)人員才能解決的問題。IT運(yùn)營可以擴(kuò)展可用的云資源來支持軟件組件,但不能保證應(yīng)用程序的性能會(huì)更好。開發(fā)人員必須知道如何設(shè)計(jì)應(yīng)用程序可擴(kuò)展性以及哪些組件需要它。如果沒有預(yù)期或有用的情況下增加對(duì)擴(kuò)展的支持,將會(huì)增加開發(fā)成本和時(shí)間,并且可能會(huì)降低應(yīng)用程序性能。當(dāng)組件跨多個(gè)應(yīng)用程序共享時(shí),其問題尤其嚴(yán)重。一個(gè)開發(fā)團(tuán)隊(duì)不一定知道使用相同組件的其他組件。
部署范圍和集成測(cè)試
在軟件開始生產(chǎn)時(shí),任何嘗試解決應(yīng)用程序可擴(kuò)展性問題的嘗試都是無效的,而且在許多情況下完全不切實(shí)際。相反,在開發(fā)早期就提出可擴(kuò)展性假設(shè)的運(yùn)營反饋意見,然后在生產(chǎn)之前驗(yàn)證它們。在應(yīng)用程序開發(fā)周期中,最方便的階段是集成測(cè)試。
開發(fā)人員以各種方式創(chuàng)建可擴(kuò)展架構(gòu)。例如,微服務(wù)和基于容器的體系結(jié)構(gòu)自然會(huì)鼓勵(lì)獨(dú)立擴(kuò)展。一旦開發(fā)人員了解如何擴(kuò)展,以及如何與IT運(yùn)營商討論如何確定組件的可能部署參數(shù)是合適的:在數(shù)據(jù)中心內(nèi)部,數(shù)據(jù)中心和云計(jì)算之間,云計(jì)算提供商之間,或在一個(gè)云提供商的平臺(tái)中。
應(yīng)用程序必須擴(kuò)展的基礎(chǔ)設(shè)施范圍確定了組件對(duì)網(wǎng)絡(luò)連接傳輸延遲的敏感程度,新實(shí)例的啟動(dòng)延遲以及其他實(shí)際性能因素。如果可擴(kuò)展性的開發(fā)目標(biāo)不能在運(yùn)營中得到滿足,那么開發(fā)計(jì)劃或部署計(jì)劃必須進(jìn)行調(diào)整。網(wǎng)絡(luò)連接、部署的合規(guī)性和治理,甚至云計(jì)算提供商的選擇都可能發(fā)生變化。
集成測(cè)試是開發(fā)人員和運(yùn)營專家第一次查看與組件化應(yīng)用程序相關(guān)的信息流,并檢查可擴(kuò)展性如何影響應(yīng)用程序性能和穩(wěn)定性。測(cè)試人員將各個(gè)應(yīng)用程序組件組合起來,以評(píng)估它們?cè)趯?shí)際工作流程中的工作方式集成測(cè)試可能會(huì)暴露孤立應(yīng)用程序組件中的擴(kuò)展問題,以及更高級(jí)別的問題。集成測(cè)試必須盡可能模仿實(shí)際的生產(chǎn)部署。
功能開發(fā)人員和應(yīng)用程序所有者往往會(huì)忘記部署的組件必須進(jìn)行負(fù)載平衡并連接到工作流程中。運(yùn)營旨在以優(yōu)化托管資源、網(wǎng)絡(luò)連接性和其他注意事項(xiàng)的方式部署應(yīng)用程序,但是當(dāng)更新數(shù)據(jù)庫不受運(yùn)營控制時(shí)。一旦應(yīng)用程序已經(jīng)建立,管理工具就沒有什么區(qū)別了。如果最佳部署方案不夠好,則無法對(duì)其進(jìn)行重新制作以掩蓋不適合的體系結(jié)構(gòu)。那就有些為時(shí)過晚了。
將集成測(cè)試作為未來生產(chǎn)系統(tǒng)的試驗(yàn)場(chǎng),并從該測(cè)試環(huán)境中培養(yǎng)開發(fā)/運(yùn)營伙伴關(guān)系,以應(yīng)對(duì)應(yīng)用程序自身成長(zhǎng)時(shí)的挑戰(zhàn)。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/5778.html
摘要:鑒于上述情況,可能需要企業(yè)培訓(xùn)當(dāng)前員工,以便他們具備必要的云計(jì)算技能。云計(jì)算遷移的挑戰(zhàn)之一是找到適合企業(yè)實(shí)際情況的服務(wù)。這對(duì)于業(yè)務(wù)團(tuán)隊(duì)和團(tuán)隊(duì)來說都是一個(gè)勝利,對(duì)企業(yè)的云遷移來說無疑是一筆巨大的財(cái)富。雖然很多時(shí)候,企業(yè)在開始實(shí)施云遷移可能會(huì)感覺處于停滯狀態(tài)或速度太慢,但有時(shí)候業(yè)務(wù)遷移實(shí)際上可能太快。要確定業(yè)務(wù)遷移是否以正確的速度進(jìn)行,企業(yè)可能需要考慮幾個(gè)方面因素,例如預(yù)算、業(yè)務(wù)需求和人員。企業(yè)...
摘要:雖然很多時(shí)候,企業(yè)在開始實(shí)施云遷移可能會(huì)感覺處于停滯狀態(tài)或速度太慢,但有時(shí)候業(yè)務(wù)遷移實(shí)際上可能太快。云計(jì)算遷移的挑戰(zhàn)之一是找到適合企業(yè)實(shí)際情況的服務(wù)。這對(duì)于業(yè)務(wù)團(tuán)隊(duì)和團(tuán)隊(duì)來說都是一個(gè)勝利,對(duì)企業(yè)的云遷移來說無疑是一筆巨大的財(cái)富。雖然很多時(shí)候,企業(yè)在開始實(shí)施云遷移可能會(huì)感覺處于停滯狀態(tài)或速度太慢,但有時(shí)候業(yè)務(wù)遷移實(shí)際上可能太快。要確定業(yè)務(wù)遷移是否以正確的速度進(jìn)行,企業(yè)可能需要考慮幾個(gè)方面因素,...
摘要:阿里巴巴的共享服務(wù)理念以及企業(yè)級(jí)互聯(lián)網(wǎng)架構(gòu)建設(shè)的思路,給這些企業(yè)帶來了不少新的思路,這也是我最終決定寫這本書的最主要原因。盡在雙阿里巴巴技術(shù)演進(jìn)與超越是迄今唯一由阿里巴巴集團(tuán)官方出品全面闡述雙八年以來在技術(shù)和商業(yè)上演進(jìn)和創(chuàng)新歷程的書籍。 showImg(https://segmentfault.com/img/remote/1460000015386860); 1、大型網(wǎng)站技術(shù)架構(gòu):核...
摘要:于年獲得的職位,并發(fā)現(xiàn)了一個(gè)需要徹底改革的部門。此外,該報(bào)告還將云計(jì)算確定為了最需要專業(yè)開發(fā)的領(lǐng)域之一。為了能夠成功過渡到云,首席信息官們正在重新組建他們的IT團(tuán)隊(duì),使其變得敏捷、跨職能,并且擁有新的技能、角色和高度適應(yīng)性的思維方式。 Paul Ryan于2017年獲得OpenX的CTO職位,并發(fā)現(xiàn)了一個(gè)需要徹底改革的IT部門。 OpenX,一家制作程序化廣告平臺(tái)的技術(shù)公司,服務(wù)...
閱讀 1883·2021-09-22 15:29
閱讀 3359·2019-08-30 15:44
閱讀 3570·2019-08-30 15:43
閱讀 1769·2019-08-30 13:48
閱讀 1497·2019-08-29 13:56
閱讀 2483·2019-08-29 12:12
閱讀 976·2019-08-26 11:35
閱讀 1059·2019-08-26 10:25