2008年我在我的第一份工作(Ask.com)中開始使用Hadoop。當時是因為昂貴的Oracle集群無法處理不斷增加的分析工作量,公司不得不切換到Hadoop。

隨后在Twitter擔任數(shù)據(jù)工程師的第二份工作中,我在第一線參與并推動了如何使用數(shù)據(jù)給幾乎所有Twitter的產(chǎn)品賦能(與其稱之為“大數(shù)據(jù)”,我更愿意簡單稱之為“數(shù)據(jù)”)。

自2008年以來,我親眼目睹了數(shù)據(jù)的力量,以及見證了它如何改變世界。如果你閱讀過有關劍橋分析公司如何影響2016年美國大選的文章,那么你會感受到這種改變所帶來的非凡意義。

然而,自流行詞“大數(shù)據(jù)”出現(xiàn)10多年后,大數(shù)據(jù)似乎只對少數(shù)公司有用。在硅谷,幾乎所有的獨角獸企業(yè)都廣泛使用大數(shù)據(jù)來推動他們的成功。

在中國,像BAT這樣的公司已經(jīng)掌握了大數(shù)據(jù)的藝術,同時我們也有像字節(jié)跳動這樣主要以大數(shù)據(jù)技術為基礎的超級獨角獸公司,但是仍然有很多關于大數(shù)據(jù)是如何難以使用的笑話。

并且令人遺憾的事實是,對于大多數(shù)公司來說,大數(shù)據(jù)要么仍然是流行詞,要么的確是難以實現(xiàn)。

幸運的是,一門新學科正在崛起,是解開普通公司數(shù)據(jù)能力的關鍵。它就是DataOps,與DevOps明顯相似的名稱,以及與DevOps類似的軟件開發(fā)角色,是數(shù)據(jù)工程師希望簡化數(shù)據(jù)的使用并真正實現(xiàn)以數(shù)據(jù)來驅動企業(yè)成功的方法。

今天,我們將簡要介紹DataOps以及為什么它對每個想要從數(shù)據(jù)中獲取真正價值的公司都很重要。??

什么是DataOps

維基百科上DataOps的定義是:

DataOps是一種面向流程的自動化方法,由分析和數(shù)據(jù)團隊使用,旨在提高質量并縮短數(shù)據(jù)分析的周期時間。

維基百科上的DataOps頁面在2017年2月創(chuàng)建,其中詳細介紹了這一新學科。DataOps的定義肯定會隨著時間的推移而發(fā)展,但其關鍵目標非常明確:提高數(shù)據(jù)分析的質量并縮短數(shù)據(jù)分析的周期。

DataOps可以降低數(shù)據(jù)分析的門檻,但是它并不會使數(shù)據(jù)分析變成一項簡單的工作。實施成功的數(shù)據(jù)項目仍然需要大量工作,例如深入了解數(shù)據(jù)和業(yè)務的關系,良好的數(shù)據(jù)使用規(guī)范以及一個公司的數(shù)據(jù)驅動的文化培養(yǎng)。不過,DataOps將極大地提高人們使用數(shù)據(jù)的效率并降低使用數(shù)據(jù)的門檻,公司可以更快,更早,更好地開始使用數(shù)據(jù),并且成本和風險更低。

DataOps解決的問題

大數(shù)據(jù)的大多數(shù)應用可以分類為AI(人工智能)或BI(商業(yè)智能)。此處的AI是指廣義的人工智能功能,包括機器學習,數(shù)據(jù)挖掘以及其他從數(shù)據(jù)中獲取以前未知知識的技術。BI則是更多地使用統(tǒng)計方法將大量數(shù)據(jù)匯總到更簡單的報告,供人們理解。簡而言之,AI使用各種數(shù)據(jù)算法來計算新的東西,BI則是統(tǒng)計人們可以理解的數(shù)字。

編寫AI / BI程序并不難。你可以在幾個小時內設置一個TensorFlow的人臉識別程序?;蛘呤褂肕atlab繪制一些數(shù)據(jù),甚至使用Excel也并不難實現(xiàn)這個目的。問題在于,要實際使用生產(chǎn)結果來支持面向用戶的產(chǎn)品或根據(jù)這些神奇的數(shù)字來決定公司的命運,你需要的不僅僅是手動工作。

Dimensional Research的一項調查(如上圖所示)發(fā)現(xiàn),對于想要實施大數(shù)據(jù)應用的公司來說,以下問題最為困難:

  1. 確保數(shù)據(jù)質量;
  2. 控制成本;
  3. 滿足業(yè)務需求和期望;
  4. 量化大數(shù)據(jù)項目的價值;
  5. 很難找到具有大數(shù)據(jù)專業(yè)知識的人;
  6. 修復性能和配置問題;
  7. 選擇正確的數(shù)據(jù)框架;
  8. 技術資源不足;
  9. 保持運行可靠性;
  10. 大數(shù)據(jù)項目花費的時間比預期的要長;
  11. 要管理的技術或供應商太多;
  12. 開放對更多消費者的數(shù)據(jù)訪問;
  13. 難以創(chuàng)建可操作的信息;
  14. 復雜問題解決和調試。

谷歌數(shù)據(jù)分析師的另一項研究發(fā)現(xiàn),對于大多數(shù)機器學習項目,只有5%的時間花在編寫ML代碼上。另外95%的時間用于設置運行ML代碼所需的基礎設施。

在這兩項研究中,我們可以很容易地看到許多艱苦的工作實際上并不是在編寫代碼。整個基礎設施的準備工作以及高效運行生產(chǎn)級別的代碼是非常費時費力的,而且經(jīng)常伴隨著各種風險。

在谷歌的研究中,他們引用了我的前同事Jimmy Lin和Dmitry Ryaboy(來自Twitter Analytics團隊)的話:我們的大部分工作可以被描述為“數(shù)據(jù)管道工”。實際上,DataOps使管道工的工作更簡單和高效。

DataOps目標功能

DataOps旨在減少整個分析周期時間。因此,從搭建基礎架構到使用數(shù)據(jù)應用的結果,通常需要實現(xiàn)以下功能:

  1. 部署:包括基礎架構和應用程序。無論底層硬件基礎設施如何,配置新系統(tǒng)環(huán)境都應該快速而簡單。部署新應用程序應該花費幾秒而不是幾小時或幾天;
  2. 運維:系統(tǒng)和應用程序的可擴展性,可用性,監(jiān)視,恢復和可靠性。用戶不必擔心運維,可以專注于業(yè)務邏輯;
  3. 治理:數(shù)據(jù)的安全性,質量和完整性,包括審計和訪問控制。所有數(shù)據(jù)都在一個支持多租戶的安全環(huán)境中以連貫和受控的方式進行管理。
  4. 可用:用戶應該能夠選擇他們想要用于數(shù)據(jù)的工具,并根據(jù)需要輕松運行它們。應將對不同分析/ ML / AI框架的支持整合到系統(tǒng)中:
  5. 生產(chǎn):通過調度和數(shù)據(jù)監(jiān)控,可以輕松地將分析程序轉換為生產(chǎn)應用,構建從數(shù)據(jù)抽取到數(shù)據(jù)分析的生產(chǎn)級數(shù)據(jù)流水線,并且數(shù)據(jù)的使用應該很容易并由系統(tǒng)管理。

簡而言之,它類似于DevOps方法:從編寫代碼到生產(chǎn)部署的路徑,包括調度和監(jiān)視,應由同一個人完成,并遵循系統(tǒng)管理的標準。

與提供許多標準CI,部署,監(jiān)控工具以實現(xiàn)快速交付的DevOps類似,通過標準化大量大數(shù)據(jù)組件,新手可以快速建立生產(chǎn)級的大數(shù)據(jù)平臺并充分利用數(shù)據(jù)的價值。

DataOps方法論

DataOps的主要方法論仍處于快速發(fā)展階段。像Facebook和Twitter這樣的公司通常會有一個專門的數(shù)據(jù)平臺團隊(Data Platform Team)處理數(shù)據(jù)運營并實現(xiàn)數(shù)據(jù)項目。

但是,他們的實現(xiàn)方式大多與公司現(xiàn)有的Ops基礎設施集成,因此通常不適用于其他人。我們可以從他們的成功中學習經(jīng)驗,并建立一個可以由每家公司輕松實施的通用大數(shù)據(jù)平臺。

要構建DataOps所需的通用平臺,我們認為需要以下技術:

  1. 云架構:我們必須使用基于云的基礎架構來支持資源管理,可擴展性和運營效率;
  2. 容器:容器在DevOps的實現(xiàn)中至關重要,它在資源隔離和提供一致的dev / test / ops環(huán)境中的作用對于實現(xiàn)數(shù)據(jù)平臺仍然至關重要;
  3. 實時和流處理:實時和流處理現(xiàn)在在數(shù)據(jù)驅動平臺中變得越來越重要,它們應該是現(xiàn)代數(shù)據(jù)平臺的一等公民;
  4. 多分析引擎:MapReduce是傳統(tǒng)的分布式處理框架,但Spark和TensorFlow等框架日常使用越來越廣泛,應該進行集成;
  5. 集成的應用程序和數(shù)據(jù)管理:應用程序和數(shù)據(jù)管理,包括生命周期管理,調度,監(jiān)視,日志記錄支持,對于生產(chǎn)數(shù)據(jù)平臺至關重要。DevOps的常規(guī)實踐可以應用于應用程序管理,但是數(shù)據(jù)管理以及應用程序和數(shù)據(jù)之間的交互需要很多額外的工作;
  6. 多租戶和安全性:數(shù)據(jù)安全性幾乎是數(shù)據(jù)項目中最重要的問題:如果數(shù)據(jù)無法保護,則根本無法使用。該平臺應為每個人提供一個安全的環(huán)境,以便每個人都可以使用這些數(shù)據(jù)并對每個操作進行授權,驗證和審核。
  7. Dev和Ops工具:該平臺應為數(shù)據(jù)科學家提供有效的工具,以分析數(shù)據(jù)并生成分析程序,為數(shù)據(jù)工程師提供大數(shù)據(jù)流水線的工具,并為其他人提供消費數(shù)據(jù)和結果的方法。

我們的思考

目前的大數(shù)據(jù)技術是強大的,但它們對于普通人來說仍然太難使用。部署一個適合生產(chǎn)環(huán)境的數(shù)據(jù)平臺仍然是一項艱巨的任務。對于已經(jīng)開始這一過程的公司來說,他們的數(shù)據(jù)平臺團隊大部分時間仍在做相似的事情,就像重新造輪子。

有些公司已經(jīng)意識到這些問題(Qubole,DataMeer,Bluedata等),并開始采用不同的方法來解決這個問題。其中一些使用基于容器的解決方案,另外一些以Hadoop為中心構建其平臺。

踐行云原生DataOps,需要正確的方式和工具。當下我們正需要用一款工具及平臺解決目前繁雜的數(shù)據(jù)開發(fā)問題,在實踐中降低邁入數(shù)據(jù)大門的門檻。目前由智領云自主研發(fā)的一款即開即用,快速搭建數(shù)據(jù)工程的新一代在線DataOps大數(shù)據(jù)平臺–BDOS Online已上線,歡迎大家免費試用。

分享到

zhupb

相關推薦