紅帽Craig Muzilla訪談(2):有些需求是不變的
原創(chuàng)【51CTO專訪】在之前的一篇訪談中,紅帽副總裁、中間件事業(yè)部副總裁兼主管Craig Muzilla先生談了談JBoss的近況,紅帽中間件在混合云策略中的定位,紅帽這兩年在中間件領(lǐng)域的幾次收購,以及OpenShift上開發(fā)者的機(jī)遇。
下面,在訪談的第二部分,Muzilla先生將進(jìn)一步探討Java發(fā)展趨勢(shì)對(duì)JBoss的影響,對(duì)移動(dòng)開發(fā)方向的支持情況,JBoss團(tuán)隊(duì)的運(yùn)作機(jī)制,產(chǎn)品支持與質(zhì)量控制方面的流程,以及JBoss在大數(shù)據(jù)方面的一些工作。
紅帽中間件事業(yè)部副總裁兼主管Craig Muzilla
51CTO:談?wù)劶夹g(shù)趨勢(shì)吧。Java的快速發(fā)展期是在1990年代,而現(xiàn)在則是移動(dòng)互聯(lián)網(wǎng)的年代,有很多人觀察到企業(yè)也在往這個(gè)方向探索,他們想要更加快速的變化。JBoss在移動(dòng)這方面有什么安排么?
Craig:我們有一個(gè)戰(zhàn)略,也是我們的理念,就是開放的選擇。很多企業(yè)和開發(fā)者仍然會(huì)使用Java,同時(shí)很多企業(yè)和開發(fā)者也開始使用其他的編程模型和語言,比如Ruby on Rails和Ruby,都是在特定場(chǎng)景下使用的語言。不過使用什么語言都好,他們都需要后端提供服務(wù)。他們需要一個(gè)通用的運(yùn)行時(shí)。他們需要能夠管理的工具。他們需要執(zhí)行交易。他們需要安全性。JBoss核心平臺(tái)可以提供所有的這些后端的服務(wù)。
你提到了移動(dòng)開發(fā),的確現(xiàn)在有很多開發(fā)者針對(duì)iPhone,Android等平臺(tái)開發(fā)移動(dòng)應(yīng)用,有的是針對(duì)現(xiàn)有的應(yīng)用創(chuàng)建移動(dòng)版本,有的是創(chuàng)建全新的移動(dòng)應(yīng)用,不過所有的應(yīng)用都需要后端服務(wù),他們需要查詢數(shù)據(jù)庫,需要從前端的iPhone或者Android上傳輸訂單和信用卡這些信息到后端去。一個(gè)強(qiáng)勁的后端對(duì)于企業(yè)而言至關(guān)重要,Java技術(shù)在交易處理等業(yè)務(wù)的安全性和健壯性都是企業(yè)所需要的。所以是的,行業(yè)在變化,但是有些需求和10年前或15年前相比,是沒怎么變化的。
51CTO:所以您的意思是你們主要還是關(guān)注后端的技術(shù)么?
Craig:后端是我們的強(qiáng)項(xiàng),不過我們現(xiàn)在也有一些項(xiàng)目在關(guān)注前端。除了剛才我提到的幾個(gè)編程語言之外,我們有一個(gè)TorqueBox項(xiàng)目,可以在JBoss中運(yùn)行Ruby on Rails,開發(fā)者可以用它進(jìn)行前端開發(fā)。我們還有AeroGear項(xiàng)目,是一個(gè)用于創(chuàng)建HTML5應(yīng)用的接口,針對(duì)iPhone或Android開發(fā)的開發(fā)者可以使用這個(gè)項(xiàng)目里的代碼庫創(chuàng)建HTML5的應(yīng)用,項(xiàng)目本身提供了后端鉤子和服務(wù)。這些是我們?cè)谇岸说囊恍┕ぷ?,不過我們的主要方向仍然在后端。
51CTO:這些也都是開源項(xiàng)目吧?
Craig:大部分都是社區(qū)的開源項(xiàng)目,有些在JBoss.org,有些在其他社區(qū)。我們未來會(huì)圍繞這些項(xiàng)目構(gòu)建產(chǎn)品,提供訂閱服務(wù)來支持那些希望使用這些技術(shù)的企業(yè),不過目前他們還是單純的社區(qū)項(xiàng)目。
51CTO:真不錯(cuò)。下面我想問問你們內(nèi)部團(tuán)隊(duì)的一些事情,比如你們內(nèi)部是如何做決策的。您負(fù)責(zé)JBoss,在研發(fā)新產(chǎn)品或產(chǎn)品的新版本時(shí),你們是如何收集用戶需求的?
Craig:這樣說吧,開源的流程是非常特別的。開源軟件跟傳統(tǒng)軟件開發(fā)非常不同,跟IBM和微軟都不一樣。外面有開發(fā)者的社區(qū)。我們自己有開發(fā)者在做產(chǎn)品,外面的開發(fā)者有些來自客戶,有些來自合作伙伴,也有很多就是對(duì)項(xiàng)目感興趣,希望貢獻(xiàn)代碼、合作構(gòu)建這個(gè)軟件的。所以,社區(qū)在不斷地推動(dòng)項(xiàng)目,有很多新的創(chuàng)意出來。在紅帽內(nèi)部,我們?nèi)匀皇且粋€(gè)傳統(tǒng)的開發(fā)流程,把需求實(shí)現(xiàn)為產(chǎn)品。
我們先跟客戶溝通,收集需求;然后,我們跟開發(fā)者溝通,把我們從客戶那里聽到的東西講給開發(fā)者聽,為他們提供一些指引。在客戶的聲音與社區(qū)的想法之間,我們尋找一些產(chǎn)品需要構(gòu)建的東西,開始構(gòu)建一個(gè)企業(yè)可以直接拿來使用的產(chǎn)品。我們提供更多的質(zhì)量保證,安全性,這些都以一個(gè)完整產(chǎn)品的方式交付給市場(chǎng)。單純的項(xiàng)目是無法做到這一點(diǎn)的。
我們的開發(fā)模式跟其他軟件廠商有些不同,總的來說這是一個(gè)協(xié)同的模式。開源的方式能帶來更多的創(chuàng)新,我們?cè)陂_源項(xiàng)目的基礎(chǔ)上能為客戶帶來更多的增值。
51CTO:那么,跟客戶溝通的是工程師么,還是你們有產(chǎn)品經(jīng)理?
Craig:我們的每一個(gè)產(chǎn)品都有產(chǎn)品經(jīng)理。產(chǎn)品經(jīng)理與社區(qū)一起工作,與工程師一起工作。他們聆聽客戶的聲音,收集產(chǎn)品需求。
51CTO:我知道對(duì)于很多優(yōu)秀的工程師而言,他們喜歡技術(shù)上的挑戰(zhàn),而不太喜歡處理瑣碎的、表層的需求。
Craig:是的,所以我們需要聆聽終端用戶的聲音。比如商業(yè)流程管理這個(gè)技術(shù),我們這方面的工具就主要都是按照商業(yè)用戶的需求來打造的,比較少由開發(fā)者的理念所推動(dòng)。開發(fā)者往往對(duì)非常底層的技術(shù)感興趣,比如運(yùn)行時(shí)引擎,而對(duì)圖形化界面之類的領(lǐng)域不感興趣;但是企業(yè)用戶是關(guān)注這個(gè)的,所以我們必須確保滿足企業(yè)用戶的需求。
整個(gè)過程挺復(fù)雜的,有點(diǎn)像是藝術(shù)創(chuàng)作的過程,有來自不同方面的很多聲音,有些來自開發(fā)者,有些來自企業(yè)客戶,有些來自社區(qū)里貢獻(xiàn)代碼的開發(fā)者,有些來自產(chǎn)品管理團(tuán)隊(duì)。所有的聲音都在迭代的過程中整合到了一起,這需要一定的時(shí)間。
51CTO:工程師對(duì)整個(gè)商業(yè)的流程感興趣么?
Craig:是的。對(duì)于項(xiàng)目的成功,有很多不同的衡量方法。其中一種是根據(jù)你的項(xiàng)目在社區(qū)里有多少人下載來衡量:如果你的項(xiàng)目有很多人下載,下載的人都很喜歡這個(gè)項(xiàng)目,他們會(huì)反饋很多評(píng)論,這是一種成功。但是成功的另一個(gè)標(biāo)尺是這個(gè)項(xiàng)目在大型企業(yè)的生產(chǎn)環(huán)境下是否被使用。這種情況下,你需要一個(gè)十分強(qiáng)勁的產(chǎn)品,因?yàn)楹芏嗥髽I(yè)不會(huì)將生產(chǎn)環(huán)境建立在一個(gè)開源的項(xiàng)目上,他們想要安全性,他們想要質(zhì)量。對(duì)于開發(fā)者而言,他們關(guān)注自己的工作在市場(chǎng)上是否成功。所以,他們?cè)敢鉃榱水a(chǎn)品在生產(chǎn)環(huán)境下的運(yùn)行狀態(tài)而投入時(shí)間精力,而不僅僅是當(dāng)做一個(gè)科研項(xiàng)目來做。
51CTO:對(duì)于項(xiàng)目需求的優(yōu)先級(jí),你們是如何評(píng)定的?
Craig:這也是一個(gè)協(xié)同的過程。很多時(shí)候,社區(qū)有自己的愿景以及自己的優(yōu)先級(jí)列表,而項(xiàng)目管理團(tuán)隊(duì)則知道用戶想要什么,企業(yè)愿意為什么功能掏腰包。在技術(shù)愿景和用戶需求之間,有一個(gè)協(xié)調(diào)的過程,有很多平衡要顧及。社區(qū)里的工程師喜歡架構(gòu)上的技術(shù)挑戰(zhàn),客戶關(guān)心的是安全性、可靠性、可擴(kuò)展性、可用性。我們充當(dāng)?shù)慕巧褪潜M量讓開發(fā)者、客戶和大企業(yè)里的運(yùn)營團(tuán)隊(duì)都滿意。這是個(gè)非常有挑戰(zhàn)的工作。
51CTO:那么,工作的分配上你們是怎樣處理的?
Craig:拿JBoss EAP來說,這是JBoss的核心應(yīng)用服務(wù)器,下面有22個(gè)子項(xiàng)目。我們有一個(gè)Hibernate的項(xiàng)目,有一個(gè)針對(duì)交易和高可用的項(xiàng)目,等等。每一個(gè)項(xiàng)目都有一個(gè)總攬全局的項(xiàng)目主管,項(xiàng)目主管來將任務(wù)拆解,看看都有哪些工作要做,然后每個(gè)單獨(dú)的項(xiàng)目又各自有各自的項(xiàng)目組長(zhǎng)。在項(xiàng)目主管和組長(zhǎng)之間會(huì)協(xié)商出一個(gè)任務(wù)清單,分派給不同的開發(fā)者來完成,完成之后再將所有的代碼拉到一起,先以開源項(xiàng)目的方式發(fā)布,之后在進(jìn)行更多質(zhì)量保證等方面的工作,形成一個(gè)產(chǎn)品。
51CTO:質(zhì)量保證方面具體的工作有哪些?
Craig:這方面的工作比較傳統(tǒng)了,我們會(huì)逐一檢查跨API的一致性。對(duì)于產(chǎn)品的每一個(gè)單獨(dú)的組件,我們都有深度的質(zhì)量測(cè)試流程。對(duì)于每一個(gè)版本更新,我們都要確保向后兼容性。我們要測(cè)試產(chǎn)品對(duì)不同的操作系統(tǒng)、不同的數(shù)據(jù)庫的支持情況,為所有不同的接口做認(rèn)證。在開源項(xiàng)目當(dāng)中是不包含這些的,客戶付費(fèi)訂閱獲得的服務(wù),正是我們最后完成的這些部分。
51CTO:這樣一個(gè)流程,這些年都沒什么變化么?
Craig:整個(gè)流程其實(shí)每年都在變得更加復(fù)雜。我們每個(gè)產(chǎn)品有生命周期,比如一個(gè)7年的產(chǎn)品生命周期,對(duì)于項(xiàng)目而言是非??斓?。對(duì)于在社區(qū)里面的開發(fā)者而言,他們完成了一個(gè)項(xiàng)目,比如JBoss 7之后,他們很快就開始進(jìn)行8.0的工作,將7.0完全拋之腦后。而在產(chǎn)品組,我們要確保7.0能夠獲得7年的服務(wù)支持。
7年的標(biāo)準(zhǔn)支持過后,還有用戶想繼續(xù)使用,還有3年的延長(zhǎng)服務(wù)期。這就是和社區(qū)不同的地方了。社區(qū)追求創(chuàng)新,要快速的推動(dòng)新特性。產(chǎn)品則追求信心,對(duì)軟件提供長(zhǎng)久的支持。尤其是亞洲,比如日本,他們的時(shí)間周期都很長(zhǎng)。一旦進(jìn)入生產(chǎn)環(huán)境,就需要運(yùn)轉(zhuǎn)7年到10年。這正是我們提供的價(jià)值,作為一個(gè)開源軟件公司,支持這樣長(zhǎng)久的一個(gè)時(shí)間段的信心。
51CTO:那么最后我想問,對(duì)于大數(shù)據(jù)這個(gè)趨勢(shì),您認(rèn)為會(huì)對(duì)JBoss的未來產(chǎn)生怎樣的影響?
Craig:對(duì)于這個(gè)問題,有不同的答案。首先,大數(shù)據(jù)會(huì)非常重要,也越來越流行。所以用戶通過JBoss技術(shù)創(chuàng)建的應(yīng)用也會(huì)有一些不同,我認(rèn)為它們會(huì)更多的由數(shù)據(jù)驅(qū)動(dòng),比如在Hadoop里跟蹤客戶信息,他們購買什么,點(diǎn)擊了什么,在電子商務(wù)網(wǎng)站做了什么等等。這是應(yīng)用層面會(huì)發(fā)生的一些變化。
所以,JBoss需要能夠與Hadoop交互,能夠響應(yīng)數(shù)據(jù)分析,我們跟這些大數(shù)據(jù)源交互的API將非常重要。我們?cè)诖髷?shù)據(jù)方面也提供產(chǎn)品,比如今年夏天我們發(fā)布的JBoss Data Grid,這是NoSQL內(nèi)存數(shù)據(jù)存儲(chǔ)的產(chǎn)品,通過擴(kuò)展內(nèi)存可以降低瓶頸,你可以在內(nèi)存中直接管理數(shù)據(jù)。Hadoop是一方面。對(duì)于其他的大數(shù)據(jù)技術(shù),我們也會(huì)持續(xù)關(guān)注。
51CTO:好的。十分感謝!本次采訪到此結(jié)束。
最后,附上本次采訪的視頻實(shí)錄。感謝觀看!