vivo平台化实践探索之旅-平台产品系列01
vivo 互联网平台产品研发团队- Yang Yang
本篇为《vivo 平台产品》系列文章的第1篇。主要描述在业务高速发展的背景下,vivo软件工程师通过系统平台化建设等手段,逐步解决软件复用,快速响应业务变化等棘手问题的过程。我们从中精选出内容审核平台、AB实验平台、版本发布平台等具备代表性的平台产品,为大家对平台化的经历进行详细的介绍。
一、平台化
1.1 业务现状
vivo的互联网业务起始于2011年,经过多年的发展,vivo互联网各核心应用的日活均已达到千万级以上,截至2022年vivo累计用户数已经达到了5亿。以应用商店、浏览器、视频、游戏中心、钱包、官网商城为代表,逐渐形成了以广告、分发、游戏为核心的互联网商业模式。
1.2 问题
当今大型互联网企业的业务类型非常广泛,多业务单元并行发展,业务的复杂度越来越高,企业内部也在不断的进行技术上的升级和业务上的调整,比如引入微服务架构和业务边界重新划分。微服务的演化导致耦合于业务系统内的公共能力难以复用。业务边界的重新划分往往伴随着组织架构的进一步细化,这样的细化会导致同一类问题的重复性解决,造成资源的浪费。因此如何抽离多业务线公共的能力,集中管控与演进,以避免重复的投入,快速支撑业务的迭代,成为企业内部急需解决的问题。
1.3 平台化
平台化的架构演进是业务发展到一定规模必然要面对的选择,其核心就是将某一领域问题从业务软件中解耦出来内聚为一个独立平台集中管控,并不断演化出标准与边界都逐渐清晰的平台生态,一站式的解决一类问题,在组织内部实现高效的复用,支撑业务快速迭代。
在过去几年,vivo互联网经历了体系化的技术建设,从各个团队单体烟囱到服务化,再到如今平台化,vivo逐渐形成了自己的一套平台生态体系(如图一)。在过程中我们也遇到了很多技术、组织等诸多方面的挑战。我们即将为读者带来一个专题文章系列——vivo平台化建设,本篇则为专题系列文章的启航篇。
二、优秀案例
经过多年的发展,vivo互联网在平台化建设上取得了非常显著的成效,已经完成多个平台产品的建设,并涵盖了多个业务领域。活动运营方面有悟空平台;质量管控方面有内容审核平台和监控平台;策略分析方面有版本发布平台和AB实验平台。本节主要从中选择一些优秀的平台化建设案例进行简单介绍,后面专题文章系列会对这些平台进行更加全面和深入的介绍。
2.1 内容审核平台
2.1.1 背景
2016年以前,vivo的互联网业务开展之初,与用户交互的各个系统(比如帐号、游戏论坛、官网社区)都建立了自己的敏感词过滤能力,实现简单的违规内容拦截功能,随着vivo互联网业务的迅速崛起,vivo生态的内容开始变的多样化起来,从最开始单一的文本内容到现在文本、图片、资讯、视频,内容发生了翻天覆地的变化。文本/资讯数据量大,违规场景复杂,非专业团队审核难度极大;图片场景多种多样,违规图片层出不穷,更是涉政涉黄重灾区;音视频/直播场景日益丰富,主播素质参差不齐,违规内容泛滥成灾,严重影响了品牌形象。
2.1.2 自研内容审核平台
原先vivo的内容主要是依赖第三方平台来进行审核,随着业务的快速发展,这样的模式已经不能满足vivo业务发展的需求,加之整个行业都在加大对内容审核的投入力度。为了更好的保证vivo内容的安全,让我们的用户获得更加极致的体验,同时为了提高系统能力的复用,vivo决定从零开始自研内容审核平台。
2.1.3 内容审核平台现状
vivo内容审核平台具备内容安全审核、内容质量识别、数据标注和舆情收集等能力。运用"机审+人审"双重保障的方式为业务的安全和质量保驾护航。机审能力主要包含AI判断、黑/白名单体系,敏感词体系,直播流实时监控机制以及前台举报机制,目前图文判断准确率达到98%,已达到业内领先水平。人工审核则配备具有相应专业知识和技能的专职人员几百名,7*24小时进行互联网信息的审核过滤,确保网络信息安全。
2.2 AB实验平台
2.2.1 背景
互联网企业经历过野蛮生长期之后,逐渐越发重视产品发展的科学化、精细化,从粗放型向集约型转换。在美国,增长黑客等数据驱动增长的方法论,正在帮助如Google、Microsoft、Facebook等全球科技巨头实现持续的业务增长;在国内,通过数据精细运营、AB实验分析来驱动业务有效增长也逐渐成为共识,成为企业存量数据运营的核心手段之一。其中,AB实验作为典型代表,自然成为了国内主流公司中必不可少的核心运营手段,有效的提升流量的转化效率和产研的迭代效率。
2.2.2 什么是AB实验
所谓AB实验,亦被称为"对照实验"或者"小流量随机实验"。为了验证一个新策略的效果,准备原策略A和新策略B两种方案。随后在总体用户中取出一小部分,将这部分用户完全随机地分在两个组中,使两组用户在统计角度无差别。将原策略A和新策略B分别展示给不同的用户组,一段时间后,结合统计方法分析数据,得到两种策略生效后指标的变化结果,并以此判断新策略B是否符合预期。
2.2.3 vivo AB 实验平台
vivo互联网持续重视科学的实验决策,这意味着所有对用户的改动的发布,都要决策者以相应的实验结论作为依据。比如,修改顶部广告的背景色、测试一个新的广告点击率 (CTR) 预测算法,最终哪种方案被选择,都需要根据实验结果进行科学化的决策,那么一个强大的AB实验平台就越发重要了。在过去的几年,vivo互联网从烟囱林立的小实验系统,逐渐开始走上平台化建设之路——搭建、完善AB实验平台,AB实验平台已经从一个单一系统成长为了解决A/B实验相关问题的公司级一站式平台,助力互联网核心业务的快速、准确实验,高效推动业务增长。
2.3 版本发布平台
2.3.1 什么是版本发布
版本发布平台,顾名思义,主要用于发布手机APK版本。自从公司开发手机应用以来,系统升级对用户来说过于重度并且升级率偏低,而互联网兴起带起的快速迭代势头,让自升级能力成为了必不可少的能力之一。vivo版本发布平台最初就是以手机内的APK自升级为起点建设起来的,毫不夸张的说,有了vivo智能机就有了vivo版本发布平台。版本发布平台的主要业务可以简单的理解为:传版本、配规则、分发包。
2.3.2 业务范围
当然,随着手机业务的逐步扩展丰富,我们平台的范围、平台的控制粒度、平台的数据分析能力也越来越完善。
一方面,我们承接了“APK自升级”以外的很多升级能力,如各类组件、快应用、原子组件、SDK包、插件、SO库等等;另一方面,我们对下发规则做了更多兼容和细致的扩展,如量控量止、多维度正反交并差&分群、标识符分群、各种灰度策略、多语言、多渠道、全局规则、一键拦截、一键分析等等;此外,安全合规脱敏、降本增量算法、流控算法【愚公平台】、星云埋点质量分析、crash告警分析、发布趋势等也在vivo版本发布平台的附加价值之内。
2.3.3 业务目标
我们的目标是:为公司打造安全合规、智能稳定、提效降本、锐意创新的全链路发版平台。提供一流的使用体验,树立公司级平台产品口碑标杆。本次系列文章我们会着重介绍vivo版本发布平台在带宽智能优化这个领域中一些探索与实践,欢迎广大读者一起交流,探讨。
2.4 云服务
2.4.1 什么是云服务
vivo云服务,主要提供两项关键能力。首先是面向C端用户,vivo云服务为vivo手机用户提供了文件备份、数据同步等功能。这部分能力使用户能够方便的在本地和云端管理照片、视频、联系人、短信、便签等重要数据。另外,在vivo云服务的建设能力中,还包含了为vivo内部其他业务提供快速便捷的C端文件上传下载的能力。同时,我们在构建C端用户数据备份同步能力的同时,建设了自身的云服务平台,完善了平台相关的备份同步功能。此项平台功能使得vivo内其他兄弟业务,也能快速方便的使用云服务平台的能力进行自身业务C端用户的备份同步能力。
2.4.2 云服务与安全
众所周知,云服务业务需要为用户存放海量的数据文件,除了需要保证服务的稳定性之外,还特别需要关注数据的安全性,文件的持久性等等。可能不少读者也知道,曾经某些厂商的云服务曾经出现过用户数据泄露,居然可以通过搜索引擎直接查询到用户的私人文件,这种事件对于企业品牌的打击和影响非常巨大。在后续的文章中我们会为读者详细的介绍vivo云服务在软件设计上是如何兼顾产品功能、服务稳定性以及数据安全的。
2.4.3 云服务与降本增效
随着vivo手机用户数量的不断攀升,用户存储在云端的文件体量也越来越庞大,据统计,vivo云服务中云盘能力构建完成后短短三年,云端的文件存储总大小已经超过了百PB级别,增长速度可以说是非常迅速。那么随之而来的非常严峻的考验就是成本问题。我们如何能在保证用户体验不受影响的前提下控制成本?这是个困难且长期的现实问题,后续将给大家带来我们这边的解决方案。
2.5 积分
2.5.1 什么是积分
积分作为互联网内的一种存量用户运营的有效激励工具,承载了刺激用户活跃和留存的使命。作为积分体系,vivo积分主体同样是围绕获取与消耗展开,随之延申的业务能力包括:积分商城、礼品中心、签到中心、任务中心、活动中心。
2.5.2 积分生态
vivo积分贯穿整个vivo生态下的互联网应用,同时手机厂商互联网业务的独特性(不仅局限于单一类型业务)也造就了vivo积分的与其他行业生态积分体系的差异性,这些差异性着重体现在vivo积分是与各个业务形态紧密合作,相互渗透。通常积分的获取行业内都会基于任务来实现,而达成任务的完成基于特定行为完成来判断,最终完成积分发放,基于“福格模型”,我们可以发现促使用户完成某个行为的三要素:动机、条件、触发。这为任务的建设提供了理论支撑。
2.5.3 积分任务
任务作为积分获取最重要的途径,vivo生态内的应用接入积分任务,引导用户完成高价值行为任务,有助于其达成业务方核心KPI指标,同时用户因完成任务得到积分奖励,有持续产生高价值行为的动力,最终形成正向循环。那么vivo的任务体系是如何搭建的呢,系统建设又走过了哪些历程?在本次的系列文章中,我们将为大家揭开其神秘的面纱。
2.6 帐号
2.6.1 什么是帐号
对于我们的用户,vivo帐号是用户畅享整个vivo生态服务的通行证。vivo生态服务内容涵盖生活、游戏、娱乐等方方面面。同时作为手机厂商的帐号体系存在,需肩负起用户设备资产保护重任,保障用户的用机安全。对于我们服务的各个业务,帐号是最基础平台服务、是业务得以开展的基础保障。而vivo帐号也不止于服务于我们自身手机用户,在微信、ios等跨平台、多生态环境下都可以让用户享受到vivo帐号带来的便捷服务。
2.6.2 帐号全球化
伴随公司手机业务在海外市场的拓展,帐号已经在全球7大机房完成了跨洲部署,用于服务我们的全球用户。每个机房的服务都严格遵循服务地区的相关个人数据隐私和安全的法律、法规。且为了应对政策变更带来的风险,GDPR区域的服务具备动态国家数据隔离等能力。确保在外部环境因素干扰下继续保持一定服务能力。
2.6.3 稳定性建设
随着业务的快速发展,我们服务的用户数很早就破亿,服务的日均调用量更是突破了百亿。帐号已然成为一个典型三高(高性能、高并发、高可用)属性的系统,再加上基础平台服务的定位,大量工作都会围绕如何建设系统的稳定性展开。在本次的系列文章中,我们会和大家一起聊聊帐号系统在稳定性建设方面做出了哪些尝试与努力。
三、写在最后
本篇为vivo平台化建设系列文章的启航篇,旨在介绍vivo进行平台化道路的背景和平台化建设的价值以及一些成功的案例,抛砖引玉。后面的系列文章会深入的介绍vivo互联网的平台化产品的探索、建设与创新,结合过程中的具体实践,分享遇到问题及思考。希望能帮助读者了解到平台化建设的意义与方法、建设前的可行性评估及过程中应当避开的陷阱等等。
vivo进行平台化建设之后在软件复用、研发效率提升等方面有显著的提升,但是平台化也不是软件架构演进道路上的一颗银弹,能够包治百病。平台可能由于前期考虑的不够充分,亦或前期的业务模式较为单一,从而导致平台在未来可能难以满足业务需求的变化。不要指望当下设计的平台能够完全满足未来不可预知的变化。但是对于未来的不确定性,我们也不能坐以待毙,我们需要对未来业务的发展进行一定的预判,为未来预留扩展点。除此之外,还需要尽量的保证扩展点与当前系统是解耦的。平台化和业务多样性的矛盾会一直存在,只是在某个阶段这种矛盾可能暂时达到了平衡。
vivo平台化实践探索之旅-平台产品系列01的更多相关文章
- PowerDotNet平台化软件架构设计与实现系列(01):基础数据平台
本系列我将主要通过图片和少许文字讲解通过个人自研的PowerDotNet进行快速开发平台化软件产品. PowerDotNet不仅仅是包含像Newtonsoft.Json.Dapper.Quartz.R ...
- 美团外卖Android平台化的复用实践
美团外卖平台化复用主要是指多端代码复用,正如美团外卖iOS多端复用的推动.支撑与思考文章所述,多端包含有两层意思:其一是相同业务的多入口,指美团外卖业务需要在美团外卖App(下文简称外卖App)和美团 ...
- vivo 实时计算平台建设实践
作者:vivo 互联网实时计算团队- Chen Tao 本文根据"2022 vivo开发者大会"现场演讲内容整理而成. vivo 实时计算平台是 vivo 实时团队基于 Apach ...
- 涂鸦基于OAuth2在开发者平台上的探索与实践
前言 开发授权(OAuth2)是一个开放标准,允许用户让第三方应用访问该用户在某一网站上存储的私密的资料(如照片.视频.联系人列表),而无需将用户名和密码提供给第三方应用. OAuth2允许用户提供一 ...
- vivo 云原生容器探索和落地实践
作者:vivo 互联网容器团队- Pan Liangbiao 本文根据潘良彪老师在"2022 vivo开发者大会"现场演讲内容整理而成.公众号回复[2022 VDC]获取互联网技术 ...
- [转发]Android视频技术探索之旅:美团外卖商家端的实践
美团技术团队 2019-09-12 20:02:11 背景 2013年美团外卖成立,至今一直迅猛发展.随着外卖业务量级与日俱增,单一的文字和图片已无法满足商家的需求,商家迫切需要更丰富的商品描述手段吸 ...
- PowerDotNet平台化软件架构设计与实现系列(14):平台建设指南
软件开发中常见的几种不同服务模型包括SaaS(软件即服务).LaaS(许可即服务).PaaS(平台即服务).CaaS(容器即服务).IaaS(基础设施即服务)和FaaS(功能即服务). 很多人认为Ia ...
- 基于TFS的.net技术路线的云平台DevOps实践
DevOps是近几年非常流行的系统研发管理模式,很多公司都或多或少在践行DevOps.那么,今天就说说特来电云平台在DevOps方面的实践吧. 说DevOps,不得不说DevOps的具体含义.那么,D ...
- Atitti 互联网时代三大竞争战略 ——平台化战略 锚”战略、价值领先战略
Atitti 互联网时代三大竞争战略 ——平台化战略 锚”战略.价值领先战略 美国著名管理学家迈克尔•波特在<竞争战略>一书中提出了集中化战略和差异化战略.成本领先战略三种基本竞争战略,从 ...
- 云平台DevOps实践
基于TFS的.net技术路线的云平台DevOps实践 DevOps是近几年非常流行的系统研发管理模式,很多公司都或多或少在践行DevOps.那么,今天就说说特来电云平台在DevOps方面的实践吧. ...
随机推荐
- linux防火墙使用及配置
Linux防火墙使用及配置 介绍 防火墙是网络安全的重要组成部分,它帮助保护服务器和计算机免受未经授权访问.恶意攻击和各种网络威胁.在Linux系统中,有一些工具和技术可用于设置和配置防火墙,其中最常 ...
- jmeter编写java脚本
jmeter开发java脚本主要的依赖包有三个如下图 步骤1 :打开idea,创建一个project,导入上图依赖包 步骤2:创建一个类,继承AbstractJavaSamplerClient类,并实 ...
- 我理解的null和“ “,希望大家给予更正。
我认为null是零的意思,就是没有任何的东西,比如说文件的读取中,没有任何的东西就是null,刚刚用new String创建的String里面有一个引用,所以它不为null,如果用String h=& ...
- [GDOI22pj2D] 机器人
第四题 机器人 提交文件: robot.cpp 输入文件: robot.in 输出文件: robot.out 时间空间限制: 3 秒, 512 MB 刚上初一的小纯特别喜欢机器人,这周末,她报名了学校 ...
- [ABC262C] Min Max Pair
Problem Statement You are given a sequence $a = (a_1, \dots, a_N)$ of length $N$ consisting of integ ...
- 流畅的orm让我发现我抵触的是mybatis而不是java
流畅的orm让我发现我抵触的是mybatis而不是java 背景介绍 开发.net 也快10年了,到第三年的时候我已经渐渐瓶颈了,于是我在网上找各种资料但是大部分c#资料全是皮毛资料,稍微深一点点就再 ...
- MySQL运维8-Mycat范围分表
一.范围分片 根据指定的字段及其配置的范围与数据节点的对应情况,来决定该数据属于哪一个分片. 说明1:范围分片会提前提供一个分片的范围默认是0-500万是一个分片,500万-1000万是一个分片,10 ...
- SpringBoot 异步编程浅谈
1. 需求背景 当我们需要提高系统的并发性能时,我们可以将耗时的操作异步执行,从而避免线程阻塞,提高系统的并发性能.例如,在处理大量的并发请求时,如果每个请求都是同步阻塞的方式处 理,系统的响应时间会 ...
- NetSuite Tips —— 发送邮件未被接收或被退回
Background: NS 发送的邮件过于频繁被邮箱系统识别为垃圾邮件,被拒收或被拦截 Solution: 添加以下邮箱地址到白名单 system@sent-via.netsuite.com nlm ...
- MySQL 数据目录
MySQL 的数据目录 1. MySQL 的主要目录结构 方式1:通过命令搜索 find / -name mysql 方式2(推荐):通过查看配置文件获取目录结构 vim /etc/my.cnf (重 ...