2019 年 Q1,微信和 WeChat 的合并活跃用户为 11.12 亿,而小程序的活跃用户从 17 年初发布后,在 18 年底增长到了 2.3 亿。
小程序主要有以下几个特点:
微信小程序的这些特性,能够与腾讯相册这类社交性工具完美结合。
那么,这个小程序应该怎样设计?
作为一名产品经理,我们想到了如下几个需求:
需求明确之后,就是怎样用高效、快速并省成本的方式实现腾讯相册小程序。
一、传统模式开发流程
产品的开发需求非常明确,简单讲就是「多快好省」。
承载千万级用户的小程序,对后台架构的性能和稳定性要求非常高,如果有足够的时间和资源,这些都不是问题。
但是想要在 4 周的时间内完成开发并上线,压力非常大。如果按照传统的开发模式下,这样一款小程序需要:
即使整套流程都很顺利,也需要至少 8 周的时间。如果人员不到位,需要的时间更久。
可以发现,耗时主要是在环境搭建和开发流程当中,而且人力耗费也在这一块。
在开发流程这块,后端开发除了需要关注核心业务逻辑之外,还需要做框架选型,了解数据库和文件存储等。并且还需要耗费精力对性能进行优化,比如高并发。那么必然也要去了解底层的运行机制,比如容器服务。同时运维也要花大量的时间来保障安全和容灾等能力。
因此,自上而下,对团队成员的专业技能要求越来越高。同时,花费的时间也越来越多。
环境和开发工作全部完成后,需要进行架构维护,不仅需要维护业务集群,还需要关注各个组件的稳定性。
测试方面,除了产品功能验证外,还需要压测各个组件的性能。最后,还需要随时保障整个系统的稳定性和安全性。
二、基于 Serverless 模式的开发流程
如果将刚才提到的和核心业务逻辑不相关的事情都交给@微信 和
腾讯云最终,需要关注的只剩下「小程序端+核心业务」,整个开发流程将会变得无比简洁。
通过 Serverless,这种想法可以得以实现。Serverless 其实是一种架构理念,他是把底层资源抽象成 API 的形式对用户提供服务。
在去年年初,微信团队和腾讯云团队开始尝试将 Serverless 和小程序开发结合起来并提供一套小程序 · 云开发解决方案,这还要归功于 Faas 在国内的兴起。有了 Faas 之后,用户核心计算逻辑的承载平台真正实现了 Serverless 化。
三、如何使用
新的架构或者方案具体该怎么使用呢?
之前有提到,整个方案里最核心的是计算模块。当有用户在小程序端发起后台请求的时候,云函数平台会根据用户的请求量动态地伸缩实例,以保证用户的请求能够被及时响应,同时用户可以在云函数里发起数据库以及文件存储的读写操作。
下图展示的完整架构是 Serverless 的具体表现形式。用户不再需要部署服务器,通过无服务器云函数即可实现核心业务逻辑。
这一套基于 Serverless 的架构将会具备以下优势:
四、如何基于 Serverless 实现腾讯相册小程序开发
以最核心的社交功能为例。按照传统的开发模式,研发团队会面临几个挑战,运维人力,开发复杂度,历史包袱等。
借助云开发的能力,架构设计将会变得非常简单。
举个例子,按照传统的开发方式,需要花费大量的时间在框架路由设计和安全设计,以及后台的性能优化上面。而基于 Serverless 的方案,只需引用 SDK,就能直接 callfunction,运行业务代码。
再来看下性能方面,根据现网的运行数据,发现无论波峰还是波谷,后台的响应延迟都在 70ms 以下。
可以看到,对比传统的开发模式,需要大约 1 人 10 周的人力完成开发、而借助 Serverless,只需要 1 人 3 周就能完成基础开发和测试。
因为,系统架构变得非常简单,并且和原有的空间后台完美兼容,极大提升了开发效率。
对于公司/个人来说,通过云的 Serverless 架构开发微信小程序,有下面几个非常显著的优势:
文章来自深蓝互联http://www.szdbi.com/WEBkaifajishu/316.html转载请注明出处!