深度揭秘!觀(guān)測云產(chǎn)品核心理念
引言
我是蔣爍淼,觀(guān)測云的首席技術(shù)架構師兼產(chǎn)品把控者。今天,我有幸與大家分享我們團隊在設計和實(shí)現產(chǎn)品過(guò)程中所堅持的核心理念。這些理念不僅是我們工作的指導燈塔,更是推動(dòng)我們技術(shù)不斷進(jìn)步的動(dòng)力源泉。
在觀(guān)測云,我們堅信,一個(gè)產(chǎn)品的強大生命力和競爭力,源自于其內在的哲學(xué)和理念。作為團隊的領(lǐng)航者,我帶領(lǐng)著(zhù)每一位成員,堅守著(zhù)這些核心理念。它們是我們設計和實(shí)現產(chǎn)品的基石,是我們在技術(shù)發(fā)展道路上的指南針。
以工程師們?yōu)橹行?/strong>
觀(guān)測云是一款面向企業(yè)級市場(chǎng)的監控觀(guān)測產(chǎn)品,旨在滿(mǎn)足最終用戶(hù)的需求。我們認識到,產(chǎn)品要想擁有持久的競爭力,就必須得到工程師們的認可,使用便捷,并能為他們創(chuàng )造價(jià)值。通過(guò)提升工程師的工作效率,我們相信最終客戶(hù)也將從中受益。
在傳統監控產(chǎn)品中,設計往往以運維人員的需求為主,涵蓋儀表盤(pán)、告警、數據接入等多個(gè)方面。然而,觀(guān)測云的設計理念有所不同。舉幾個(gè)例子:
觀(guān)測云的 Agent 模型采用了類(lèi)似 OpenTelemetry 的架構,將 Instrumentor(探針)和 Collector(Agent)分離,完全不同于傳統的 APM 廠(chǎng)商。
該架構設計具有多項優(yōu)勢,在此僅列舉一個(gè)關(guān)鍵好處。我們認識到,無(wú)論是使用 eBPF 探針還是傳統字節碼探針,都可能對應用程序產(chǎn)生一定影響。同時(shí),為了不斷增強監控能力,探針和 Agent 可能需要定期升級。這種架構允許研發(fā)團隊獨立驗證探針的穩定性和數據字段的擴展性,而運維團隊則負責 Agent 的升級和配置調整。通過(guò)分離探針和 Agent,Agent 的升級不會(huì )干擾應用程序的正常運行,最多只會(huì )導致數據暫時(shí)不可用。在應用程序升級過(guò)程中,我們確保其與探針的兼容性已在測試環(huán)境中得到驗證,從而避免了因探針升級不當而導致的整個(gè)業(yè)務(wù)系統的故障風(fēng)險。
此外,這種架構還提高了系統的兼容性,能夠支持多種 Instrumentor,包括但不限于探針、日志采集器以及 Prometheus 生態(tài)系統的集成。
使用觀(guān)測云的用戶(hù)將深刻體會(huì )到其賦予的廣泛自由度,這不僅僅體現在隨心所欲地設計個(gè)性化儀表盤(pán)、靈活配置數據結構、自定義查詢(xún)模板,以及獨創(chuàng )性地設計告警策略上。我們深刻理解研發(fā)工程師的微妙心理需求,因此在多處功能設計中巧妙地融入了“僅我可見(jiàn)”的選項,旨在為工程師們提供一個(gè)私密的空間,讓他們能夠安心地進(jìn)行自我調試、儀表盤(pán)分析,而無(wú)需擔心被他人窺探。這種貼心的設計,正是出于對研發(fā)者心理的深刻洞察與尊重,它鼓勵了更自由、更無(wú)拘束的創(chuàng )新實(shí)踐,從而真正釋放了可觀(guān)測性能力的潛力,為項目帶來(lái)實(shí)質(zhì)性的價(jià)值提升。
前面的模型示例不僅簡(jiǎn)化了研發(fā)流程,還賦予了他們在探針中自由擴展字段、深化業(yè)務(wù)洞察的能力,從而助力構建更為精準和全面的分析體系。眾多觀(guān)測云用戶(hù)反饋,相較于某些標榜為AIOps的產(chǎn)品,我們的解決方案在功能強大性、AI 分析能力上更勝一籌,卻謙遜未以此為核心賣(mài)點(diǎn)。原因在于,我們堅信算法的真正價(jià)值遠不止于運維(Ops),它應廣泛滲透于離群分析、異常檢測等各個(gè)環(huán)節,賦能研發(fā)團隊。這不僅僅意味著(zhù)監控 CPU 行為異常,更關(guān)乎于深入理解代碼調用在不同場(chǎng)景下的異常表現。
過(guò)分渲染 AIOps 概念的產(chǎn)品,往往陷入夸大其詞的誤區,而真正出色的產(chǎn)品則是將這些高級能力無(wú)縫融入日常研發(fā)運維流程中,成為他們工具箱中不可或缺的一部分。我們致力于讓技術(shù)回歸本質(zhì),為用戶(hù)提供實(shí)實(shí)在在的價(jià)值,而非空泛的概念炒作。
我們對觀(guān)測云的細致打磨體現在諸多方面,例如時(shí)間控件的靈活性。我們支持直接輸入unixtime,簡(jiǎn)化了工程師在時(shí)間轉換上的繁瑣操作,避免了使用 Linux 命令或在不直觀(guān)的日歷控件中進(jìn)行選擇。這種對細節的關(guān)注是許多同類(lèi)產(chǎn)品所忽視的。
觀(guān)測云的更新頻率為每?jì)芍芤淮?,這不僅是為了引入新功能,更重要的是,我們致力于根據用戶(hù)的真實(shí)反饋來(lái)優(yōu)化產(chǎn)品。這些更新可能涉及大量的細節改進(jìn),雖然無(wú)法一一列舉,但它們共同構成了我們對產(chǎn)品不斷改進(jìn)的承諾。我們相信,真正使用觀(guān)測云的用戶(hù)能夠從這些細節中感受到我們的專(zhuān)注和誠意。
做一個(gè)開(kāi)放的產(chǎn)品
我對開(kāi)源的態(tài)度是明確的:我支持真正的開(kāi)源精神,即開(kāi)放代碼并與全球開(kāi)發(fā)者進(jìn)行交流。然而,我反對那些以開(kāi)源為名,實(shí)則追求商業(yè)利益而忽視社區和技術(shù)發(fā)展的“偽開(kāi)源”行為。觀(guān)測云在這一點(diǎn)上采取了開(kāi)放的姿態(tài),我們公開(kāi)了所有端側代碼,并在 Github 上維護著(zhù)數十個(gè)開(kāi)源項目。我們鼓勵團隊成員積極參與開(kāi)源社區,發(fā)現問(wèn)題時(shí)提交 Pull Request(PR),以促進(jìn)相關(guān)項目的進(jìn)步。
同時(shí),我們也持續為開(kāi)源項目如 Victoriametrics 貢獻代碼。盡管觀(guān)測云是一個(gè)商業(yè)產(chǎn)品,我們依然堅持開(kāi)放的原則,但這種開(kāi)放是有選擇性的。我們的目標是提供一個(gè)既開(kāi)放又可控的環(huán)境,確保產(chǎn)品的穩定性和安全性。
我們致力于整合開(kāi)源技術(shù),以增強觀(guān)測云的功能。我們全面支持現有的觀(guān)測技術(shù)框架,例如與 Prometheus 生態(tài)系統的深度集成。我們的系統不僅能夠收集 Prometheus 的各種數據類(lèi)型,包括 Exporter 和 Push 數據,而且在 Push 數據支持方面,我們在穩定性和性能上均超越了 Prometheus 官方的 Push Gateway。此外,我們還加強了對 Prometheus 自發(fā)現功能的支持。
在日志采集方面,我們兼容多種日志生成方式,例如支持 Log4J 通過(guò) Socket 直接發(fā)送日志,避免了日志寫(xiě)入磁盤(pán)的需要。這種支持使得在性能要求極高的場(chǎng)景下,開(kāi)發(fā)者也能夠高效地收集大量日志數據。
對于分布式追蹤(Tracing),我們同樣提供了廣泛的支持,兼容了包括 ddtrace、OpenTelemetry、Zipkin、SkyWalking 以及 Jaeger 等多種追蹤協(xié)議。這些開(kāi)源方案在不同應用中可能采用不同的實(shí)現,導致分析上的分散。觀(guān)測云通過(guò)統一的集成方式,使得這些不同來(lái)源的數據在使用上保持一致性,仿佛它們是專(zhuān)為觀(guān)測云設計的一樣,盡管它們采集的數據內容可能各有差異。
同樣,我們對開(kāi)源技術(shù)的承諾不僅體現在支持 eBPF tracing 上,更在于我們將其開(kāi)源,以促進(jìn)統一標準的形成。與國內其他開(kāi)源廠(chǎng)商不同,我們致力于生成符合 OpenTelemetry 標準的 span 和 trace。這意味著(zhù)使用觀(guān)測云采集的 eBPF 數據能夠與其他技術(shù)方式接入的數據一同分析,無(wú)需額外的后臺系統或專(zhuān)用數據庫存儲集群。
在技術(shù)文檔方面,我們致力于開(kāi)放和透明的分享。觀(guān)測云在技術(shù)文檔的公開(kāi)程度上,自信地處于行業(yè)領(lǐng)先地位。我們公開(kāi)了大量的技術(shù)實(shí)現細節,以便于業(yè)界同仁學(xué)習和參考。
用認知驅動(dòng)取代需求驅動(dòng)
對于熟悉觀(guān)測云的老朋友或初次接觸的新朋友而言,或許已知曉或未曾留意到這樣一個(gè)事實(shí):觀(guān)測云不僅提供云端服務(wù),實(shí)現全球無(wú)縫接入,同時(shí)也支持靈活的私有化部署方案,以滿(mǎn)足不同用戶(hù)的特定需求。然而,鮮為人知的是,觀(guān)測云在產(chǎn)品開(kāi)發(fā)上堅守著(zhù)一個(gè)重要原則——我們從未為任何單一客戶(hù)定制產(chǎn)品。從中國的本土版本到海外的國際市場(chǎng),再到那些部署于客戶(hù)私有環(huán)境中的定制化方案,盡管部分版本因市場(chǎng)策略或技術(shù)迭代進(jìn)度略有差異,但觀(guān)測云始終如一,堅持為所有用戶(hù)提供統一、標準的產(chǎn)品體驗。
這是我們的堅持。為什么呢?
首先,觀(guān)測云堅守為客戶(hù)負責的原則。在快速迭代的產(chǎn)品環(huán)境中,我們深知保持產(chǎn)品主線(xiàn)的重要性。定制化產(chǎn)品雖看似能即時(shí)滿(mǎn)足特定需求,但長(cháng)遠來(lái)看,它們往往與主線(xiàn)版本分離,形成分叉,這不僅損害了客戶(hù)的長(cháng)期利益,也增加了我們維護產(chǎn)品體驗的難度。因此,我們堅決避免任何形式的版本分叉,確保每位客戶(hù)都能享受到持續、穩定且高效的產(chǎn)品服務(wù)。
其次,我們注重有價(jià)值需求的快速響應與標準化。在快速迭代的過(guò)程中,我們深知客戶(hù)需求的多樣性與復雜性。然而,并非所有需求都能直接轉化為產(chǎn)品功能,特別是當這些需求存在邏輯悖論或表述不清時(shí)。作為產(chǎn)品專(zhuān)家,我們傾聽(tīng)客戶(hù)聲音,結合產(chǎn)品架構與行業(yè)洞察,將特定需求轉化為標準化的產(chǎn)品功能。這種負責任的做法不僅提升了產(chǎn)品價(jià)值,也加深了我們對產(chǎn)品行業(yè)的認知,而這些認知又反過(guò)來(lái)推動(dòng)我們不斷優(yōu)化產(chǎn)品,形成良性循環(huán)。我們的更新速度遠超客戶(hù)自行探索開(kāi)源方案的效率,確保研發(fā)運維工程師們能夠輕松、高效地使用我們的平臺。
最后,我們致力于產(chǎn)品的開(kāi)放性與靈活性。為了滿(mǎn)足用戶(hù)多樣化的個(gè)性化需求,我們努力實(shí)現各種技術(shù)棧的標準化集成,而非依賴(lài)定制化。通過(guò)構建豐富的靈活性機制,我們完整打造了一整套架構體系,以應對更廣泛的業(yè)務(wù)場(chǎng)景和需求。這種高度定制化的靈活性要求我們不能簡(jiǎn)單地采用開(kāi)源產(chǎn)品拼湊而成,而是需要自主設計數據引擎、數據庫及UI框架等核心組件,從而確保產(chǎn)品的整體性能和用戶(hù)體驗。這種從底層到上層的全面掌控,使得我們的產(chǎn)品能夠靈活應對各種挑戰,為用戶(hù)創(chuàng )造更大的價(jià)值。
觀(guān)測云是我們團隊精心打造的產(chǎn)品,它不僅承載著(zhù)我們的技術(shù)追求,更融入了我們的價(jià)值觀(guān)。我們致力于持續優(yōu)化和完善產(chǎn)品,以確保它能夠為用戶(hù)帶來(lái)實(shí)際的價(jià)值。我們的目標是讓觀(guān)測云在企業(yè)中發(fā)揮關(guān)鍵作用,特別是對于工程師團隊。我們相信,通過(guò)不斷的努力和創(chuàng )新,觀(guān)測云能夠提升工程師的工作效率,增強企業(yè)的運營(yíng)能力。我們的目標不僅是滿(mǎn)足用戶(hù)當前的需求,更是預見(jiàn)并引領(lǐng)未來(lái)的技術(shù)趨勢,從而為企業(yè)帶來(lái)長(cháng)遠的價(jià)值。
評論