精华内容
下载资源
问答
  • SAAS产品设计原则及产品架构特点

    千次阅读 2020-03-17 19:30:16
    什么是 SaaS ? Saas软件模式让软件变得和水、电、气一样只...Saas产品的3大特点: 订阅模式 产品基于云运行在远程服务器上集中托管。不需要独立部署甚至物理分发来完成交付和使用,用户通过网络即可使...

     

    什么是 SaaS ?

     

    Saas软件模式让软件变得和水、电、气一样只需每月缴纳固定的费用即可享受服务。

     

    SaaS(software as aservice),软件即服务,是一种软件交付和销售方式—订阅许可模式。

     

    Saas产品的3大特点:

     

    • 订阅模式

       

    产品基于云运行在远程服务器上集中托管。不需要独立部署甚至物理分发来完成交付和使用,用户通过网络即可使用。

     

    SaaS 只需在线登录即可使用服务,无需安装和手动升级,并根据使用时间付费(按月/年)。

     

    • 规模化和复利

       

    订阅者无需购买硬件和中间件,无需实施、维护、更新、运维和管理成本,连接网络即可使用,决策和投入成本降到最低。由此SaaS 软件更容易拥有大量客户,形成规模。

     

    • 开放和灵活

       

    SaaS针对不同组织的诉求,提供多种套餐方案,付费前,用户可以进行免费试用;开放接口(API),与其他软件集成满足客户业务。

     

     

    SaaS 产品的优点

     

    1. 降低成本:SaaS服务在订阅的基础上提供服务,免去企业购买传统本地部署软件或者构建自己的本地部署软件的成本,还允许客户按需扩大和缩减支出。

     

    2. 减少时间消耗:本地部署,从企业购买硬件设备、准备软件许可到真正能够使用软件需要几个月甚至几年。SaaS服务即时可用的基于云的工具,客户只需进行注册就可以开始使用。

     

    3. 灵活性:SaaS收费基于客户使用情况,客户只有从产品获得额外收益时才会产生更多费用。允许客户逐渐深入使用产品,消除客户不确定的忧虑。

     

    4. 可持续升级:SaaS在云端的服务升级消除本地部署的诸多障碍,软件可以不断升级以更好满足企业需求。

     

     

    SaaS 产品的销售模式

     

    通常来说,SaaS 的销售模式分为三种:

     

    1、非接触(no-touch):自助服务

     

    客户自助完成整个服务,没有销售人员的介入。

     

    产品简单、价值明显、支付容易甚至售价便宜。产品本身提供良好的支持(操作引导、使用说明、帮助中心以及反馈入口),从而允许客户自助完成服务。

     

    2、低接触(low-touch):交易型销售

     

    低接触SaaS 产品,采用免费试用的方式获客。销售人员通过在线咨询服务或电话进行销售转化。通常采用按月订阅的模式,其满意度决定了持续收入。因此,低接触的SaaS 产品的销售,需要同时提供良好的客户支持,从而保证客户持续的获取产品价值而不断续费。

     

    3、高接触(high-touch):顾问式销售 

     

    高接触 SaaS,需要大量的人力投入,招标、拜访、出解决方案、商务谈判等等。更多采用年度收费的模式。产品几乎是围绕销售团队的,市场营销的主要工作是为销售团队获得足够多且合格的销售线索;产品、开发更多的配合销售团队满足客户需求。

     

     

    SaaS 产品指标

     

     

    SaaS 产品的早期,更多的是验证产品与市场的匹配(Product-marketfit,PMF),产品是否具有市场价值,是否有人愿意花钱购买。

     

    确认指标为:

     

    1、目标客户是谁

    2、目标客户的需求(痛点、爽点、痒点)

    3、提供的解决方案是否能挣到钱

     

    SaaS 业务指标

     

     

    单位经济收益:CAC:LTV

     

    SaaS 产品的成功与 PMF 高度匹配之外,还需要一个切实可行的商业模式,即客户价值(LTV)大于获取成本(CAC),健康的增长意味有效平衡两者,从而确定这是一个有利可图的市场。

     

     

    CAC(Customer AcquisitionCost)

     

    获得客户的平均成本。

    CAC= 销售和营销费用之和 ÷ 新增客户数量

     

     

    LTV(Customer LifetimeValue)

     

    客户生命周期内(从注册到流失)平均总价值。LTV=(ARPA*毛利率%)÷ 客户流失率

     

     

    ROI(Return on investment)

     

    客户获取的投资回报率。

     

     

    ROI=LTV:CAC

     

    Months to recover CAC

    CAC 通过 MRR 收回的平均月份。

     

     

    Months to recover CAC=CAC÷(ARPA*毛利率%)

     

    ARPA:每个帐户的平均收入,你的 MRR 除以客户数量,即所有客户的平均 MRR

    毛利率=[(营收-成本)÷ 营收]×100% 

     

     

    经常性收入:MRR 和 ARR

     

    经常性收入(Recurring Revenue)是未来持续可获得的收入,就 SaaS 而言,经常性收入来自客户的订阅,具有稳定、可预测、高度确定的特点。

     

     

    在 SaaS 业务中通常采用按月或按年合同:

     

    ● 主要按月合同及少量的年度合同,采用 MRR(MonthRecurring Revenue 月度经常性收入)。MRR 用于衡量每月订阅收入,如果有一些年度订阅,除以 12,再分摊到每月来计算 MRR

     

    ● 按年合同及少量的多年合同 ,采用 ARR(AnnualRecurring Revenue 年度经常性收入)。多年合同除以合同年限,再分摊到每年来计算 ARR

     

    在 MRR/ARR 统计中,并不会计算一次性的收入。例如,定制功能费用。

     

    经常性收入会不断推动这 SaaS 厂商的发展,也是验证产品是否具有可持续增长的指标。

     

     

    流失(Churn)

     

    SaaS 是订阅模式,在高留存率下,随着时间的推移,意味着更多的客户、更多的订阅,持续收入不断复合累积。所以,流失率对 SaaS 厂商是非常重要的指标。

     

    在 SaaS 中有两种计算流失的角度:

     

    ● 客户流失(Customer Churn),取消订阅的客户数量

    ● 收入流失(MRR/ARR Churn),取消订阅的收入损失

     

     

    Customer Churn Rate

     

    客户流失率,客户取消订阅的比率。

    Customer Churn Rate= 期间流失客户数 ÷ 期初客户数   

     

     

    MRR Churn Rate

     

    月度经常性收入流失率,通过降级、取消而损失的 MRR 比率

    MRR Churn Rate= 期间流失 MRR ÷ 期初 MRR

     

     

    Net MRR/ARR Churn

     

    净 MRR/ARR 流失。

     

    Net MRR/ARR=期间新增 MRR/ARR之和 - 期间流失和收缩 MRR/ARR 之和

     

     

    Net MRR/ARR Churn Rate

     

    净 MRR/ARR 流失率。

    Net MRR/ARR Churn Rate=(期间流失和收缩MRR/ARR 之和-期间新增 MRR/ARR 之和)÷ 期初 MRR/ARR

     

    当收入增长超过流失的损失,在这种情况下,净 MRR/ARR 流失则为负值,称之为负流失(Negative Churn),表现在财务表上的就是收入的不断增长。

     

    记住,在计算流失时,总是在特定的时间范围内,例如上月客户流失率是 5%。

     

     

    SaaS产品的一些设计规律

     

    1. 产品的logo一般都是位于屏幕的左侧

     

    如果位于右侧,大多数用户就不会注意到logo,左上角是logo最佳的放置位置,有些极少出也会出现在中间

     

    2. 支持移动端自适应。

     

    人们正逐渐从计算机转向移动设备,拥有一个可以两者都可以访问的网站是一个优势;

     

     

    3. 使用浅色的背景

     

    saas系统一般为阅读作业功能类软件,需要长时间使用与阅读。深色的网站可能会让人困惑,难以阅读。然而,浅色背景营造出一种友好且随和的界面感觉。

     

     

    产品细节设计原则

     

     

    导航

     

    导航很明确的区域划分,因为业务的复杂,开始会有新手引导的设计。

     

     

     

    轻松注册

     

    注册过程毫不费力。

     

    Google Apps的官网,为了吸引更多人注册介绍页上强调突出注册入口。更是将整个首页专门用于注册。这一点很多saas软件公司都是这么做的。

     

     

     

    让客户参与

     

    让用户帮助自己让自己的产品变得更好,可以通过创建微信用户群,微博粉丝,Facebook粉丝进行交流,也可以在社交媒体和网站上进行在线调查,让用户参与产品制作的过程。

     

     

    统一的设计规范

     

    Google将用户需求的所有内容整合到一个平台上,做的非常成功确保用户在同一页面上拥有所需的一切,并且每个应用程序都具有相同的设计规范。

     

     

    不断升级产品设计

     

    产品上线已经获得一些用户后,产品扩大业务和发展更多的用户的过程需要对视觉与交互进行调整和改进,使产品网站与业务规模相匹配。

     

     

    Saas系统架构特点

     

     

    1. 应用程序必须支持多租户

     

    多租户可以分为几个不同的类别:

     

    • 云中的简单虚拟化,其中只对硬件进行共享。

     

    • 共享应用程序,对每个租户使用不同的数据库。

     

    • 共享应用程序和数据库(效率最高,真正的多租户)。

     

     

    2.应用程序必须具备某种程度的自助注册功能。

     

    即便仅仅是一种请求机制,即产生一种向应用程序添加租户的业务流程。

     

     

    3. 必须具备订阅/记账机制

     

    必须提供订阅和记账机制。因为 SaaS 应用程序被设计为根据各种因素进行支付,如每个租户的用户数、应用程序选择,还可能包括使用时间等,必须通过某种方式来跟踪和管理应用程序的使用,然后生成可由租户管理人员访问的记账信息

     

     

    4. 应用程序必须能够有效地扩展。

     

    必须能够随着订阅的增长进行扩展

     

     

    5. 必须能够监视、配置和管理应用程序和租户。

     

    必须提供治理和应用程序管理功能,以监视、配置和管理应用程序及所有租户

     

    6.必须有一种机制能够支持惟一的用户标识和身份验证。

     

    7.必须有一种机制能够支持对每个租户进行某种程度的自定义。

    展开全文
  • Saas平台架构设计

    2018-12-20 16:20:30
    Saas平台架构设计
  • Saas系统架构的思考,多租户Saas架构设计分析

    万次阅读 多人点赞 2019-06-14 13:39:35
    ToBSaas系统最近几年都很火。...最近一年,有幸架构一个Crm saas 系统,上线了几个月来,各方面都比满意。整个系统创建过程,踩了很多坑,收获也比较多。总结一下Saas系统架构一些特点: Saas系统分...

            ToB Saas系统最近几年都很火。很多创业公司都在尝试创建企业级别的应用 cRM, HR,销售, Desk Saas系统。很多Saas创业公司也拿了大额风投。毕竟Saas相对传统软件的优势非常明显。   

    最近一年,有幸架构一个Crm saas 系统,上线了几个月来,各方面都比满意。整个系统创建过程,踩了很多坑,收获也比较多。总结一下Saas系统架构一些特点:

    Saas系统分级

    SaaS系统架构成熟度模型的5个级别——从“混乱”到“乌托邦“

    第0级(混乱):每次新增一个客户,都会新增软件的一个实例。
    第1级(受控的混乱):所有客户都运行在软件的同一个版本上,而且任何的定制化都通过修改配置来实现。
    第2级(多租户[multi-tenant]、高层建筑[Highrise]):所有的客户都已经可以在软件的同一个版本上运行了,而且他们都在同一个“实例”上运行。
    第3级(多租户, 扩建[Build-Out]):此时你已经拥有了多租户、单一版本的软件模型。不过你还是可以通过硬件扩展(scale-out)的方式来进行扩充。
    第4级(乌托邦):如同第3级,除非你可以找出有效的方式,以在不同的“实例”上运行不同版本的软件

    应用程序必须支持多租户:

        多租户可以分为几个不同的类别(如列表下方的图所示):
        1.1,云中的简单虚拟化,其中只对硬件进行共享。
        1.2,共享应用程序,对每个租户使用不同的数据库。
        1.3,共享应用程序和数据库(效率最高,真正的多租户)。

    1.分层设计

    Saas系统分层大概是:

    Saas系统分层
    Saas系统分层

     

    Saas系统分层:租户识别>应用层>数据访问层>缓存层>数据库

    业务代码都是写在应用层。

    租户识别可以用spring拦截器实现,然后使用ThreadLocal传递给后端

    数据库和缓存层对应用层应该是透明的。程序员在写代码的时候,只关心业务逻辑,不应该担心多租户的问题。

     

    2.数据隔离要透明

    saas系统说起来很简单,任何系统似乎加个tenant_id(租户id)就变成saas系统了。比如原来的用户登录是:

    select username,password from users where email='abc@qq.com'

    改成

    select username,password from users where email='abc@qq.com' and tenant_id =1;

    对于复杂业务的saas系统,这样做法非常危险,而且开发效率很低。你想想如果那个程序员写sql时候忘了加 “ and tenant_id =1” . 结果不堪设想。

    比较好做法是在数据库访问层对SQL进行改写。

    TenantContext.exec("select username,password from users where email='abc@qq.com' ");

    在连接池根据TenatnContext改写Sql. 

    这样做好处是,一来程序猿最多把系统搞down了,也不至于信息串了互相泄露。二来将来做分表分库也很方便,上层应用不用修改。

    3. 租户识别方案

    比较好做法是通过url识别租户。系统是给租户生成一个随机的三级域名,比如 abc.crm.baidu.com.   如果客户想使用自己的域名,可以在cname到我们生成的三级域名,并在管理系统里面做绑定。

    这样一个租户可以有两个域名,访问saas,一个随机生成的三级域名,另外一个租户自己的域名.代码里面可以根据过来的域名,判断是那个租户然后初始化TenantContext.

    如果不想通过域名来做,也可以通过登录名来判断。这种方式要涉及到租户切换问题。

    4. 智能DNS

    以后补充。

    5. 租户管理系统(计费,订购,定制,充值,催缴)

    Saas系统是必须考虑计费系统和租户控制系统。这个系统需要都是独立设计。比如那个租户购买了那些模块,一个月多少钱。租户可以创建最多的用户数。计费到期邮件提醒等功能。

    计费方式一般有两种,周期性计费,类似月租方案,和使用量计费,用多少付多少。 周期性计费比较简单。也可以两者结合起来。

    6. 定制化开发

    SAAS的优势在于一套系统多人使用,似乎和定制化开发有冲突。比如A客户想要A功能,B客户不想要。但定制化开发是无法避免的,比如CRM系统这样复杂的系统,不可能一套系统满足所有公司的要求。定制化开发尽可能分系统,分模块去做。然后通过控制台中配置不同租户订购不同模块,那些模块可以在前端页面上显示。不同的子系统需要分开部署。前端可通过nginx根据url分发,比如 abc.crm.baidu.com/bi/xxx/xx这个地址,就分发到BI子系统。不要尝试OSGI去搞模块化,这个是个大坑。

    还有开发和产品,现有需求一定要分析清楚,不要一上线发现后患无穷。新功能尽量做的独立可以配置。

    7. 灰度升级

    SAAS付费企业客户对系统问题都特别敏感。 为了减少升级可能出现问题的影响范围,一般都采用灰度升级策略。如果使用了url来区分不同租户,灰度升级配置就会很方便。可以配置nginx 来根据域名做分发,比如租户A(aaa.com)到实例1(版本1.0),租户B(bbb.com)到实例2(版本). 当需要域名配置非常多的时候,nginx配置文档会乱。这块时候可以考虑使用nignx_lua来写一些扩展模块。

    8. 容量估计

     

    9. Saas平台架构分层分析

    Saas平台架构需要完成从用户申请链接saas到用户对自己购买的功能模块的应用整个过程,用户用起saas看似简单快捷,但这个过程却需要saas平台架构默默完成的非常复杂的处理过程。通过对saas平台架构的了解,可以清晰的分化数据的处理过程,让用户也可以明白saas平台架构处理数据的优势。下面介绍:saas平台架构分为哪几部分。

     

    saas平台架构之呈现层:

    saas平台架构的呈现层可以使用的客户端可能都浏览器或本地客户端。如果是浏览器则需要Web界面技术、交互技术等技术(如:HTMl5技术、CSS3技术、Ajax技术等)的支持,如果是软件客户端则需要远程桌面技术、软件交互技术等技术支持。

    saas平台架构之调度层:

    saas平台架构的调度层体现分布式系统的特性之一。调度层首先负责识别并通过AAA认证每个用户请求,然后根据业务处理器的负载、业务特征进行合理的调度。通过应用这样的架构SaaS平台可以横向扩展。此外在存储、缓存等方面为了满足平台的横向扩展需求,调度层也必须具有良好的可扩展性。

    saas平台架构之业务层:

    saas平台架构的业务层负责接收调度层转发过来的请求,而且还要通过对接受到的请求执行真正的业务逻辑。一般来说业务逻辑的执行使用一台服务器就够了。因此业务层实际是由一排对等的服务器组成的,每台服务器都执行相同的业务逻辑。

    saas平台架构之数据层:

    saas平台架构的数据库集群用于处理存储关系性很强并且对事务性要求很高的业务数据,这类数据目前还要用传统的数据库集群技术来解决,saas平台架构的数据库集群主要是根据业务特征制定数据拆分方案。同时分布式数据库用于存放海量但关系性不强的数据(如:用户的操作日志等)。

    以上是对“Saas系统架构的思考,多租户Saas架构设计分析”的介绍,从saas平台架构处理数据可以看出saas平台的应用有很强的优势,如用户使用saas非常方便简单只要浏览器或本地客户端接口,saas平台处理数据要经过层层认证saas产品安全可靠,saas平台优化处理数据提高saas性能。

    多租户Saas系统架构还应该满足以下需求:

    编号需求描述
    1软件授权云平台付费授权机制,可按时间、功能、数量等进行付费授权
    2组织入驻允许组织主动申请加入平台
    3实名认证个人实名认证、组织实名认证
    4资质审核个人和组织的资质审核,如对获得的证书或荣誉进行审核
    5组织绑定个人账户绑定组织,与组织建立关联关系
    6组织解绑个人账户与组织进行解绑
    7账户注销个人账户注销,并销毁所有个人资料和档案
    8统一登录即 SSO
    9统一注册提供统一的用户注册页面

    部分资料整理自:

    http://www.ruanally.com
    ​​​​​​​http://qk.gam7.com
    ​​​​​​​​​​​​​​http://www.ruanbe.com

     

    展开全文
  • SAAS架构设计教程

    2019-04-16 15:33:18
    SAAS架构设计教程,包含了多个文件和视频还有源码,例如互联网时代的软件革命-SaaS架构设计、SaaS参考架构和关键技术、Saas架构设计
  • saas平台 基本技术架构说明,所需资料整合介绍以及地址,
  • 技术架构图解-SAAS

    千次阅读 2019-01-26 14:11:34
  • 一个比较完整的SAAS 云平台 的架构设计文档
  • 中国式SaaS技术架构

    万次阅读 2018-04-13 17:39:58
    架构层面做的强大,满足各个租户的自定义和系统集成。 中国呢,过去的3年已经证明面向中小企业、创业企业基本是不靠谱,所以从去年下半年,大家都纷纷杀入中大型企业、大型企业。这些中国企业,要么要求在他们的...

    架构层面做的强大,满足各个租户的自定义和系统集成。

      中国呢,过去的3年已经证明面向中小企业、创业企业基本是不靠谱,所以从去年下半年,大家都纷纷杀入中大型企业、大型企业。这些中国企业,要么要求在他们的私有云中部署,要么要求在公有云为他们开辟一个专区专门独立部署,而且都要求和他们现有的内部ERP软件统一用户账号登录、应用逻辑打通、数据打通。

      这就是中国的现实,那如何满足中国的这种需求呢?于是,这就出现了中国式SaaS技术架构。

      一、客户端UI

      不同的岗位工作环境有不同适用的应用技术:

      1、对于一线现场(如生产制造、仓储物流配送),一般采取扫码POS或微信小程序,扫码后简单操作几下就把业务关键点记录了下来。

      2、对于一线零售店面收银,现在大多数白牌平板App

      3、对于来回跑中间分销、渠道、采购、督导的外勤,基本是手机App来处理业务

      4、对于坐在后端的运营人员、人事法务财务,基本用的就是台式电脑Web应用来处理业务

      二、后端业务逻辑层

      因为客户端是不同岗位、不同素质能力水平、不同业务重心、不同工作环境,所以功能不一样、用户体验不一样,所以后端的服务层业务逻辑也都不一样。

      这层因为涉及到客户端接入,所以需要API网关中间件,因为比较轻(因为还有一层公共业务逻辑处理层),所以采取微服务中间件(如SpringCloud),这些不同的微服务都打包在一个个的Docker中,为了快速弹性启动扩容。前面有API网关中间件可以做分流限流、路由导流,这样后面微服务容器怎么扩容,对前端都透明。

      但是总有一些业务逻辑是这四种端应用都要处理的,所以还得分出一层叫做公共业务逻辑处理层。这些公共业务逻辑处理层按功能职责也分成一个个的服务,放在Docker容器中,受Swarm或Kubernetes集群管理。

      三、分布式技术中间件层

      API网关中间件就属于这一层,只不过客户端来的请求都首先经过它再路由到业务逻辑微服务。

      另外一个重要的分布式技术中间件是数据传输。可以采取Kafka分布式消息队列来做数据管道。

      我们也可以使用ZooKeeper分布式中间件进行各种后端处理服务的配置以及执行调度。

      这些分布式中间件也都部署在Docker Swarm集群管理下,用API形式供上下层调用。

      四、数据存储层

      有些数据需要放在内存里为了快速查询,所以我们需要用到分布式Redis集群。

      有些数据需要持久性放在关系型数据里,我们可以用MySQL关系数据库。为了分布式存储,我们可以在MySQL之前再放一个MyCAT分库分表分布式中间件。为了读写分离提高性能,我们可以在MyCAT之前再放一层MySQLProxy,用于主备读写分离。

      有些数据是文件形式,如图片、音频视频,我们可以用分布式文件系统和对象存储系统来存放。我们还可以使用CDN技术来做这些静态文件的分发加速。

      有些数据是特殊的数据结构,如时间序列数据(IM消息一般是这样特点)、如图数据(社交网络一般是这样特点)、如大文本数据(点评评论一般是这样特点),为了加快这些特殊结构的数据存取,我们可以用时序数据库、图数据库、文档数据库等等。

      这些数据库引擎可以为了加快性能,部署在物理服务器上。而这些数据库引擎存取的数据,可以放在块存储云硬盘卷上。

      五、主数据模块

      这是个模块,会用到后端业务逻辑层、分布式中间件层、数据存储层的各项技术。

      这个模块主要有两大功能:

      1、用户登录验证。在API网关这样的纯技术中间件基础上,我们还需要研发一个用户登录网关,用于辨别不同的企业用户登录进来,进行身份认证、路由指定。这个用户登录网关需要和API网关进行配合使用。因为登录是每个用户访问的第一步,这块最容易会成为性能瓶颈,所以要尽量做到高性能编码、分布式扩容/分流负载均衡。

      2、主数据管理。主数据管理有以下主要动作:主数据同步复制、主数据分发、主数据更新(有先后顺序有存取锁问题)。所以主数据需要独立出来,供各个系统使用。为了防止主数据存取成为瓶颈,数据库这块也需要注意主备读写分离、分库分表、可方便分布式部署。当然也需要有后台图形化的主数据管理系统来做人工的干预维护。

      六、大数据仓库

      刚才以上咱们讲的都是业务逻辑处理需要的技术以及架构堆砌模式,对于报表统计、历史查询、综合查询、商业指标对比分析,咱们必须把这些工作放到大数据套件中来处理,和真正快速业务处理的系统分开。

      不仅仅是要计算资源分开,还要存储资源也分开。因为对于大数据,存储容量要大(但不一定存储访问性能要高),内存要大(要进行大量数据取出进行计算),CPU性能要高(要密集计算)。所以对于统计、查询、分析这些功能,服务器云主机和云存储都要和应用业务处理分离。

      分离后,就需要从应用业务处理系统中抽取数据。

      所以,对于数据抽取层:我们有一系列的ETL工具,还有数据爬虫引擎用于爬内外静态数据,还有用Flume、Logstash、Splunk收集IT资源日志和应用系统运行日志。

      抽取来的数据可以放在大数据仓库中,我们可以采用Hadoop HDFS、Hbase、Hive等等开源中间件。

      要计算处理时,我们可以在YARN或MapRedurce计算调度框架下使用Spark、Storm来进行内存计算和流式计算。

      处理后的数据,我们可以用presto查询,我们也可以用ElasticSearch来搜索。

      最后,我们使用一些可视化工具把结果用图表形式输出出去。

      七、最后总结

      按照这样的技术架构搭建好后,每一个客户要在公有云上专属独立部署,那么给它用DevOps工具新启几个服务层Docker,如果公共业务逻辑模式也要变化,那就新启几个公共业务逻辑Docker。毕竟我们有分布式用户登录验证网关和API网关,所以不管是公有云专属部署还是私有云部署,都没问题。

      对于主数据管理模块,因为也有UI层、逻辑层、数据层,所以主数据这些各层的代码和数据和中间件,可以打包成一个部署单元,用一套专门的DevOps工具及脚本进行自动化部署、配置变更、升级。

      对于数据层,我们有KV分布式数据库、分布式关系数据库、主备读写分离中间件、分库分表中间件、CDN分发、时序数据库/文档数据库/图数据库、我们确实需要在API网关路由层面用DevOps工具及脚本、集中配置中间件Puppet来做到自动化部署扩展、配置变更、升级。这样不同的企业指向了不同的分布式数据库引擎地址和分布式数据库存储卷。这样就方便了既能做公有云专属部署又能做私有云部署。

      但要记住,这样的架构比较适合中国式SaaS。对于国外老美的SaaS,人家一开始目标就是要满足大中小不同规模客户,要满足全世界企业,所以如果做成中国式SaaS技术架构,那以后会越来越麻烦。所以老外人家的技术架构是一开始很难设计与搭建,一开始的维护也很麻烦(需要编写很复杂的自动化运维工具与脚本),但随着规模越来越大(比如几十万甚至几百万家企业),那老美的SaaS技术架构就显示出复杂性优势了。

      不同发展阶段,使用不同的实现技术架构。你也不用梦想着用一套架构逐步演化和层层搭建,就能逐步从满足中小企业扩展到满足跨国企业。当然作为一个特定的SaaS企业,谁也不能既能满足了创业企业的需求,又能满足跨国公司的需求。所以想想国内如用友这样,既有畅捷通产品与架构、又有U8产品与架构,又有NC产品与架构,分而治之就好。连SAP,也还能有SAP ERP套件和Businees One中小企业两套不同产品线不同技术架构。

    展开全文
  • SaaS 架构设计

    2018-08-22 10:24:37
    SaaS 架构设计,提供参考,朋友那边拿来的,内容还可以。1分仅为分享。
  • 什么是saas系统 saas这个概念来源于云计算领域,其本质是软件即服务。要理解这个概念需要从历史说起,对于早期的软件行业,一般是A公司需要一套进销存系统则软件公司就会针对A的需求开发一套进销存系统,B公司也...
  • 写在前面最近在推产品SaaS化的工作,以前虽然用过很多SaaS产品,但系统落地过程的经验还是空白,而且SaaS某种程度是产品完整性的解决方案,技术维度的挑战其实不是最大的。如何产品化,如...
  • saas平台架构分为哪几部分

    万次阅读 2018-05-23 18:18:15
    saas平台架构需要完成从用户申请链接saas到用户对自己购买的功能模块的应用整个过程,用户用起saas看似简单快捷,但这个过程却需要saas平台架构默默完成的非常复杂的处理过程。通过对saas平台架构的了解,可以清晰的...
  • SaaS架构设计

    万次阅读 2018-04-19 18:12:12
    对于SaaS应用的可伸缩,最理想的情况:随着用户数的增大,系统架构不用做调整,而仅需要增加/增强相应的硬件设备(应用服务器、数据库服务器)即可。而通常强调的应用架构具有可伸缩性,一般指的是可以实现”Scale ...
  • SaaS运营摸爬滚打两年之后,我收集了网上所有相关资料,整理了一套SaaS运营框架,希望能对大家有点帮助吧。 SaaS收费模式是首年收取开户费(软件系统费和账号费等等),第二年开始每年收取年费(又称服务费),...
  • 最后还介绍了基于SaaS架构的软件产品应该具备的几个核心组件以及他们各自的作用。希望本次能够让你对SaaS平台架构有一个全面的了解,并且在你准备实施SaaS平台架构设计前能够提供一些价值的参考信息。 转载于:...
  • saas系统架构经验总结

    万次阅读 2018-05-23 18:16:10
     最近一年,有幸架构一个Crm saas 系统,上线了几个月来,各方面都比满意。整个系统创建过程,踩了很多坑,收获也比较多。总结一下Saas系统架构一些特点: 1.分层设计saas系统分层大概是: 租户识...
  • SAAS架构设计模式SAAS架构设计模式SAAS架构设计模式
  • 多租户Saas架构设计分析(基础篇)

    万次阅读 2020-02-10 11:09:05
    本篇先给大家介绍一下相关的概念和常见... SaaS是Software-as-a-Service(软件即服务)的简称,“软件即服务”?是不是有点拗口?其实你就理解成为“按需租用别人提供的软件服务”就可以了,它是一种软件交付模式。...
  • SaaS(软件即服务)架构设计

    万次阅读 2019-06-02 23:51:53
    最后还介绍了基于SaaS架构的软件产品应该具备的几个核心组件以及他们各自的作用。希望本次能够让你对SaaS软件架构有一个全面的了解,并且在你准备实施SaaS软件架构设计前能够提供一些价值的参考信息。 转载于:...
  • 多租户 Saas 系统架构的设计思路

    万次阅读 2019-09-06 09:45:22
    ToB Saas 系统最近几年都很火。很多创业公司都在尝试创建企业级别的应用 cRM, HR,销售, Desk Saas系统。很多Saas创业公司也拿了大额风投。毕竟Sa...
  • Saas云服务管理系统架构图

    千次阅读 2020-09-20 23:36:31
  • 1 系统体系架构设计  软件开发中系统体系架构决定了一个系统稳定性、健壮性、可扩展性、兼容性和可用性,它是系统的灵魂。体系架构架构师所关注的核心。良好的体系架构是系统成功的开端,否则,再好的代码与...
  • 什么是Saas架构

    千次阅读 2018-05-24 09:26:40
    一、云计算与SaaS说起SaaS,就得先说说云计算了。关于云计算分为三层,基础设施在最下端,平台在中间,软件在顶端,分别是分别是...這里虽说主要是要记录一下SaaS架构的理解,随便说说IaaS,PaaS,SaaS分别是个啥东...
  • 本系统的商品设计得非常复杂,为了避免同种商品的档案信息过多的重复保存,而同种商品又要考虑不同卖家的营销信息以及不同供应商的供应信息,所以商品结构如下所示: 商品信息结构 服务商品 线上服务 手机...
  • 云技术-SaaS架构初步理解

    千次阅读 2018-05-23 18:17:08
    有幸参入这一块东西的搭建,借着這个机会也重新好好梳理了一下对SaaS的认识。今天整理一下! 一、云计算与SaaS说起SaaS,就得先说说云计算了。关于云计算分为三层,基础设施在最下端,平台在中间,软件在顶端,分别...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 18,966
精华内容 7,586
关键字:

saas产品架构图