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