Dataphin产品核心功能大图(六)发布中心:生产和开发隔离模式下的保护伞
簡介:Dataphin,用中臺方法論打造企業(yè)級好數(shù)據(jù)。Dataphin是阿里巴巴集團OneData數(shù)據(jù)治理方法論內(nèi)部實踐的云化輸出,一站式提供數(shù)據(jù)采、建、管、用全生命周期的大數(shù)據(jù)能力,以助力企業(yè)顯著提升數(shù)據(jù)治理水平,構(gòu)建質(zhì)量可靠、消費便捷、生產(chǎn)安全經(jīng)濟的企業(yè)級數(shù)據(jù)中臺。Dataphin提供多種計算平臺支持及可拓展的開放能力,以適應各行業(yè)企業(yè)的平臺技術(shù)架構(gòu)和特定訴求。
在數(shù)據(jù)權(quán)限管控嚴格的研發(fā)流程下,常常會使用生產(chǎn)開發(fā)環(huán)境隔離的研發(fā)模式。Dataphin支持創(chuàng)建成對存在、互相關(guān)聯(lián)的生產(chǎn)開發(fā)模式項目(Dev-Prod項目)。
項目中,研發(fā)人員通常需要完成代碼編寫、任務基礎(chǔ)屬性和調(diào)度屬性配置、并基于開發(fā)環(huán)境的數(shù)據(jù)執(zhí)行補數(shù)據(jù)測試,通過后再將任務提交至發(fā)布中心。發(fā)布審核人員接到發(fā)布申請后,結(jié)合任務配置詳情評估是否配置合理,是否存在數(shù)據(jù)生產(chǎn)風險等,之后執(zhí)行發(fā)布操作;發(fā)布成功的任務會在生產(chǎn)環(huán)境中生效并調(diào)度運行,而發(fā)布失敗的任務不會更新至生產(chǎn)項目,以此實現(xiàn)開發(fā)和生產(chǎn)項目的數(shù)據(jù)隔離,保證數(shù)據(jù)質(zhì)量。
一、發(fā)布中心概述
試想,若由發(fā)布人員對每個任務進行人工審核,工作量巨大且容易遺漏,對研發(fā)效率產(chǎn)生較大影響。那么理想的發(fā)布流程會是什么形式呢?
Dataphin發(fā)布中心提供了待發(fā)布任務概覽、批量發(fā)布、基于系統(tǒng)規(guī)則的自動審核、發(fā)布記錄概覽、發(fā)布詳情查看、發(fā)布失敗原因提示及一鍵重新發(fā)布等功能;同時,管理中心的發(fā)布管控功能,可以自定義審核規(guī)則和策略,以滿足個性化需求場景。發(fā)布人員只需評估哪些任務需要上線生產(chǎn)環(huán)境,批量勾選并一鍵執(zhí)行發(fā)布即可,大大縮短了操作路徑,并從系統(tǒng)角度提供了全面保障。
二、功能介紹
接下來,我們詳細介紹一下發(fā)布中心的核心功能:
首先,在開發(fā)環(huán)境項目創(chuàng)建一個以“test”命名的代碼任務,完成代碼編寫、調(diào)度配置、預編譯等操作,點擊操作欄的“提交”按鈕,將任務提交到發(fā)布中心;提交成功后,點擊任務操作欄的“去發(fā)布”按鈕或者切換頂部導航為“發(fā)布”,即可進入發(fā)布中心:
1 待發(fā)布對象列表
在待發(fā)布對象列表頁面,記錄了當前項目已提交待發(fā)布的規(guī)范建模、數(shù)據(jù)處理和管道腳本數(shù)據(jù)對象。發(fā)布成功的數(shù)據(jù)對象將從待發(fā)布對象列表移除,并在發(fā)布記錄列表中生成一條發(fā)布成功的記錄;發(fā)布失敗的數(shù)據(jù)對象將重新被記錄在待發(fā)布對象列表,同時在發(fā)布記錄列表中生成一條發(fā)布失敗的記錄,可以查看每條發(fā)布記錄的發(fā)布詳情。
- 待發(fā)布對象列表概覽:列表記錄了對象名稱、對象類型、調(diào)度節(jié)點ID、最近1次提交發(fā)布的版本號、本次提交變更類型、提交人及提交時間等信息。發(fā)布審核人員可以基于這些基本信息,初步評估任務變更情況,作為判斷是否需要發(fā)布的依據(jù)。
- 提交詳情及提交記錄查看:支持查看每個對象當前最新提交的版本詳情及歷史的提交記錄,發(fā)布人員可以基于詳情信息進一步評估發(fā)布該對象對生產(chǎn)項目可能產(chǎn)生的變更影響。同一個對象提交多次(每次提交均未發(fā)布)時會合并為一條待發(fā)布對象;點擊當前版本號可展開版本詳情,點擊“版本記錄”,可以查看該對象的變更記錄及每次變更操作人、操作時間及變更原因備注。
- 移除及跳轉(zhuǎn)編輯待發(fā)布對象:如果任務提交后需要再次變更,為了防止變更前的內(nèi)容被提前發(fā)布影響生產(chǎn)環(huán)境數(shù)據(jù),您可以主動移除發(fā)布對象,并在修改完成后再次提交發(fā)布。提供“編輯”對象的快捷操作入口,點擊將跳轉(zhuǎn)到該任務在開發(fā)模塊的詳情頁。
- 發(fā)布及批量發(fā)布:確定可以發(fā)布后,您可以針對單個對象執(zhí)行發(fā)布,也可以批量選中多個對象一次性發(fā)布。被選中的對象會按照依賴關(guān)系依次執(zhí)行發(fā)布動作。點擊確定發(fā)布后可自動跳轉(zhuǎn)到發(fā)布記錄列表,等待執(zhí)行完成后,即可查看發(fā)布結(jié)果。
2 發(fā)布系統(tǒng)校驗規(guī)則
不同發(fā)布對象有不同的校驗規(guī)則。以SQL代碼任務為例,會進行如下校驗:
- 上游依賴配置的正確性:如果存在自依賴或上游依賴配置不完整,則會阻斷發(fā)布。
- 節(jié)點輸出名稱是否唯一:節(jié)點輸出名稱是每個任務的全局唯一標識,重名校驗可以避免協(xié)同操作帶來的沖突問題。
- 代碼中引用的資產(chǎn)對象是否有相應權(quán)限:如是否有創(chuàng)建、刪除表的權(quán)限,是否有往表中插入數(shù)據(jù)的權(quán)限等,防止權(quán)限泄露引發(fā)的數(shù)據(jù)安全問題。
- SQL語法是否正確:若語法不正確,發(fā)布會被阻斷,以免發(fā)布到生產(chǎn)環(huán)境后運行報錯,影響下游數(shù)據(jù)產(chǎn)出。
- 發(fā)布執(zhí)行是否正常:如果任務邏輯過于復雜或一次性批量過多,可能會產(chǎn)生發(fā)布超時問題,在此處進行提醒。
每個對象只有所有系統(tǒng)校驗規(guī)則均通過,才能發(fā)布成功,否則會在發(fā)布詳情彈框進行錯誤提示,引導需要執(zhí)行的下一步操作,如申請權(quán)限、修改代碼邏輯等等。
3 發(fā)布記錄列表
發(fā)布記錄列表頁面記錄了每一次發(fā)布的詳情及發(fā)布結(jié)果:
- 發(fā)布記錄概覽:發(fā)布記錄列表展示了每一次發(fā)布的執(zhí)行詳情,包括發(fā)布名稱、發(fā)布對象、對象類型、發(fā)布版本、發(fā)布的變更類型、發(fā)布人及發(fā)布時間、發(fā)布狀態(tài)等。
- 發(fā)布詳情查看:針對每條發(fā)布記錄,可以查看發(fā)布詳情,評估是否符合預期;尤其是發(fā)布失敗的任務,在發(fā)布詳情會給出失敗原因提示,發(fā)布人員可以根據(jù)提示信息聯(lián)系相關(guān)開發(fā)修改后重新發(fā)布。
- 發(fā)布失敗日志查看及一鍵重新發(fā)布:發(fā)布失敗的對象,可以點擊查看發(fā)布詳情,發(fā)布詳情中可以查看本次發(fā)布的日志記錄,以獲取更多的報錯信息指導下一步操作;若問題已解決,可以一鍵重新發(fā)布,減少頁面切換的操作成本。如果該對象已經(jīng)被發(fā)布成功,則會提示“重新發(fā)布失敗,最新版本已發(fā)布。”
- 發(fā)布管控:如果您使用了變更管控中的發(fā)布管控功能,此處還會進行發(fā)布管控規(guī)則的校驗,并將校驗結(jié)果展示在“靜態(tài)檢查”部分。發(fā)布詳情中會展示命中的管控規(guī)則及校驗結(jié)果,針對校驗失敗的,還會展示在管控規(guī)則中配置的說明文案,以提醒發(fā)布人員。
發(fā)布作為生產(chǎn)開發(fā)隔離的研發(fā)模式中畢竟的一道環(huán)節(jié),為生產(chǎn)數(shù)據(jù)的正確性和生產(chǎn)環(huán)境穩(wěn)定性提供了移到前置保障,可以減少人工操作失誤或流程不規(guī)范引發(fā)的問題,降低了對生產(chǎn)業(yè)務產(chǎn)生影響的可能性,為您的數(shù)據(jù)建設(shè)撐起一道保護傘。
三、結(jié)語
本期介紹了Dataphin的發(fā)布功能,包括如何執(zhí)行發(fā)布、如何查看發(fā)布詳情并處理異常等等,想要更完整了解Dataphin的發(fā)布中心,就快來申請試用體驗吧!
原文鏈接
本文為阿里云原創(chuàng)內(nèi)容,未經(jīng)允許不得轉(zhuǎn)載。
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅持創(chuàng)作打卡瓜分現(xiàn)金大獎總結(jié)
以上是生活随笔為你收集整理的Dataphin产品核心功能大图(六)发布中心:生产和开发隔离模式下的保护伞的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【全观测系列】Elasticsearch
- 下一篇: 移动端性能优化系列—启动速度