选择SaaS平台的那些事
将近一年多没有更新博客和自己的订阅号。除了本身有点懒之外,也有幸在上半年花了一些时间考出了CISSP。最近也在研究云平台相关的一些课题。
写这篇文章本身是因为在工作中经常有IT乃至业务的同事会问及企业在选择SaaS平台时的考量以及如何保证其符合企业安全体系的标准。因而我就以自己有限的认知提供一些有限的见解,以供参考。
在这里首先简单介绍一下什么是SaaS。云的服务模式目前主要分为三种(SPI):基础架构即服务(IaaS),平台即服务(PaaS)以及软件即服务。其中SaaS平台供应商将应用软件统一部署在自己的服务器上,客户可以根据工作实际需求,通过互联网向厂商定购所需的应用软件服务,按定购的服务多少和时间长短向厂商支付费用,并通过互联网获得Saas平台供应商提供的服务。
从云平台的责任矩阵角度来解释就是你只需要负责使用供应商提供的公网应用平台,剩下的和都交给供应商负责就行。当然账号,客户端安全以及数据的分类管理还是要客户自己负责的。

那我们就要问第一个问题就是为什么我们要选择SaaS?
通俗的一些好处往往是敏捷性,弹性以及潜在的经济性。最根本的可能往往是企业可以将更多的资源专注在业务层而不是底层的技术。虽然每个公司的业务模式不尽相同,但大多数都会根据业务的需求可以将非敏感非核心的业务需求通过SaaS的方式实现以节省出大量IT运维方面的成本(当然也有少部分把核心应用如ERP搬上云的)。Office 365就是最好的一个例子,你再也不需花大量的硬件软件人力成本去维护一套exchange,sharepoint或者Skype for business 系统,只需要按用户数以及需求购买相对应的license即可。让专业的供应商做专业的事。
其次从架构的角度来看选择SaaS至少需要考虑以下几个方面:
1. 和现有应用的整合是否有问题。比如数据传输,接口调用,以及和企业IAM的整合。
2.平台成熟度和业务功能性是否满足业务需求
3.管理的流程是否符合企业自身要求
4.收费模式的确认
当然可能还有其他因素,企业可以根据自身情况有更多其他的考量。
那从安全方面SaaS平台会有那些风险呢?
可能有人会觉得SaaS的安全不是都由供应商全权负责的么?的确如此,但是有人的地方就有风险,工作可以授权或者外包,但责任不行。一旦你使用的平台出现了任何问题,受伤的往往都是公司自己的业务。
以个人的经验来看SaaS的平台往往经常会遇到以下一些问题和风险:
1.数据主权不清。曾有见过公司用供应商平台前连数据所有权都不确认,结果终止合同时极为被动痛苦。
2. 供应商技术人员水平低,平台安全性差,没有BCM。由于平台本身是不透明的,即便安全做的很糟糕,云用户本身也无法察觉。
3 .供应商财务状况不稳定,出现业务变动,跑路或者公司倒闭。也能使得云用户极为被动,可能事后换平台的成本反而还不如当初自己直接开发一套应用部署。
4. 平台锁定,迁移成本高。然后被无良供应商各种牵着鼻子走。
5. 数据生命周期管理-比如在合同终止时,没有按要求清除用户数据。
既然SaaS本身不透明性决定了用户只能获得平台有限的信息,因此作为SaaS的用户,企业必须谨慎选择云平台,并在依靠一些治理手段对云供应商做一些限制。
总体来说可以使用评估,合规审计,合同等治理方式
1. 合同----合同是将治理扩展业务合作伙伴和服务提供者的重要工具,把一切落在条款上保证SLA和承诺不会违约的唯一方式。其中至少包括或定义数据主权,数据生命周期(数据删除),隐私适用规则,SLA要求和惩罚措施,责任划分,对平台审计权,由于云平台责任导致的安全事故所要做的财务赔偿等。一般来说小型SaaS提供商的合同谈判可行性更高,但是往往他们无法在复杂环境下满足或超过客户治理和风险管理的要求,最重要的是国内小型互联网公司非常容易亏损跑路。成熟的SaaS供应商往往有自己的合同模板,并且谈判性可能不高。合同的洽谈是一个很复杂的过程,一定要在法务和采购的共同协助下完成此事。
2. 合规报告---主要通过第三方对云平台的安全性进行认证或者合规的报告。一般来说国内最近比较多的等保(SaaS考虑至少三级),国际上的ISO 27001(基础)+ISO 27017(云信息安全), STAR(中国版C-STAR),通用准则(CC),PCI-DSS, HIPPA, SSAE-16, SOC 等。企业本身也可以对平台进行审计,但是这项权限必须在合同内得以体现。一般来说都是通过第三方操作,大的SaaS供应商本身比较少愿意让客户直接审计。
3. 评估----主要包括一些同行反馈,服务水平,财务水平(考虑跑路的可能性),平台的安全措施,第三方认证,数据导出的可能性(API或者供应商协助),平台的可迁移性(避免供应商过度锁定)。评估的过程也要包括合同以及合规的内容。
一般来说企业本身必须要有具体的风险管理和风险接收/缓解的方法,以评估每个解决方案的风险。最后就是剩余风险的处理。由于风险的容忍度根据数据本身的价值和企业的风险偏好都有关,因此具体情况具体分析。
最后强调几个我认为可能比较容易容易忽视的点:
1.尽可能的要考虑平台可迁移性或者可移植性。即便你选择了一个比较靠谱的SaaS提供商,也不能排除由于企业自身内部出现的变化而调整整个企业架构,从而主动更换对应的SaaS平台。
2.必须要有业务连续性方案和流程。虽然有SLA合同的保证但是针对重要的SaaS应用,企业自身还有要相对应的BCM方案。比如定期的将SaaS数据导出自己的内部数据平台,SaaS故障时用其他备用方案推进日常业务流程。
3.合同上的条款尽可能详细,丑话一定要说在前。合同在使用SaaS平台过程中保护企业自身利益最好且唯一有效的工具。
总的来说,业务选择上SaaS就像是把孩子交给了寄宿学校。在推进业务上可以根据需要八仙过海各显神通,有时候甚至可以激进一些。但是在安全上则不能当一个“莽夫”,IT部门要利用自己的专业知识帮业务规避风险,深入业务并保驾护航。业务部门在许多控制节点上也必须让专业的IT人员做守门员,因为不同的专业角度所看到的问题不尽相同,切不可保有侥幸心理。

选择SaaS平台的那些事的更多相关文章
- 记一次构建SaaS平台项目失败后的反思(收集的客户需求太少,且没有区分重点,闭门造车。技术演变要渐进)
记一次构建SaaS平台项目失败后的反思 前言: 笔者从2017年起开始着手将公司现有的软件系统改造成多租户模式,以降低整个系统的运营成本.但最后这个项目以失败告终.今天,我将对这个SaaS项目是如何走 ...
- 构建安全可靠的微服务 | Nacos 在颜铺 SaaS 平台的应用实践
作者 | 殷铭 颜铺科技架构师 本文整理自架构师成长系列 3 月 19 日直播课程. 关注"阿里巴巴云原生"公众号,回复 "319",即可获取对应直播回放链接 ...
- SaaS平台是什么,为什么字节、腾讯等大厂都在抢相关人才
SaaS平台很多人可能没听说是什么,但是从事TO B公司的员工来说,SaaS平台应该都有所耳闻.从2016年开始,腾讯开始发力TO B算起,到处在挖TO B公司的骨干人才,而熟悉SaaS平台的人才竞 ...
- 多租户SaaS平台的数据库方案
1.1 多租户是什么 多租户技术(Multi-TenancyTechnology)又称多重租赁技术:是一种软件架构技术,是实现如何在多用户环境下 (此处的多用户一般是面向企业用户)共用相同的系统或程序 ...
- 金融SaaS平台之构思篇
背景介绍 从事过金融服务行业的同学们都知道,业务系统是非常之多的,核心的就有估值.交易.TA.资讯系统,其他类似产品生命周期系统.投后分析系统等待,而且各个业务系统的逻辑非常之复杂,所以一般金融机构都 ...
- Spring Boot实现SAAS平台的基本思路
一.SAAS是什么 SaaS是Software-as-a-service(软件即服务)它是一种通过Internet提供软件的模式,厂商将应用软件统一部署在自己的服务器 上,客户可以根据自己实际需求,通 ...
- 为中小企业打造的数字化采购SaaS平台的特点与必要性
激烈的市场竞争.复杂的国际环境.以及疫情的常态化将企业的供应链推向风口浪尖.供应链管理(SCM, Supply Chain Management).供应商关系管理(SRM,Supplier Rela ...
- 搭建openstf平台的那些事
最近老板建议秀下肌肉,搭建一个STF android 真机测试平台,记录一下坑. 1. stf 是node开发的,通过npm即可安静,依赖的数据库是rethinkdb, 如果搭配appium效果更佳, ...
- 基于SaaS平台的iHRM项目的前端项目介绍
1.下载安装node.js 访问https://nodejs.org/en/,然后下载安装即可 2. 查看是否安装成功 打开cmd命令行,输入node -v 如果出现对应的版本号,即为安装成功 3.从 ...
随机推荐
- linux 字符驱动框架(用户态的read,write,poll是怎么操作驱动的)
前言 这篇文章是通过对一个简单字符设备驱动的操作来解释,用户态的读写操作是怎么映射到具体设备的. 因为针对不同版本的linux内核,驱动的接口函数一直有变化,这贴出我测试的系统信息: root@ubu ...
- Redis集群模式(Cluster)部署
1. 安装依赖包 注意:本节需要使用root用户操作 1.1 安装ruby yum install ruby -y yum install ruby-devel.x86_64 -y 1.2 安装rub ...
- apisix docker镜像构建及插件化开发
高能劝退:lua开发,适合小白看!!! 前段时间有个项目,用的java程序做网关,压测tps只有1k多点,惨不忍睹. 后来公司有个大佬改用apisix做网关,tps飙升到1w多. 于是对神奇的apis ...
- MySql约束_设计_备份还原(资料二)
今日内容 1. DQL:查询语句 1. 排序查询 2. 聚合函数 3. 分组查询 4. 分页查询 2. 约束 3. 多表之间的关系 4. 范式 5. 数据库的备份和还原 DQL:查询语句 1. 排序查 ...
- 记一次由selinux引起的使用cat查看文件报错Permission denied的问题排查
事件起因:如下 1.在服务器上root用户,定期会生成一个文件,到/tmp目录,如:qq_5201351.txt,给other加上了r读取 2.zabbix端会周期性取这台服务器/tmp/qq_520 ...
- linux目录的含义
/bin (binary)存放linux系统必备执行的命令. /boot存放linux的启动文件和内核 /cdrom存放光驱文件系统的目录,刚安装系统时此文件夹是空的. /dev device存放li ...
- burp suite之Target(目标)
Target : 将攻击的目标,全部展现到Target下. Site map:站点地图 Scope: 范围 目录爬行: 复制所有子目录的链接 Spidor this host: 发送至Spidor选项 ...
- 手对手的教你用canvas画一个简单的海报
啦啦啦,首先说下需求,产品想让用户在我们app内,分享一张图片到微信.qq等平台.图片中包含用户的姓名.头像.和带着自己信息的二维码.然后,如何生成这张海报呢~~~首先我们老大告诉我有一个插件叫htm ...
- 排序算法:归并排序(Merge Sort)
归并排序 归并排序采用了分治策略(divide-and-conquer),就是将原问题分解为一些规模较小的相似子问题,然后递归解决这些子问题,最后合并其结果作为原问题的解. 归并排序将排序数组A[1. ...
- java 线程池、多线程实战(生产者消费者模型,1 vs 10) 附案例源码
导读 前二天写了一篇<Java 多线程并发编程>点我直达,放国庆,在家闲着没事,继续写剩下的东西,开干! 线程池 为什么要使用线程池 例如web服务器.数据库服务器.文件服务器或邮件服务器 ...