作者:Ashok Pandey,企業軟件供應商Aspire Systems首席架構師
編譯:拓撲社 一笑
SaaS是當今最具潛力的利基(niche)之一。在過去的幾年當中,隨著SaaS逐步替代本地部署的傳統軟件,市場對SaaS這種商業模式的接受度也越來越高。最近幾年最大的軟件公司IPO也是與SaaS相關的。
然而,實際上許多SaaS業務并不能取得成功。一個主要的原因是他們對SaaS并不了解,沒有為擴展業務準備一個良好的基礎。盡管許多SaaS產品功能非常出色,但很多時候,他們并不能在激烈競爭的SaaS市場空間中維持業務增長。
事實是,許多開發人員仍在努力理解SaaS交付平臺的核心本質,因此無法為SaaS設計一個健全的,可擴展的安全架構。構建這樣的工程基礎不僅復雜,而且有著巨大的技術風險。除了巨大的經濟投資外,它需要大量的經驗,專業知識和時間來建立。
本文基于我從開發云服務產品Techcello獲得的經驗教訓。強調了從傳統軟件轉向SaaS解決方案需要注意的一些重要的事項:
數據安全在SaaS解決方案中,安全性是一個關鍵因素,每一位CIO都密切關注安全性。 隨著黑客和安全漏洞的風險增加,可以說好的安全可信度也可以作為重要的競爭優勢。
你需要確保每個客戶間的數據是隔離開的,該架構必須在設計級別上具有強制執行權,以確保客戶特定數據擁有足夠安全性。
另一個關鍵方面是數據的存儲和訪問方式。這可以通過對軟件的所有可能的接入點應用強制(enforcements)執行來解決。 你必須提供每個客戶更改工作流,業務規則和數據模型的能力,因為企業結構可能因客戶而異。用戶訪問權限根據單個租戶內角色的不同提供精細級別的訪問權限。
可擴展性SaaS玩的就是量。為了使SaaS公司取得成功,它應該能夠擴展其解決方案,與數千甚至數百萬的客戶進行合作。
隨著你的SaaS應用變得流行,它應該能夠擴展其性能,服務多種大小的客戶。 因此,產品應設計成使得每層能夠以無縫方式獨立地縮放,以便滿足不可預測的負載。在軟件展示,應用,數據庫,后端進程等各個層面都需要強大的架構。
可配置性SaaS可配置性是邁向多租戶(multi-tenancy)的最大挑戰之一。架構師經常面臨著沖突的需求,這迫使他們走上自定義代碼開發的道路。 這可以通過在從UI,訂閱,安全,通知,數據字段和數據存儲的產品中跨越各個層的可配置設計來減輕這種沖突。
集成企業已經有了廣泛的應用。 因此,他們期望新的SaaS應用程序與現有系統無縫集成是很自然的。應該提供一組標準的API,以便與其他SaaS和/或內部部署應用程序進行集成。
無縫部署選項