開(kāi)源商業(yè)化及云化之路該如何走?
原創(chuàng)作者:馬洪賓
編輯:徐杰承
【51CTO.com原創(chuàng)稿件】近年來(lái),開(kāi)源生態(tài)發(fā)展迅猛,不斷推動(dòng)技術(shù)創(chuàng)新和產(chǎn)業(yè)發(fā)展,已經(jīng)成為全球數(shù)字科技的關(guān)鍵。與此同時(shí),從開(kāi)源到開(kāi)源商業(yè)化也成為了越來(lái)越多企業(yè)與個(gè)人貢獻(xiàn)者共同關(guān)注的話題。近日,Kyligence 創(chuàng)始成員、技術(shù)合伙人,Apache Kylin 項(xiàng)目管理委員會(huì)成員馬洪賓圍繞開(kāi)源的時(shí)代背景,開(kāi)源商業(yè)化及云產(chǎn)品化等話題,從商業(yè)與技術(shù)的不同角度進(jìn)行了分享。
開(kāi)源的時(shí)代背景
1、開(kāi)源模式
提到開(kāi)源,大家最先想到的是以 Linux、Glue 為代表的自由軟件的時(shí)代。那時(shí),大家強(qiáng)調(diào)的是軟件的自由分發(fā),背后是人類對(duì)自由的渴望。
但現(xiàn)如今,開(kāi)源的現(xiàn)狀與曾經(jīng)的自由軟件時(shí)代已經(jīng)有所不同,很少有非常成功的開(kāi)源項(xiàng)目由個(gè)人主導(dǎo),比較成功的開(kāi)源軟件、開(kāi)源產(chǎn)品的背后都有一些公司在進(jìn)行商業(yè)化運(yùn)作。
如今,企業(yè)的運(yùn)作模式更多的是業(yè)務(wù)的創(chuàng)新激發(fā)技術(shù)的創(chuàng)新,而技術(shù)的創(chuàng)新又進(jìn)一步推動(dòng)業(yè)務(wù)的創(chuàng)新。在這種模式下,不再是由個(gè)人的因素推導(dǎo)開(kāi)源任務(wù),而是這些公司出于自身業(yè)務(wù)驅(qū)動(dòng)的需要,會(huì)源源不斷地把一些好的內(nèi)部產(chǎn)品進(jìn)行開(kāi)源。目前,開(kāi)源已經(jīng)成為了一種軟件的傳播模式和開(kāi)發(fā)協(xié)同模式。
2、利益考量
現(xiàn)在的開(kāi)源更多是一種由商業(yè)化公司支撐、帶有商業(yè)化目的、帶有利益交換性質(zhì)的行為。當(dāng)一個(gè)產(chǎn)品開(kāi)源之后,就會(huì)失去一部分的市場(chǎng)與利潤(rùn),但這其實(shí)是利益交換的一部分。作為社區(qū)用戶,你可以免費(fèi)使用開(kāi)源軟件,但你在使用的同時(shí)貢獻(xiàn)了你的時(shí)間、真實(shí)數(shù)據(jù)、真實(shí)場(chǎng)景,貢獻(xiàn)了自己機(jī)房里寶貴的計(jì)算資源,這些東西都哺育了社區(qū)進(jìn)一步地發(fā)展,所以這是一種帶著利益交換性質(zhì)的研發(fā)協(xié)同的模式。這就是所謂的開(kāi)源在開(kāi)發(fā)和協(xié)作方面的明顯作用。
3、商業(yè)驅(qū)動(dòng)
如今,很多公司依靠開(kāi)源項(xiàng)目為生,且在過(guò)去的 20 年中,這些靠開(kāi)源產(chǎn)品為生的公司的總市值也在大幅增加。這其中離不開(kāi)商業(yè)的驅(qū)動(dòng),投資圈對(duì)開(kāi)源的項(xiàng)目以及開(kāi)源的公司更是感興趣。從投資人的角度來(lái)看,他們希望開(kāi)源項(xiàng)目能夠商業(yè)化并最后獲得利益。對(duì)此, A16Z 投行總結(jié)了成功的開(kāi)源項(xiàng)目應(yīng)具備的三大要素。
Project-Community Fit:一個(gè)開(kāi)源項(xiàng)目,首先需要獲得開(kāi)發(fā)者的認(rèn)同,開(kāi)源項(xiàng)目好,開(kāi)發(fā)者就會(huì)在 GitHub 上點(diǎn)贊增加 star 數(shù),他們也會(huì)貢獻(xiàn)代碼,提交很多的 PR(Pull Request)。一個(gè)優(yōu)秀的開(kāi)源項(xiàng)目,往往能夠在早期階段就累積相當(dāng)多的開(kāi)發(fā)者群體,這個(gè)群體的積累對(duì)開(kāi)源項(xiàng)目尤其是開(kāi)源商業(yè)化的成功是非常關(guān)鍵的基礎(chǔ);
Product-Market Fit:光有好的開(kāi)發(fā)者社區(qū)是不夠的,還需要做出一款很好的產(chǎn)品,讓那些根本沒(méi)有開(kāi)發(fā)能力的人也會(huì)頻繁地、主動(dòng)地下載這個(gè)產(chǎn)品,并且在日常工作中使用。如果一個(gè)項(xiàng)目的下載量基本處于穩(wěn)定的上升狀態(tài),這就表示這個(gè)項(xiàng)目的健康度非常好;
Value-Market Fit:對(duì)投資人來(lái)說(shuō),擁有一款大家都愛(ài)用的產(chǎn)品依然是不夠的,因?yàn)轫?xiàng)目最后還是要能夠賺錢,這才能夠達(dá)到最終目的。因此開(kāi)源項(xiàng)目到底是否能夠產(chǎn)生足夠多的市場(chǎng)價(jià)值,這個(gè)價(jià)值能否被市場(chǎng)的用戶接受,也是一項(xiàng)重要的考量標(biāo)準(zhǔn)。
???
圖片來(lái)源:ANDREESSEN HOROWITZ
開(kāi)源的商業(yè)化
1、開(kāi)源商業(yè)化的開(kāi)始
接下來(lái),我用 Kylin 項(xiàng)目的商業(yè)化為例,介紹開(kāi)源商業(yè)化的開(kāi)始和開(kāi)源商業(yè)化會(huì)遇到的一些挑戰(zhàn)。
Apache Kylin 最早的定位是在大數(shù)據(jù)基礎(chǔ)方向,當(dāng)時(shí)云計(jì)算并不是那么流行,所以 Kylin 主要的定位還是在以 Hadoop 為基礎(chǔ)的數(shù)據(jù)湖上構(gòu)建的數(shù)據(jù)管理系統(tǒng),這個(gè)數(shù)據(jù)管理系統(tǒng)有一個(gè)輕量的語(yǔ)義層,這個(gè)語(yǔ)義層是一個(gè)一致的維度和度量的模型,當(dāng)分析師查詢數(shù)據(jù)時(shí),看到的是一個(gè)個(gè)被梳理好的數(shù)據(jù)模型,每個(gè)模型有自己一致的維度和度量的定義,這對(duì)分析師來(lái)說(shuō)非常友好。并且由于存在建立數(shù)據(jù)模型的步驟,使得 Kylin 能夠針對(duì)數(shù)據(jù)模型進(jìn)行提前物化,這有助于提升查詢的性能和吞吐量。由于這些主要優(yōu)勢(shì),Kylin 很快獲得了社區(qū)的認(rèn)同。不管是 GitHub Star 數(shù)量還是全球采用的數(shù)量,其實(shí)都是非常可觀的,并且處于不斷增長(zhǎng)的趨勢(shì)。于是,在 2016 年,我們就出來(lái)專門成立了一家公司來(lái)做 Kylin 的商業(yè)化。
???
圖片來(lái)源:Apache Kylin
2、開(kāi)源商業(yè)化的挑戰(zhàn)
前文提到了成功的開(kāi)源項(xiàng)目應(yīng)具備三大要素。對(duì)于一個(gè)商業(yè)化公司來(lái)說(shuō),可能最大的難點(diǎn)還是在 Value-Market Fit,就是需要?jiǎng)?chuàng)造一定的價(jià)值,讓市場(chǎng)接受這個(gè)價(jià)值,讓市場(chǎng)愿意花錢為這個(gè)價(jià)值買單。為了創(chuàng)造這種 Value-Market Fit,一般來(lái)說(shuō)業(yè)界有三種不一樣的模式。
Support:一個(gè)開(kāi)源項(xiàng)目基本百分之百開(kāi)源,你可以隨意使用,但當(dāng)遇到問(wèn)題或者上線之前,就需要考慮是否購(gòu)買商業(yè)化的服務(wù),來(lái)確保上線后不出現(xiàn)問(wèn)題。目前,這種模式不太主流,典型的代表只有 RedHat 一家。
Open Core:貢獻(xiàn)最核心的東西,并在開(kāi)放的內(nèi)核周圍開(kāi)發(fā)周邊功能,例如監(jiān)控、安全、審計(jì)等方面的能力,這個(gè)模式在 MongoDB 的例子上得到了最好的證實(shí)。
SaaS:也可以概括為 Cloud 模式。這一類典型的代表就是像 DataBricks 這樣的公司,它是靠一個(gè)云上的 DataBricks 的托管服務(wù)來(lái)賺取利潤(rùn)。這種模式也是現(xiàn)在比較受業(yè)界和資本追捧的一種模式。
以 Kylin 為例,我們首先嘗試的是 Open Core 的模式,但很快就發(fā)現(xiàn) Open Core 模式是存在一些問(wèn)題的。這里的 Core 必然是一個(gè)被高度隔離、被高度抽象的能力。Kylin 的主要能力是能夠在萬(wàn)億級(jí)數(shù)據(jù)上提供亞秒級(jí)的查詢響應(yīng),助力所有規(guī)模的企業(yè)顯著提升大數(shù)據(jù)分析效率,可以說(shuō) Kylin 解決大數(shù)據(jù)查詢的性能問(wèn)題。這其實(shí)有一定門檻,一般技術(shù)公司可能沒(méi)法達(dá)到實(shí)現(xiàn)這樣的效果。但業(yè)界始終還是會(huì)有很多廠商有能力去追趕甚至作出超越。與此同時(shí),就算把 Core 做的非常有競(jìng)爭(zhēng)力,但仍會(huì)存在著開(kāi)源和內(nèi)部商業(yè)化計(jì)劃的沖突。任何一個(gè)在 Open Core 上的重大能力的升級(jí),都會(huì)存在爭(zhēng)議,這個(gè)東西是否應(yīng)該開(kāi)源,如果開(kāi)源的話,它可能會(huì)影響內(nèi)部的商業(yè)化推進(jìn);如果不開(kāi)源的話,高度抽象的 Open Core 在外部世界會(huì)面臨很大的競(jìng)爭(zhēng)壓力,如果不持續(xù)地提升競(jìng)爭(zhēng)能力,這個(gè) Open Core 在業(yè)界的領(lǐng)先地位就會(huì)受到挑戰(zhàn)。所以這是一個(gè)非常矛盾的事情。
???
圖片來(lái)源:ANDREESSEN HOROWITZ
3、云的時(shí)代
剛才提到的 MongoDB 在上市之后,也很快發(fā)現(xiàn)了 Open Core 模式的弊端,所以它很快也布局了一個(gè)云化產(chǎn)品,把新的增長(zhǎng)希望放到 SaaS 或者是云模式方面。在這個(gè)模式下,不用糾結(jié)哪些開(kāi)源哪些未開(kāi)源,反正都是放在云上,它給大家?guī)?lái)的更多價(jià)值就是一種相當(dāng)于無(wú)托管的運(yùn)維服務(wù)。很多云上的用戶,為了節(jié)省開(kāi)發(fā)成本,提升開(kāi)發(fā)效率,是愿意花錢去購(gòu)買這些在云上已經(jīng)部署好的服務(wù),這種服務(wù)往往也帶來(lái)了比較高的 SLA(Service-Level Agreement)。
我們可以看到從 Support 模式到 Open Core 模式再到云產(chǎn)品化的模式,似乎是一個(gè)被業(yè)界實(shí)踐后總結(jié)的必經(jīng)之路。最終,所有做開(kāi)源商業(yè)化的公司都會(huì)聚焦在云產(chǎn)品化或者 SaaS 化的模式。所以當(dāng)這個(gè)方向成為主流方向時(shí),大家就都會(huì)往云產(chǎn)品化方面去投資。未來(lái)一定是云的時(shí)代,所以 Kyligence 在 2016、2017 年的時(shí)候就已經(jīng)成立了云產(chǎn)品的團(tuán)隊(duì),并且持續(xù)地在云產(chǎn)品化方面進(jìn)行投資。當(dāng)然,這個(gè)過(guò)程也是非常有挑戰(zhàn)的。
???
圖片來(lái)源:ANDREESSEN HOROWITZ
云產(chǎn)品化挑戰(zhàn)
1、底層邏輯適配
首先,云產(chǎn)品化過(guò)程中需要進(jìn)行底層邏輯的轉(zhuǎn)換與適配。早期 Kyligence 在接觸 Hadoop 時(shí),有一個(gè)非常優(yōu)秀的項(xiàng)目叫 YARN, YARN 的定位是 Data Operating System,本質(zhì)跟 OS 是一樣的。當(dāng)時(shí),基本上所有的大數(shù)據(jù)生態(tài)組件都是依托在 YARN 的 Operating System 之上。因此大家都要服從 YARN 的 OS 的底層邏輯。
而新一代的潮流是 K8S 的朝向。與 YARN 一樣,基于 K8S 也能夠部署很多的 application,比如 Flink、Spark 之類。很有意思的是,Spark 也完成了一個(gè)從 YARN Operating System 到 K8S 的變化,完成了容器化工作。當(dāng)然,它不僅僅是容器化工作,也涉及到彈性的擴(kuò)縮容等方面。
因此,當(dāng)從 YARN 的操作系統(tǒng)的底層邏輯轉(zhuǎn)變到 Cloud OS 的底層邏輯的時(shí)候,我們需要處理很多問(wèn)題,比方說(shuō)在云原生時(shí)代,CI/CD、構(gòu)件發(fā)布測(cè)試、回滾這些事情如何完成。云原生的 Profiling 跟本地化實(shí)現(xiàn)的方式都不一樣,基本都是一種在 K8S 框架下開(kāi)發(fā)的新玩法,當(dāng)然這些生態(tài)也都非常成熟。
如果你用了云和 K8S,就一定要非常關(guān)注資源的申請(qǐng)和回收,如何及時(shí)地進(jìn)行資源的擴(kuò)縮容,以及云原生的測(cè)試方法論,比如像云上的混沌測(cè)試也是非?;?,在云上測(cè)試的方法可能還會(huì)進(jìn)一步升級(jí)。接下來(lái)還有一點(diǎn),尤其是面向分析類或者數(shù)據(jù)類的產(chǎn)品,需要非常關(guān)注數(shù)據(jù)的存儲(chǔ)和計(jì)算分離的架構(gòu),因?yàn)橹霸诒镜貦C(jī)房、以及 YARN OS 的模式下,數(shù)據(jù)和計(jì)算基本上是可以認(rèn)為存在比較強(qiáng)的本地性,但是在云上這個(gè)假設(shè)并不成立,所以這個(gè)會(huì)造成非常大的 Fundamental 架構(gòu)上的重新設(shè)計(jì)。
???
圖片來(lái)源:網(wǎng)絡(luò)搜索
2、成本控制
云產(chǎn)品化的另一個(gè)考量點(diǎn),就是云上的成本控制。在云上所有技術(shù)、所有方案的成本是可視化的,所以當(dāng)用戶評(píng)價(jià)產(chǎn)品好壞或總體擁有成本高低時(shí),是非常容易得到這個(gè)數(shù)據(jù)的。任何一個(gè)想要在云上立足的產(chǎn)品,都需要關(guān)注云上成本的表現(xiàn)。為了控制在云上的成本,你需要做到以下幾點(diǎn)。
第一,軟件或者產(chǎn)品需要對(duì)負(fù)載有感知能力。當(dāng)負(fù)載大的時(shí)候,擴(kuò)展出更多節(jié)點(diǎn)來(lái)支撐壓力。當(dāng)負(fù)載降下來(lái)的時(shí)候,盡快降低資源,以防止實(shí)例的浪費(fèi)。
第二,存儲(chǔ)和計(jì)算要分離,否則很難完成資源的擴(kuò)縮容,一旦存儲(chǔ)和計(jì)算耦合,縮容就意味著數(shù)據(jù)要重新分布,這是非常麻煩的,也會(huì)非常緩慢。
第三,智能地使用云上的折扣實(shí)例。云上會(huì)有很多的打折實(shí)例,這些實(shí)例如果不充分利用的話,相當(dāng)于每次付 100% 的價(jià)格,在成本上是會(huì)有劣勢(shì)的。
第四,最大化地挖掘硬件的潛力,例如 CPU,你能榨干它肯定是要完全的榨干它,不然的話別人用一個(gè) CPU 能搞定的事情,你要用兩個(gè) CPU,那你的成本就是人家的兩倍。
第五,物化查詢結(jié)果,利用一些閑置的甚至是折扣的實(shí)例資源,提前做好計(jì)算方面的工作,然后把結(jié)果物化。這樣當(dāng)線上的壓力到來(lái)之時(shí),可以利用這些物化的結(jié)果快速且低成本的得到結(jié)果。這個(gè)方向也是一個(gè)非常重要而且非常有意思的方向。
???
圖片來(lái)源:Kyligence
Kyligence 的商業(yè)化算是走得非常前面,今年公司也提出了智能數(shù)據(jù)云戰(zhàn)略,幫助云上企業(yè)實(shí)現(xiàn)自動(dòng)化的數(shù)據(jù)服務(wù)和管理,通過(guò)節(jié)省人力和物力極大降低整體 TCO(總持有成本)。從我們接觸到的客戶和用戶來(lái)看,他們不僅希望有開(kāi)源的能力,在某些需求下也希望有企業(yè)級(jí)的能力,包括像安全、穩(wěn)定性、一些高級(jí)的特性。從開(kāi)源技術(shù)到企業(yè)級(jí)產(chǎn)品,服務(wù)用戶群體雖然不盡相同,但其實(shí)又互為統(tǒng)一,變化的是如何讓用戶能夠從項(xiàng)目中獲得價(jià)值,這其實(shí)極具挑戰(zhàn)。
會(huì)議推薦
一個(gè)成功的開(kāi)源項(xiàng)目,離不開(kāi)商業(yè)和社區(qū)的共同支持。除了開(kāi)源商業(yè)化戰(zhàn)略的制定與執(zhí)行外,開(kāi)源社區(qū)生態(tài)的運(yùn)營(yíng)與治理同樣是影響開(kāi)源項(xiàng)目發(fā)展的重要因素。在 2022 年 4 月 9 日的 WOT 全球技術(shù)創(chuàng)新大會(huì)中,我們特別設(shè)立了“開(kāi)源運(yùn)營(yíng)與治理”專題。屆時(shí),數(shù)位擁有豐富經(jīng)驗(yàn)的開(kāi)源領(lǐng)域?qū)<?,將圍繞開(kāi)源的運(yùn)營(yíng)與治理,基于開(kāi)源項(xiàng)目的創(chuàng)業(yè)等話題分享其真知灼見(jiàn)。
???
???
【51CTO原創(chuàng)稿件,合作站點(diǎn)轉(zhuǎn)載請(qǐng)注明原文作者和出處為51CTO.com】