zoukankan      html  css  js  c++  java
  • SaaS到底是什么

           SaaS(Software-as-a-Service),字面意思:, 即通过网络提供软件服务。
     
           SaaS平台供应商将应用软件统一部署在自己的服务器上,客户可以根据工作实际需求,通过互联网向厂商定购所需的应用软件服务,按定购的服务多少和时间长短向厂商支付费用,并通过互联网获得Saas平台供应商提供的服务
     
      SaaS更是一种经营模式而非开发模式,不要搞混了,微服务才是开发架构的一种模式。
     
      租户:SaaS中面向的用户,一般为企业用户。比如我们这里用商城做示例,那么租户就是商家。
     
    服务的传统模式:(软件定制我提供,硬件你自己解决)
     
        你要做个在线商城,来找我这个软件开发商;
        你要整理你的需求,让我明白你要做京东还是淘宝那样的;
        如果有良心的话,看了你的需求我可能会做个原型图出来给你看看;
        但是像我这样没良心的,大概率会直接给你个报价单;
        并且告诉你要买什么配置的服务器、数据库、域名等基础设施;
        然后3个月过去了,商城做好了,简单一测试必然通过,BUG什么的,你怎么会这么快就发现,我自己都没发现。
        我帮你部署到服务器上,试运营一段时间,收了尾款,see you !
        半年过期了,你来打电话找我,兄弟,网站访问不了了,帮我看下;
        讲良心的,或者合同里规定的还没出保修期的,大概率会免费帮你看看;
        但你看我这样的,估计问你要个千儿八百的可能都算少的。
      这就是初期软件服务的整个过程。
     
    SaaS服务的第一阶段(软硬件我都包了,仍然是定制)
      售后维护是个硬伤,总不能远程解决不了的问题都坐飞机过去一趟吧,于是开发商就想,要不你们把服务放到我的服务器上吧,安全有保障,维护起来也方便。

      定制开发,是最初级的 SaaS 应用成熟度。

      每个租户对应一个单独开发的软件 实例,与传统模式几乎没有差别。简单的说就是,每增加一个租户,就在一台服务器上部署一套代码和数据库。

      最大不同就在于商业模式,即软硬件以及相应维护均由 SaaS 供应商负责。放心不会亏本的,羊毛出在羊身上,哪有自己掏钱的傻瓜商人。

     
    SaaS服务的第二阶段(摆脱定制)
     
      软件开发商都是讲究效率和收益的,过了两年后,开发商觉得这样简直太落伍太原始了,哪怕我把核心做成高度复用的,一人一个需求也够麻烦的,每个客户的代码不一致,数据结构不一致,版本不一致,那维护起来也是一头疙瘩。
      
      开发商就想啊想,怎么才能少出力多挣钱,终于在想破头的前一天想通了:
        我做过这么多不同需求的商城,可以说所有需求都做过了,干嘛不做一个包含所有需求的商城呢,给他提供一个基础版本。
        到时候他要用哪个功能我就在配置里给他打开,然后收费,嘿嘿嘿。
        只要钱到位91porn都可以在线播放。
     
      第二阶段的特点是:
        可配置,是在第一级的基础上改进的。
        每个租户仍然对应一个单独的软件实例,但是供应商只提供了一套代码,通过不同的配置来灵活地满足各个租户
     
    SaaS服务的第三阶段(多租户)
      后来开发商觉得这样,虽然只有一套代码,但是每个客户都部署一个实例还是麻烦,不光是维护,后期的版本更新也是麻烦事。
     
      要是能只维护一台服务器,一套代码,却能服务所有客户多好,想想都要忍不住、啊~
     
      于是,琢磨了几天后,开发商就自己买了一台大容量服务器,稍微改了改代码(支持注册、注册后即可享用SaaS第二阶段的服务),部署上去了。
     
      以后谁要想做线上商城,来我这注册就行了,一年只需888,开箱即用,按年收费,童叟无欺。
     
      忘了说一年888是基础版的,嘿嘿,要开通会员积分、分销、广告的统统滴交钱。
     
      其实这就是租用软件服务,一人一个账号,一个人就是一个租户,大家都用我这一台服务器,一个数据库。
     
      因为成本低嘛,所以大家就先共用同一张表,放心,我会给你们加上租户ID,来区分你们之间的数据,不要慌。
     
      这样子,开发商就可以大量的扩展市场了,虽然按年收费便宜了点,但是硬件成本和人力成本更低,只要用户量上来,产生粘性,那简直来源源不断的Money啊,啧啧~
     
    第三阶段的特点:高性能的多租户架构,提出了多租户的概念,多个租户共享同一个运行实例。这种多租户单实例的架构更接近于真正意义上的 SaaS 应用架构。降低了硬件及维护成本,发挥了 SaaS 应用的规模效应。 
     
    SaaS服务的第四阶段(无限扩容)
      又是几年过去了 ,这个开发商虽然心黑,但你别说,这两年挣得那是盆满钵满,客户量蹭蹭的往上涨啊。
     
      但是福祸双至啊,服务器压力已经到上限了,这两天正有客户打电话说商城有问题不能访问了,要求退款赔偿,急的开发商那是一个满头大汗,抓耳挠腮。
     
      这个时候,咔嚓一声,明明万里无云,却晴空霹雷,开发商一个哆嗦,忽然福灵心至,茅塞顿开,脑中一片清明,悟了。既然这样,不如那样,嗯,甚好。
     
      于是架构升级了,以前那都是啥破玩意,docker容器化搞起来,K8S安排,API网关接口、MyCAT数据分库分表、用户鉴权、服务治理、中间调度层、SSO、服务器弹性伸缩搞起来,日志监控必须有……
     
      反正一顿操作猛如虎,一看效果250,还不错,多租户SaaS支持无限扩容,听起来就能Hold住人。
     
    第四阶段的特点:可伸缩性的多租户架构,添加了中间调度层将多个租户分配到多个运行实例上,通过多个运行实例来分担大规模租户访问。这一级成熟度硬件和租户数量可以无限制地增加,因此是最为理想的 SaaS 架构
     
     
    这就是我理解的SaaS了,之前一直不是很理解SaaS到底是什么,所以特意整理了一下,原来我们公司现在做的就是SaaS的第三阶段。
     
    下面放一片不错的文章,里面除了有SaaS的介绍,还有多租户下数据的存储和扩展的说明
    数据扩展中关于XML的那部分,可以用文档类型的数据库代替,比如mongo。
     
     
     
     
     
  • 相关阅读:
    解决 Python 连不上pip库的问题(使用国内镜像地址)
    【原】Coursera—Andrew Ng机器学习—Week 2 习题—Linear Regression with Multiple Variables 多变量线性回归
    【原】Coursera—Andrew Ng机器学习—Week 1 习题—Linear Regression with One Variable 单变量线性回归
    【原】Coursera—Andrew Ng机器学习—课程笔记 Lecture 4_Linear Regression with Multiple Variables 多变量线性回归
    【原】Coursera—Andrew Ng机器学习—课程笔记 Lecture 3_Linear Algebra Review
    【原】Coursera—Andrew Ng机器学习—课程笔记 Lecture 2_Linear regression with one variable 单变量线性回归
    【原】Coursera—Andrew Ng机器学习—课程笔记 Lecture 1_Introduction and Basic Concepts 介绍和基本概念
    vue项目中的父子组件之间的传值。
    精确讲述闭包及内存泄漏
    vue项目富文本编辑器vue-quill-editor之自定义图片上传
  • 原文地址:https://www.cnblogs.com/lz0925/p/12883792.html
Copyright © 2011-2022 走看看