DataOps 是現(xiàn)代數(shù)據(jù)堆棧的未來(lái)嗎?
譯文在DevOps掀起軟件工程風(fēng)暴之前,一旦他們的應(yīng)用程序開始運(yùn)行,開發(fā)人員就被蒙在鼓里。工程師們不是在第一時(shí)間知道故障發(fā)生,而是在客戶或利益相關(guān)者抱怨 "網(wǎng)站滯后 "或503頁(yè)面太多時(shí)才會(huì)發(fā)現(xiàn)。
不幸的是,這會(huì)導(dǎo)致了同樣的錯(cuò)誤反復(fù)發(fā)生,因?yàn)殚_發(fā)人員缺乏對(duì)應(yīng)用程序性能的洞察力,不知道在發(fā)生故障時(shí)從哪里開始調(diào)試他們的代碼。
所以現(xiàn)在廣泛采用DevOps概念,要求在軟件部署和開發(fā)過(guò)程中,開發(fā)人員(Dev)和運(yùn)營(yíng)(Ops)團(tuán)隊(duì)之間進(jìn)行協(xié)作和持續(xù)迭代來(lái)解決上述問題。
到2010年中期,大型的數(shù)據(jù)優(yōu)先公司,如Netflix、Uber和Airbnb已經(jīng)采用了持續(xù)集成/持續(xù)部署(CI/CD)原則,甚至建立了開源工具來(lái)促進(jìn)其數(shù)據(jù)團(tuán)隊(duì)的發(fā)展,DataOps也就誕生了。
事實(shí)上,如果你是一個(gè)數(shù)據(jù)工程師,你可能已經(jīng)在你的堆棧中應(yīng)用了DataOps流程和技術(shù),無(wú)論你是否意識(shí)到這一點(diǎn)。
在過(guò)去的幾年里,DataOps在各種規(guī)模的數(shù)據(jù)團(tuán)隊(duì)中越來(lái)越受歡迎,它是一個(gè)能夠快速部署數(shù)據(jù)管道的框架,同時(shí)還能提供可靠和值得信賴的數(shù)據(jù),并且隨時(shí)可用。
什么是數(shù)據(jù)運(yùn)維?
DataOps 是一門融合數(shù)據(jù)工程和數(shù)據(jù)科學(xué)團(tuán)隊(duì)以支持組織的數(shù)據(jù)需求的學(xué)科,其方式類似于 DevOps 幫助擴(kuò)展軟件工程的方式。
與 DevOps 如何將 CI/CD 應(yīng)用于軟件開發(fā)和運(yùn)營(yíng)類似,DataOps 需要一種類似于 CI/CD、自動(dòng)化優(yōu)先的方法來(lái)構(gòu)建和擴(kuò)展數(shù)據(jù)產(chǎn)品。同時(shí),DataOps 使數(shù)據(jù)工程團(tuán)隊(duì)更容易為分析師和其他下游利益相關(guān)者提供可靠的數(shù)據(jù)來(lái)推動(dòng)決策。
DataOps 與 DevOps
雖然 DataOps 與 DevOps 有許多相似之處,但兩者之間存在重要區(qū)別。
關(guān)鍵區(qū)別在于 DevOps 是一種將開發(fā)和運(yùn)營(yíng)團(tuán)隊(duì)聚集在一起以提高軟件開發(fā)和交付效率的方法,而 DataOps 專注于打破數(shù)據(jù)生產(chǎn)者和數(shù)據(jù)消費(fèi)者之間的孤島,使數(shù)據(jù)更加可靠和有價(jià)值。
多年來(lái),DevOps 團(tuán)隊(duì)已成為大多數(shù)工程組織不可或缺的一部分,消除了軟件開發(fā)人員和 IT 之間的孤島,因?yàn)樗麄兇龠M(jìn)了軟件無(wú)縫且可靠地發(fā)布到生產(chǎn)中。隨著 DevOps 的發(fā)展以及為它們提供動(dòng)力的技術(shù)堆棧的復(fù)雜性開始增加,DevOps 在組織中越來(lái)越受歡迎。
為了保持系統(tǒng)整體健康狀況的持續(xù)變化,DevOps 工程師利用可觀察性來(lái)監(jiān)控、跟蹤和分類事件,以防止應(yīng)用程序停機(jī)。
軟件可觀察性包括三個(gè)支柱:
- 日志:在給定時(shí)間戳發(fā)生的事件的記錄。日志還為發(fā)生的特定事件提供上下文。
- 指標(biāo):在一段時(shí)間內(nèi)測(cè)量的數(shù)據(jù)的數(shù)字表示。
- Traces:表示分布式環(huán)境中相互關(guān)聯(lián)的事件。
總之,可觀察性的三個(gè)支柱使 DevOps 團(tuán)隊(duì)能夠預(yù)測(cè)未來(lái)的行為并信任他們的應(yīng)用程序。
同樣,DataOps 的紀(jì)律可幫助團(tuán)隊(duì)消除孤島并更有效地工作以在整個(gè)組織內(nèi)交付高質(zhì)量的數(shù)據(jù)產(chǎn)品。
隨著公司開始從各種來(lái)源攝取大量數(shù)據(jù),DataOps 專業(yè)人員還利用可觀察性來(lái)減少停機(jī)時(shí)間。
數(shù)據(jù)可觀察性是組織充分了解其系統(tǒng)中數(shù)據(jù)健康狀況的能力。它通過(guò)監(jiān)控和提醒團(tuán)隊(duì)可能在數(shù)天、數(shù)周甚至數(shù)月內(nèi)未被發(fā)現(xiàn)的事件,減少數(shù)據(jù)停機(jī)的頻率和影響(數(shù)據(jù)不完整、錯(cuò)誤、丟失或其他不準(zhǔn)確的時(shí)間段)。
與軟件可觀察性一樣,數(shù)據(jù)可觀察性包括自己的一組支柱:
- 新鮮度:數(shù)據(jù)是最新的嗎?最后一次更新是什么時(shí)候?
- 分布:數(shù)據(jù)是否在可接受的范圍內(nèi)?它是預(yù)期的格式嗎?
- 卷:所有數(shù)據(jù)都到了嗎?是否有任何數(shù)據(jù)重復(fù)或從表中刪除?
- 架構(gòu):架構(gòu)是什么,它有變化嗎?對(duì)架構(gòu)的更改是故意的嗎?
- 沿襲:哪些上游和下游依賴項(xiàng)連接到給定的數(shù)據(jù)資產(chǎn)?誰(shuí)依賴這些數(shù)據(jù)進(jìn)行決策,這些數(shù)據(jù)在哪些表中?
通過(guò)深入了解這些支柱的數(shù)據(jù)狀態(tài),DataOps 團(tuán)隊(duì)可以了解并主動(dòng)解決數(shù)據(jù)生命周期每個(gè)階段的質(zhì)量和可靠性問題。
數(shù)據(jù)運(yùn)維框架
為了更快、更可靠地從數(shù)據(jù)中獲得洞察力,DataOps 團(tuán)隊(duì)?wèi)?yīng)用了一個(gè)持續(xù)的反饋循環(huán),也稱為 DataOps 生命周期。DataOps 生命周期從 DevOps 生命周期中汲取靈感,但考慮到數(shù)據(jù)不斷變化的性質(zhì),它結(jié)合了不同的技術(shù)和流程。DataOps 生命周期允許數(shù)據(jù)團(tuán)隊(duì)和業(yè)務(wù)利益相關(guān)者協(xié)同工作,為組織提供更可靠的數(shù)據(jù)和分析。
以下是 DataOps 生命周期在實(shí)踐中的樣子:
- 計(jì)劃:與產(chǎn)品、工程和業(yè)務(wù)團(tuán)隊(duì)合作,為數(shù)據(jù)的質(zhì)量和可用性設(shè)置 KPI、SLA 和 SLI(下一節(jié)將詳細(xì)介紹)。
- 開發(fā):構(gòu)建將為你的數(shù)據(jù)應(yīng)用程序提供動(dòng)力的數(shù)據(jù)產(chǎn)品和機(jī)器學(xué)習(xí)模型。
- 集成:將代碼和/或數(shù)據(jù)產(chǎn)品集成到你現(xiàn)有的技術(shù)和/或數(shù)據(jù)堆棧中。(例如,你可以將 DBT 模型與 Airflow 集成,以便 DBT 模塊可以自動(dòng)運(yùn)行。)
- 測(cè)試:測(cè)試你的數(shù)據(jù)以確保它符合業(yè)務(wù)邏輯并滿足基本操作閾值(例如數(shù)據(jù)的唯一性或無(wú)空值)。
- 發(fā)布:將你的數(shù)據(jù)發(fā)布到測(cè)試環(huán)境中。
- 部署:將你的數(shù)據(jù)合并到生產(chǎn)中。
- 操作:將你的數(shù)據(jù)運(yùn)行到應(yīng)用程序中,例如為機(jī)器學(xué)習(xí)模型提供數(shù)據(jù)的 Looker 或 Tableau 儀表板和數(shù)據(jù)加載器。
- 監(jiān)控:持續(xù)監(jiān)控?cái)?shù)據(jù)中的任何異常并發(fā)出警報(bào)。
這個(gè)循環(huán)會(huì)一遍又一遍地重復(fù)。然而,通過(guò)將 DevOps 的類似原則應(yīng)用于數(shù)據(jù)管道,數(shù)據(jù)團(tuán)隊(duì)可以更好地協(xié)作,從一開始就識(shí)別、解決甚至防止數(shù)據(jù)質(zhì)量問題的發(fā)生。
DataOps 的五個(gè)最佳實(shí)踐
與我們?cè)谲浖_發(fā)領(lǐng)域的朋友類似,數(shù)據(jù)團(tuán)隊(duì)也開始效仿,將數(shù)據(jù)視為產(chǎn)品。
數(shù)據(jù)是組織決策過(guò)程的關(guān)鍵部分,數(shù)據(jù)團(tuán)隊(duì)也開始將數(shù)據(jù)視為產(chǎn)品,并將產(chǎn)品管理思維應(yīng)用于構(gòu)建、監(jiān)控和測(cè)量數(shù)據(jù)產(chǎn)品的方式有助于確保這些決策基于準(zhǔn)確、可靠的洞察力。
在過(guò)去幾年與數(shù)百個(gè)數(shù)據(jù)團(tuán)隊(duì)交談后,我們總結(jié)了五個(gè)關(guān)鍵的 DataOps 最佳實(shí)踐,可以幫助你更好地適應(yīng)這種“數(shù)據(jù)就像產(chǎn)品”的方法。
1. 盡早讓利益相關(guān)者在 KPI 上達(dá)成一致,并定期重新審視它們。
由于你將數(shù)據(jù)視為產(chǎn)品,因此內(nèi)部利益相關(guān)者就是你的客戶。因此,盡早與關(guān)鍵數(shù)據(jù)利益相關(guān)者保持一致并就誰(shuí)使用數(shù)據(jù)、他們?nèi)绾问褂脭?shù)據(jù)以及用于什么目的達(dá)成一致至關(guān)重要。為關(guān)鍵數(shù)據(jù)集制定服務(wù)水平協(xié)議 (SLA) 也很重要。與利益相關(guān)者就良好的數(shù)據(jù)質(zhì)量達(dá)成一致有助于你避免在 KPI 或無(wú)關(guān)緊要的測(cè)量上出現(xiàn)旋轉(zhuǎn)周期。
在你和你的利益相關(guān)者達(dá)成一致后,你應(yīng)該定期與他們核對(duì)以確保優(yōu)先級(jí)仍然相同。Red Ventures 的高級(jí)數(shù)據(jù)科學(xué)家 Brandon Beidel 每周與公司的每個(gè)業(yè)務(wù)團(tuán)隊(duì)會(huì)面,討論他的團(tuán)隊(duì)在 SLA 方面的進(jìn)展。
“我總是用簡(jiǎn)單的商業(yè)術(shù)語(yǔ)來(lái)構(gòu)建對(duì)話,并專注于'誰(shuí)、什么、何時(shí)、何地以及為什么,”布蘭登告訴我們?!拔姨貏e會(huì)問一些關(guān)于數(shù)據(jù)新鮮度限制的問題,我發(fā)現(xiàn)這對(duì)業(yè)務(wù)利益相關(guān)者特別重要?!?/span>
2.自動(dòng)化盡可能多的任務(wù)
DataOps 的主要關(guān)注點(diǎn)之一是數(shù)據(jù)工程自動(dòng)化。數(shù)據(jù)團(tuán)隊(duì)可以自動(dòng)執(zhí)行通常需要數(shù)小時(shí)才能完成的死記硬背任務(wù),例如單元測(cè)試、硬編碼攝取管道和工作流編排。
通過(guò)使用自動(dòng)化解決方案,你的團(tuán)隊(duì)可以減少人為錯(cuò)誤進(jìn)入數(shù)據(jù)管道的可能性并提高可靠性,同時(shí)幫助組織做出更好、更快的數(shù)據(jù)驅(qū)動(dòng)決策。
3. 擁抱“運(yùn)送和迭代”文化
對(duì)于大多數(shù)數(shù)據(jù)驅(qū)動(dòng)的組織而言,速度至關(guān)重要。而且,你的數(shù)據(jù)產(chǎn)品可能不需要 100% 完美才能增加價(jià)值。我的建議?構(gòu)建一個(gè)基本的 MVP,對(duì)其進(jìn)行測(cè)試,評(píng)估你的學(xué)習(xí)成果,并根據(jù)需要進(jìn)行修改。
我的第一手經(jīng)驗(yàn)表明,通過(guò)使用實(shí)時(shí)數(shù)據(jù)在生產(chǎn)中進(jìn)行測(cè)試和迭代,可以更快地構(gòu)建成功的數(shù)據(jù)產(chǎn)品。團(tuán)隊(duì)可以與相關(guān)利益相關(guān)者合作,監(jiān)控、測(cè)試和分析模式,以解決任何問題并改善結(jié)果。如果你定期執(zhí)行此操作,你將減少錯(cuò)誤并降低錯(cuò)誤進(jìn)入數(shù)據(jù)管道的可能性。
4. 投資自助服務(wù)工具
DataOps 的一個(gè)關(guān)鍵好處是消除了數(shù)據(jù)在業(yè)務(wù)利益相關(guān)者和數(shù)據(jù)工程師之間的孤島。為了做到這一點(diǎn),業(yè)務(wù)用戶需要能夠自助滿足自己的數(shù)據(jù)需求。
業(yè)務(wù)利益相關(guān)者可以在需要時(shí)訪問他們需要的數(shù)據(jù),而不是滿足業(yè)務(wù)用戶的臨時(shí)請(qǐng)求(這最終會(huì)減慢決策制定)的數(shù)據(jù)團(tuán)隊(duì)。Intuit 的前工程副總裁 Mammad Zadeh 認(rèn)為,自助服務(wù)工具在整個(gè)組織中啟用 DataOps 方面發(fā)揮著至關(guān)重要的作用。
“中央數(shù)據(jù)團(tuán)隊(duì)?wèi)?yīng)確保數(shù)據(jù)的生產(chǎn)者和消費(fèi)者都可以使用正確的自助式基礎(chǔ)設(shè)施和工具,以便他們能夠輕松完成工作,”Mammad 告訴我們?!盀樗麄兣鋫湔_的工具,讓他們直接互動(dòng),并讓他們走開?!?/span>
5. 優(yōu)先考慮數(shù)據(jù)質(zhì)量,然后擴(kuò)展
在擴(kuò)展的同時(shí)保持高數(shù)據(jù)質(zhì)量并非易事。因此,從你最重要的數(shù)據(jù)資產(chǎn)開始——你的利益相關(guān)者在做出重要決策時(shí)所依賴的信息。
如果給定資產(chǎn)中的不準(zhǔn)確數(shù)據(jù)可能意味著時(shí)間、資源和收入的損失,請(qǐng)注意這些數(shù)據(jù)以及通過(guò)數(shù)據(jù)質(zhì)量功能(如測(cè)試、監(jiān)控和警報(bào))推動(dòng)這些決策的管道。然后,繼續(xù)構(gòu)建你的能力以涵蓋更多數(shù)據(jù)生命周期。(回到最佳實(shí)踐#2,請(qǐng)記住,大規(guī)模數(shù)據(jù)監(jiān)控通常涉及自動(dòng)化。)
組織可以從 DataOps 中受益的四種方式
雖然 DataOps 的存在是為了消除數(shù)據(jù)孤島并幫助數(shù)據(jù)團(tuán)隊(duì)協(xié)作,但團(tuán)隊(duì)在實(shí)施 DataOps 時(shí)可以實(shí)現(xiàn)其他四個(gè)關(guān)鍵優(yōu)勢(shì)。
1. 更好的數(shù)據(jù)質(zhì)量
公司可以在其管道中應(yīng)用 DataOps 以提高數(shù)據(jù)質(zhì)量。這包括自動(dòng)化日常任務(wù),例如測(cè)試和引入端到端可觀察性,并在數(shù)據(jù)堆棧的每一層(從攝取到存儲(chǔ)到轉(zhuǎn)換到 BI 工具)進(jìn)行監(jiān)控和警報(bào)。
這種自動(dòng)化和可觀察性的結(jié)合減少了人為錯(cuò)誤的機(jī)會(huì),并使數(shù)據(jù)團(tuán)隊(duì)能夠快速主動(dòng)地響應(yīng)數(shù)據(jù)停機(jī)事件——通常是在利益相關(guān)者意識(shí)到出現(xiàn)任何問題之前。
通過(guò)實(shí)施這些DataOps 實(shí)踐,業(yè)務(wù)利益相關(guān)者可以獲得更好的數(shù)據(jù)質(zhì)量,遇到更少的數(shù)據(jù)問題,并在整個(gè)組織內(nèi)建立對(duì)數(shù)據(jù)驅(qū)動(dòng)決策的信任。
2. 更快樂、更高效的數(shù)據(jù)團(tuán)隊(duì)
平均而言,數(shù)據(jù)工程師和科學(xué)家至少花費(fèi) 30% 的時(shí)間來(lái)解決數(shù)據(jù)質(zhì)量問題,而 DataOps 的一個(gè)關(guān)鍵部分是創(chuàng)建一個(gè)自動(dòng)化且可重復(fù)的流程,從而釋放工程時(shí)間。
將繁瑣的工程任務(wù)(例如連續(xù)代碼質(zhì)量檢查和異常檢測(cè))自動(dòng)化可以改善工程流程,同時(shí)減少組織內(nèi)部的技術(shù)債務(wù)量。
DataOps 讓團(tuán)隊(duì)成員更快樂,他們可以將寶貴的時(shí)間集中在改進(jìn)數(shù)據(jù)產(chǎn)品、構(gòu)建新功能和優(yōu)化數(shù)據(jù)管道上,以加快實(shí)現(xiàn)組織數(shù)據(jù)價(jià)值的時(shí)間。
3. 更快地獲得分析見解
DataOps 可自動(dòng)執(zhí)行通常需要花費(fèi)無(wú)數(shù)小時(shí)才能完成的測(cè)試和異常檢測(cè)等工程任務(wù)。因此,DataOps 為數(shù)據(jù)團(tuán)隊(duì)帶來(lái)了速度,促進(jìn)了數(shù)據(jù)工程和數(shù)據(jù)科學(xué)團(tuán)隊(duì)之間更快的協(xié)作。
數(shù)據(jù)產(chǎn)品的較短開發(fā)周期降低了成本(在工程時(shí)間方面),并允許數(shù)據(jù)驅(qū)動(dòng)的組織更快地實(shí)現(xiàn)其目標(biāo)。這是可能的,因?yàn)槎鄠€(gè)團(tuán)隊(duì)可以在同一個(gè)項(xiàng)目上并肩工作以同時(shí)交付結(jié)果。
根據(jù)我的經(jīng)驗(yàn),DataOps 促進(jìn)不同團(tuán)隊(duì)之間的協(xié)作可以帶來(lái)更快的洞察力、更準(zhǔn)確的分析、改進(jìn)的決策制定和更高的盈利能力。如果 DataOps 得到充分實(shí)施,團(tuán)隊(duì)可以實(shí)時(shí)訪問數(shù)據(jù)并調(diào)整決策,而不是等待數(shù)據(jù)可用或請(qǐng)求臨時(shí)支持。
4. 降低運(yùn)營(yíng)和法律風(fēng)險(xiǎn)
隨著組織努力通過(guò)使訪問民主化來(lái)增加數(shù)據(jù)的價(jià)值,道德、技術(shù)和法律方面的挑戰(zhàn)也將不可避免地增加。通用數(shù)據(jù)保護(hù)條例 (GDPR)和加州消費(fèi)者隱私法案 (CCPA)等政府法規(guī)已經(jīng)改變了公司處理數(shù)據(jù)的方式,并在公司努力將數(shù)據(jù)直接交到更多團(tuán)隊(duì)手中時(shí)引入了復(fù)雜性。
DataOps——特別是數(shù)據(jù)可觀察性——可以通過(guò)提供更多的可見性和透明度來(lái)幫助解決這些問題,即用戶對(duì)數(shù)據(jù)的操作、數(shù)據(jù)饋入哪些表以及誰(shuí)可以訪問上游或下游的數(shù)據(jù)。
在你的公司實(shí)施 DataOps
關(guān)于數(shù)據(jù)運(yùn)營(yíng)的好消息?采用現(xiàn)代數(shù)據(jù)堆棧和其他最佳實(shí)踐的公司可能已經(jīng)將 DataOps 原則應(yīng)用到他們的管道中。
例如,越來(lái)越多的公司正在招聘DataOps 工程師來(lái)推動(dòng)數(shù)據(jù)在決策中的應(yīng)用——但這些職位描述包括你公司的數(shù)據(jù)工程師可能已經(jīng)在處理的職責(zé)。DataOps 工程師通常負(fù)責(zé):
- 開發(fā)和維護(hù)可部署、測(cè)試和記錄的自動(dòng)化設(shè)計(jì)腳本、流程和程序庫(kù)。
- 與其他部門合作,將源系統(tǒng)與數(shù)據(jù)湖和數(shù)據(jù)倉(cāng)庫(kù)集成。
- 為測(cè)試數(shù)據(jù)管道創(chuàng)建和實(shí)施自動(dòng)化。
- 在影響下游利益相關(guān)者之前主動(dòng)識(shí)別和修復(fù)數(shù)據(jù)質(zhì)量問題。
- 通過(guò)投資自助服務(wù)工具或?yàn)闃I(yè)務(wù)利益相關(guān)者運(yùn)行培訓(xùn)計(jì)劃,提高整個(gè)組織的數(shù)據(jù)意識(shí)。
- 熟悉數(shù)據(jù)轉(zhuǎn)換、測(cè)試和數(shù)據(jù)可觀察性平臺(tái),以提高數(shù)據(jù)可靠性。
即使其他團(tuán)隊(duì)成員目前正在監(jiān)督這些職能,擁有一個(gè)專門負(fù)責(zé)構(gòu)建 DataOps 框架如何實(shí)現(xiàn)的角色將增加責(zé)任感并簡(jiǎn)化采用這些最佳實(shí)踐的過(guò)程。
無(wú)論你的團(tuán)隊(duì)成員擁有什么職位,就像沒有應(yīng)用程序可觀察性就無(wú)法擁有 DevOps 一樣,沒有數(shù)據(jù)可觀察性就無(wú)法擁有 DataOps。
數(shù)據(jù)可觀察性工具使用自動(dòng)監(jiān)控、警報(bào)和分類來(lái)識(shí)別和評(píng)估數(shù)據(jù)質(zhì)量和可發(fā)現(xiàn)性問題。這會(huì)帶來(lái)更健康的管道、更高效的團(tuán)隊(duì)和更快樂的客戶。
?
原文標(biāo)題:??https://dzone.com/articles/is-dataops-the-future-of-the-modern-data-stack??