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