最近,InfoQ與Quali公司首席技術(shù)官Joan Wrabetz就“云沙盤”在現(xiàn)代軟件開發(fā)生命周期(modern software development lifecycle,SDLC)中可以起到的作用進行了深入探討。Quali公司的云沙盤技術(shù)允許用戶創(chuàng)建、管理和發(fā)布基礎(chǔ)設(shè)施和應(yīng)用程序配置的復(fù)制品,提供給技術(shù)和業(yè)務(wù)團隊,供其按需使用。云沙盤的主要使用案例包括開發(fā)和質(zhì)量保證測試、概念驗證、培訓(xùn)與實驗室和銷售演示等。
Quali公司的CloudShell工具能使基礎(chǔ)設(shè)施和應(yīng)用程序在云沙盤建模,以便為其復(fù)制復(fù)雜的生產(chǎn)環(huán)境。用戶可以在一個沙盤里混用實體和虛擬的基礎(chǔ)設(shè)施和網(wǎng)絡(luò)連接、應(yīng)用程序、數(shù)據(jù)和測試工具等。業(yè)務(wù)流程的工作流可以通過使用原生Python庫或可視化的拖放編輯工具創(chuàng)建。沙盤可以通過CloudShell工具保存、恢復(fù)、配置和監(jiān)控,并且可以創(chuàng)建藍(lán)圖,以生成自助服務(wù)目錄,供開發(fā)人員和QA工程師使用。CloudShell還集成了像Jenkins之類的持續(xù)交付工具。最近發(fā)布了開源的‘Sandbox-Jenkins-Plugin’插件。
根據(jù)Wrabetz的說法,沙盤技術(shù)可以通過自動化創(chuàng)建與生產(chǎn)環(huán)境的測試環(huán)境來幫助推動“DevOps轉(zhuǎn)型”。鼓勵公司中以前孤立的團隊在沙盤管理上開展合作,以推進共同的問責(zé)制,通過配置、工具或?qū)徲嫶_保符合每支團隊的核心職責(zé)范圍。
如果沒有這種能力來定義和共享環(huán)境,很容易產(chǎn)生“泡沫”或封閉的業(yè)務(wù)領(lǐng)域。在這些領(lǐng)域里根據(jù)生產(chǎn)環(huán)境的部署和數(shù)據(jù)得出的基礎(chǔ)設(shè)施配置并能不代表生產(chǎn)的實際情況。
InfoQ問Wrabetz:隨著如Docker或rkt之類Linux容器的廣泛使用,以及打包和部署的應(yīng)用軟件等,云沙盤與這個技術(shù)有什么不同?Wrabetz回應(yīng)說,CloudShell允許在VMware vCenter等容器技術(shù)范圍之外部署基礎(chǔ)設(shè)施;象Catalyst、Fabric Interconnect、Nx-OS Devices等一樣的Cisco網(wǎng)絡(luò)產(chǎn)品,象EC2、VPC和網(wǎng)絡(luò)等亞馬遜服務(wù)等。Docker也支持CloudShell,并且Wrabetz提到容器和沙盤技術(shù)之間有一些概念性的相似之處:
Quali公司的CloudShell對環(huán)境的作用如同Docker對應(yīng)用程序的作用,因為它實現(xiàn)了便攜性,并且除了共享應(yīng)用配置,還共享基礎(chǔ)設(shè)施配置。
Wrabetz接著說,在整個軟件開發(fā)生命周期(SDLC)內(nèi),如沒有可用的共同的基礎(chǔ)設(shè)施,很難實現(xiàn)從研發(fā)到生產(chǎn)環(huán)境的應(yīng)用程序部署流程自動化。容器技術(shù)實現(xiàn)了“原生云”(cloud native)應(yīng)用,但許多企業(yè)有遺留系統(tǒng)或復(fù)雜的生產(chǎn)環(huán)境的配置,因此不能完全在一個Linux容器內(nèi)部進行模擬。
把真實和虛擬基礎(chǔ)設(shè)施作為一個池子以按需的方式部署在一個沙盤里,這種能力可以用來加快持續(xù)測試。Wrabetz說驅(qū)動“左移”(shift left)質(zhì)量保證的驅(qū)動力意思是有自動化的方法來創(chuàng)建和共享復(fù)雜的環(huán)境,這可以推動業(yè)務(wù)團隊和技術(shù)團隊的工作。無論是從在創(chuàng)建功能之前定義測試的角度,還是使測試環(huán)境和數(shù)據(jù)貼近生產(chǎn)的角度,這都是可行的。
Wrabetz說,除了功能質(zhì)量保障的作用之外,很多Quali公司的客戶都熱衷于利用云沙盤進行非功能性測試,。
可以在整個公司內(nèi)定義、審計和共享沙盤藍(lán)圖。這對于遵守規(guī)則非常有用,并且也可以確保在真實和可重建的環(huán)境中實現(xiàn)性能和安全性測試。
關(guān)于Quali公司的云沙盤軟件和CloudShell工具集的更多信息可以在Quali公司網(wǎng)站上查詢。有問題可以通過開發(fā)者論壇向社區(qū)提問。
查看英文原文:Using Cloud Sandboxes to “Shift Left” Testing within Production-Like Environments