天天看點

容器、DevOps來了,軟體開發如何跟上節奏?

随着it技術的不斷進步,軟體開發和運維領域近年來正在發生重大變革。一方面,為快速響應市場的變化,devops正在變得越來越流行,越來越多的企業引入了容器技術來解決軟體的快速傳遞和部署問題。另一方面,軟體的部署環境也從傳統的實體機轉變為雲環境,其開發和運維都需要不同方法。在這些變化面前,傳統的軟體開發和運維方式已經很難适應,這就引發對新一代軟體開發和運維工具的需求,以hpe的octane為代表的新一代alm就在這種背景之下推出的。

hpe中國區副總裁、軟體集團總經理李時認為,新一代alm首先要做到的支援“雙模it”背景下的軟體開發,也就是既要支援傳統軟體開發,同時也要支援devops。一個好的alm往往是與一套最佳實踐相結合的,而不隻是一個工具。他同時也指出,使用者一定不要以為可以依靠一個alm工具來向devops轉型。因為devops涉及的面非常廣,不是買了某個工具就能幫助實作devops,而是要從工具到流程、到方法論、到人員、到組織等都需要全面考慮,要有一個總體的藍圖,對幾年以後或者幾個月以後需要走到哪裡,中間需要做幾步,每一步需要做什麼樣的事情,有一個總體的規劃。以下是對李時先生的專訪。

容器、DevOps來了,軟體開發如何跟上節奏?

記者:和幾年或者更早些年相比,如今無論是軟體開發還是軟體的應用環境都發生了很大變化,比如,雲已經成為了企業it的标配環境,有些應用甚至從一開始就是在paas平台上開發的。在這種變化之下,站在軟體開發和運維的角度來看,我們面臨着哪些新的挑戰?

李時:的确,我們所處的世界正在發生這些變化。發生這種變化的原因在于市場壓力。競争壓力之下,企業對開展業務的速度、靈活性以及快速擴充的能力都有了新的要求,it部門必須能快速響應業務需求。

對于目前的企業it環境,gartner有個關于“雙模it”的提法,就是企業内部同時保持着兩個it系統:一個是傳統的it系統,比如傳統的erp,它采用瀑布流式的開發方式,遵循從立項到需求調研、到設計、到開發到測試,然後是運維這樣的流程。這些系統通常業務相對穩定,需求變更比較少,是比較大規模的項目。與此同時,企業内部還存在另一個靈活的it系統,它們通常采用靈活開發或者devops來開發,用于創新的業務。

作為軟體開發和運維平台的alm(application lifecycle management)必須适應這種變化,也就是必須同時支援兩種應用的開發、部署和運維。我們最近釋出的hpe alm octane這樣一個産品,它可以相容兩種方式的開發,從傳統的瀑布式開發到新的devops,企業可以根據具體業務需求決定it部門如何響應。這個alm不簡簡單單是一個工具,而是從流程、工具、人員到變更管理的一整套端到端的解決方案,它可以幫助打通不同it團隊以及it團隊和業務團隊之間的壁壘,讓業務、it開發、測試和運維團隊真正協同起來,實作devops。

記者:一般人會把alm定位為一個軟體開發的工具,而您剛才提到alm不應該隻是一個工具,如何了解這句話?

李時:我們要從傳統瀑布流的開發方式過渡到devops或者devops和瀑布式開發并存,這需要文化上的轉變,要從組織架構、從開發流程、從人員保障(包括人員的文化、人員的思維方式)做出改變,才能保證成功,而不是通過購買一個工具就能做到。

我們的alm提供的是一個工具加上我們的方法論和我們的成熟度模型。我們的這個devops的成熟度模型,可以幫助客戶了解自己處于devops的什麼階段。這個成熟度模型有五級,分别定義了每一級要達到什麼樣的能力,才能夠達到這一等級的成熟度。我們的alm其實把這樣一個思路固化了下來,進而能夠幫助客戶實作向devops世界的過渡。

記者:如果企業真的想從傳統的瀑布流式的開發方法轉變到現在的devops方式,在您看來,需要做的最根本的改變是什麼?

李時:最核心的就是要意識到,每個人應該承擔的責任有了根本改變。過去無論是測試團隊還是開發團隊或者運維團隊,都隻是負責自己的這些工作,其他的基本不用關心。而采用靈活開發或者devops開發時,同一個團隊的所有人都要對這個項目負責:從前端的需求調研到立項、到中間的開發再到後端的運維負責,需要不斷快速疊代然後逐漸完善。

另外,還有很重要的一點改變是,要接受采用基于風險的測試這個觀點。因為測試是永遠不夠的,你永遠可以再做一輪測試。但是由于财力和項目上線時間的限制,我們不能無限制地進行測試。這就需要基于大資料分析的結果做出一個判斷,什麼時候測試已經足夠好了,這也需要工具的幫助。

記者:目前,hpe新版的alm定位是什麼樣的,主要面向什麼樣的客戶群?

李時:這是一個企業級的産品,功能比較完備,包含有很多方法論,不隻是适用大企業,中小企業也可以用。該産品有兩種傳遞方式,目前在國内主要是on premise,還有一種是saas。這個産品其實是一個工具的集合,客戶不一定需要買全套的東西,可以單獨購買,比如隻買服務虛拟化或者壓力測試等。有必要指出的是,這個alm可以和很多開源工具或者第三方工具進行內建和優化,以适應不同規模的企業和不同業務需求的企業。

記者:此次新版的alm産品是一個大版本的更新,與前一個版本相比,有哪些重要的改進?

李時:這是一個大的版本更新,最主要的變化是我們對于devops全面的支援和內建。盡管之前的版本也支援devops,但優化不夠,而這個版本除了更好地支援傳統的瀑布式開發,還針對devops和一些第三方工具和産品的內建做了很大的改進和優化。比如,其中的持續開發測試就與自動化測試、壓力測試以及安全代碼掃描的測試等都有很好的內建。還有,我們的監控運維sitescope可以無縫地監控docker,可以做到docker的部署和激活。

記者:hpe的alm這款産品在市場上有明确的競争對手嗎?其主要優勢有哪些?

李時:其實,我們并不是很關心競争對手。因為我們的alm在目前的市場占有率有很大的優勢,我們更專注于把我們領先的優勢進一步鞏固,同時能适應市場的變化和技術的演進。

在我看來,這個産品最大的技術優勢是:這是一個端到端整體解決方案,能同時滿足devops開發和傳統的瀑布流開發模型的需求。這裡的滿足不是簡簡單單的內建,而是有我們方法論和最佳實踐的優化。其中包括衆多的功能子產品,包括自動化測試工具、手工測試工具、可程式設計的工具,或者壓力測試、安全測試的工具等,還包括對于自動化持續運維方面的監控等。

記者:現在docker很流行。你如何看docker和devops之間的關系?hpe的alm在支援docker方面做了哪些工作?

李時:docker是實作devops的一個工具,但不是唯一的工具。它在持續內建和持續開發測試等場景應用比較合适,但是devops的運維監控并不是docker就能解決的問題。另外,docker是一個相對輕量級的虛拟化解決方案,有些場合還需要傳統的虛機來解決。

我們的alm對docker的支援是全方位的,在devops全生命周期,包括自動的持續內建到持續開發測試,到後邊持續部署,都支援docker,甚至我們的alm自己就采用了docker的技術,它本身作為一個容器允許很多的應用或者微服務部署在上邊運作。同時,我們還可以做到docker服務的自動發現、部署、激活、監控和運維。

記者:現在一談軟體開發,馬上就談devops,所有的alm也都聲稱自己支援docker。對于使用者來說怎麼去識别真假?或者說如何去選擇一款合适自己的alm?

李時:其實不止是alm領域是如此。任何一個技術在熱的時候,人們都會把自己的産品和它挂鈎。從使用者的角度來講,重要的是從自己的需求出發,同時要了解技術趨勢,進而對産品做出一個判斷。當然,也可以參考一些第三方咨詢的報告,比如說gartner的魔力象限等。

另外,還有很重要的一點是,除了産品的采購以外,我們建議使用者有一個更全面的視角,因為devops涉及的面非常廣,不是買了某個工具就能幫助你做到devops。使用者一定要擺脫單純的工具采購,而是要從工具、流程、方法論、人員、組織全面考慮,單單采購一個工具是遠遠不夠的。你要有一個總體的藍圖,比如前面說的成熟度模型,利用它幫助你了解自己現在是怎麼樣的,在幾年以後或者幾個月以後需要走到哪裡,中間需要做幾步,每一步需要做什麼樣的事情。有一個總體的規劃,然後再制定一個分步實施的計劃,這樣成功的把握就更大些。

記者:現在很多人都在用開源的工具,包括alm也是如此,在這種背景之下,alm商業軟體未來如何發展?

李時:就alm這個市場來看,未來一定會是商用産品和開源産品共存的局面。開源有其應用場景,包括一些規模小的團隊、小的企業或者特定的業務場景它會比較适用,但随着客戶對速度、靈活性或者規模以及企業級的穩定性需求的上升,商用軟體會是一個更好的選擇。實際上,我們也的确看到很多客戶在規模提升和複雜度提升後,由于開源産品支援的成本越來越高,轉向了商用産品。總體上而言,商用産品在一些關鍵的領域,比如對靈活性、對功能、對穩定性有更高要求的場合應用很多,但同時也會有很多開源工具的補充。這也是我們也選擇開放,來支援一些開源産品的原因。

從長遠來看,能在市場留下來的alm一定是能夠适應雙模式it的開發,同時支援傳統的瀑布式開發和新興的基于雲、基于paas或者基于docker容器技術的devops開發。同時,它還會随着技術和趨勢的演變能夠不斷進化自己,能夠提供企業級的速度靈活性和可擴充性,這是alm産品的發展趨勢。

記者:最後請您對這個新推出的alm核心的亮點做個小結。

李時:核心的亮點我覺得最重要的就是alm是一個端到端的解決方案,同時支援企業雙模式it,對于devops和延伸的雲應用能夠很好的支援,同時對傳統的瀑布式的開發也能夠很好的支援。另外可以跟所有我們自己的開發運維和大資料安全産品有很好的內建,同時也支援第三方開源的或者第三方的工具。 

原文釋出時間為:2016年8月10日 

本文作者:作者:鄒大斌

本文來自雲栖社群合作夥伴至頂網,了解相關資訊可以關注至頂網。