對話智領(lǐng)云CEO彭鋒:大數(shù)據(jù)平臺如何進行云原生改造?
“Data Platform as a Service.”
作者 | 柚李Youli 編輯 | 趙健
智能化時代,企業(yè)如何借助數(shù)據(jù)驅(qū)動業(yè)務(wù)?如何解決企業(yè)日益增長的各種類型數(shù)據(jù)的實時化和智能化處理需求,成為不少大數(shù)據(jù)平臺解決方案服務(wù)商在思考的問題。智領(lǐng)云就是其中一家。
智領(lǐng)云成立于2016年,專注于利用云原生技術(shù)將企業(yè)大數(shù)據(jù)系統(tǒng)各項組件容器化和服務(wù)化,幫助企業(yè)搭建數(shù)據(jù)和AI中臺,輕松打造業(yè)務(wù)數(shù)據(jù)能力閉環(huán),掌握全面、及時、更多維度的業(yè)務(wù)現(xiàn)狀,提升數(shù)據(jù)驅(qū)動應(yīng)用的迭代和發(fā)布速度;實現(xiàn)系統(tǒng)資產(chǎn)在同一系統(tǒng)中的統(tǒng)一管理,建立數(shù)字化運營體系,并最終完成數(shù)據(jù)驅(qū)動的數(shù)字化轉(zhuǎn)型。
創(chuàng)始團隊有著濃厚的“硅谷基因”,曾負責推特(Twitter)、Ask.com和藝電(EA)等企業(yè)內(nèi)部數(shù)據(jù)平臺的搭建,是硅谷最早一批從事云和大數(shù)據(jù)研究與實踐的技術(shù)專家。深處技術(shù)最前線,讓他們比常人更敏銳地嗅到了云原生(Cloud Native)技術(shù)、數(shù)據(jù)驅(qū)動能力在提升企業(yè)運營效率方面的商機。因此,2016年,時任Twitter大數(shù)據(jù)平臺負責人的彭鋒回國創(chuàng)業(yè),發(fā)力如何依托云原生技術(shù)將大數(shù)據(jù)平臺做成一個產(chǎn)品。
云原生并不是一個新的概念。簡單來說,云原生是一種專門在云上(而不是傳統(tǒng)的數(shù)據(jù)中心)構(gòu)建和運行應(yīng)用程序的方法論。企業(yè)的業(yè)務(wù)或應(yīng)用生在云上,長在云上。據(jù)Gartner預(yù)測,到2025年,云原生平臺將成為95%以上新數(shù)字化計劃的基礎(chǔ),而2021年這個比例不到40%。因此,在接下來的幾年里,云原生平臺或?qū)硪粋€巨大的想象空間。
成立之初,智領(lǐng)云主要依托Mesos(一種開源分布式資源管理框架)作為大數(shù)據(jù)的基礎(chǔ)。去年,Spark(一類實時計算引擎)和Kafka(一類流式處理引擎)都支持了應(yīng)用更加廣泛的Kubernetes(一種容器集群管理系統(tǒng),簡稱K8s),智領(lǐng)云就將在Mesos上所做的云原生大數(shù)據(jù)平臺全部遷移到了K8s。
近日了解到,智領(lǐng)云發(fā)布了國內(nèi)第?個純K8s在線?數(shù)據(jù)平臺——BDOS Online,這是智領(lǐng)云自主研發(fā)的一款云原生Data Platform as a Service(DPaaS)產(chǎn)品,旨在為需要高效快速實現(xiàn)多源異構(gòu)數(shù)據(jù)應(yīng)用開發(fā)、發(fā)布、運維的企業(yè)級用戶提供一個在線協(xié)同數(shù)據(jù)應(yīng)用開發(fā)及運營平臺。
目前,智領(lǐng)云已獲得兩輪融資。2019年4月獲得線性資本數(shù)千萬元pre-A輪融資;2020年7月獲得由金沙江聯(lián)合領(lǐng)投、線性資本跟投的數(shù)千萬元A輪融資。
近期,「甲子光年」采訪了智領(lǐng)云CEO彭鋒,來了解下這一平臺背后更多的技術(shù)與發(fā)展脈絡(luò)。
提問:對大數(shù)據(jù)平臺進行云原生改造,會涉及哪些難點?
彭鋒:第一是體系之間的沖突。原有大數(shù)據(jù)體系都有一套自己的分布式管理和內(nèi)部工作通訊機制,K8s體系與其存在架構(gòu)沖突。比如,K8s對有狀態(tài)服務(wù)的支持還不是很完善,可供選擇方案不多;現(xiàn)有大數(shù)據(jù)組件對于K8s原生技術(shù)棧的使用;存算分離對于Data Locality的挑戰(zhàn),K8s需要的是存算分離,但是大數(shù)據(jù)是把計算放到數(shù)據(jù)中,數(shù)據(jù)存在哪里,計算便存在哪里。
第二是現(xiàn)有組件的改造安裝和使用。每個大數(shù)據(jù)組件都有自己的安裝流程、系統(tǒng)要求、第三方庫支持要求,需要使用新的運維理念對其進行安裝、運維。K8s希望以類似于operator方式將一個大數(shù)據(jù)組件的整個生命周期進行自動化管理。
第三是現(xiàn)有業(yè)務(wù)的無縫遷移。現(xiàn)有大數(shù)據(jù)運行著很多以前的業(yè)務(wù),包括ETL數(shù)據(jù)分析、數(shù)據(jù)倉建設(shè)等,不能為了使用K8s便把以前的業(yè)務(wù)應(yīng)用全部重寫,那就存在如何“不用重起爐灶”便將其無縫遷移到新的K8s體系上的難題。
提問:不同組件對K8s支持版本可能不同,你們是如何對其進行統(tǒng)一,或者在不同版本中使用時,如何解決錯位問題?
彭鋒:K8s的版本更迭速度快,大數(shù)據(jù)組件的版本更迭速度相對慢一點,這容易出現(xiàn)兩者版本更迭的錯位問題。
一般來說,如果開源組件對于其它系統(tǒng)有依賴關(guān)系,他們一般都只會設(shè)定一兩個版本來支持。比如,Spark要在Hadoop和Hive上使用,可能對Hadoop版本有要求,也對Hive版本有要求。但是,Spark支持的K8s版本可能會與Hive支持的K8s版本是有區(qū)別的。對此,我們一般需要指定一個K8s版本,再將指定的Hadoop版本、Kafka版本、Spark版本、Hive版本進行改造,將這些版本與目標K8s版本集成。在這一過程中,我們需要更改Hive、Spark、Hadoop的源代碼,確保他們可以在統(tǒng)一K8s版本中順利運行。一旦做好類似集成后,后面K8s版本和大數(shù)據(jù)版本的升級會相對容易。
提問:當前大家都在提“云生云長”的概念,你們“從無到有”搭建一個云原生大數(shù)據(jù)平臺,主要經(jīng)歷哪幾個階段?
彭鋒:現(xiàn)在大家對“云”的接受程度已經(jīng)很高了,我們的客戶基本上都把業(yè)務(wù)系統(tǒng)發(fā)布在云上,不管是私有云還是公有云,逐漸接受“上云”,但是上公有云的步伐“邁得”還不夠大,對數(shù)據(jù)安全有一定顧慮。
早期,我們需要向客戶解釋什么叫容器?什么叫云計算?云計算的好處是什么?容器發(fā)布的好處是什么等等。大家對容器發(fā)布的復(fù)雜度、性能損耗和管理存在顧慮。而現(xiàn)在大部分客戶都在尋找“上云”方案。甚至,如果一個解決方案不是在云上,而是使用傳統(tǒng)集群管理方式發(fā)布,客戶會有疑問:“為什么你這個不是云端發(fā)布,有什么原因嗎?”
大家已經(jīng)基本認可云原生的體系架構(gòu),比較大的阻礙是人才欠缺,現(xiàn)有系統(tǒng)改造存在困難。獲得認可后,上云的過程可以與現(xiàn)有業(yè)務(wù)架構(gòu)、數(shù)據(jù)架構(gòu)并行進行,一些新的組件、功能發(fā)布到云上,然后系統(tǒng)再逐漸遷移。很多客戶都采取這種方式,而非直接“一次性”上云。這種方式的好處在于彈性、高可用、容錯、高效率。
提問:你們在市場推廣方面是怎么做的?
彭鋒:現(xiàn)在最主要的想法是,在云上為客戶提供一個直接使用這種大數(shù)據(jù)平臺的機會。以前,如果想使用大數(shù)據(jù)平臺,需要購買至少十幾臺服務(wù)器,找專業(yè)人員安裝大數(shù)據(jù)的每個組件,安裝后還需要一個開發(fā)平臺、運維平臺,以及購買各種各樣的工具,建設(shè)和使用成本、門檻和決策風險比較高。
現(xiàn)在,通過云原生方式可以讓客戶直接使用、試用、實施。這意味著,從原始數(shù)據(jù)到產(chǎn)生第一個數(shù)據(jù)報表,以前可能需要幾個月的周期、幾百萬資金的投入,而現(xiàn)在只需要開個帳號,幾天便可以看到效果。這就是我們想實施的市場推廣方式,也是以后市場的必然選擇。
在美國硅谷,大部分大數(shù)據(jù)廠商,比如Snowflake直接在云上做服務(wù),Databricks也在主推云上服務(wù)平臺。基本所有大數(shù)據(jù)或者相關(guān)廠商都在提供直接云上使用方式,否則別人怎么會相信這是一個云原生體系?在云上直接使用的話,產(chǎn)品迭代、用戶使用、更新速度,都要比私有發(fā)布快得多。
未來,國內(nèi)一定會逐漸往這個方向轉(zhuǎn)變,目前很多新型數(shù)據(jù)庫廠商也都逐漸在云上直接提供服務(wù),這是大勢所趨。
提問:作為國內(nèi)第一個K8s在線大數(shù)據(jù)平臺,主要涉及哪些方面?核心優(yōu)勢是什么?
彭鋒:BDOS Online旨在為需要高效快速實現(xiàn)多源異構(gòu)數(shù)據(jù)應(yīng)用開發(fā)、發(fā)布,運維的企業(yè)級用戶提供一個在線協(xié)同數(shù)據(jù)應(yīng)用開發(fā)及運營平臺。
它可以提供數(shù)據(jù)采集、數(shù)據(jù)治理、數(shù)據(jù)分析、機器學(xué)習、BI報表、數(shù)據(jù)服務(wù)、數(shù)據(jù)應(yīng)用發(fā)布等數(shù)據(jù)應(yīng)用必需能力組件,并以數(shù)據(jù)工程的方式實現(xiàn)工程管理、應(yīng)用共享、質(zhì)量管理、代碼復(fù)用等DataOps核心功能。
在應(yīng)用方面,允許用戶即開即用、按需付費,以最低成本高效實現(xiàn)和共享數(shù)據(jù)價值。同時還支持公有云及私有云發(fā)布,并可無縫遷移。
提問:你們的云原生大數(shù)據(jù)平臺,主要適用于哪些企業(yè),或者是哪些業(yè)務(wù)?
彭鋒:我們的云原生大數(shù)據(jù)平臺,其實并不強調(diào)行業(yè)屬性,我們提供的是基礎(chǔ)架構(gòu)服務(wù),就像阿里云對業(yè)務(wù)應(yīng)用提供技術(shù)支持,我們的在線云平臺是對數(shù)據(jù)應(yīng)用開發(fā)提供支持,希望客戶在云上具有兩種使用云原生的方式。
第一種是在公有云上直接使用,主要面對中小客戶/大客戶中的創(chuàng)新團隊,這類客戶的特點在于不希望自己來管理一個復(fù)雜的大數(shù)據(jù)平臺,但是有數(shù)據(jù)分析需求,需要這種大數(shù)據(jù)業(yè)務(wù)開發(fā)的管理方式。比如,如果他需要門店銷售預(yù)測,直接把門店銷售的歷史數(shù)據(jù)傳送上來,直接運行門店銷售預(yù)測應(yīng)用,不需要再搭建完整的大數(shù)據(jù)平臺。
第二種是在企業(yè)內(nèi)部使用,主要面對已經(jīng)有大數(shù)據(jù)平臺/需要搭建大數(shù)據(jù)平臺,但需要更高效的數(shù)據(jù)應(yīng)用開發(fā)能力的客戶,他們想要將整個開發(fā)過程統(tǒng)一管理,且可以與現(xiàn)有集群混排、一起使用,而不是業(yè)務(wù)系統(tǒng)一個集群,大數(shù)據(jù)再一個集群的形式。有這種內(nèi)部需求的客戶,實際上也是我們云原生大數(shù)據(jù)平臺的目標使用場景,可以極大降低客戶的集群運維、開發(fā)、使用成本。
提問:想請你介紹一下整體行業(yè)的發(fā)展現(xiàn)狀,與其他廠商,尤其是大廠在采取路線方面的差異。
彭鋒:行業(yè)內(nèi)很多企業(yè)在做,但大家的區(qū)別主要在于采取的路線不一樣。我們是第一個完全基于K8s的在線大數(shù)據(jù)平臺,這其中涉及兩點:
一是完全基于K8s搭建大數(shù)據(jù)平臺。目前在硅谷已經(jīng)有很多實踐,趨勢比較明顯,但在國內(nèi),可能時機還不合適,很多廠家還在處理原來傳統(tǒng)大數(shù)據(jù)平臺問題,一些大企業(yè)試著在內(nèi)部進行這一方面的嘗試,但是目前并沒有成型的產(chǎn)品。
比如阿里云的dataworks是基于自己的調(diào)度系統(tǒng)和體系開發(fā)的,雖然現(xiàn)在也在做K8s改造,把自己的調(diào)度全部移到K8s,但并不是純K8s。
第二是像Spark、Kafka等組件都是最近才開始支持K8s,一些廠商也在嘗試。比如騰訊內(nèi)部也有K8s調(diào)度、大數(shù)據(jù)調(diào)度,Hadoop的HDFS改造等,但在云上還沒有提供K8s大數(shù)據(jù)平臺功能。華為云也在K8s與大數(shù)據(jù)上做很多工作,但所提供的大數(shù)據(jù)平臺服務(wù)也是基于自己的體系。
我們更強調(diào)兩個方面,第一是把所有組件都用K8s進行改造,而不是只改造一部分;第二個是在線上,不僅是私有發(fā)布能夠進行K8s集成和開發(fā),而且是可以在公有云上直接使用。
提問:目前在國內(nèi)外的發(fā)展方面存在哪些區(qū)別?
彭鋒:在美國,大家更激進一些。像Snowflake和Databricks直接在線上把Hadoop去掉,用云原生存儲做大數(shù)據(jù)體系建設(shè)。基本上是以K8s為調(diào)度平臺和運營平臺,直接在線上運行自己的云原生數(shù)據(jù)流水線,提供API的采集、計算、數(shù)據(jù)整合、數(shù)據(jù)分析等,不需要處理Hadoop、Hive等傳統(tǒng)數(shù)據(jù)倉架構(gòu),做得更徹底、更“純云原生”。
但在國內(nèi),很多客戶還是希望能夠從現(xiàn)有的架構(gòu)中進行平穩(wěn)遷移,把現(xiàn)有的大數(shù)據(jù)組件在K8s上運行。
這也是為什么我們沒有像美國的公司一樣只做API集成、云上解決方案,我們要同時兼顧私有發(fā)布和公有云發(fā)布,但這兩者的基礎(chǔ)是一樣的,即云原生架構(gòu)。傳統(tǒng)大數(shù)據(jù)平臺的云原生改造是一個必然的趨勢,對大家的整體生產(chǎn)效率、成本、產(chǎn)出都會有很大提升。
提問:剛才提到,你們之前采用的是Mesos路線,那么,現(xiàn)在整個路線還在進行嗎?還是說以后只做K8s改造?
彭鋒:目前還支持,還有很多客戶在用Mesos,但接下來我們的主要精力將聚焦在K8s上。
例如,以前大家要發(fā)布一個大數(shù)據(jù)平臺,需要面對不同底層硬件、操作系統(tǒng)的適配,而現(xiàn)在直接用K8s就可以解決問題。雖然現(xiàn)在K8s也沒有做到百分之百的完美,但K8s相當于以前的Linux系統(tǒng),以后所有的分布式系統(tǒng)都將會在K8s上運行,只要適配了K8s,基本可以做到標準化發(fā)布。因此,我們的重點肯定是放在K8s的發(fā)布和運維管理。
提問:據(jù)了解,其他很多數(shù)據(jù)平臺上面的各個組件包括Hadoop等,有自己的商業(yè)公司在運作,你們與他們是什么樣的關(guān)系?
彭鋒:可以這樣理解,比如像Cloudera,也是典型的Hadoop黏合劑,那我們的黏合劑與它不一樣的地方主要體現(xiàn)在這幾個方面。
第一個是原來的黏合劑只是基于Hadoop,比如Cloudera的系統(tǒng)是基于Hadoop發(fā)布,運營全部在YARN上,而現(xiàn)在大數(shù)據(jù)組件的Flavor問題越來越多,做聯(lián)合的話很難由一家來做,并且也不是所有組件都有集成,像Cloudera就無法做Flink,這不是它自己開發(fā)的。
或者像Jupyter這種機器學(xué)習方面組件的開發(fā)、Docker的發(fā)布,都存在比較大的局限性,因為用戶每次要做一件事情就需要安裝一個新系統(tǒng)。所以我們做集成開發(fā)環(huán)境的時候,最大的問題在于要找到公分母,與公分母進行對接。以前的公分母是Hadoop,現(xiàn)在的公分母是K8s,所有新的大數(shù)據(jù)組件開發(fā)都要進行K8s的改造和集成,如果新的大數(shù)據(jù)組件不支持K8s,大概率沒有人會使用。
第二是原來的大數(shù)據(jù)組件的K8s有很多架構(gòu)上的缺陷,在做集成開發(fā)平臺時很難做到真正的用戶隔離和資源隔離。而在K8s基礎(chǔ)上,所有機構(gòu)的運行,不管是Hadoop,還是Hive程序、機器學(xué)習、人工智能等,全部都是基于K8s實現(xiàn)資源隔離,不用擔心機構(gòu)之間的互相影響,真正實現(xiàn)資源隔離。
第三是混合調(diào)度,以前Hadoop都是用YARN來調(diào)度,如果有其他運行機制應(yīng)用的話,需要再單獨安裝服務(wù)器,而現(xiàn)在集成之后,所有運行的應(yīng)用都是容器化,在同一個架構(gòu)下很容易做到混合調(diào)度、精準計費。
第四是找到公分母之后,如果有新的大數(shù)據(jù)組件平臺,因為它支持K8s,就可以直接把它對接進來,不需要單獨再去做額外的開發(fā)。
本文來自微信公眾號 “甲子光年”(ID:jazzyear),作者:柚李Youli,36氪經(jīng)授權(quán)發(fā)布。
