在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

3天內(nèi)不再提示

云應用程序SaaS的設計方法

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

最初發(fā)布于Cloud Nine Apps。

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

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

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

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

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

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

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

SaaS的關鍵設計注意事項

· 選擇適當?shù)脑品眨寒斎唬诓渴鸬皆啤?但是,您想使用哪些服務? 您是否只是要使用基礎架構即服務(IaaS)? 還是要利用某些平臺即服務(PaaS)功能? 答案可能并不總是直截了當?shù)摹?因此,這里有一些準則。

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

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

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

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

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

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

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

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

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

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

SaaS的DevOps注意事項

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

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

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

· 敏捷的基礎架構:要在SaaS上取得成功,您需要確保您的基礎架構是敏捷的并且可以應對需求的變化。 隨著需求上升,它可以擴展適當?shù)膶樱斝枨笙陆禃r,釋放不需要的資源。 這需要一定程度的實驗和測試才能達到適當?shù)钠胶狻?例如,您可以使用AWS自動擴展功能自動擴展/縮減基礎架構。

SaaS的其他注意事項

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

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

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

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 數(shù)據(jù)中心

    關注

    16

    文章

    5066

    瀏覽量

    73051
  • SaaS
    +關注

    關注

    1

    文章

    368

    瀏覽量

    37411
收藏 人收藏

    評論

    相關推薦

    基于HPM_SDK_ENV開發(fā)應用程序的升級處理

    基于HPM_SDK_ENV開發(fā)應用程序的方式HPM_SDK_ENV是先楫半導體MCU的Windows集成開發(fā)環(huán)境,其包含HPM_SDK,工具鏈,依賴工具(cmake,ninja,openocd等
    的頭像 發(fā)表于 02-08 13:38 ?846次閱讀
    基于HPM_SDK_ENV開發(fā)<b class='flag-5'>應用程序</b>的升級處理

    ANACONDA——關于發(fā)布數(shù)據(jù)應用程序的新簡單方法

    與 Anaconda 的筆記本服務無縫集成,為用戶提供了一種輕松共享筆記本結果的方式,并讓其他人也可以隨意的訪問它們。 下面我們來了解關于這項新功能的實際應用: 這項功能與 Panel 的多功能性相結合,將徹底改變您發(fā)布數(shù)據(jù)應用程序的方式。使用這個強大的工具,為共享和協(xié)
    的頭像 發(fā)表于 01-17 11:39 ?311次閱讀
    ANACONDA——關于發(fā)布數(shù)據(jù)<b class='flag-5'>應用程序</b>的新簡單<b class='flag-5'>方法</b>

    Flexus 服務器 X 實例實踐:安裝 flatnotes 筆記應用程序

    flatnotes 作為一款獨特的筆記 Web 應用程序,在華為服務器上的安裝實踐值得探索。 一、Flexus 服務器 X 實例介紹 1.1 Flexus 服務器 X 實例簡介
    的頭像 發(fā)表于 01-13 15:52 ?568次閱讀
    Flexus <b class='flag-5'>云</b>服務器 X 實例實踐:安裝 flatnotes 筆記<b class='flag-5'>應用程序</b>

    超級應用程序Grab選擇亞馬遜科技為首選服務商

    推動技術創(chuàng)新與業(yè)務增長 北京2024年12月19日?/美通社/ -- 在亞馬遜科技2024 re:Invent全球大會上,亞馬遜科技與東南亞領先的超級應用程序Grab共同宣布,Grab已選擇
    的頭像 發(fā)表于 12-19 15:31 ?459次閱讀

    BQ78412應用程序編程接口

    電子發(fā)燒友網(wǎng)站提供《BQ78412應用程序編程接口.pdf》資料免費下載
    發(fā)表于 12-18 14:46 ?0次下載
    BQ78412<b class='flag-5'>應用程序</b>編程接口

    TAS2521應用程序參考指南

    電子發(fā)燒友網(wǎng)站提供《TAS2521應用程序參考指南.pdf》資料免費下載
    發(fā)表于 12-10 13:49 ?0次下載
    TAS2521<b class='flag-5'>應用程序</b>參考指南

    android手機上emulate應用程序方法

    在Android手機上模擬(emulate)應用程序方法通常涉及到使用Android模擬器(Emulator)或類似的工具來模擬Android環(huán)境,以便在沒有實際物理設備的情況下運行和測試應用程序
    的頭像 發(fā)表于 12-05 15:33 ?948次閱讀

    AWTK-WEB 快速入門(2) - JS 應用程序

    導讀AWTK可以使用相同的技術棧開發(fā)各種平臺的應用程序。有時我們需要使用Web界面與設備進行交互,本文介紹一下如何使用JS語言開發(fā)AWTK-WEB應用程序。用AWTKDesigner新建一個應用程序先安裝AWTKDesigner
    的頭像 發(fā)表于 12-05 01:04 ?359次閱讀
    AWTK-WEB 快速入門(2) - JS <b class='flag-5'>應用程序</b>

    AWTK-WEB 快速入門(1) - C 語言應用程序

    導讀AWTK可以使用相同的技術棧開發(fā)各種平臺的應用程序。有時我們需要使用Web界面與設備進行交互,本文介紹一下如何使用C語言開發(fā)AWTK-WEB應用程序。用AWTKDesigner新建一個應用程序
    的頭像 發(fā)表于 11-27 11:46 ?546次閱讀
    AWTK-WEB 快速入門(1) - C 語言<b class='flag-5'>應用程序</b>

    PCM2912應用程序的操作環(huán)境

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

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

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

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

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

    網(wǎng)絡與計算:有什么區(qū)別?

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

    設備監(jiān)控物聯(lián)網(wǎng)SaaS平臺是什么?設備監(jiān)控物聯(lián)網(wǎng)SaaS平臺的功能

    設備監(jiān)控物聯(lián)網(wǎng)SaaS平臺是一種基于計算技術,專為設備監(jiān)控和管理設計的軟件即服務(Software as a Service)解決方案。這種平臺允許企業(yè)無需自行搭建和維護復雜的IT基礎設施,即可
    的頭像 發(fā)表于 05-15 16:17 ?867次閱讀

    Anthropic推出iPhone應用程序和業(yè)務層

    Anthropic 推出 iPhone 應用程序和業(yè)務層,支持使用Claude 3 Opus、Sonnet 和 Haiku 模型
    的頭像 發(fā)表于 05-07 10:22 ?643次閱讀
    主站蜘蛛池模板: 禁漫羞羞a漫入口 | 中文字幕精品一区二区三区视频 | 一区不卡视频 | 色狠狠一区二区 | 狠狠色狠狠色狠狠五月ady | 美女网站一区二区三区 | 丁香婷婷成人 | 天天搞天天操 | 欧美日韩一区二区三区视频在线观看 | a天堂中文在线官网 | 九月婷婷综合婷婷 | 18免费视频 | 日本一本在线视频 | 亚洲国产精品婷婷久久久久 | 资源视频在线观看 | 色爽爽爽爽爽爽爽爽 | 精品一区二区三区免费毛片爱 | 久久精品9| 4438x五月天 4438x亚洲最大 | www欧美在线观看 | 正在播放国产乱子伦视频 | 精品亚洲国产国拍 | 天堂在线免费 | 日本一区二区免费看 | 天天透天天射 | 国产美女亚洲精品久久久久久 | 天堂网在线资源 | 天天摸天天碰天天碰 | 日韩高清毛片 | 国内亚州视频在线观看 | xxxx日本69护士 | 四虎影院新网址 | 天天看天天射天天碰 | 日韩视频 中文字幕 视频一区 | 另类专区欧美 | 日本a级影院 | 亚洲婷婷综合网 | 狠狠色欧美亚洲狠狠色www | 岛国毛片在线观看 | 午夜影院入口 | 免费午夜视频 |