活动|小程序云开发在运营活动中的应用

活动运营,是日常高频需求。然而,对于不少开发人员来说,“搞活动”很多时候可能是“被活动搞”。
活动运营难在哪呢?
活动|小程序云开发在运营活动中的应用
文章插图
防薅羊毛。秒杀、抢购、投票等场景下,“防刷”俨然是项目组的必修课。从研发角度来说,必须在链路上设置层层“关卡”,做好安全加固,才能以防万一。常规的方法有Nginx拦截、加防火墙、接口限流等,然后依旧防不胜防。
应对流量洪峰。高并发场景是活动运营里的常见问题。在高并发情况下,访问量往往会瞬间数十倍甚至数百倍数千倍增长。应对高并发,研发人员需要全链路评估并做好快速弹性扩容以及事后缩容。若前期预估过高,则机器持有成本高;预估不足,则面临随时宕机的风险,毕竟在突发情况下临时实现机器扩容和部署并非易事。
快速上线。在前后端开发模式下,哪怕小小的改动,都需要后台协助调整,前后开发加上联调,时间占用不可忽视。而活动运营十分讲求时效性,产品运营和PM往往期望是“这个需求很简单,怎么实现我不管,明天上线!”
有什么办法,可以快速开发上线一个安全且稳定性高的小程序,以满足运营活动需求呢?
零代码成本实现100%防刷

活动|小程序云开发在运营活动中的应用
文章插图
上图是从小程序到云开发的云函数数据流入全链路,和传统的数据链路相比:

  1. 防刷防攻击:小程序中调用后端云函数时,在公网上的数据传输都采用的微信的私有协议。能保证调用方一定来自于小程序端,防止信息在公网被窃取,而且能有效的防止重放攻击等。
  2. 链路加密:C端是微信的可信客户端。公网的网络通讯过程走的加密链路,能对敏感信息做到全链路有效保护。
活动|小程序云开发在运营活动中的应用】在《创造营2020》活动中,活动涉及抽奖、投票、二维码兑换等营销互动,给研发团队在防刷盗码方面的安全加固带来不小的挑战。研发团队发现,小程序调用云开发接口过程中,公网数据传输都采用微信的私有安全协议,免登录就可以基于用户授权识别小程序用户的身份,基于此,研发团队就可以方便地去做防刷了。
而享有微信私有协议,这是云开发天然具备的特性。所以使用云开发上线运营活动,即可零代码成本接入了100%防刷的安全体系。
低成本轻松应对高并发
高并发问题,在云开发模式下,简单很多。
云开发具有弹性扩缩容的特性。在云开发模式下,不需要为了应对高并发而提前部署大量资源。因为云开发采用Serverless架构,可以无限自动水平扩容,支持海量并发请求;对开发者来说,使用云开发就是典型的 NoOps 实践。随着请求量的不断增长,云开发可以进行自动扩容,确保在云开发上面的业务高性能、高可用。而当流量下来时,资源配置将自动缩减,这大大节约了资源成本。
那么云开发如何保证高可用高性能呢?下面先来看一下云开发整体架构:
活动|小程序云开发在运营活动中的应用
文章插图
从图中可以看到用户的一次服务调用需经过多个中间层服务,最终到的客户资源层,所以云开发服务的高可用高性能从大的层面上可分为 “数据链路” 和 “底层资源” 两个方面。目前,云开发系统 “数据链路” 和 “底层资源” 均超过 99.99% 以上的可用性。
以腾讯游戏年度发布会直播小程序为例,这个小程序需要承载50+个发布会环节,且每个环节有自己定制的互动,盘点下来需要实现90+个开关实时控制页面上所有的互动。研发团队在预研多个技术方案后,最终选择使用云开发数据库的实时数据推送服务。原因是开箱即用,无需管理长连,无需编写服务端代码,无需搭建和管理基础设施,自动收到更新推送。正如研发同学所说“使用起来非常简单,记住一个API——watch 就够了。小程序可通过 watch 实时监听数据库变更,收到包含更新内容的推送后,做出实时响应。更重要的是,在活动的整个过程中,甚至是峰值期间都毫无压力,服务依旧稳定可靠”。
快速响应活动运营
和传统研发模式不一样,云开发无需管理基础架构和服务器运维,前端工程师就可以快速开始应用开发。
活动|小程序云开发在运营活动中的应用
文章插图
此外,在活动运营场景下,小程序端往往需要配合运营需要,快速的迭代产品形态。但众所周知,微信小程序的发版每次都是需要微信平台审核才可以发版的,短则2小时,长则2天不等。