亞馬遜AWS作為云計算服務的領軍者, AWS對SaaS解決方案的設計提供了一些云計算服務最佳實踐。
亞馬遜AWS的云計算服務第一個云計算服務最佳實踐就是將平臺化的功能隔離出來,SaaS產品的更新速度是非常快的,但是我們仍然能夠總結出一些核心的功能是基本不變或者能夠在很多其他新的產品模塊中重用的。我們要將這部分功能分離出來進行平臺化改造以服務于更多的其它功能,將這些功能平臺化以后也會降低整個系統的耦合性從而支撐更多的SaaS應用的功能。對通用功能的平臺服務隔離可以更好的調優和獨立擴展,同時重用核心服務并結合應用框架的使用會極大提升應用開發的效率。
亞馬遜AWS的云計算服務第二個最佳實踐是優化成本和性能,在傳統的技術架構下這兩者之間往往需要進行一定的平衡,而在AWS云的架構下的SaaS服務云模式下往往可以實現魚與熊掌兼得。在每個架構層次實現彈性的橫向擴展可以讓我們實現按使用量付費的模式,而不需要為了獲得強大的性能而提前付出大量的資源成本,同時我們在SaaS的AWS架構下可以使用更小的、平行的資源單位進行擴展,從而更為貼近SaaS環境下的實際資源需求,在合適的場景下盡可能的采用完全由AWS托管的服務(比如Amazon DynamoDB等)來降低SaaS合作伙伴的運維成本并提升效率。
亞馬遜AWS的云計算服務第三個最佳實踐是針對SaaS解決方案設計的。云計算服務,首先對于多租戶的設計要針對SaaS應用自身的特點來進行規劃,總體的設計原則是系統會有多個帳號,而一個帳號會對應多個用戶,一個用戶又會對應多個角色;其次是對于系統處理各種請求時要按照優先級進行分級管理,在通過使用AWS各種服務如SQS、SWF等對系統進行解偶后,對AWS資源集約使用的前提下,對請求分優先級處理會極大提升SaaS架構的處理能力和穩定性;接下來要對監控加大投入力度,借助AWS CloudWatch等監控服務,通過粒度更細的監控來控制分布式資源更為有效的彈性伸縮;最后合作伙伴還需要非常了解SaaS應用架構中所有數據的生命周期以及在在各個周期內數據的特點,依據這些特點為數據在AWS的服務中選擇正確恰當的存儲方式以優化技術架構及降低成本。
亞馬遜AWS的云計算服務第四個最佳實踐是收集一切可以收集的數據并從這些數據中挖掘出價值。AWS基礎架構自身通過CloudWatch服務就可以收集粒度非常細的指標,同時SaaS應用自身也會產生大量日志及指標數據,這些數據和指標不但要密切監控同時也要全量的妥善保存起來,以便后續的大數據挖掘工作。云計算服務,不要擔心在傳統模式下數據存儲的高昂成本,在AWS云的架構模式下有大量諸如Amazon S3、Glacier等成本極低的存儲方式。通過分析這些大量的數據來了解你SaaS服務的客戶,能夠為業務帶來巨大的價值,例如實時自動調整用戶體驗及與之相關的基礎架構,通過使用量的分析改進業務模型等等。
上文通過結合AWS基礎架構的特點分析了合作伙伴SaaS服務構建的推薦技術架構以及最佳實踐,我們也初步了解了在AWS基礎架構上搭建SaaS云計算服務的優勢。
(新聞稿 2017-11-04)