精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

云應用程序SaaS的設計方法

汽車玩家 ? 來源:今日頭條 ? 作者:聞數起舞 ? 2020-05-03 18:20 ? 次閱讀

最初發布于Cloud Nine Apps。

如何設計云應用程序(SaaS)

如何設計云應用程序(SaaS)

軟件即服務(SaaS)已成為許多軟件供應商的主要模型。 與云供應商提供基礎架構服務一樣,它有助于類似地交付軟件。 SaaS應用程序通常部署在公共云上,例如Amazon Cloud(AWS),Microsoft Azure,Google Cloud等。 但是,組織有時可能會選擇使用其數據中心(也稱為私有云)來托管SaaS應用程序并利用其在基礎架構上的投資。 在設計SaaS應用程序時,不僅需要將應用程序比特部署到云中,還需要花費更多。 進行適當的設計考慮,不僅可以幫助您完成良好的設計,還可以幫助您降低成本并更有效地管理部署。 在這篇文章中,我將介紹一些多年來我發現有用的設計SaaS應用程序的關鍵注意事項和技巧。

為云設計應用程序與本地應用程序設計有何不同?

· 更好的模塊化:如果您擁有一個龐大的單片應用程序,那么明智的做法是查看它是否可以分解為可以單獨部署的邏輯組件。 這不僅可以提高模塊化,還可以幫助您減少應用程序的占用空間。 假設您有一個使用后臺作業刷新數據的應用程序。 您可以將核心應用程序和后臺作業分離為2個(或更多)可以分別部署的組件。 這將減少核心應用程序的占用空間。 因此,您可能會選擇較小的資源大小。 另外,根據需要,您可以獨立地縮放這兩個。 因此,如果對后臺作業的需求增加,則可以增加其容量,并增加應用程序層的容量。 由于每個資源的資源量都很小,因此,僅擴展所需的層/組件將導致整體成本低于整體資源的整體成本。 說得通?

· 應用程序始終是最新的:對于許多本地應用程序來說,這是一個很大的轉變。 在云中,客戶通常希望應用程序始終處于最新版本。 現在,如果您將其視為一名架構師,則意味著您不僅可以更新應用程序位,而且可以在不涉及客戶的情況下升級客戶數據。 也就是說,這對他們是完全透明的。

這些只是一些差異。 但是,您明白了。

SaaS的關鍵設計注意事項

· 選擇適當的云服務:當然,您正在部署到云。 但是,您想使用哪些服務? 您是否只是要使用基礎架構即服務(IaaS)? 還是要利用某些平臺即服務(PaaS)功能? 答案可能并不總是直截了當的。 因此,這里有一些準則。

· 您是否要將同一應用程序部署到多個云平臺或內部部署? 在這種情況下,可能沒有(或最小化)特定于云供應商的服務并堅持使用更多的IaaS服務是有意義的。

· 成本應該是選擇服務時的重要考慮因素。 例如,某些由Cloud供應商管理的PaaS服務可以由您的團隊自己管理,以降低成本。 盡管這對于每項服務可能都沒有意義,但值得探討。

· 牢記您的團隊專業知識。 使用某種云服務需要什么? 而且,如果團隊還維護基礎架構,那么需要什么技能?

· 針對故障的設計:設計容錯和高可用性的應用程序是Cloud的基礎。 假定您的應用程序會遇到問題,以及如何確保繼續為用戶提供服務。 這些可能是應用程序故障或基礎架構故障。 云供應商提供了一些有用的功能來幫助您。

· 使用負載平衡器:出于負載平衡的目的,您可以將應用程序節點放在負載平衡器的后面,并確保即使一個或多個節點出現故障,也可以通過其他節點為應用程序提供服務。

· 地理分布的應用程序:多個Cloud供應商提供了將應用程序分布在多個地理區域的功能,這樣,即使一個區域受到了影響(例如,由于自然災害),也可以從其他區域提供應用程序。 例如,AWS支持跨多個可用區部署應用程序。

· 模塊化您的應用程序:如我們在上一節中討論的,隔離可以分別部署和管理的組件可以幫助減少應用程序的占用空間,從而降低基礎架構的成本。 您也可以考慮將其中一些組件作為微服務。 如果您的應用程序之外還有其他潛在使用者,則微服務方法可能特別有用。 現在,這并不意味著您會全力以赴,創建不必要的組件。 因此,一種方法是制作可以單獨部署的組件(例如核心應用程序與后臺作業)。

· 安全性:安全性涉及很多方面-從保護基礎結構到應用程序。 一些關鍵方面包括確保僅打開所需的端口,使用對資源的盡可能少的特權,進行適當的基于角色的訪問控制,使用加密,等等。 安全性不應被視為一次性交易。 這是一個持續的過程,應該隨著時間的推移而改進和發展。

· 多租戶:在云中運行的一個主要好處是能夠使用同一應用程序實例為多個客戶提供服務。 這給應用程序設計帶來了一些明顯的挑戰,以確保每個客戶的數據出于安全和監管目的而被隔離。 一些團隊選擇為每個客戶使用不同的持久性存儲實例,例如為每個客戶使用單獨的數據庫。 而且,有些人選擇使用行級標識符隔離數據。 無論采用哪種方法,重要的是確保體系結構滿足可伸縮性和安全性需求。 例如,如果選擇每個客戶使用一個數據庫,則可以在一個RDS實例上托管多個數據庫。 而且,當容量用盡時,您可以建立另一個RDS實例。

· 零/最小停機時間和無縫升級:信不信由你,許多客戶期望SaaS應用程序的停機時間為零或非常小,并且由于這些停機時間通常由構建應用程序的同一公司管理,因此應進行無縫升級。面臨的挑戰是您的應用程序可能沒有被設計為能夠順利處理升級,特別是如果它已被轉換為SaaS應用程序而已。需要考慮兩個關鍵方面:a)部署應用程序位和文件b)處理持久性存儲升級。對于推出應用程序位策略,可以使用諸如Blue / Green部署之類的策略,其中,如果成功推出,則將新版本部署到新堆棧中,進行測試并啟用。較舊的堆棧資源可以在以后退役并回收。實現無縫升級的一種方法是使基礎數據模型n_1兼容。這意味著,如果要部署的發行版具有數據模型版本n,則該數據模型與先前的數據模型版本(n — 1)向后兼容,從而確保升級不會破壞它。您如何確保?這就要求在整個開發周期中遵守紀律,并遵循某些準則,例如不刪除任何列,提供必要的升級腳本來處理任何數據遷移需求,等等。并且,如果升級未成功,則支持回滾升級。現在,您可以理解,這不僅在技術上具有挑戰性,因為它涉及數據遷移和回滾,而且還可能導致部署速度大大降低。因此,您必須仔細評估適合您的應用程序需求的合理方案,并相應地實施解決方案。

SaaS的DevOps注意事項

DevOps對SaaS至關重要,因此值得單獨討論。 以下是一些關鍵注意事項。

· 持續交付:DevOps管道應該能夠獲取簽入的代碼,并從中生成一個構建,然后以自動化的方式經歷各個階段(QA,性能,最終通過/不通過檢查,生產部署)。 這可能涉及到擁有多個管道(通常是每個階段),并擁有一個超級管道來推動構建通過這些階段中的每個階段。 現在,開發這些管道可能還需要一些時間,但是開始為每個管道定義合同是一個好主意,這樣用戶管道就不必擔心細節了。 最終,目標應該是使雙手完全免于打擾或盡可能地接近手。

· 對所有版本(包括DevOps更改)使用版本控制:對于應用程序代碼,通常最好使用源代碼控制的master分支。 但是,對于任何DevOps更改執行相同的操作同樣重要。 例如,在推出基礎架構更改時,還應將這些更改檢入源代碼管理中,進行測試,然后將其推向生產環境。

· 敏捷的基礎架構:要在SaaS上取得成功,您需要確保您的基礎架構是敏捷的并且可以應對需求的變化。 隨著需求上升,它可以擴展適當的層,當需求下降時,釋放不需要的資源。 這需要一定程度的實驗和測試才能達到適當的平衡。 例如,您可以使用AWS自動擴展功能自動擴展/縮減基礎架構。

SaaS的其他注意事項

· 計劃和優先級:與其他任何成功的項目一樣,SaaS項目也需要計劃和優先級。 盡管每個人都希望實現"將每一個檢查都投入生產"之類的目標,但要了解什么才是最有意義的事情,并首先將重要的事情放在優先位置。 當然,有一個延伸目標沒錯。 但是,重要的是首先正確處理重要的事情。 例如,如果您沒有良好的單元測試和自動化范圍,并且您試圖將每個代碼更改推向生產環境,即使您完成了更改,其實用性也值得懷疑。 之所以會適得其反,是因為生產中的事情可能會開始崩潰得太快,然后研發團隊將被消耗掉。

· 貨幣化模型:SaaS也影響貨幣化模型。 在內部部署中,您可能會被罰款一定數量的許可證,而在SaaS中,您可能不得不重新考慮什么是最適合您的業務的模型。 您是否要使用基于訂閱的模型,基于利用率的模型,混合模型或其他所有模型?

希望您對設計基于云或SaaS的應用程序有更好的了解。 看到涉及許多不同方面的應用程序投入生產,無疑是一種豐富的體驗。 就像我經常說的那樣,"云是一個旅程,而不是目的地"。 因此,請繼續學習并不斷發展。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 數據中心
    +關注

    關注

    16

    文章

    4688

    瀏覽量

    71956
  • SaaS
    +關注

    關注

    1

    文章

    363

    瀏覽量

    36850
收藏 人收藏

    評論

    相關推薦

    PCM2912應用程序的操作環境

    電子發燒友網站提供《PCM2912應用程序的操作環境.pdf》資料免費下載
    發表于 10-21 09:33 ?0次下載
    PCM2912<b class='flag-5'>應用程序</b>的操作環境

    容器引擎屬于saas層服務嗎?二者是什么關系

    容器引擎屬于SaaS層服務,容器引擎通常被視為一種平臺即服務(PaaS)的變體或擴展,雖然它提供了應用程序的托管環境,但更側重于容器化應用的部署與管理,不完全等同于傳統的軟件即服務
    的頭像 發表于 10-12 10:57 ?167次閱讀

    使用HIC啟用外圍擴展應用程序應用說明

    電子發燒友網站提供《使用HIC啟用外圍擴展應用程序應用說明.pdf》資料免費下載
    發表于 09-14 09:44 ?0次下載
    使用HIC啟用外圍擴展<b class='flag-5'>應用程序</b>應用說明

    網絡與計算:有什么區別?

    計算和網絡是相關但又不同的概念。計算關注的是應用程序如何運行,而網絡則關注的是應用程序
    的頭像 發表于 06-25 11:43 ?470次閱讀
    <b class='flag-5'>云</b>網絡與<b class='flag-5'>云</b>計算:有什么區別?

    Anthropic推出iPhone應用程序和業務層

    Anthropic 推出 iPhone 應用程序和業務層,支持使用Claude 3 Opus、Sonnet 和 Haiku 模型
    的頭像 發表于 05-07 10:22 ?403次閱讀

    使用Docker部署Go Web應用程序步驟

    大多數情況下Go應用程序被編譯成單個二進制文件,web應用程序則會包括模版和配置文件。而當一個項目中有很多文件的時候,由于很多文件沒有同步就會導致錯誤的發生并且產生很多的問題。
    發表于 04-20 09:33 ?475次閱讀
    使用Docker部署Go Web<b class='flag-5'>應用程序</b>步驟

    SOLIDWORKS應用程序:面向學生的全新機遇

    隨著科技的快速發展和數字化轉型的深入,SOLIDWORKS應用程序的推出,無疑為學生提供了一個全新的學習和實踐平臺。SOLIDWORKS,作為一款工程設計軟件,其應用程序的推出,不
    的頭像 發表于 03-25 15:39 ?256次閱讀

    什么是SaaS?中國SaaS發展簡史

    SaaS融合了軟件與計算的優勢,在這種服務模式下,用戶不僅獲得了軟件的功能,更重要的是,用戶擁有數據與隱私權。
    發表于 03-14 11:30 ?655次閱讀
    什么是<b class='flag-5'>SaaS</b>?中國<b class='flag-5'>SaaS</b>發展簡史

    應用程序中的服務器錯誤怎么解決?

    在使用應用程序時,可能會遇到服務器錯誤的問題。這種錯誤通常會導致應用程序無法正常運行 ,給用戶帶來不便。下面將介紹應用程序中的服務器錯誤及其解決方法,幫助您快速解決這一問題。
    的頭像 發表于 03-12 15:13 ?5774次閱讀

    LTE MQTT通信應用程序說明

    電子發燒友網站提供《LTE MQTT通信應用程序說明.pdf》資料免費下載
    發表于 02-21 10:47 ?0次下載
    LTE MQTT通信<b class='flag-5'>應用程序</b>說明

    如何從幾個方面介紹SaaS系統

    PaaS,某些時候也叫做中間件。就是把客戶采用提供的開發語言和工具(例如Java,python, .Net等)開發的或收購的應用程序部署到供應商的計算基礎設施上去。
    的頭像 發表于 02-20 11:37 ?1017次閱讀
    如何從幾個方面介紹<b class='flag-5'>SaaS</b>系統

    請問如何使用ModusToolbox?估計應用程序使用的堆棧和堆空間量?

    我正在使用 PSoC63 進行 ModusToolbox? 開發。 運行我的應用程序時,MTB上是否有任何方法可以確定或估計我的應用程序將使用的最大堆棧和堆大小? 謝謝。
    發表于 01-18 08:04

    SNP Glue新Saas技術在數據集成中如何提升客戶價值

    ■ 新Glue版本可作為軟件即服務(SaaS)應用程序使用 ■ SAP數據和非SAP數據源之間的云原生集成大大簡化了客戶的企業數據集成 ■ SNP Glue通過應對AI和大數據計劃中的關鍵挑戰來增強
    的頭像 發表于 12-28 14:06 ?339次閱讀

    中軟國際管理平臺SaaS產品榮獲華為云云軟件認證

    近日,中軟國際管理平臺SaaS產品憑借扎實的技術實力,以及與華為服務深度融合能力,榮獲華為云云軟件認證。 華為云云軟件認證是華為全新推出的伙伴體系中的高級別的認證,華為
    的頭像 發表于 12-07 10:10 ?402次閱讀

    開發java應用程序的基本步驟是

    ava是一種面向對象的編程語言,廣泛用于開發各種類型的應用程序。在開發Java應用程序時,有一些基本步驟需要遵循,以確保應用程序的正確性和可靠性。 1.確定需求:這是開發任何應用程序
    的頭像 發表于 11-28 16:52 ?1524次閱讀