在上述模式中,我们一个小程序需要3-4个角色的参与才能确保我们的小程序能持续稳定的服务。这对小规模的小程序或者孵化阶段的小程序来说人员投入是非常大的。
资源成本
在传统的模式中,为了能让我们的小程序稳定运行起来,我们需要购买大量的资源。最常见的就是ecs*2+rds+slb+域名+证书等,如果我们要做安全控制,还需购买云上的安全设施,比如ddos防御等。这些资源不管我们业务量多大,我们都需要持续付费,对用户来说,这个成本是非常高的。
综上,我们能看出,在传统的模式中,人力成本和资源成本两大投入会成为制约小程序快速布局落地的拦路虎。如果我们在小程序业务中还是使用传统的开发模式,那我们业务的整体赋能将会来的不够经济、快速。
所以,我们需要使用一种更加简单、高效的开发方式
服务托管
目前的情况下,无论是前端应用还是后端应用,都需要后台来处理很多东西,开发者还会去购买云ECS、购买域名并进行域名备案等工作,以上这些步骤都是不可避免的。在服务托管模式中,数据库、域名、证书以及整套安全防控均为服务性体系。在这种模式下,开发者只需要把自己业务逻辑实现好提交给平台,平台会完成系统部署并挂到网关上。简而言之,开发者无需再关心底层环境、数据以及服务器的各种配置等,取而代之的是把代码提供给小程序平台,由平台完成这一系统操作。
函数计算
函数计算是比较简单的计算单元,我们可以采用函数计算来处理一些简单的异步、批处理操作,例如批量化操作、批量化处理图象以及处理一些比较耗资源的数据。基于异步事件以及按量付费的函数计算,我们无需再搭建大规模的计算集群,只需通过函数计算即可快速、低成本地实现计算能力,串接业务。
Serverless支持所有阿里的生态,为开发者提供十分灵活的接入方案无缝接入支付宝高德等服务,并允许开发者直接使用这些服务。
第二层,统一接入层。
小程序的一个核心特点就是能通过一个小程序快速布局到多个端上,以便快速吸收各个端上的流量,为业务带来红利。
第三层是Serverless架构的核心层,其具有文件储存,数据储存,服务托管,函数计算等诸多能力。接下来就为大家详细介绍这以上几种能力。
文件储存;
在现在的移动互联网中,我们有大量的资源需要使用上传、下载。在传统的模式中,我们需要购买存储、cdn、域名、证书等,然后再使用后端服务进行文件的存取操作,整体还是比较复杂的。同时,当用户在移动端情况下做营销或红包投放时,用户资源的访问量是很大的,会出现后台承载量有限、开发成本昂贵等问题。
基于这个场景,小程序Serverless平台为开发者提供了基于CDN的文件BaaS服务,通过我们封装良好的SDK,开发者只需将文件通过接口上传,即可直接享受到CDN的能力,为文件带来最佳的访问性能以及海量的访问量。
数据储存;
在数据储存方面,小程序Serverless服务针对不同的小程序场景提供了不同的解决方案。
对中小型小程序来说,小程序可以通过客户端的SDK操作数据库里的数据,无需服务端参与,即可完成数据的存取操作。在此过程中,平台为用户的数据提供了严格的管控以及灵活的DSL配置,开发者可以根据自己的业务需求定义数据的访问策略,让客户端可以安全、灵活地访问数据
DSL样例如下:
服务托管;
在传统模式中,开发者需要花费大量的精力去做环境的搭建、系统部署、运维等事项,同时,还需花费很高的成本去实现高可用等可用性方案,成本高,性价比低。
基于这个场景,小程序Serverless服务提供了服务托管的解决方案。通过服务托管,开发者无需再关系底层环境、后端运维的各种细节。开发者只需将业务代码提交到云端即可,云端会自动完成代码的构建、部署等各种事项。让开发者真正的无需关心底层运维即可快速实现后端业务。
使用服务托管模式,开发者可以获得如下优势:
我们平台官方即将提供丰富的业务云函数,用户开箱即用,无需再去处理底层复杂的逻辑。比如我们有一个图片水印的函数,专门负责处理图片的水印,我们在上传文件后,只需触发一下水印函数即可对文件实现水印处理,无需我们在应用里进行复杂的处理逻辑,和业务真正解耦。
数据分析能力;
基于蚂蚁金融科技的数据能力,我们为用户提供多样化的数据分析能力。基于我们提供的数据能力,用户可以更好地对业务进行决策,对系统进行优化,实现更高的业务价值。
安全管控能力:
基于蚂蚁多年的安全积累,小程序Serverless服务为运行其上的应用提供了专业的安全管控。从接入层的防ddos,到链路层的证书验证,再到数据层的内容安全控制。我们为客户提供了全方位的安全控制,保障用户的业务能持续安全运行,免受恶意攻击。同时,蚂蚁专业的安全团队也在不断监控管理,为用户服务的安全做更进一步的防控
第四层,蚂蚁的生态能力层:
对小程序开发者来说,通过小程序Serverless服务的后端解决方案开发将会变得非常简单,只需执行如下的操作即可:
假如一个商家给顾客发促销短信,通过平台的SDK不需要经过任何服务器,发短信发推送等功能小程序都可以直接实现。实现过程中,通信链路接入安全防控体系,通过这条链路的数据将都有安全保障。
Serverless方式会为开发者带来多方面的优势:
研发率的提升
对于一般规模的团队来说,安全是一个比较容易忽略的话题。但是现在互联网时代攻击无处不在,我们的业务可能随时会受到别人的恶意攻击,提供一套安全可靠的防控保障业务的健康尤为重要。
在传统模式中,实现系统的安全可靠我们需要有专业的安全人员介入,并且需要在云端购买大量的安全资源。和实现高可用一样,我们需要投入很多的资源和成本,性价比很低。
得益于蚂蚁多年来的安全积累,小程序Serverless服务为用户的服务提供了全方位的安全管控,全方面保障用户业务的安全。举例来说,我们为用户提供了如下安全控制:
在传统的模式中,由于受限于成本、技术等限制,大多数的应用都是单节点、单机房运行。这种情况的容灾能力是很弱的,如果宕机或者机房网络异常都会造成服务的中断,势必会影响到业务。
如果要实现高可用,在传统模式中,我们需要投入大量的底层资源、开发、运维资源,实现复杂度高,成本高,对于一般规模的应用来说性价比很低
在使用小程序Serverless的模式中,平台原生支持了同城多机房的容灾能力。所有服务的数据都会进行多机房的互备,同时在应用层,我们也提供了动态的切换能力,可以保障用户的服务在单机房故障时能持续可靠继续服务,保障业务的稳定性。
在传统模式中,我们需要大量的人力投入,资源投入,这对公司来说是一笔不小的成本,我们从两个方面来看:
在传统模式中,我们需要前端+后端+运维+安全等多个角色的协同,人力投入大,成本高
在Serverless模式中,只需一个全栈的前端工程师即可完成小程序的开发,人力投入小,成本低,收益高
在传统模式中,不管业务是否在运行,都需要为底层的众多资源付费。这些资源包含服务器、数据库、负载均衡、监控、安全等产品,对于dau不高或者访问集中化的应用来说,这种付费方式成本很高。
对于已有服务的开发者来说,可以采用两种方式接入到蚂蚁小程序Serverless服务中,我们称之为混合部署模式: