全球 1000 款 DevOps 工具,中國(guó)開發(fā)工具究竟缺什么?
2022-05-30
來源:撿起來公眾號(hào)
DevOps 概念發(fā)展的多年間,直至近幾年才真正開始普及起來。本文將圍繞 DevOps 工具和工程兩大維度探究軟件工程格局。在分析了國(guó)內(nèi)外近 1000 個(gè)工具后,我們發(fā)現(xiàn)了以下亮點(diǎn)內(nèi)容:
1.DevOps 工具可以抽象為以下幾個(gè)大類:Design、Develop、Quality、Delivery、Telemetry、Security、Runtime、Middleware;
2.Runtime 的產(chǎn)品不多,但是數(shù)量級(jí)的工程效能提升往往是 Runtime 發(fā)生了變化;
3. Middleware 是個(gè)大賽道,數(shù)據(jù)庫是重中之重;
4. UI 設(shè)計(jì)工具很繁榮,商業(yè)化也很好,發(fā)展趨勢(shì)是跟低代碼結(jié)合;
5. 開發(fā)領(lǐng)域的工具紛繁復(fù)雜,面對(duì)開源和大公司的挑戰(zhàn)最多。項(xiàng)目管理類是商業(yè)化最好的細(xì)分領(lǐng)域;
6. 國(guó)外在質(zhì)量工具的投入巨大,產(chǎn)品豐富且出色,國(guó)內(nèi)幾乎為零;
7. 互聯(lián)網(wǎng)和云原生催生了持續(xù)交付的發(fā)展;
8. 可觀測(cè)性重要性越來越高,AIOps 是發(fā)展方向,商業(yè)化也很成功;
9. 除了運(yùn)行時(shí)安全以外,開發(fā)安全越來越受到關(guān)注,軟件供應(yīng)鏈方面也值得重視;
10. 一站式工具一定會(huì)走向開放擁抱單點(diǎn)工具;
11. PC 時(shí)代和互聯(lián)網(wǎng)時(shí)代工具都是國(guó)外的,云原生時(shí)代國(guó)內(nèi)的 Infra 團(tuán)隊(duì)有機(jī)會(huì)。
1.給 DevOps 下個(gè)定義
大概從 2019 年開始,DevOps 這個(gè)詞語在軟件工程領(lǐng)域出現(xiàn)的頻率越來越高,雖然這個(gè)概念十幾年前就有了,但是確實(shí)最近幾年才開始真正普及,國(guó)內(nèi)外均如此。在三年前,你說 DevOps,大多數(shù)人指的是 CI/CD,兩年前開始有一站式的概念,DevOps 包含了從項(xiàng)目管理開始的一整套,而最近又開始提 DevSecOps,DevBizOps,層出不窮。現(xiàn)在很少有人在糾結(jié) DevOps 這個(gè)概念了,嚴(yán)格意義上 DevOps 是指讓開發(fā)可以干運(yùn)維的工作,但實(shí)際應(yīng)用中這個(gè)詞語大體可以理解為現(xiàn)代化的軟件工具和工程方法。
工具和工程是兩個(gè)維度的東西,我們講敏捷開發(fā),瀑布開發(fā)是一種工程方法論,跟實(shí)際使用的工具無關(guān),你用 Excel 也可以實(shí)現(xiàn)敏捷。但實(shí)踐中,特定的工程方法論往往依賴一些特定的工具,比如敏捷依賴看板。從我們的觀察來看,目前各行各業(yè)的軟件開發(fā)團(tuán)隊(duì)使用的工程方法論依然有很大的不一樣,有敏捷的,瀑布的,雙輪驅(qū)動(dòng)的,還有中國(guó)式敏捷等等,但是使用的工具正在逐步趨同,普遍都在往新的生產(chǎn)力工具上遷移。
我們對(duì)國(guó)內(nèi)外近 1000 個(gè)工具做了一些研究和分析,有一些總結(jié)記錄下來跟大家分享。值得一提的是這些工具的涵蓋范圍包含了整個(gè)軟件的基礎(chǔ)設(shè)施 Infra,而不僅僅是 DevOps。
2.Infra 工具地圖
市面上的工具五花八門,我們需要尋找一個(gè)維度來對(duì)工具進(jìn)行抽象的分類,合并同類項(xiàng)才能更好的理解這個(gè)行業(yè)和市場(chǎng)。抽象的維度有很多,比如可以根據(jù)面向客戶的規(guī)模分會(huì)顯的太粗,按照工具的類型分會(huì)顯的太細(xì)。最后我們決定根據(jù)軟件工程的階段和層次來分,制作了下面這張地圖。
這個(gè)分類的邏輯是:
1.最底下是云,包括 AWS、騰訊云、阿里云等等,還有一些跟資源相關(guān)的產(chǎn)品,比如 ServiceNow、CloudFlare 等等。
2.最上面是軟件設(shè)計(jì)相關(guān),包括 UI 設(shè)計(jì)和需求設(shè)計(jì),也就是軟件看得見的部分,比如 Figma、Adobe 等等。
3.中間部分是真正構(gòu)建軟件的部分,首先是軟件的開發(fā),質(zhì)檢,交付,這是所有生產(chǎn)必不可少的三個(gè)步驟,這里包含了日常開發(fā)者打交道最多的 IDE、代碼管理、需求管理、CI/CD、自動(dòng)化測(cè)試等等。
4.Runtime 和 Middleware 是每個(gè)軟件都依賴的部分,可以理解為軟件的底座,比如容器、數(shù)據(jù)庫、編程語言 SDK 等等。
5.最右邊是 Telemetry 和 Security,這兩塊是保證軟件正常運(yùn)行必不可少的,比如監(jiān)控日志報(bào)警、安全掃描、入侵檢測(cè)等等。
這里每個(gè)色塊的大小代表了我們認(rèn)為目前這個(gè)領(lǐng)域的市場(chǎng)空間,我們相信這里的面積會(huì)隨著行業(yè)的發(fā)展而變化。這樣的分類基本涵蓋了軟件工程的所有方面,當(dāng)然一個(gè)產(chǎn)品可能會(huì)跨多個(gè)色塊,特別是平臺(tái)類產(chǎn)品。很多新產(chǎn)品的邊界很模糊,比如一個(gè)類 Serverless 產(chǎn)品,同時(shí)會(huì)提供 IDE 和部分中間件。但也有一些產(chǎn)品是非常專注在某一個(gè)具體的領(lǐng)域,比如基于 AI 的 UI 自動(dòng)化測(cè)試。這里會(huì)涉及到一個(gè)經(jīng)常被提及的問題:一站式工具和單點(diǎn)工具最終會(huì)是什么關(guān)系?我們將在文章的最后部分來討論。
我們?cè)谥谱鬟@個(gè)地圖的時(shí)候,深深的意識(shí)到中國(guó)跟美國(guó)相比,在這個(gè)領(lǐng)域的差距真的是令人汗顏,國(guó)產(chǎn)化“信創(chuàng)”路漫漫啊。
3.Runtime
我們跳過最下面的 Cloud 部分,因?yàn)樵七@部分跟大多數(shù)公司沒有關(guān)系,這個(gè)底層基礎(chǔ)設(shè)施類似于電信運(yùn)營(yíng)商,注定只能是少數(shù)大公司的生意。我們先來看 Runtime 這個(gè)部分。
目前專注于做 Runtime Container(我這里用 container 是泛指運(yùn)行程序的程序,serverless 也算 container 的一種)的產(chǎn)品不算多,跟整個(gè)技術(shù)體系的發(fā)展階段有關(guān)。事實(shí)上數(shù)量級(jí)的工程效能提升往往是 Runtime 發(fā)生了變化,例如 Java 當(dāng)年帶來的變革,還有最近容器化帶來的變革。下一個(gè)可以預(yù)見的 Runtime 變革是 Serverless。雖然 Serverless 已經(jīng)存在了很多年,但發(fā)展的并不好,究其原因是因?yàn)槌绦蚪Y(jié)構(gòu)和新的運(yùn)行環(huán)境不匹配,所以我認(rèn)為 Serverless 要能發(fā)展起來,必須是從程序結(jié)構(gòu)開始的變革。目前有一些公司在這個(gè)方向上努力,例如 Netlify、Platform9,以及新晉創(chuàng)業(yè)公司 Inngest、Koyeb。這里的新東西都比較小眾,因?yàn)檫m用面有限,解決了極致的效率,但不能解決規(guī)模化應(yīng)用的問題。
另外一類是相對(duì)兼容現(xiàn)有的應(yīng)用結(jié)構(gòu),提供更好的工具來幫助開發(fā)管理運(yùn)行環(huán)境,Runtime Management 典型的比如 k8s、Terraform,也有一些做的很大的創(chuàng)業(yè)公司,例如 Pulumi.com。我們可以把這類產(chǎn)品都看成是新時(shí)代的 Ansible。這個(gè)領(lǐng)域的產(chǎn)品挺多的,而且不斷的有新產(chǎn)品冒出來,是對(duì)目前的云一個(gè)很好的補(bǔ)充。
4.Middleware 中間件
說實(shí)話,在我從業(yè)生涯早期的很多年一直不理解什么叫做 Middleware 中間件,雖然我的第一份正式工作是在 Oracle 的中間件部門。這種概念在不同的時(shí)期往往有不同的涵義,最早中間件可能是指 JBoss、Tomcat 這類服務(wù)器軟件,后來又包含了消息隊(duì)列 EJB 之類的。我認(rèn)為比較好的理解中間件的概念是:所有非程序本身,又是程序運(yùn)行所必不可少的軟件,例如數(shù)據(jù)庫,緩存,隊(duì)列,網(wǎng)關(guān)等等。中間件是云廠商可以直接提供給你的,但程序你必須自己寫。
中間件五花八門,這里有非常多的上市公司,創(chuàng)業(yè)公司,是個(gè)超級(jí)大賽道。我看了一下基本可以分成 Database 和 Others,因?yàn)閿?shù)據(jù)庫真的是中間件皇冠上的明珠,太靚眼了。這里的 Database 不一定是傳統(tǒng)意義上的數(shù)據(jù)庫,跟數(shù)據(jù)存儲(chǔ)和處理相關(guān)的都算,例如 Snowflake。其他還有比如 MongoDB、Influxdata、Netapp、Qumulo 等等太多了,都做的很大。
Others 里面相對(duì)就小很多,但是品類很多,例如對(duì)象存儲(chǔ) MinIO、服務(wù)網(wǎng)格 Solo.io、消息隊(duì)列 Redpanda、API 網(wǎng)關(guān) Kong 等等。
5.Design 環(huán)節(jié):需求設(shè)計(jì)和 UI 設(shè)計(jì)
軟件工程其實(shí)有很多理念都是從傳統(tǒng)制造業(yè)借鑒的。本質(zhì)都是在生產(chǎn)東西,一個(gè)是實(shí)物,一個(gè)是虛擬,但是在流程和管理上有很多可以借鑒的地方。所有的生產(chǎn)無非是設(shè)計(jì),制造,質(zhì)檢,交付。我們先來看設(shè)計(jì)環(huán)節(jié)。
軟件的設(shè)計(jì)分為需求設(shè)計(jì)和 UI 設(shè)計(jì)(當(dāng)然也有架構(gòu)設(shè)計(jì),數(shù)據(jù)庫設(shè)計(jì)等等,這一類我們認(rèn)為屬于開發(fā)環(huán)節(jié))。這里的需求需要跟傳統(tǒng)的項(xiàng)目管理軟件比如 Jira 中的需求區(qū)分開。Jira 中的需求可以認(rèn)為是已經(jīng)確定要做的,進(jìn)入開發(fā)流水線的。而事實(shí)上業(yè)務(wù)運(yùn)行過程中有很多需求是不確定的,可能來源于 IM,郵件,口頭等等,這些需求需要經(jīng)過產(chǎn)品經(jīng)理的充分評(píng)估和完善才能進(jìn)入開發(fā)環(huán)節(jié),這些需求也缺乏結(jié)構(gòu)化的整理和更新例如 Roadmap 等等。所以我們可以把這里的需求設(shè)計(jì)理解為產(chǎn)研跟業(yè)務(wù)對(duì)接的地方。關(guān)注這個(gè)領(lǐng)域的產(chǎn)品真的不多,可能是痛點(diǎn)不夠明顯,或者通過別的工具替代了,例如文檔、Excel、Jira 等等,雖然不完美但也不夠痛。有一些產(chǎn)品做得還不錯(cuò)比如 Aha.io、Accompa、Productboard 等等。
而 UI 設(shè)計(jì)就有相當(dāng)相當(dāng)多的工具,老牌的比如 Adobe 系列,新晉明星 Figma 等等。這個(gè)領(lǐng)域有非常多的細(xì)分,比如產(chǎn)品原型設(shè)計(jì) Mockflow、Proto.io,快速 UI 設(shè)計(jì) Framer、Webflow,還有通用的線框工具 Miro、Lucidchart 等等。這里的發(fā)展趨勢(shì)逐步的跟低代碼在結(jié)合,最終可能發(fā)展為設(shè)計(jì)即代碼的狀態(tài)。所有這些工具確實(shí)拉低了下限,讓更多的人可以上手,但真正專業(yè)的設(shè)計(jì)師還是需要能掌控細(xì)節(jié)的工具,所以 Figma 這類工具在專業(yè)群體更受歡迎。
6.最為復(fù)雜的 Develop 領(lǐng)域
開發(fā)占了整個(gè)地圖中最大的一塊區(qū)域,這個(gè)領(lǐng)域東西最多最雜,畢竟這是跟人打交道最多的地方。這里面最大的一塊叫做 Project Management,包括了需求管理,Bug 管理,進(jìn)度管理,度量等等,研發(fā)出了 Jira、Asana 這樣的產(chǎn)品,都是很大的上市公司。這個(gè)領(lǐng)域也不斷的有新產(chǎn)品出現(xiàn)比如 Rocketlane, Code Climate,但都比較垂直。值得一提的是有很多團(tuán)隊(duì)會(huì)用更通用的管理工具來實(shí)現(xiàn)同樣的目的,例如 Trello,Monday,甚至 Airtable。管理是一個(gè)非常多樣化的需求,所以這個(gè)領(lǐng)域百花齊放。我們觀察到中美在這個(gè)領(lǐng)域的需求差異極大,國(guó)外的需求更偏向個(gè)體效率,而國(guó)內(nèi)的需求更偏向于管理效率。從全球來看我們并沒有看到什么產(chǎn)品能夠挑戰(zhàn) Jira,基本上 Jira 的插件能力能滿足絕大多數(shù)的場(chǎng)景需求,但國(guó)內(nèi) Jira 受到非常大的挑戰(zhàn),不僅僅是因?yàn)閲?guó)外產(chǎn)品政策的原因,在貼近用戶“管理”需求上,確實(shí)國(guó)外產(chǎn)品做的不夠,例如對(duì)糅雜了瀑布模式的中國(guó)式敏捷的支持,還有對(duì)業(yè)務(wù)需求的管理等等。
開發(fā)這里的第二大領(lǐng)域是 Pipeline,俗稱流水線,這也是從制造業(yè)借鑒過來的。這里的 Pipeline 是泛指寫完代碼以后所涉及到的工具,而不僅僅是 Jenkins 這樣的 CI。這里的典型代表是 Gitlab,它的兩個(gè)主打產(chǎn)品就是代碼倉庫和 CI,占據(jù)了 Pipeline 里面的絕大部分位置。這個(gè)領(lǐng)域特別繁雜,但商業(yè)化做的好的不多,絕大多數(shù)是小工具,甚至是開源工具。在這個(gè)領(lǐng)域做產(chǎn)品將面對(duì)開源最大的挑戰(zhàn),因?yàn)槌绦騿T喜歡在這里造輪子。Pipeline 上可以集成各種單點(diǎn)的工具,例如代碼掃描 Sonar、代碼審查 Codacy、代碼搜索 Sourcegraph。還有一些更垂直的專注某個(gè)類型應(yīng)用的工具,例如移動(dòng)端構(gòu)建 Bitrise、移動(dòng)端開發(fā) Ionic、服務(wù)器端鏡像構(gòu)建 Packer。
我們來說說低代碼。我其實(shí)是不太相信低代碼這個(gè)故事的,詳細(xì)的分析可以看《低代碼開發(fā)會(huì)是未來嗎?》。但無論如何,在某些垂直場(chǎng)景下業(yè)務(wù)功能的模塊化低代碼確實(shí)是有價(jià)值的。事實(shí)上我們看做的好的低代碼產(chǎn)品也往往都是垂直場(chǎng)景的。老牌的低代碼產(chǎn)品比如 Mendix、Outsystems 等等。Oracle、微軟、Salesforce 等等大廠也都有自己的低代碼產(chǎn)品。另外的低代碼產(chǎn)品大致可以分為兩類,一類是流程自動(dòng)化,例如 Appian、Tray、Creatio。另外一類是快速開發(fā)工具,例如 Draftbit、Towify、Thunkable。你要嚴(yán)格來講 Excel 都能算是個(gè)低代碼工具。總的來說我認(rèn)為低代碼是提高現(xiàn)有模式的重復(fù)創(chuàng)建效率,而不是解決從 0 到 1 的創(chuàng)造效率。
而開發(fā)真正的價(jià)值是從 0 到 1 的創(chuàng)造,這就需要專業(yè)的開發(fā)工具 IDE。IDE 是嚴(yán)格意義上的工具,也就是程序員用的那把“錘子”。每個(gè)人的喜好不同,工種不同對(duì)于錘子的要求也會(huì)不同。IDE 這個(gè)工具非常非常重要,但真正商業(yè)化的特別好的不多,這里有兩個(gè)原因,一是開源,二是大公司壟斷。也許是因?yàn)?IDE 實(shí)在太重要了,如果每個(gè)開發(fā)都必須付費(fèi)才能使用的話,會(huì)極大的限制人類的創(chuàng)造力,所以很多產(chǎn)品是開源的,例如 Eclipse,以及它的各種衍生品,還有微軟的 VSCode。還有一些大公司壟斷的產(chǎn)品例如 XCode 也是免費(fèi)的。獨(dú)立的 IDE 廠商目前做的比較好的只有 JetBrains,但也謠傳要被 Google 收購(gòu)。
做一款好的 IDE 其實(shí)門檻非常高,因?yàn)槭歉绦騿T打交道最多的產(chǎn)品,各種細(xì)節(jié)都必須做到極致才能獲得青睞。可惜的是國(guó)內(nèi)到目前為止還沒有出現(xiàn)一款像樣的 IDE 產(chǎn)品。各大云廠商都在做的 WebIDE 產(chǎn)品,都是基于開源的內(nèi)核改的,并沒有什么核心技術(shù),而且本身 WebIDE 這個(gè)品類的定位也很尷尬,缺乏場(chǎng)景。IDE 作為創(chuàng)造力的核心,本身工具可以是免費(fèi)的,只要能使得上下游生態(tài)蓬勃發(fā)展,帶來的收益是更大的,這也是為啥大廠愿意在這里戰(zhàn)略性虧損的原因。說到這里緬懷一下曾經(jīng)的 IDE 工具王者 Borland。
我在做這個(gè) Infra Map 之前從來沒有想過 API Management 會(huì)被單獨(dú)分為一類。這類產(chǎn)品似乎存在感不強(qiáng),但是我錯(cuò)了,只是國(guó)內(nèi)用的少,國(guó)外有很多產(chǎn)品已經(jīng)很成熟。信息化在國(guó)外走的早,生態(tài)又開放,API 已經(jīng)是各個(gè)產(chǎn)品的標(biāo)配用于相互連接。API 多了自然就需要管理,于是出現(xiàn)了 Mulesoft 這樣的產(chǎn)品。很多大公司也都會(huì)提供 API 全生命周期的產(chǎn)品例如微軟、Snaplogic、Softwareag、Tibco。這個(gè)領(lǐng)域幾乎沒有開源的產(chǎn)品,大概只有大公司才會(huì)用到這樣的產(chǎn)品,容易收錢。我們相信 API 的重要性會(huì)越來越大,數(shù)字世界越來越豐富,溝通和交流依賴 API。
開發(fā)這里的最后一個(gè)分類是 Resource Hub。為什么會(huì)有這個(gè)單獨(dú)的分類呢?因?yàn)?GitHub。我們到底是把 GitHub 看成工具,社區(qū),還是資源?雖然 GitHub 有工具屬性,但在企業(yè)級(jí)應(yīng)用上 GitLab 更勝一籌。但是在開源社區(qū)和開發(fā)者影響力上 GitHub 無人出其右。創(chuàng)造的過程免不了借鑒,Resource Hub 就是各種被借鑒的資源。除了代碼以外,還有 Postman、RapidAPI 等提供的 API Hub。Stackshare 提供了可以借鑒的應(yīng)用架構(gòu)。
7.保駕護(hù)航的 Quality 領(lǐng)域
如何保障軟件產(chǎn)品的質(zhì)量是一個(gè)頭疼的問題,我們可以依賴自動(dòng)化的檢測(cè)工具也可以依賴人工的測(cè)試。首先我們來看 Test Harness,也就是測(cè)試工具。這是一個(gè)很大的分類,絕大多數(shù)質(zhì)量保障的投入都放在了這個(gè)領(lǐng)域。令我震驚的是國(guó)外在測(cè)試工具的投入上真的是下血本,難怪老外的產(chǎn)品質(zhì)量好,而國(guó)內(nèi)基本靠人。測(cè)試工具有很多細(xì)分,比如一些相對(duì)比較成熟的領(lǐng)域:
測(cè)試工具這里有一個(gè)趨勢(shì)是 AI 化,包括通過歷史測(cè)試數(shù)據(jù)來生成新的測(cè)試代碼,或者通過視覺分析來測(cè)試 UI,比如 Test.ai、Functionize、Accelq、Applitools 等等。在看這領(lǐng)域的時(shí)候確實(shí)是超出我想象的,感覺像是挖到了寶藏。我沒有想到老外在測(cè)試工具上已經(jīng)走的如此超前了,這些工具的場(chǎng)景都很清晰,而且商業(yè)化的也都不錯(cuò)。
除了測(cè)試工具以外,測(cè)試管理也很重要。顧名思義測(cè)試管理就是把測(cè)試用例,測(cè)試計(jì)劃,測(cè)試結(jié)果等等管理起來,形成結(jié)構(gòu)化數(shù)據(jù),輸出報(bào)表等等,比如 TestRail、Qmetry Tricentis 等等,管理類的工具相對(duì)少一些。這里比較有意思的一家公司叫做 Sealight,引入了更數(shù)據(jù)化上下游打通的測(cè)試管理理念,值得學(xué)習(xí)。
有了工具,有了管理,那剩下的就是人了。迄今為止測(cè)試依然是一個(gè)少不了人工參與的工作,所以有一些測(cè)試服務(wù)公司承接測(cè)試的外包工作,也可能是以眾包的方式來完成,例如 Testlio、 Globalapptesting、Applause。
8.Delivery 的演變
軟件的交付包含兩部分,倉儲(chǔ)還有交付。過去我們對(duì)于可以交付的軟件的倉儲(chǔ)是比較隨意的,基本都是直接放在文件系統(tǒng)中。隨著軟件工程的深入,我們發(fā)現(xiàn)軟件的存儲(chǔ)也是挺講究的,包括權(quán)限、安全掃描、跨網(wǎng)傳輸?shù)鹊取K援a(chǎn)生了 Artifactory 這個(gè)品類,典型代表 JFrog,還有開源的 Nexus。這個(gè)領(lǐng)域門檻不高,可替代的方案也比較多,所以沒有太多公司在這里深耕。唯一一家上市公司 JFrog 市值也不高。
最早軟件的交付都是通過物理介質(zhì)傳遞的,80 后可能都有過購(gòu)買軟件光盤的經(jīng)歷。隨著 BS 應(yīng)用的興起,軟件的分發(fā)互聯(lián)網(wǎng)化了,軟件的交付就變成了更新服務(wù)器上的代碼就行了。所以有了持續(xù)交付的概念 Continuous Delivery。幾乎所有的互聯(lián)網(wǎng),移動(dòng)互聯(lián)網(wǎng)應(yīng)用都會(huì)涉及到持續(xù)發(fā)布的問題,所以這個(gè)領(lǐng)域產(chǎn)生了很多商業(yè)工具比如 Ansible。過去應(yīng)用的架構(gòu)五花八門,所以交付工具也是五花八門,很多團(tuán)隊(duì)都是自己造的發(fā)布工具。隨著云、微服務(wù)和 DevOps 的興起,應(yīng)用的架構(gòu)開始趨同,交付工具也就有了統(tǒng)一的可能,又產(chǎn)生了很多新興的發(fā)布工具例如 Harness、Octopus。還有一些工具專注灰度發(fā)布的能力,例如 Launchdarkly。
9.愈發(fā)重要的 Telemetry
可觀測(cè)性其實(shí)一直都有,只是過去沒有那么重要,因?yàn)榇蠖鄦误w應(yīng)用或者客戶端應(yīng)用,架構(gòu)簡(jiǎn)單,出問題容易排查。最直觀的可觀測(cè)性工具就是 Windows 的任務(wù)管理器,你可以看到正在運(yùn)行的軟件分別消耗了多少 CPU 和內(nèi)存,系統(tǒng)卡的話你把消耗大的那個(gè)進(jìn)程干掉就好了。只是在云時(shí)代,微服務(wù)架構(gòu)使得軟件變得十分復(fù)雜,一個(gè)問題牽扯 N 個(gè)微服務(wù)可能涉及 N 臺(tái)服務(wù)器,找問題就變得很困難,所以可觀測(cè)性顯得尤其重要,這個(gè)領(lǐng)域產(chǎn)生了非常多的優(yōu)秀商業(yè)軟件,比如 Datadog。
可觀測(cè)性包含幾個(gè)元素,監(jiān)控、日志、報(bào)警、追蹤。其中只有日志是有單獨(dú)商業(yè)工具的,例如 Logdna、Loggly,其他基本都是集成在一個(gè)工具中。這個(gè)領(lǐng)域過去基本都是自己用開源的自己搭,Prometheus、Grafana、Logstash、Skywalking,但是想把這些產(chǎn)品真正融合好是非常不容易的,這里涉及到海量數(shù)據(jù)的處理。所以在 Observerbility 這個(gè)領(lǐng)域有非常多的商業(yè)公司,除了 Datadog 以外,還有 NewRelic、Overops、LightStep 等等。所有這些工具的目的只有一個(gè)——幫助你在出問題的時(shí)候快速定位到問題。
定位到問題還不夠,最好可以全自動(dòng)解決問題,這就是 AIOps。雖然我認(rèn)為讓機(jī)器做操作很危險(xiǎn),但這個(gè)領(lǐng)域也有不少做的很大的商業(yè)公司,例如 BigPanda、Moogsoft、Dynatrace。總的來說可觀測(cè)性是一個(gè)很有前景的市場(chǎng),軟件吞噬世界,如果軟件不可控后果不堪設(shè)想。
10.重中之重——Security
寫了這么多,終于來到了最后一塊,安全。傳統(tǒng)意義上安全往往指運(yùn)行時(shí)安全,因?yàn)檫@里才是存放生產(chǎn)數(shù)據(jù),跟客戶打交道的地方,所以企業(yè)會(huì)投重金保證生產(chǎn)系統(tǒng)的運(yùn)行安全,包括防火墻、進(jìn)程監(jiān)控等等。這個(gè)領(lǐng)域挺成熟的工具也很多,例如 Illumio、 Contrastsecurity、Rapid7、Sysdig 等等。這些工具從各種方面來保障應(yīng)用的安全,包括網(wǎng)絡(luò)、容器、云主機(jī)等等。這塊的安全傳統(tǒng)意義上是“運(yùn)維”關(guān)注的。
另外一塊開發(fā)安全最近受到的關(guān)注越來越多,解決的是軟件開發(fā)相關(guān)的安全。基本上可以分為幾類,靜態(tài)安全(SAST)、動(dòng)態(tài)安全(DAST)、軟件成分分析(SCA)、交互式安全(IAST),以及運(yùn)行時(shí)應(yīng)用防護(hù)(RASP)。由于廠商一般不會(huì)只做一種類型的安全產(chǎn)品,往往會(huì)橫跨幾個(gè),我就不分開列了。這里老牌的廠商比如 Checkmarx、Fortify、Synopsys、Blackduck 也有一些新晉明星 Snyk、Stackhawk、Anchore 等等。安全產(chǎn)品要做出核心競(jìng)爭(zhēng)力門檻挺高的,如果只是依賴公開的漏洞庫搞搞掃描就太同質(zhì)化了,所以好的安全產(chǎn)品必須是在性能、易用性、有效性,甚至獨(dú)有的分析能力等等方面做出亮點(diǎn)。
還有一類安全叫做“軟件供應(yīng)鏈安全”。雖然供應(yīng)鏈安全最近被頻繁提起,并且也當(dāng)一個(gè)框使用,什么都往里裝。但我認(rèn)為嚴(yán)格意義上的供應(yīng)鏈安全是有別于上述兩種安全的。供應(yīng)鏈安全核心解決的是可信的問題,也就是確保軟件沒有被篡改。而運(yùn)行時(shí)安全和開發(fā)安全解決的是 Bug 和漏洞的問題。當(dāng)然也可以把供應(yīng)鏈安全歸屬為開發(fā)安全的一部分,畢竟也是開發(fā)過程中的事情。
還有一塊叫做安全管理,類似于測(cè)試管理,這個(gè)品類的產(chǎn)品不多,主要解決的是一些審計(jì)、合規(guī)管理、風(fēng)險(xiǎn)管理、風(fēng)險(xiǎn)評(píng)估的問題,例如 Apptega、Upguard。
11.一站式工具 vs 單點(diǎn)工具
看了那么多工具,我們發(fā)現(xiàn)老外其實(shí)很卷,但凡有點(diǎn)肉的賽道都有一堆人在里面擠。好在國(guó)外市場(chǎng)大,畢竟是全球市場(chǎng),多幾家更有利于市場(chǎng)繁榮,有利于創(chuàng)新。而國(guó)內(nèi)在 Infra 這個(gè)大賽道投入其實(shí)是不夠的。上面講的這些工具,每一個(gè)分類多少都有國(guó)內(nèi)對(duì)標(biāo),但無論是數(shù)量還是質(zhì)量都差距巨大,具體有哪些我就就不列了,共勉。
那國(guó)內(nèi)那么多 ToB 的廠商的程序員天天加班在干嘛呢?老外在造輪子,我們?cè)诎喿印?guó)內(nèi)的公司喜歡自研。到目前為止絕大部分公司的產(chǎn)研團(tuán)隊(duì)所使用的的工具都是自建的,典型的就是 GitLab Jenkins 開源的搭一搭,再弄個(gè)破解的 Jira Confluence,好一點(diǎn)的自己造個(gè)控制臺(tái),魔改一下開源工具,使得這些工具看起來是“一站式的”。這種美其名曰“自研”的實(shí)踐一方面浪費(fèi)了巨量的工程人力,你想象一下,每個(gè)團(tuán)隊(duì)都要投那么些人力去搭建這套東西,全中國(guó)有多少這樣的團(tuán)隊(duì)。另外一方面使得國(guó)內(nèi)的商業(yè)工具市場(chǎng)十分慘淡,更沒人做,惡性循環(huán)。
“一站式”是國(guó)內(nèi)特別喜歡提的一個(gè)概念(老外的產(chǎn)品似乎只有 GitLab 在一直強(qiáng)調(diào) All in One),大概是中國(guó)人喜歡一條龍。我們也是主打一站式概念的,但是我們?cè)絹碓礁杏X到想要做全是不可能的。這么多細(xì)分的領(lǐng)域,每個(gè)領(lǐng)域都有上市公司的情況下,怎么可能一個(gè)公司全做完呢?所以一站式到最后一定走向開放平臺(tái),這也是我們的發(fā)展方向。說實(shí)話,一站式是沒有太多技術(shù)創(chuàng)新的,基本都是管理方面的演進(jìn),而管理又是非標(biāo)的重災(zāi)區(qū),并不是一個(gè)好生意。市場(chǎng)上的一站式產(chǎn)品不應(yīng)該很多,有幾個(gè)就足夠了。而單點(diǎn)工具是應(yīng)該要百花齊放的,在每個(gè)細(xì)分領(lǐng)域做精做細(xì),這里可以萌發(fā)創(chuàng)新。
在制作 Infra Map 的過程中,對(duì)這個(gè)領(lǐng)域的發(fā)現(xiàn)確實(shí)是突破了我們現(xiàn)有的認(rèn)知。國(guó)外在這個(gè)行業(yè)上的投入是巨大的,一直以來國(guó)內(nèi)的團(tuán)隊(duì)其實(shí)都在享受國(guó)外的研發(fā)成果,從 PC 時(shí)代到互聯(lián)網(wǎng)時(shí)代都是如此。欣慰的是我們看到在當(dāng)前的云原生時(shí)代,國(guó)內(nèi)的 Infra 團(tuán)隊(duì)開始興起。研究歷史才能洞悉未來,希望我們的一點(diǎn)貢獻(xiàn)能否幫助到更多國(guó)內(nèi)的團(tuán)隊(duì)。要相信工具會(huì)隨著生產(chǎn)力的提升不斷變化,永遠(yuǎn)有機(jī)會(huì)。
- 觀點(diǎn)
- 科研/技術(shù)服務(wù)
- CIO
- CDO
- CTO
- CEO
- IT
- CSDN
- DevOps
- 云計(jì)算
推薦
-
11月28日-30日,中國(guó)數(shù)字化年會(huì)將于成都正式開幕,本屆年會(huì)以數(shù)智萬象 無界新生”為主題,設(shè)置2場(chǎng)主論壇、1場(chǎng)高峰論壇、5場(chǎng)專題論壇、4項(xiàng)特色活動(dòng)、2場(chǎng)頒獎(jiǎng)典禮等14項(xiàng)活動(dòng),以及2天數(shù)字化轉(zhuǎn)型供需對(duì)接展。
-
零次方科技發(fā)布了其首款人形機(jī)器人,可以在多種不規(guī)則路面、復(fù)雜地形中長(zhǎng)時(shí)間穩(wěn)定行走,且具備優(yōu)秀的抗干擾性能,即使受到各方向的強(qiáng)沖擊也能保持穩(wěn)定站立。
-
近日,第四屆“青年科學(xué)家502論壇”在南方科技大學(xué)舉行,美國(guó)國(guó)家工程院外籍院士沈向洋做了《通用人工智能時(shí)代,我們應(yīng)該怎樣思考大模型》的主題演講,并給出了他對(duì)大模型的10個(gè)思考。
-
深度解析Meta Reality Labs的生態(tài)布局
-
TeleAI 李學(xué)龍團(tuán)隊(duì)提出具身世界模型
-
2024 年 10 月 14 日,第 44 屆中東海灣信息技術(shù)展(GITEX Global)在阿聯(lián)酋迪拜開幕。紫光股份旗下新華三集團(tuán)重磅亮相展會(huì),以"精耕務(wù)實(shí),為時(shí)代賦智慧"為主題,全面展示了公司"云-網(wǎng)-安-算-存-端"的全棧技術(shù)能力與國(guó)際生態(tài)合作成果。
-
中關(guān)村大數(shù)據(jù)產(chǎn)業(yè)聯(lián)盟 顏陽-元宇宙產(chǎn)業(yè)的商業(yè)邏輯與技術(shù)壁壘研究
顏陽 中關(guān)村大數(shù)據(jù)產(chǎn)業(yè)聯(lián)盟副秘書長(zhǎng) ¥9.90 金錦囊免費(fèi)
-
《數(shù)智化敏捷組織》重構(gòu)、升級(jí)與進(jìn)化
肖利華 前阿里巴巴集團(tuán)副總裁、阿里云研究院 院長(zhǎng) 清華大學(xué)博士后、中科院管理學(xué)博士、教授 ¥9.90 金錦囊免費(fèi)
我要評(píng)論