APP推广合作
联系“鸟哥笔记小乔”
产品领域的元宇宙:aPaaS产品解构
2021-12-13 15:21:37




最近很火的概念是元宇宙,但在软件设计领域,“元”的概念并不新鲜。


如果能把所有的数据记录,用一套“元数据”关系描述出来,就完成了一套“软件生态”或“软件元宇宙”的打造。在同一套“描述语言”中的软件,互相之间数据可以互通、逻辑可以共用,共同形成了一套生态。如果能够把现实世界、宇宙完全数字化,并且用统一的语言进行描述,就完成了一套“虚拟+现实”生态的打造,也就是我们说的“元宇宙”。


所以无论是对软件还是世界的“元数据化”,“元”的本质在于抽象、映射、配置化,在这一点上,元宇宙和aPaaS产品的互通统一的。


对我个人而言,这些年做了蛮多产品,带给我最大成长的集中在2类:


一类是,对内容产品的抽象设计,就像之前拆解的B站那样,只有深入思考过各类内容和分发场景,才能对互联网信息产品有较好的认知。


另一类是,对软件和平台的抽象设计,需要PM在通用性和易用性上不断权衡,这其中有大量的tradeoff和优先级PK工作。


aPaaS产品就是后面这一类,也是今天我想在本文主要聊的一种产品。


随着企业对软件服务的预期越来越高,垂直、单点的SaaS产品已经很难独立商业化。所以能够拉通SaaS的平台级产品(aPaaS),逐步成为了SaaS产品经理的发力方向。


所以,如果你对“元”这个概念的设计思路感兴趣,或者你是软件产品从业者,这篇文章或许能够给你带来启发。


1.什么是aPaaS产品


要聊清楚软件和aPaaS平台产品,得先从概念入手。


为了方便理解,我先不去宽泛地定义这两个词,直接用实例讲述:


aPaaS是能搭软件的平台,所以仔细想想, 一套软件的定义,是什么?


一套软件通常包含以下九个层次:


  1. 应用(application)

  2. 数据(data)

  3. 运行库(runtime)

  4. 中间件(middleware)

  5. 操作系统(OS)

  6. 虚拟化技术(virtualization)

  7. 服务器(servers)

  8. 存储(storage)

  9. 网络(networking)

通常PM所设计的界面、交互逻辑,其实都在1和2的应用范畴内。其它7种设备和技术因为有极大的外部性,适合作为中台,所以随着互联网的不断发展,逐步被打包出售。他们的这种打包方法被称为云技术,这种服务形式也就是云服务,比如阿里云、腾讯云。


这些云服务的出现,允许一些中小企业、没必要自己维护设备和基建的企业能够通过付费租借的形式,便捷地复用这些服务。


随着云服务的业务范围从基础到业务,可以分为如下几种服务类型:


基础架构即服务(IaaS)


平台即服务(PaaS)


软件即服务(SaaS)



aPaaS也是PaaS的一种。aPaaS的全称是application Platform as a Service,即应用程序平台即服务。Gartner对其所下的定义是:“这是基于PaaS(平台即服务)的一种解决方案,支持应用程序在云端的开发、部署和运行,提供软件开发中的基础工具给用户,包括数据对象、权限管理、用户界面等。


一句话讲:aPaaS模式下,非技术人员也可以通过低代码编辑器来“所见即所得”地完成产品的配置开发落地。

2.aPaaS产品的设计原理是什么

2.1设计思路

用以终为始的思维来分析:其实,基于aPaaS产品搭建而成的软件,就是一个SaaS应用。


那不妨抽象一下,当我们研发一款SaaS应用时,我们做了哪些事情。


为了方便理解,我拿大家最熟悉的CRM系统来做case。试想一下,落地一款CRM软件总共分几步:


  1. 定义线索、商机、客户、联系人、跟进记录实体

  2. 设计实体的数据结构、字段、索引

  3. 为每个对象定义CRUD接口、数据校验逻辑、业务规则校验逻辑

  4. 设计权限、审批流程、定时任务

  5. 前端、移动端页面开发

  6. 报表功能设计开发

这6步几乎是一个标准CRM应用的研发流程。


如果你是一个运营了10万名销售的业务leader,选择这样的标准“定制化开发”模式做一套CRM是没问题的。但如果你的业务量过小,定制化CRM的ROI极低;更极端的场景是,如果你的10万名销售业务模式迥异,需要10套CRM来支撑呢?这个时候,我们需要一种低成本开发CRM的方式,才能让ROI打正。并且这种方式,需要能够拉通底层数据,避免独立搭建10套CRM带来的数据孤岛问题。


  1. 降低边际成本->复用和抽象是关键

  2. 打破数据孤岛->数据底层必须一套

于是aPaaS产品的底层思路就产生了:


只要把研发过程中的实体含义、数据结构、CRUD进行抽象,把数据和含义解耦,让“含义”支持自定义,这样数据层面就会非常干净纯粹,适合复用。举个例子来说,当我们需要一张“线索数据表”,传统的方式是我们定义好“线索数据表”的每个字段完成建表。而将含义解耦后,我们只要让“线索数据表”的描述变得可自定义配置化,就可以将无数这样的业务表,都集合到统一的元数据层面,实现元数据(Meta)的抽象和复用。


进而,如果这些元数据支持权限、租户管理,也就实现了既能打破数据孤岛进行交互,又能多业务兼容互不影响的效果。


具体点说,就是这SaaS模式下,我们生产的是“成品地板”,这样的问题在于如果有新的地板拼装样式,我们很难调整生产线。但在aPaaS模式下,我们把生产线拆成“木头生产”和“地板拼装”两步,只要保持木头的生产,同时不断更新“地板拼装规则”,就可以源源不断地适应各种“成品地板”需求。所以,aPaaS产品实际上是定义了一套标准化的“地板拼装规则”和能够识别这个规则转化成拼装动作的“地板拼装规则识别机器”,这个机器就是能够联系meta和data的“元数据引擎”。

2.2数据实体实现方法



思路理完,具体实现层面上,关键点在于“元数据引擎”的构建,以及meta和data之间的联系。


为了实现“地板拼装规则”的逻辑,需要把所有可能出现的“规则”进行抽象。这里实现层面用的是field类型,而不是column类型,二者的区别在于:


A column is collection of cells aligned vertically in a table. A field is an element in which one piece of information is stored, such as the eceived field. Usually, a column in a table contains the values of a single field. However, you can show several fields in a column by using a Formula or a Combination field. Fields can also be shown as rows in a card view or as controls on a form. A column is just one way to display the contents of a field.

翻译过来的意思是“column只是field的一种存储形式”。


举个特别形象的例子,你的一个excel表格,就是一个data表,表头有3列,分别是姓名、性别、年龄,这3列就是column。而姓名列是text文本、性别是布尔值、年龄是数值需要支持大小排序,这三种规则就是通过meta对象模型来实现的。我们事先定义好了文本、性别布尔值(男、女、其它)等规则,用object+field的对象模型规则存储下来,支持column去使用,即可实现上面提到的“数据和含义解耦,从而元数据可复用、描述可配置”。



这种设计当数据需要存储到data中时,data需要知晓每个字段是什么样的object,也就是业务系统需要依赖于“元数据引擎”。反过来,在业务系统在使用业务数据查询data时,也需要“元数据引擎”做好column+含义的处理。

2.3业务规则的实现方法

有了数据实体,还需要有大量的业务规则。举个例子,拿线索实体来说:


  1. 电销业务可能认为“手机号”是个必填字段,否则无法联系客户

  2. 其它业务可能认为“手机号”和“微信号”有其一即可

这两种规则在SaaS模式下,都是用硬编码的模式写在应用程序中的,一旦调整,需要研发去改逻辑、验证、上线,在规则频繁变动的情况下,非常棘手。所以,如果这些规则也能做到配置化,会减少很多变动成本。


要抽象并配置这些业务规则,至少需要3种引擎:

1.规则引擎:

类似上面提到的,字段校验、过滤、表单引用联动等,如果可选、必填;字段长度、格式;是否引用关联这些都可配置,大量的基础硬编码工作将被aPaaS取代,研发工程师可以一劳永逸。

2.流程引擎:

处理静态规则之外的,当系统发生交互后的流程处理,包括各类触发和执行、通知反馈。比如当用户拨打电话后,记录一次跟进,同时给TA的主管推送一条消息。这样的流程其实抽象出来后,就是“触发”“编排”和“执行”“反馈”,是可以像画流程图一样配置出来的。

3.权限引擎:

SaaS理解为独立单个系统,往往有角色控制即可满足,而aPaaS可以理解为跨系统复杂模型,不但要管控系统内的功能、应用,还得对meta层、读写权限进行管控。比如当A工程师是“线索”实体owner时,一旦“线索”实体增加了一个不可操作的字段,也许是一个全新的、不被之前权限定义的字段,这时就需要对这个对象记录的权限进行管控,此时就需要引入对象、记录等权限,只靠角色和数据表的权限,就不够用了。


综上,通过对规则、流程、权限进行配置化处理,能够让软件的主干业务逻辑部分支持配置化,是aPaaS的核心能力之一。

3.aPaaS设计干货实例-权限设计


上面讲了很多原理、方法、总结。这部分想用一个实例来让文章更直观完整。我想用“权限”这个模块来作为实例。


权限模块,在传统SaaS中,其实并不算复杂。一般一个产品经理半个人力就能cover住,只需要注意用户A是否能用某系统,是否能查看某些数据、是否有编辑等功能权限即可。


但在aPaaS中,如上所说,已经不仅仅是一个SaaS的权限问题,而是多个错综复杂的SaaS权限问题。关键在于比SaaS来说,aPaaS核心的两大能力:低代码灵活配置和打破数据孤岛,这决定了从产品上来说,一定会存在大量的元数据定义和大量的租户,这样一来,权限系统就会成倍复杂。


但无需担心,可以直接用类比SaaS的方式进行产品设计


从数据实体来说,因为引入了object,就需要对这个维度进行权限管控。object意味着某些字段对于用户来说是否可用,这往往是根据角色来决定的。比如行政可以看到每把椅子的采购价格和实付价格,而普通员工却不关心也不应该看到“椅子采购系统”。


data层面,也要有记录维度的管控。比如对于薪酬hr来说,应该可以看到员工的薪资,而普通员工只能看到自己的薪酬,其区别不在于“薪酬”这个字段,而在于“别人的”“自己的”,所以并不是object层面的管控,而是data的record层面管控。


如上,object其实决定了领域,一个领域应该有一个对应的profile,比如采购人员应该负责采购相关系统,所以需要一个采购profile。如果采购人员同时兼任HR,那么也应该具有HR的profile。profile背后,是对一些实体、对象甚至系统的权限,可以和业务、事业领域做类似的映射。


在data层面,往往是记录(record)的权限。比如“椅子采购系统”的超级管理员应该可以看到并修改全部“椅子实体”数据,而采购助理可能只能查看、编辑自己提交的记录,不能编辑别人创建的的“椅子采购记录”,这就是record级别的管控,一般是用于区分业务内的不同岗位、角色。


所以对于aPaaS的权限系统来说,至少要设计2个层次的权限:


领域、实体层面的profile权限


数据、记录层面的role权限


在这个基础上,还有更多的场景需要考虑,比如:


人员变更


申请、审批


冲突、叠加


过期、续期


授权、回收...


如上,单单一个权限模块,可能就有几十个feature需要实现,而一个好的权限模块,是一个aPaaS产品的基石,一定程度上决定了用户复杂度和量级天花板。


4.aPaaS产品的PM在设计什么


从aPaaS产品PM视角出发,想回答“aPaaS产品设计和常规产品设计的不同“,就不得不从PM的核心工作要素谈起:


  1. 用户

  2. 需求

  3. 产品方案


从用户来说,纯无代码aPaaS产品的用户,一般是业务运营人员。这个群体的特征是:


1)离业务近,会有大量的业务洞见和需求

2)无代码能力,需要可视化界面甚至实施的辅助下完成搭建

特征1决定了:用户会有大量的长尾需求


特征2决定了:aPaaS编辑器的可用性极大影响迁移成本


所以,我个人认为,aPaaS产品经理的关键在于如下三点:


  1. 在大量的长尾需求中,抽象并找到价值排序

  2. 按照价值排序,不断支持aPaaS产品的能力

  3. 优化编辑器和配置成品的体验

从aPaaS产品的能力来说,这里面最重要的,私以为,是“灵活度”。


上文提到,灵活度来自于配置能力。而配置能力的关键在于能把“不变的逻辑”元数据化,同时把“灵活可变的逻辑”配置化、描述化。具体来说:


  1. 支持越复杂的object,比如数值、金额等,就能支持更多种数据进入平台

  2. 支持的action越多,比如搜索、筛选、排序等,可配置的功能类型就越多

  3. 支持的layout越多,比如移动端界面、PC端界面、组件化,界面可配置能力越强

这里面,object是基础,action经过扩充和编排可以流程化成为工作流,整体又通过灵活的多租户、多角色权限体系来管控,共同构成了aPaaS平台的灵活性。


这样分析下来,aPaaS产品经理做的工作,实际上是把研发流程变得可视化、配置化。从一次做一个SaaS产品,到一次做一批SaaS产品的配置能力。这需要出众的实体抽象和领域设计能力,以及良好的体验品味。

5.总结


aPaaS产品经理,是软件行业蓬勃发展和企业数字化进程下对软件要求不断提高的产物。从需求和供给的角度上来说,aPaaS产品的发展都将是一种必然。希望所有的软件相关PM都能了解这个领域、研究这个领域,这样就相当于站在“产品之外”来设计产品,会有更高层次的抽象意识。


但反过来说,aPaaS本质是一套生态,如果大家都在做自己的生态,又不能互通,就会导致生态缺乏完整性,那么也就失去了价值。目前的TOB市场上,salesforce、企业微信等都有自己的生态,但国内大量的企业还在数字化进程中,最终这些生态何去何从,能建设到多大,仍存在较多变数。所以aPaaS领域最终会演化成怎样的模式、有多久的周期,仍是未知。


理性地讲,aPaaS要抽象起来,或许能装下整个宇宙。但是,抽象的成本也是无限增加的。需要兼具智慧和勇气的各位不断探索,既不能把aPaaS做成强大但没有场景的“屠龙之术”,也不能钻牛角尖闭门造车,让产品很难复用。“抽象归纳和具象定制平衡”的设计哲学,在aPaaS领域成为了核心问题,但在其它产品设计领域,也尤为重要。


所以最后,愿诸君能在抽象与具象之间,用对业务的理解,找到产品力和成本的最佳平衡。

引用:


科学网‒ Force.com的多租户架构理解(二) - 唐李洋的博文


一文讲透APaaS平台是什么


7.2.1 预置对象管理 · 纷享销客产品手册


-END-

产品之术
分享到朋友圈
收藏
收藏
评分

综合评分:

我的评分
Xinstall 15天会员特权
Xinstall是专业的数据分析服务商,帮企业追踪渠道安装来源、裂变拉新统计、广告流量指导等,广泛应用于广告效果统计、APP地推与CPS/CPA归属统计等方面。
20羽毛
立即兑换
一书一课30天会员体验卡
领30天VIP会员,110+门职场大课,250+本精读好书免费学!助你提升职场力!
20羽毛
立即兑换
顺丰同城急送全国通用20元优惠券
顺丰同城急送是顺丰推出的平均1小时送全城的即时快送服务,专业安全,准时送达!
30羽毛
立即兑换
产品之术
产品之术
发表文章84
探索最优产品经理成长模式,分享私房产品思维干货
确认要消耗 0羽毛购买
产品领域的元宇宙:aPaaS产品解构吗?
考虑一下
很遗憾,羽毛不足
我知道了

我们致力于提供一个高质量内容的交流平台。为落实国家互联网信息办公室“依法管网、依法办网、依法上网”的要求,为完善跟帖评论自律管理,为了保护用户创造的内容、维护开放、真实、专业的平台氛围,我们团队将依据本公约中的条款对注册用户和发布在本平台的内容进行管理。平台鼓励用户创作、发布优质内容,同时也将采取必要措施管理违法、侵权或有其他不良影响的网络信息。


一、根据《网络信息内容生态治理规定》《中华人民共和国未成年人保护法》等法律法规,对以下违法、不良信息或存在危害的行为进行处理。
1. 违反法律法规的信息,主要表现为:
    1)反对宪法所确定的基本原则;
    2)危害国家安全,泄露国家秘密,颠覆国家政权,破坏国家统一,损害国家荣誉和利益;
    3)侮辱、滥用英烈形象,歪曲、丑化、亵渎、否定英雄烈士事迹和精神,以侮辱、诽谤或者其他方式侵害英雄烈士的姓名、肖像、名誉、荣誉;
    4)宣扬恐怖主义、极端主义或者煽动实施恐怖活动、极端主义活动;
    5)煽动民族仇恨、民族歧视,破坏民族团结;
    6)破坏国家宗教政策,宣扬邪教和封建迷信;
    7)散布谣言,扰乱社会秩序,破坏社会稳定;
    8)宣扬淫秽、色情、赌博、暴力、凶杀、恐怖或者教唆犯罪;
    9)煽动非法集会、结社、游行、示威、聚众扰乱社会秩序;
    10)侮辱或者诽谤他人,侵害他人名誉、隐私和其他合法权益;
    11)通过网络以文字、图片、音视频等形式,对未成年人实施侮辱、诽谤、威胁或者恶意损害未成年人形象进行网络欺凌的;
    12)危害未成年人身心健康的;
    13)含有法律、行政法规禁止的其他内容;


2. 不友善:不尊重用户及其所贡献内容的信息或行为。主要表现为:
    1)轻蔑:贬低、轻视他人及其劳动成果;
    2)诽谤:捏造、散布虚假事实,损害他人名誉;
    3)嘲讽:以比喻、夸张、侮辱性的手法对他人或其行为进行揭露或描述,以此来激怒他人;
    4)挑衅:以不友好的方式激怒他人,意图使对方对自己的言论作出回应,蓄意制造事端;
    5)羞辱:贬低他人的能力、行为、生理或身份特征,让对方难堪;
    6)谩骂:以不文明的语言对他人进行负面评价;
    7)歧视:煽动人群歧视、地域歧视等,针对他人的民族、种族、宗教、性取向、性别、年龄、地域、生理特征等身份或者归类的攻击;
    8)威胁:许诺以不良的后果来迫使他人服从自己的意志;


3. 发布垃圾广告信息:以推广曝光为目的,发布影响用户体验、扰乱本网站秩序的内容,或进行相关行为。主要表现为:
    1)多次发布包含售卖产品、提供服务、宣传推广内容的垃圾广告。包括但不限于以下几种形式:
    2)单个帐号多次发布包含垃圾广告的内容;
    3)多个广告帐号互相配合发布、传播包含垃圾广告的内容;
    4)多次发布包含欺骗性外链的内容,如未注明的淘宝客链接、跳转网站等,诱骗用户点击链接
    5)发布大量包含推广链接、产品、品牌等内容获取搜索引擎中的不正当曝光;
    6)购买或出售帐号之间虚假地互动,发布干扰网站秩序的推广内容及相关交易。
    7)发布包含欺骗性的恶意营销内容,如通过伪造经历、冒充他人等方式进行恶意营销;
    8)使用特殊符号、图片等方式规避垃圾广告内容审核的广告内容。


4. 色情低俗信息,主要表现为:
    1)包含自己或他人性经验的细节描述或露骨的感受描述;
    2)涉及色情段子、两性笑话的低俗内容;
    3)配图、头图中包含庸俗或挑逗性图片的内容;
    4)带有性暗示、性挑逗等易使人产生性联想;
    5)展现血腥、惊悚、残忍等致人身心不适;
    6)炒作绯闻、丑闻、劣迹等;
    7)宣扬低俗、庸俗、媚俗内容。


5. 不实信息,主要表现为:
    1)可能存在事实性错误或者造谣等内容;
    2)存在事实夸大、伪造虚假经历等误导他人的内容;
    3)伪造身份、冒充他人,通过头像、用户名等个人信息暗示自己具有特定身份,或与特定机构或个人存在关联。


6. 传播封建迷信,主要表现为:
    1)找人算命、测字、占卜、解梦、化解厄运、使用迷信方式治病;
    2)求推荐算命看相大师;
    3)针对具体风水等问题进行求助或咨询;
    4)问自己或他人的八字、六爻、星盘、手相、面相、五行缺失,包括通过占卜方法问婚姻、前程、运势,东西宠物丢了能不能找回、取名改名等;


7. 文章标题党,主要表现为:
    1)以各种夸张、猎奇、不合常理的表现手法等行为来诱导用户;
    2)内容与标题之间存在严重不实或者原意扭曲;
    3)使用夸张标题,内容与标题严重不符的。


8.「饭圈」乱象行为,主要表现为:
    1)诱导未成年人应援集资、高额消费、投票打榜
    2)粉丝互撕谩骂、拉踩引战、造谣攻击、人肉搜索、侵犯隐私
    3)鼓动「饭圈」粉丝攀比炫富、奢靡享乐等行为
    4)以号召粉丝、雇用网络水军、「养号」形式刷量控评等行为
    5)通过「蹭热点」、制造话题等形式干扰舆论,影响传播秩序


9. 其他危害行为或内容,主要表现为:
    1)可能引发未成年人模仿不安全行为和违反社会公德行为、诱导未成年人不良嗜好影响未成年人身心健康的;
    2)不当评述自然灾害、重大事故等灾难的;
    3)美化、粉饰侵略战争行为的;
    4)法律、行政法规禁止,或可能对网络生态造成不良影响的其他内容。


二、违规处罚
本网站通过主动发现和接受用户举报两种方式收集违规行为信息。所有有意的降低内容质量、伤害平台氛围及欺凌未成年人或危害未成年人身心健康的行为都是不能容忍的。
当一个用户发布违规内容时,本网站将依据相关用户违规情节严重程度,对帐号进行禁言 1 天、7 天、15 天直至永久禁言或封停账号的处罚。当涉及欺凌未成年人、危害未成年人身心健康、通过作弊手段注册、使用帐号,或者滥用多个帐号发布违规内容时,本网站将加重处罚。


三、申诉
随着平台管理经验的不断丰富,本网站出于维护本网站氛围和秩序的目的,将不断完善本公约。
如果本网站用户对本网站基于本公约规定做出的处理有异议,可以通过「建议反馈」功能向本网站进行反馈。
(规则的最终解释权归属本网站所有)

我知道了
恭喜你~答对了
+5羽毛
下一次认真读哦
成功推荐给其他人
+ 10羽毛
评论成功且进入审核!审核通过后,您将获得10羽毛的奖励。分享本文章给好友阅读最高再得15羽毛~
(羽毛可至 "羽毛精选" 兑换礼品)
好友微信扫一扫
复制链接