​互联网产品的研发做了一下分析, 大致有三种模式: 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因为是固定的框架系统,开发商不会因为你的个别情况去做拓展升级,而且也不止服务你一个人在用同一套系统,

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

一文了解SAAS开发、模板定制开发、全定制开发相关推荐

  1. 石家庄python开发_石家庄PythonWeb全栈开发工程师修炼

    [课程介绍] 课程以python语言为主导,进行web服务相关的全栈开发,包含后端服务器开发,部署,监控:web前端开发,前后端不分离模板模式开发,前后端分离,单独前端部署方案.课程涉及到的知识点有: ...

  2. python全栈开发工程师招聘_如何成为Python全栈开发工程师?老男孩Python全栈开发...

    对于Python这门编程语言,想必大家都是比较熟悉的,但是说道Python全栈开发,很多人就有点不解是什么意思,接下来我们共同看看吧. 什么是Python全栈开发工程师?简单的来说就是从前端页面的实现 ...

  3. python全栈开发百度云_Python全栈开发9期视频

    Python全栈开发9期视频 获取教程链接的步骤 2. 用微博或QQ登录编程资源库网站 3.点击兑换按钮,兑换百度云链接 教程要积分! 声明 教程由粉丝投稿,仅供学习和交流,侵删 以下凑字数!请自行忽 ...

  4. python全栈开发实践入门_Python全栈开发实践入门

    Python全栈开发实践入门 编辑 锁定 讨论 上传视频 <Python全栈开发实践入门>是2017年10月电子工业出版社出版的图书,作者是谢瑛俊. 书 名 Python全栈开发实践入门 ...

  5. 微信公众平台开发模板消息php,微信平台开发模板消息(php).pdf

    目录 写在最前面 设置模板消息行业属性 设置消息模板具体API列子 行业代码查询 获取模板行业信息 获取模板行业信息具体API例子 查看行业属性信息 获取模板行业属性API例子 获取用户openID ...

  6. python应用领域有开发操作系统吗_python 全栈开发,Day37(操作系统的发展史)

    昨日内容回顾: # C/S和B/S架构 # osi五层模型 # 应用层 # 自定义协议(struct) _ 解决黏包 # 验证客户端合法性 _ hmac os.urandom # 解决TCP协议的se ...

  7. python全栈开发书籍推荐_python全栈开发学习 01

    本节内容 01 计算机发展史简介 02 计算机的组成 03 计算机的基本原理 01 计算机发展史简介 计算机(computer,是一种用于高速计算的电子计算机器,可以进行数值计算,又可以进行逻辑计算, ...

  8. python开发config层_Python全栈开发:configparser模块

    #!/usr/bin/env python # -*- coding;utf-8 -*- import configparser # 创建对象 conn = configparser.ConfigPa ...

  9. 智能家居APP开发模板介绍

    ​智能家居APP开发,智能家居APP开发模板,智能家居APP开发介绍,智能家居APP开发解决方案,智能家居APP开发高级功能. 近些年社会经济发展快速发展趋势,在我国高新科技水准也在不断提升,因此众多 ...

  10. 为什么全栈开发对物联网至关重要?

    物联网设备和系统的开发本身是一个覆盖面极广的领域,跨越了多层开发.现在物联网(IoT)正在从根本上改变我们的日常工作,我们每天都要与家电.电子设备乃至交通工具交互.我们的家里和商店中拥有大量的物联网设 ...

最新文章

  1. IL入门之旅(三)——Dump对象
  2. Sharepoint摸索之路
  3. How to remove replication in SyteLine V2
  4. 前端学习(3339):ant design中加上icon图标
  5. 数据库连接 未将对象引用到实例
  6. 一部手机是否能用 7 年?苹果、三星、Google:三年差不多!
  7. OSChina 周日乱弹 ——已经打码请放心观看
  8. thinkphp 框架自动加载原理_这下你应该理解ThinkPHP的Loader自动加载了
  9. 《转》武​汉​的​I​T​公​司
  10. 看懂这个故事,轻松实现从技术到管理的华丽转身!
  11. tp读取配置文件机制
  12. 分享Monaco.ttf字体(Mac样式)
  13. 兼容百家的统一独立的执法记录仪可视指挥调度平台
  14. 开发时解决数据回显的小方法
  15. DaHua工业相机开发中调试遇到的相机断开问题
  16. 第十六章 python Pygame的使用
  17. doxygen 注释规范_Doxygen简明注释语法
  18. Julia ---- 为Julia做一下辩解
  19. 腾讯首席科学家-张正友:AI加速破解生命科学的重要问题
  20. Android手机尺寸相关概念

热门文章

  1. H3C 无线交换机的数据转发原理
  2. 如何使用 aph-cli 搭建本地静态开发环境(server + proxy + mock)
  3. 网络爬虫requests和bs4简单入门
  4. 培训机构到底好不好?学历重要吗?java
  5. [统计学知识点]卡方检验
  6. 2012年广州市户口搭户指南——可以搭到朋友家里?
  7. Python学习之线性图
  8. (CNS复现)CLAM——Chapter_00
  9. 人工智能发展的核心——机器学习
  10. 【React生命周期】