運維開發(fā)團隊技能與效率提速利器:運維+低代碼(運維it)
運維開發(fā)團隊技能與效率提速利器:運維+低代碼(運維it)
文章來源:本文根據(jù)嘉為藍鯨2021研運治理實踐大會嘉賓周宗沛的演講總結(jié)得出
原文作者:公眾號 嘉為藍鯨
運維領(lǐng)域低代碼理念及應(yīng)用場景
低代碼的定義,同時也是低代碼的核心理念和價值:即無需編碼或通過少量代碼就可以快速生成應(yīng)用程序的工具,其一方面可以降低企業(yè)應(yīng)用開發(fā)人力成本,另一方面可以將原有數(shù)月甚至數(shù)年的開發(fā)時間成倍縮短,從而幫助企業(yè)實現(xiàn)降本增效的價值。
低代碼的應(yīng)用場景有哪些?
基于表單/引擎驅(qū)動的模式
主要面向流程場景,通過建立多張表單,使用流程串聯(lián),定義報表輸出方式,構(gòu)建表單類輕應(yīng)用。該類模式的技術(shù)壁壘不高,主要支持開發(fā)表單類應(yīng)用,場景有一定局限性,主要服務(wù)中小客戶。
基于aPaaS平臺的模式
主要面向應(yīng)用開發(fā)場景,包含多種具體的技術(shù)手段和路徑,例如模型驅(qū)動、代碼生成、可視化編程等,底層技術(shù)涉及云原生、元數(shù)據(jù)、多租戶等。這類模式的技術(shù)壁壘較高,顆粒度更細,復(fù)雜度、靈活度更高,能夠支持廣泛場景的復(fù)雜應(yīng)用開發(fā),具備服務(wù)大客戶和中小客戶的能力。
低代碼能解決什么問題?
在運維領(lǐng)域,低代碼主要解決兩大問題:
運維工作流方向
在運維工作流方向,低代碼能夠結(jié)合流程引擎,大大減少工作難度,同時支持個性化能力及可擴展能力。
- 低代碼平臺需要能夠提供一個內(nèi)置的流程引擎?;诖耍梢宰远x編排流程,進行串寫、并行、分支等常見的運行模式;
- 節(jié)點插件支持可擴展,能夠方便、快捷地對接企業(yè)內(nèi)原有的系統(tǒng);
- 節(jié)點開發(fā)成本盡量低、通過表單化定義節(jié)點參數(shù)。
在藍鯨平臺上,我們已經(jīng)實現(xiàn)部分場景下的低代碼、跨系統(tǒng)等流程設(shè)計,例如ITSM、ESM審批流程,標準運維中的發(fā)布、變更流程,DevOps平臺的流水線持續(xù)集成流程,以及數(shù)據(jù)平臺對數(shù)據(jù)的處理流程等。
運維開發(fā)方向
對于運維開發(fā)團隊,開發(fā)和運維都十分耗費時間,開發(fā)團隊關(guān)注的核心點在于,如何提升工具的研發(fā)效率。低代碼在這一場景下,能大大降低運維開發(fā)的入門門檻,讓運維人員能夠基于已有平臺去開發(fā)各種運維SaaS層工具,從而提升運維開發(fā)價值。
- 統(tǒng)一開發(fā)框架、規(guī)范、流程。首先對標準流程框架進行規(guī)范處理。
- 統(tǒng)一運維托管。通過PaaS進行部署托管,實現(xiàn)一鍵部署發(fā)布。
- 普及低代碼開發(fā)模式。將基于低代碼的高效開發(fā)模式在運維團隊中進行推廣、普及。
低代碼開發(fā)模式如何推廣落地?
推廣落地通常會分成兩個層面來進行,首先是面向前端的UI交互頁面呈現(xiàn)層,主要是負責前端頁面設(shè)計和交互;
其次是后臺API邏輯開發(fā),包括數(shù)據(jù)庫表結(jié)構(gòu)設(shè)計和DB操作等。前后端通過HTTP協(xié)議的API進行交互,結(jié)合前后端落地可用的低代碼開發(fā)模式。
前端落地方式
在前端UI交互頁面呈現(xiàn)上,業(yè)界的實現(xiàn)方案可以分為以下三類:
- 基于配置文件的方式渲染頁面UI組件,如json、yaml等格式;
- 拖拽組件組裝頁面 表單化配置交互邏輯,通過把交互邏輯翻譯成語義化的表單,從而實現(xiàn)更為人性化的處理;
- 拖拽組件組裝頁面 函數(shù)式編碼交互邏輯。與第二類基本相同,但增加了編寫JS函數(shù)控制組件交互邏輯的能力。
后臺落地方式
在后臺方面,從淺層和深層兩種做法來實現(xiàn):
- 提供后臺框架 本地開發(fā)或在線WebIDE淺層開發(fā);
- 提供在線可視化建表,通過頁面方式更深層次的定義表結(jié)構(gòu)和一些約束條件,并且把本地的DB增刪改查的API邏輯搬到線上IDE解決。
藍鯨低代碼平臺設(shè)計思路
在設(shè)計之前,先要確定設(shè)計目標。通過對運維領(lǐng)域低代碼的潛在客戶的分析,明確低代碼平臺的設(shè)計目標,就是讓客戶開發(fā)SaaS更快速,同時我們并不是提供一個簡單的頁面拖拽工具,而是讓運維開發(fā)人員可以基于平臺,學習并掌握一門通用的運維開發(fā)技術(shù),避免技能和平臺綁定,限制了開發(fā)人員的技術(shù)發(fā)展。
有了比較清晰的用戶畫像和場景,接下來就是確定平臺需要具備的特性:
- 首先,運維領(lǐng)域的低代碼平臺學習成本要低,否則將給運維團隊轉(zhuǎn)型帶來很大障礙;
- 其次,必須要有高度的可擴展性,以應(yīng)對運維領(lǐng)域各種復(fù)雜的監(jiān)管控場景;
- 最后,讓運維開發(fā)團隊能在技術(shù)上能持續(xù)成長,有助于提升運維開發(fā)技能,保持團隊的穩(wěn)定進步。
藍鯨運維低代碼平臺的落地形式選擇
嘉為藍鯨持續(xù)關(guān)注于運維開發(fā)領(lǐng)域,上文所提到的落地形式豐富多樣,在對比了多種落地方式后,為了滿足我們的設(shè)計目標,我們選用以下形式進行了落地構(gòu)建。
前端UI交互頁面呈現(xiàn)層上:
藍鯨低代碼平臺采用拖拽組件組裝頁面 函數(shù)式編碼交互邏輯的方式。此舉對于復(fù)雜交互場景有很好的適應(yīng)性,可以靈活地通過函數(shù)編碼實現(xiàn);并且有利于運維開發(fā)技術(shù)入門和能力提升,與純代碼開發(fā)技術(shù)和工具庫不沖突,做到能力互補。
后臺API邏輯開發(fā)上:
藍鯨低代碼平臺通過提供后臺框架、在線可視化建數(shù)據(jù)庫表、集成數(shù)據(jù)庫增刪改查API、WebIDE 開發(fā),達到支撐更強大功能的目的,讓用戶盡可能在線完成數(shù)據(jù)庫表設(shè)計和API開發(fā)。
聚焦前端交互頁面設(shè)計實現(xiàn)
基于Vuejs webpack前后端分離的模式:
Vuejs,是基于MVVM模式,視圖和數(shù)據(jù)雙向綁定;前端代碼是一個獨立的工程,側(cè)重于數(shù)據(jù)綁定的場景,如一些需要操作復(fù)雜數(shù)據(jù)的頁面。藍鯨也提供了BKUI腳手架等便捷的開發(fā)工具。
前后端分離的開發(fā)模式后,藍鯨PaaS平臺升級到了3.0,提供了更強大的部署服務(wù)。
讓前端UI交互頁面呈現(xiàn),實現(xiàn)在線一站式開發(fā):
- 項目維度管理上:契合SaaS開發(fā)的場景,可實現(xiàn)多個頁面管理;
- 靈活的組裝和實現(xiàn);
- 可拓展多端和多框架;
- 可拓展組件庫;
- 可實現(xiàn)一鍵部署。
在明確目標人群及需求,選取相對高效的落地形式的基礎(chǔ)上,藍鯨低代碼平臺設(shè)計在實踐中不斷升級,逐步實現(xiàn)在線一站式開發(fā),為實戰(zhàn)場景奠定堅實基礎(chǔ)。
藍鯨低代碼平臺賦能運維開發(fā)團隊
基于藍鯨低代碼開發(fā)平臺在線拖拽組裝的一站式開發(fā)模式,從底層的平臺物料庫、頁面布局編輯能力、一鍵部署能力和二次開發(fā)能力上實現(xiàn)漸進式賦能和提升。
平臺物料庫:
具備豐富度及高度拓展性兩大特點。從內(nèi)置基礎(chǔ)UI組件庫、內(nèi)置圖標庫、內(nèi)置布局模板庫、拓展自定義業(yè)務(wù)組件庫、拓展場景模板庫和拓展JS函數(shù)庫全面覆蓋。
頁面布局編輯能力:
從畫布區(qū)域、頁面組件數(shù)、頁面函數(shù),組建屬性配置和頁面路由方面進行配置,形成一個真正的項目,讓各個項目之間的跳轉(zhuǎn)能夠符合開發(fā)邏輯。
一鍵部署能力:
運維上,集成PaaS的部署托管能力,實現(xiàn)一鍵部署,直接生成在線應(yīng)用。框架上,集成前端的開發(fā)框架,項目內(nèi)置登錄、日志處理等模塊。環(huán)境上,兼?zhèn)漕A(yù)發(fā)布和生產(chǎn)兩套部署環(huán)境,方便線上調(diào)試。
靈活的二次開發(fā)能力:
可基于平臺項目代碼進行拷貝和再開發(fā),也可基于平臺開發(fā)單獨頁面進行集成和二次開發(fā)。
運維開發(fā)研發(fā)效率提速實踐
藍鯨低代碼開發(fā)平臺既是一個提效工具,也是一個學習工具,是助力運維開發(fā)團隊技能和研發(fā)效率提速的利器?;诘痛a開發(fā)平臺,我們能夠?qū)崿F(xiàn)各類低代碼SaaS開發(fā),助力開發(fā)團隊快速構(gòu)建運營系統(tǒng),提高研發(fā)效能!
如您需要演講PPT,可私信或關(guān)注公眾號獲取