在近期的一次技術盛宴中,亞馬遜云科技的解決方案架構師Todd Golding就多租戶SaaS架構的最新趨勢——基于單元的架構(Cell-based Architecture),進行了深入剖析與分享。此次討論不僅揭示了這一架構模式在多租戶環境中的獨特優勢,還探討了其實施過程中的策略、挑戰與機遇。
SaaS領域的發展日新月異,構建高效、靈活且具備高度擴展性的多租戶架構成為行業內的共同追求。然而,租戶間不斷變化的工作負載、隔離需求以及資源調配的復雜性,為這一目標的實現帶來了重重挑戰。在這樣的背景下,基于單元的架構作為一種創新的解決方案,逐漸嶄露頭角。

Golding指出,基于單元的架構通過將租戶分組到邏輯單元中,實現了資源的有效隔離與共享。每個單元作為一個獨立的部署單位,既包含共享資源池,也設有專門分配給單個租戶的隔離資源。這一設計不僅有效限制了噪音鄰居等問題的影響范圍,還提高了系統的整體彈性。例如,為高級租戶提供獨立的分析服務實例,即可有效緩解因服務繁忙而產生的噪音鄰居問題。
在實施基于單元的架構時,租戶的入職流程、單元的供應策略、生命周期管理以及控制平面與應用平面的集成等關鍵環節均需仔細考量。Golding詳細探討了兩種單元供應策略:預先供應和基于負載的供應。前者通過預先創建一定數量的空單元,待租戶入職后根據配置文件進行分配;后者則根據需求動態供應單元,實現資源的靈活調配。

Golding還強調了單元的動態性質及其生命周期管理的重要性。隨著租戶的進出和工作負載的變化,單元間的租戶分布可能需要重新平衡,甚至停用利用率較低的單元。同時,控制平面與應用平面之間的集成也至關重要,需確保單元既能作為邏輯構造存在,又能擁有一定的封裝和自治能力。
在部署策略方面,基于單元的架構同樣帶來了新的挑戰。更新和新的微服務不僅需要準確部署到相應的租戶,還需部署到適當的單元中。這就要求部署管道必須了解租戶與單元之間的映射關系,以及每個單元的特定部署要求。路由和間接尋址的復雜性也隨之增加,需通過API網關等額外間接層來實現租戶到單元的映射。

基于單元的架構在多區域部署中也展現出了巨大潛力。由于單元是部署單位,組織可以相對輕松地將單元部署到不同區域,利用現有的DevOps和運營流程進行管理。這一特性簡化了向多區域架構的過渡過程,滿足了眾多SaaS提供商的迫切需求。
然而,Golding也坦誠地指出,基于單元的架構并非銀彈,其帶來的復雜性和間接性不容忽視。組織在采用這一架構時,需仔細評估其業務需求和架構目標,確保能夠平衡復雜性與價值之間的關系。他強調了從期望結果出發、深思熟慮地采用基于單元架構的重要性。


作為云計算領域的領軍者,亞馬遜云科技一直致力于推動技術的創新與發展。此次關于基于單元架構的深入討論,不僅為SaaS架構師們提供了新的思路與靈感,也進一步鞏固了亞馬遜云科技在全球云計算市場的領先地位。隨著技術的不斷進步和應用的日益廣泛,基于單元的架構有望成為多租戶SaaS領域的重要發展趨勢之一。












