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