解析輕松駕馭企業生態系統的共享平臺
譯文譯者 | 李睿
審校 | 重樓
在企業技術的世界里,像Kafka、RabbitMQ、Apache Flink集群、數據倉庫和監控平臺這樣的共享平臺是支持健壯基礎設施的重要組件,從而實現現代微服務架構。人們將看到共享平臺充當微服務之間的中介,從微服務中聚合日志,提供跨域分析和許多其他跨領域功能。
本文將從平臺所有者和平臺用戶的角度探討共享平臺,揭示一些對健康的技術生態系統至關重要的最佳實踐和策略。
建立共享平臺的基本原理
共享平臺在企業環境中的存在既是出于需要,也是出于戰略選擇。并非每個應用程序都可以或應該依賴于自己的獨立平臺。以下提出共享平臺對現代企業來說是一個經過深思熟慮的決定的原因:
1.專業技能要求:Kafka或Flink等先進平臺的操作和維護需要高水平的專業知識。為每個單獨的應用程序獲取這樣的專業技能既不實際,也不經濟。共享平臺允許一批主題專家(SME)有效地維護和優化這些資源。
2.集中的數據共享和管理:在微服務架構中,不同的應用程序通常需要交換數據。共享平臺作為中心樞紐促進了這種數據交換,這比管理孤立平臺之間的多個集成點更高效。
3.成本優化:當跨多個平臺復制時,許可、基礎設施和運營成本的財務影響非常大。共享平臺整合了這些成本,使企業能夠從規模經濟中受益。通過資源共享,企業可以優化投資,降低總體支出。
4.資源利用:專用平臺可能導致容量利用不足,當單個應用程序的需求與最大容量不匹配時,服務器和服務可能會空閑。共享平臺確保資源得到更均勻、更有效的利用,減少資源浪費,提高整體投資回報率。
5.敏捷性和可擴展性:共享平臺提供了一個靈活的基礎,可以快速適應不斷變化的需求。隨著新的應用程序上線或現有應用程序的增長,共享平臺可以擴展以適應這些需求,而無需與設置新基礎設施相關的交付時間和成本。
6.一致性和合規性:確保遵從行業法規和標準可能是復雜且資源密集的。可以設計共享平臺來滿足這些普遍需求,為所有應用程序提供一致和兼容的環境。
7.創新與協作:共享平臺可以營造創新與協作的環境。它們提供了一個共同的基礎平臺,不同的團隊可以在這里一起工作,分享見解,并開發受益于共享平臺功能的解決方案。
8.災難恢復和業務連續性:集中式共享平臺可以更容易地進行災難恢復管理。它們允許簡化備份過程,并在發生系統中斷或其他破壞性事件時更快地恢復服務。
9.與現成其他平臺的集成:共享平臺通常附帶一套集成的連接器,用于促進與其他系統的交互,包括監視和警報工具。這種互聯性意味著新的應用程序可以插入到豐富的服務生態系統中,而不需要額外的集成工作。例如,連接到已建立的監視系統的便利性顯著地簡化了對應用程序的監控。
既然已經探討了共享平臺的一些優勢,那么還要討論平臺所有者和用戶的注意事項。這種理解將確保充分實現共享平臺的好處,同時最大限度地減少潛在的瓶頸。每個群體的考慮因素在維護健康、高效和可擴展的共享平臺生態系統方面發揮著至關重要的作用。
保護平臺:所有者的觀點
平臺所有者承擔著保護其平臺免受潛在濫用的關鍵責任,例如單個應用程序失控或過度供應的副作用。平臺所有者也應該確保他們遵循財務運營(FinOps)實踐,從成本角度使其系統可維護且可行。
為了維護一個健康、高效和具有成本效益的平臺,以下是幾種至關重要的實踐:
1.實施配額:配額對于防止任何單一應用程序壟斷資源至關重要。通過設置使用限制,平臺所有者確保在所有消費者中公平分配資源。RabbitMQ最大隊列大小和Kafka吞吐量配額是在企業中看到的常見示例。
2.監控指標:持續監控指標有助于在異常模式或潛在問題升級之前識別它們。指標可以洞察平臺的健康狀況,并指導決策過程。而指標還揭示了需求信息的使用和變化,這對于平臺規劃實踐是至關重要的。
3.保留期策略:保留期決定了數據在被丟棄之前的存儲時間。實現數據保留策略對于防止磁盤空間被填滿至關重要,因為可能導致性能下降甚至系統故障。
4.發出重要更新:當Flink集群有更新或更改時,例如版本升級或維護計劃,通知所有用戶是很重要的。這確保他們可以為數據處理任務的任何潛在影響做好準備。例如,版本升級可能會引入新功能或棄用舊功能,用戶需要了解這些更改以相應地調整其應用程序。為了實現這一點,平臺所有者可以使用各種工具和方法,例如電子郵件提醒、Slack或Microsoft Teams等消息服務,甚至是與用戶自己的監控系統集成的自定義Webhook。關鍵是要確保溝通是及時的、相關的和可操作的,從而保持平臺所有者和用戶之間的透明度和信任。
5.平臺團隊:平臺團隊發揮著關鍵作用,不僅僅是維持運營;他們是平臺完整性和效率的守護者。治理是他們職責的關鍵部分,包括批準新的發布者或消費者等任務,以確保使用該平臺的用戶能夠為共享生態系統做出積極貢獻。
保持最佳的團隊規模對于確保敏捷性和響應性至關重要。重要的是,平臺團隊不能過于臃腫,否則會拖慢進程,也不能過于精簡,這會導致倦怠和監督問題。
投資于團隊的持續教育也同樣重要。消息靈通的團隊將保持領先地位,并采用最新的技術和治理最佳實踐來簡化運營。
簡化治理實踐對于避免成為應用程序新的瓶頸也是至關重要的。目標是建立清晰、有效的流程,以促進而不是減緩進展。這可能涉及到自動化某些審批過程或為日常請求設置自助服務門戶,從而使平臺團隊能夠專注于需要他們專業知識的更復雜的任務。通過優化治理流程,平臺團隊不僅提高了自身的生產力,還推動了企業創新和成長的整體速度。
1.成本問題:在管理共享平臺時,FinOps是平臺所有者必須接受的關鍵原則,其本質是在不影響性能或功能的情況下提高成本效率。這涉及監視、優化和協商的連續循環。以下是平臺所有者如何將FinOps實踐應用于他們的共享平臺:
- 分級存儲:實施分級存儲解決方案可以顯著節省成本。通過將較舊的、訪問頻率較低的數據存儲在較便宜的存儲設備上,同時將熱門數據保存在性能更高(但更昂貴)的存儲設備上,平臺所有者可以對成本和性能進行優化。
- 需求驅動的擴展:在低需求時期的擴展計劃有助于降低成本。與其相反,在需求激增時進行擴展可以確保性能不受影響。這種彈性的基礎設施管理方法對于保持成本和能力之間的平衡至關重要。
- 協商云成本:定期與云計算客戶經理討論,可以發現折扣機會。平臺所有者應該通過承諾或定制定價包積極尋求節省成本的措施。
- 保留實例:對于需求一致的可預測工作負載,購買保留實例可以比按需定價節省大量費用。這保證了基本水平的資源可用性,并且可以顯著提高成本效益。
- 現場實例:將現場實例用于非關鍵或靈活的工作負載可以進一步降低成本。這些實例的成本是按需資源的一小部分,但需要能夠處理可能的中斷。
- 預算和報告:實施透明的預算和報告流程有助于跟蹤云支出。這應在可能的情況下實時進行,以便能夠立即進行調整,并防止預算超支。
保護應用程序:用戶的視角
包括開發人員和用戶團隊的平臺用戶,必須將他們的實踐與平臺的約束和功能結合起來。編寫能夠處理節流效果的軟件、理解資源限制以及與平臺所有者保持開放的溝通是關鍵。這種方法確保用戶可以在不破壞整體系統平衡的情況下最大限度地利用共享平臺。
當開發人員或架構師與平臺團隊合作、并與他們的專家合作時,不僅要研究平臺的優勢,還要研究平臺的局限性,這一點至關重要。通過徹底了解平臺的服務等級協議(SLA),并評估它們是否符合業務需求,確保應用程序的無縫集成。這種盡職調查是確認平臺能夠支持企業的運營目標,并推動走向成功的關鍵。
結論
本文深入探討了共享平臺的戰略細節,強調了它們在企業技術中的關鍵作用。從節約成本到促進創新,共享平臺不僅僅是一種選擇,也是敏捷和可擴展增長的必要條件。
下一步需要更加積極主動!企業需要積極聯系平臺團隊,建立對話,主動了解所依賴的平臺的服務等級協議(SLA)和復雜性。評估它們如何與自己的業務需求相匹配,以及可能需要計劃調整的地方。作為應用程序和平臺團隊的一個統一的團隊,有能力將企業的效率和創新推向一個新的成熟水平。
原文標題:Shared Platforms Explained: Navigating the Enterprise Ecosystem,作者:Murat Balkan