一文了解SAAS开发、模板定制开发、全定制开发

​互联网产品的研发做了一下分析, 大致有三种模式: SAAS开发、模板定制开发、全定制开发。技术架构难度由低到高。

 SaaS开发

开发一个系统要支持SaaS模式,系统应满足:

l首先,它必须是Web程序,这样客户不用另外安装程序,只需要浏览器就可以直接使用;

l其次,系统要支持“按需收费”,不同级别的客户可能使用的系统模块有区别,那么我们的系统必须支持按权限配置系统模块;

l第三,系统肯定只有运行一套在中心服务器,数据库也只有一套,却要满足不同的客户使用系统,而且客户之间的数据又要完全独立,这样需要我们在系统中有隔离机制可以按照机构区分业务数据;

Saas系统架构的核心设计为多租户Saas架构,Saas系统架构实现应注意的设计包括:

1.做分层设计

Saas系统分层包括4级:

一文了解SAAS开发、模板定制开发、全定制开发_第1张图片

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

2、数据隔离要透明

在数据库访问层对SQL进行改写,加入tenant_id(租户id)

3. 租户识别方案

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

4. 智能DNS

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

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

计费方式一般有两种,周期性计费,类似月租方案,和使用量计费,用多少付多少。

6. 定制化开发

SAAS的优势在于一套系统多人使用,定制化开发是无法避免的,比如CRM系统这样复杂的系统,不可能一套系统满足所有公司的要求。定制化开发尽可能分系统,分模块去做。

7. 灰度升级

SAAS付费企业客户对系统问题特别敏感。为了减少升级可能出现问题的影响范围,一般都采用灰度升级策略。

使用了url来区分不同租户,灰度升级配置就会很方便。可以配置nginx 来根据域名做分发,比如租户A(aaa.com)到实例1(版本1.0),租户B(bbb.com)到实例2(版本)。需要域名配置非常多时,可以考虑写一些扩展模块。

8. 容量估计

9. Saas平台架构分层分析

Saas平台架构要完成从用户申请链接到使用购买功能模块的整个过程,用saas看似简单快捷,但却需要saas平台架构完成的非常复杂的处理过程。saas平台架构设计可分为4部分:

↘呈现层

↘调度层

↘业务层

↘数据层

  模板开发

模板就像模具一样,用于批量生产,固定开发。

模板开发,指功能已经成型,用户只需要选择模板再把内容改成自己的内容就可以使用。模板类软件开发相对来说比较简单,一套模板并不是只给一个客户使用,分摊下来的开发成本比较低,价格相对较低。

模板开发的优点是成本低、周期短、可行性高。

模板开发不需要找团队进行全新的设计开发,省去了大量的开发时间,节省了人工成本费用。客户只需要选择符合自身需求的模板即可使用,操作简单。对于预算不多的企业是一个好的选择。

 软件定制开发

软件定制开发是根据客户想要的功能来制作一款软件,是从客户的实际需求出发来设计的,只要是客户想要实现的功能模块,都可以开发的。

软件定制开发相比于模板开发,更符合客户的需要,开发的过程也更复杂,时间更长。因为软件定制开发,要经过需求分析、设计阶段、开发阶段、测试阶段,上线运行等工序。因此和模板开发相比,定制开发的价格就相对高一些,并且价格区间比较大,以软件需求为准,软件功能越多越复杂,定制价格往往就越高。

定制开发的优点是安全性高、可塑造性强、用户体验佳、兼容性好。

软件开发的所有的代码以及运营的数据都在客户手里,安全性高,同时更利于后期的更新和迭代。软件完全根据用户的要求设计开发,能最大化的满足用户的需求,并且经过多次测试,用户体验和兼容性更好。

 

模板、定制、SaaS软件开发方式的区别

l开发方式不同

开发方式的不同是3者本质上的不同。

模板开发:根据此前已有的适用模板进行复用和二次开发,模板框架和页面风格基本固定;

SaaS开发:开发商预先投入成本开发完成,然后通过账户为单位的形式,按照模块功能租用给客户;

定制开发:可根据客户需求、商业模式、业务流程,由策划到开发量身定制开发。

l用户体验不同

在用户体验上,按照高低排序一般为:定制>SaaS>模板,

定制开发是根据目标受众的需求和喜好,从策划、设计、开发上面进行量身订造,最能切合用户的痛点和需求,

SaaS和模板限制于覆盖面的需要,只能做出相对基础和标准的程度,且可能未必能真正切合,但相对稳定。

l系统安全不同

数据安全在互联网时代下,变得越来越重要,数据等于一间公司的财产。

模板开发由于是同一套源发进行不断的复用,等于把风险像炸弹捆绑在一起,其中一套源码被攻陷,那么等于全部所使用同一套源码的公司全部被攻陷

SaaS则要看开发公司的技术能力水平,但租用系统的话,其实数据已经被开发公司所掌控

定制开发相对于前两者有着先天的安全优势。

 

l价格周期不同

客户比较关心的是价格和周期。

定制开发是从0到1开发落地一个完整的项目,包括产品、设计、前端、后台、测试至少5个岗位的人力成本,定制价格相对高,工期一般需要3个月左右;

模板开发相当于是一个成品,能减少很多定制所需的工作量,所以价格相对低,工期一般1~2周;

SaaS租用,与前两者不同,是以租用的方式进行购买,一般是持续性的周期性付费,比如多少钱/年这样,工期的话基本就是开通账户时间,一般几天可以完成,与模板一样能够快速部署。

l拓展维护不同 

在业务日常进行当中,一定会遇到与实际落地磨合的情况,那么对于软件来说会有一个拓展和维护功能的需求。

模板和SaaS因为是固定的框架系统,开发商不会因为你的个别情况去做拓展升级,而且也不止服务你一个人在用同一套系统,

定制开发公司会根据业务情况预留拓展接口,有专门负责的项目开发组,可以根据实际情况进行拓展与调整。

你可能感兴趣的:(干货分享,在线学习,产品思维,系统架构,数据库,java)