互联网产品的研发做了一下分析, 大致有三种模式: SAAS开发、模板定制开发、全定制开发。技术架构难度由低到高。
SaaS开发
开发一个系统要支持SaaS模式,系统应满足:
l首先,它必须是Web程序,这样客户不用另外安装程序,只需要浏览器就可以直接使用;
l其次,系统要支持“按需收费”,不同级别的客户可能使用的系统模块有区别,那么我们的系统必须支持按权限配置系统模块;
l第三,系统肯定只有运行一套在中心服务器,数据库也只有一套,却要满足不同的客户使用系统,而且客户之间的数据又要完全独立,这样需要我们在系统中有隔离机制可以按照机构区分业务数据;
Saas系统架构的核心设计为多租户Saas架构,Saas系统架构实现应注意的设计包括:
1.做分层设计
Saas系统分层包括4级:
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因为是固定的框架系统,开发商不会因为你的个别情况去做拓展升级,而且也不止服务你一个人在用同一套系统,
定制开发公司会根据业务情况预留拓展接口,有专门负责的项目开发组,可以根据实际情况进行拓展与调整。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。