互聯網的發展使技術創新形態正在發生轉變,以用戶為中心、以人為本越來越得到重視,用戶體驗也因此被稱做創新2.0模式的精髓。
對于企業來說,成也用戶體驗,敗也用戶體驗。相關數據顯示,一家未經任何優化的交易網站,20%的交易體驗是負面的,這些負面的體驗中又僅有2%的客戶會進行投訴,另外98%的用戶則在網站不知情的條件下,悄悄地流失了。而這些問題對于那些投入了大量人力、物力、財力用于宣傳的企業來說,損失是巨大的。
Dynatrace大中華區資深技術顧問馬偉表示,隨著企業前端用戶數量的迅速增長,業務規模不斷擴大,同時,很多應用的開放程度不斷提高,應用系統的架構、部署、交付也是越來越繁雜。在這種情況下,對企業業務性能的影響點也變得越來越多。
馬偉認為,企業運維要擺脫被動救火的局面,必須具備以下三方面的能力:第一,足夠高效敏捷以滿足企業數字化業務;第二,能夠清晰地了解到應用的整個運行狀態和健康程度;第三,能夠對應用出現的問題做快速的反應和處理。
以下是訪談實錄:
ZD至頂網:用戶體驗這個詞相信大家都不陌生了,尤其是在“互聯網+”、數字化轉型的大趨勢下,圍繞著用戶體驗產生的應用越來越多,前端應用的這種變化會對企業現有的IT有一些影響和挑戰,以及企業如何應對這些挑戰,帶著這些問題我們邀請到了APM的專家Dynatrace大中華區資深技術顧問馬偉,請他來給大家分享一下這方面的內容。
馬偉:大家好,市場大環境的改變,對企業的傳統運維其實有一個很大的挑戰——前端業務不斷的更新、迭代,對企業后臺應用提出了更高的要求。
在現在新技術發展的領域,企業IT技術的變化深刻改變了包括政府、企業等各類組織的運轉模式,傳統的IT技術已經由原來的業務支撐逐漸演化為到與業務融合。在這些融合過程中,企業的運維角色已經發生了很大的變化。傳統來說我們運維主要工作內容是保障我們基礎架構的穩定,保障我們中間件運行的一些穩定,去做這個應用的支撐。
但是,其實隨著企業前端用戶數量的迅速增長,業務規模不斷擴大,包括一些應用的開放程度不斷提高,應用系統的架構是越來越復雜,它的部署、交付也是越來越繁雜。其中越來越復雜的情況下,就會對它的業務性能的影響點變得越來越多。
企業如何對這些做管理,其實現在也是面臨一個很大的挑戰,無論是現在互聯網也罷,還是物聯網也罷,通過云計算、大數據,包括智能終端對我們提供各種的信息服務。其實我們每個人既是信息的消費者,也是信息的傳播者和獲取者,應用、APP已經深入到我們每個人的日常生活中了,就像我們的手機看新聞,微信,我相信現在很多的年輕人如果沒帶手機可能不一定是因為電話接不到,而是因為他很多的APP用不上。
在這種大環境下,我們的企業會遇到哪些挑戰呢?我跟大家在這里分享一個簡單的數字,據我們統計在一個未經優化的在線交易網站大概有20%的用戶交易體驗是負面的,在這20%用戶里面只有大概不到2%會產生投訴。
換句話說,負面體驗的用戶中有98%是不做任何的動作,他會怎么樣?他會悄悄走掉,也就是說這部分用戶會流失,其實我們企業花了大量的金錢、人力和物力去做線上或者線下的活動推廣,一切的目的就是為了增加我們的用戶數量。但是,當我們的終端用戶去訪問應用的時候,差的體驗會造成非常大的客戶流失,并且,這一切都是在這種不知不覺的情況下發生的,對企業來說這是一個非常嚴重的問題。
在這種情況下,我們企業的運維會面臨一些什么樣的挑戰呢?我認為有三個方面:
第一,新環境下的運維能否足夠高效敏捷來作為我們數字化背后的一個支撐,也就是說現在這種用戶至上、體驗為王,以及共享經濟的提出,對企業用戶提出了更高的要求,我們應用的版本更迭更快,新的應用上線速度也更快,測試周期更短,新的功能點要更多去滿足用戶的體驗需求。
這些需求從前端應用傳遞到后臺的運維部門,其表示為上線的業務越來越多,部署的結構也更復雜了,跨平臺的各種終端的交互也會越來越頻繁,應用之間的相互調用也會越來越復雜,也就是說我們的運維平臺,包括我們的運維支撐部門能否去滿足企業現在的數字化的支撐,這其實是第一個問題。
第二,運維部門能否清晰地去了解到應用的整個運行狀態和健康程度。如果不以應用為主導,一切的運維都是偏底層的,對業務來說并沒有非常正面的影響。能否通過一體化的圖形或者圖表的展示快速了解到應用的狀態,其實是擺在企業面前的第二挑戰。
第三,運維能夠對應用出現的問題做快速的反應和處理,這里面其實就有一個很重要的一點,首先要對它去做應用問題的快速故障預定位,判斷是網絡問題,還是應用問題,還是前端終端的問題,還是應用程序數據庫的問題,或是那種類似于內存泄露的問題。前端越敏捷,后臺的反應和響應就會越快,就是說要找到具體的問題點要查看到故障的一些返回代碼,這樣你才能給解決后臺各種問題提供強有力的支撐。
ZD至頂網:三方面的挑戰,還是比較多,有了問題我們想解決辦法,Dynatrace有沒有比較好的辦法來解決這些問題?
馬偉:其實Dynatrace浸淫在APM的領域已經很長時間了,我們也發現整個市場的變化對于我們運維挑戰的變化,Dynatrace對于我們的運維來說有什么樣的支撐呢?是這樣的,現在企業的運維也有很多的問題,比如說工作效率比較低,在日常的維護中其實我們經常會出現一個問題,發現問題之后他開始著手處理,這使得我們的運維人員處于一種被動救火的狀態,人工排障包括處理都需要不少時間,這種救火的方式也會使我們的運維工作質量很難得到保障。
第二點就是我們的人員更替會更快捷,在現在來說業務結構和整體邏輯結構都越來越復雜的情況下,由于人員更替的原因導致了企業很多新的運維人員很難快速去說清楚或者理順公司業務之間的邏輯關系。這樣在出現問題的時候就會更多依賴于這種日志分析或者靠個人的經驗,這其實是一件很痛苦的過程。
我們都知道看日志其實要看每一臺機器的日志,要針對每一臺機器的日志抽出它的關聯關系,如果要靠純粹的人工方式來做,這其實是一件非常影響效率,非常浪費時間,而且非常不可控的一件事情。
第三點就是(責任)分離,我們經常會在運維工作中碰到,出現問題之后我們第一個先不是說去尋找更好的解決方案,而是先排查這個問題應該由哪個團隊負責,這其實是一件很糟糕的事情,因為沒有一個很好的工具去幫你做支撐,你很難去迅速判斷問題故障率,問題到底在哪,這個時間如果不可控,其實交給我們后臺處理問題的時間就更不可控了。
第四,自動化程度也比較低一些。沒有自動化的管理模式,系統的設備、軟件,包括中間件,硬件,也會讓我們的運維人員疲于應付和奔命,他就會沒有更多的時間和精力去處理具體的這種問題上面。
所以說,Dynatrace針對這些問題和這樣的現狀我們提供哪些解決辦法,第一點就是Dynatrace提供了一個完整的應用生命周期的監控平臺,它可以涵蓋整個應用從開發、測試、上線到迭代全過程,整個過程都可以去做可視化的展示,可以非常清晰和直觀去告訴給用戶整個應用的情況,這樣對運維人員來說只要這一個平臺就能看到整個應用的運行情況。
第二,Dynatrace利用了自身它的專利技術,對應用進行端到端的性能問題的排查。由于許多應用都是分布式的部署框架,完成一個交易會有很多的節點。在做性能問題分析的時候,其實我們是不能將每一個節點單獨來看的,而是依據這種應用交互的邏輯,運行整體的分析。Dynatrace會利用專利技術,自動去生成業務交易的邏輯拓撲圖,通過真實用戶訪問的視角來去做問題排查,這一切可以通過Dynatrace非常人性化一步一步的視圖進行詳盡分析,這樣就可以非常大去提高我們運維的工作問題排查和準確度。
第三,Dynatrace也提供了第三方壓力測試工具的結合,其實我們在應用上線前要經過很長時間的測試,這個測試周期往往是整個應用開發周期的一部分,如果開發周期過長,相應來說留給測試時間就會很短,測試時間一旦太短,沒有充分對應用去做測試,沒有充分去將它的問題暴露出來,而匆忙上線,那不可避免會遇到很多問題。Dynatrace可以集成我們第三方測試工具,即使在這種應用測試時間很短情況下,也可以很好將我們應用的性能去體現出來,這樣就可以由被動的問題排查而變成主動的問題分析,可以大大提高這種應用的迭代效率,而且縮短開發測試的周期。
最后一點,Dynatrace是一個代碼級的應用數據平臺,所謂的代碼級就是我們可以精確去定位到應用,URM,具體調用的一些代碼,包括故障點的一些排查、返回和信息。有這些數據之后,其實在這種海量的數據里面,我們去分析也是一件挺有挑戰的事情,Dynatrace有這些數據之后我也可以提供這種自定義的統一的儀表盤,可以幫你將這些數據做圖形化的展示,比如說我可以根據我們關注的一些業務的指標去做一些定義,響應時間、訪問量、CPU和內存的負載,包括單位時間的事務處理量,包括一些錯誤或者報警的一些情況,甚至不同區域的用戶訪問質量等等,都可以在這種統一的平臺和面板里面幫你展示出來,也就是說你可以在一個儀表盤里面一目了然可以看到我所關注的所有指標,這樣我們的運維人員就不用再深入到不同的監控單元去分別查看了,一個屏幕就可以一目了然。