魏航 劉軍 思科科技有限公司
在現代市場競爭下,人們在任何地方得到的一次最佳體驗,很可能就會成為下一次在其他地方對體驗的最低期望,這意味著企業要想在開放競爭的市場中勝出,就必須進行自己的數字化轉型,重新思考客戶最看重的是什么,并創建能夠充分利用競爭差異化優勢的新運營模式。因此一直以來搭建以用戶體驗為中心的IT 架構都是企業數字化轉型的核心議題。
當前主要有兩類思路實現以用戶體驗為中心的IT 架構。最為主流的思路是不斷完善IT 各個子系統的運維水平,包括遙測(Telemetry)、深度學習、形式化分析、自動化響應等技術和工具的使用,能夠及時發現和優化影響用戶體驗的各項指標。但是將用戶的宏觀體驗量化為子系統的微觀指標是一直以來的難點,即便近年流行的利用深度學習建立基線的技術也僅能為正常情況建模而無法準確預測體驗惡化臨界點的位置。為了避免頻繁誤報,子系統的健康閾值往往制定得極為寬松,導致最終用戶體驗不可控。
另一種思路則采用從全局系統角度出發、端到端測量用戶體驗,但這類方案需要對應用部署深層探針,一直以來都是開發團隊做非功能性測試的工具,產品定位上直接忽略前述IT 子系統在監測管理上的各種手段,因而即便發現用戶體驗惡化,但對下層子系統故障點的定位和修復仍需漫長的周期,無疑將影響最終用戶體驗。
以上兩類問題的根源在于IT 的應用開發部門(Dev)和系統運維部門(Ops)根深蒂固的隔閡,雖然早在2003 年谷歌就在《站點可靠性工程》一書中提出了Dev 和Ops 相互融合的觀點,但近年也僅在互聯網行業中少量敏捷開發類應用上部分實現,大部分傳統企業都見不到真正的DevOps。主要原因在于缺少一套方法論框架(如圖1 所示),以及框架中的核心技術基礎——“軟件定義一切”(SDx)。本文將對此概要闡述。

圖1 :以用戶體驗為中心的IT 方法論框架
首先整個體系需要建立在一套已經實現了現代化軟件定義的基礎架構之上,這類系統具有非常典型的特征——擁有一層屏蔽底層復雜機制、向外暴露抽象化功能的API 接口、并可對其編程實現策略驅動功能的“策略層”(Policy Layer)。策略層與被策略層控制的子系統具備如下特征:
由一系列子系統的自動化控制器/引擎構成;
控制器與其所直接控制的底層資源之間構成多個相對獨立的子系統;
每一個子系統遵循軟件開發中的面向對象模塊化特征,對內高聚合、對外低耦合;
高聚合的子系統內部最大自由度的實現專有、開放或開源的功能,包括之前所述高度發展的監測管理手段,不受其他子系統制約;
子系統通過策略層的控制器對外暴露開放的API 接口,將內部功能抽象,可通過軟件編程對其進行定義,實現各類復雜功能組合;
每個子系統作為一個整體可迭代、可替換。
在策略層之上是一層由數據驅動的“意圖層”(Intent Layer),具備如下特征:
由一系列跨子系統、基于數據實現分析和處理的洞察類控制器/引擎構成;
廣泛采用最新的大數據處理、深度學習、形式化分析等智能處理手段,對基于現實場景的數據進行深刻的洞察;
具備良好的可視化表現能力,將洞察以更為直觀的形式向管理員展示;
獨立或由人類輔助生成高階“意圖”,并通過可編程方式將意圖或體現意圖的策略輸送給策略層,以便后者能夠自動化的、精確的執行意圖;
意圖是包含具備特定目的的高階策略的集合,采用陳述式(Declarative)而非命令式(Imperative)的表達。它描述系統最終的目標狀態而非狀態遷移的具體過程。意圖包含了豐富的功能,包括對數據收集類型的要求、對資源調度任務的要求等等。
上文看到意圖層和策略層相互之間有緊密的關聯,策略層向意圖層提供全場景的數據,以便意圖層能夠基于全面準確的場景進行大數據分析和人工智能處理,從而做出深刻洞察,輔助管理員生成正確的意圖;而意圖層向策略層下達以策略形式表現的意圖以便后者正確執行諸如數據收集、資源優化和運維管理等工作。二者形成了一種數據生成意圖、意圖驅動任務、任務數據反饋的智能閉環系統,這正是Gartner 在“Innovation Insights”(ID: G00323513)報告中所描繪的“基于意圖的網絡”在整個IT 架構中的擴展。
“用例”(Use Cases)代表了數字化轉型中IT 架構對業務支撐的具體任務和目標,常見的用例包括應用體驗優化、ITaaS上線、業務沖擊分析、云遷移、云安全等等。
框架中意圖層、策略層和多云架構層之間都是通過API 類方式互動,少量用例可預置于產品,更為通用的用例則必須通過編程實現軟件定義。因此每一個用例都相當于一個具體的“應用”,應采用敏捷開發、精益理論的思想和方法論,以現代云原生軟件的開發方式實現持續集成、持續交付和部署(CI/CD),實現Infrastructure as Code 的理想模式。這些“應用”最終應被企業集成到更高階的IT 服務架構體系中,作為IT 即服務(ITaaS)框架[2]的一部分,與企業的IT 治理、企業架構(EA)融為一個有機整體,并成為企業數字化轉型的基礎和核心力量。
大部分用戶體驗的惡化來自于多個子系統的“亞健康”而非單一子系統完全失效,即便手中握有強大的監測工具,這些故障也往往令只關注單一子系統的工程師束手無策。“幽靈丟包”就是多系統“亞健康”的典型案例,與網絡完全斷掉不同,隨機丟包會出現在多個線路、多個應用上,也會隨時間突然消失,但用戶體驗卻受到嚴重影響。這類故障使用傳統診斷需要幾十個小時,但建立了上文的IT 架構后,意圖層端到端應用監測工具會發現用戶體驗指標下降,它雖不知道故障發生的原因和具體位置,但它可以以應用視角將涉及的具體檢測目標作為“意圖”交給策略層中專業的控制器,這些信息可以是具體的IP 地址、協議名稱和端口號,策略層中的SDN 控制器,在有了具體意圖后就可以用比日常強度高數倍的監測和分析手段進行深入挖掘。筆者所經歷的案例中就通過這一手段快速找到“幽靈丟包”根源——系統部門和網絡部門對網卡雙活認識的分歧導致網絡哈希算法后一部分包隨機的被引導到了錯誤的網卡上,整個自動化診斷過程只花費幾分鐘,成功避免了用戶體驗的進一步惡化。
以用戶體驗為中心的IT 架構的核心是一套基于意圖的IT 資源調度框架和可軟件定義的子系統溝通模式,隨著企業數字化轉型的深入,該IT 架構必將發揮日益顯著的作用。