1. 序言
DaaS 数据即服务是一种服务模式,即将数据以服务的形式,向客户提供价值,参与到客户的业务中,它也是软件即服务的一种细分领域。同时DaaS 拥有云计算的通用特点,包括以租代买,按需付费、按用付费。
本文介绍 DaaS 的架构及实现选择,对于拥有大量优质数据资源的企业,可以参考构建起数据业务线,进而实现数据的资产化、价值化。需要说明的是本文中的各种图例仅是逻辑示意,均做了简化。
2. 基础架构
系统由四部分组成,包括:
- 客户基于 API 自研应用,从而实现访问数据的目的。
- API 为数据接口,封装和抽象了数据的定义和许可的数据访问模式。
- 数据服务是 API 功能的具体实现。
- 数据库则存储了原始的数据,当然还有非结构化的数据,如一些图片、视频、专有文件等。
这种架构适合两种情况,一是可信的环境内,二是前期的商业验证阶段,优势是结构简单,实施成本低。
3. +官方应用
很多情况下,客户没有应用开发能力,需要接口上叠加一个轻量级的图形化工具,比如网页、小程序。
4. +应用认证
增加 App认证鉴权之后,能缓解对于API 接口安全的焦虑。借助线下、线上的授权,许可特定的应用来访问特定的接口。
5. +模型
基于对于应用场景的理解,将原始数据进行一定的加工,生成模型数据(间接数据),对外提供模型数据。这将简化客户 app 的开发,同时也在一定程度上保护了原始数据。
6. +脱敏
一些数据不能直接对外,需要一些脱敏处理,可以采用动态脱敏或者静态脱敏。动态脱敏是访问时现进行计算,静态脱敏则是提前完成。
7. +库内计算
传统数据库提供了一些计算能力,比如常见的统计函数、存储过程等。现在的新型数据库的算力越来越强,与其将数据传来传去,受限于带宽,还不如把计算下放到数据库中。同时,这也减少了出库的数据,降低了数据安全风险。
8. +计费
计费有很多种方式,这里提两种,一是在 api 层同步或异步进行计费业务,另一种则是以离线的统计日志数据,生成费用。前者计费及时些,但对于工程能力要求高,同时也会造成接口访问效率的降低;后者系统更健壮,但存在滞后问题,这也可以通过商业措施来解决。
9. +开发
当考虑到开发场景,会增加其他的需求,比如测试环境、生产环境,比如 SDK、开发文档。但最考验技术的还是接口的版本问题。
推荐
阿里云 API 网关是个非常好的学习对象,对于想实现一个 DaaS 系统的朋友,其有很好的借鉴意义。当然与其重复造个*,不如享用当下成型的产品,将精力聚焦于核心业务的开发中。
思考
- 如何做访问加速?
- 如何做高可用?
- 如何做弹性?
- 隐私计算、联邦学习、多方安全计算、可信计算、机密计算是什么?
- 引入这些之后,DaaS架构会如何演进呢?