以 Serverless 应用的形式交付 SaaS 服务

01.Serverless 应用开发范式

随着 2013 年 Serverless 概念的提出,FaaS 函数即服务的开发范式因以下特点逐渐成为开发首选:

1. 快速开发,快速部署;

2. 按量付费,降低成本;

3. 自动扩容,无需维护。

腾讯云 SCF 云函数于 2017 年推出,到现在已服务超百万开发者,随着业务规模增长,业务逻辑的复杂度变高,开发者往往需要通过编排组合多个函数,结合 COS 对象存储、API 网关、DB 数据库等云上资源才能完成一个完整的应用开发。因此我们于 2019 年联合业界广受欢迎的无服务器应用框架 Serverless Framework 推出了一体化管理函数及相关资源的开发方式 - Serverless 应用。

通过 Serverless 应用,开发者可以方便地:

  • 在本地进行函数开发,一键部署到云端,无需额外适配云函数,也无需登录控制台。
  • 支持将传统开发框架的应用 (如:Express, Next.js, Flask, Laravel 等)部署为 Serverless 应用。
  • 在本地对函数代码进行调试,或使用远程开发模式在本地实时查看部署服务的日志输出,并进行调试。
  • 通过简单配置即可完成所有基础设施配置(如:API 网关、COS 存储、DB 链接等)
  • 快速切换应用的部署环境(开发,演示,生产)地区。
  • 更详细轻松的了解应用状态,查看日志、报错统计等信息。

02. 目前主流的服务交付方式

随着云计算的发展,越来越多的软件运行在了云端,软件从服务开发方交付给消费方的方式也随之升级,目前主流的交付方式有两种:

  • 镜像(软件包)交付
  • SaaS 交付

1. 镜像交付

服务开发商将应用开发完成后,制作成 CVM 虚机镜像,发布到镜像市场,消费方在创建 CVM 虚机时选择镜像完成部署使用。而一些需要多台机器节点组合成服务集群的应用,则需要通过多个镜像和运维脚本进行批量创建配置最终完成服务的上线使用。这个过程对服务开发方以及消费方都不太友好,而且服务上线后,需要消费方对服务进行运维,这对消费方是个严峻的考验——选择购买第三方服务,就是因为本身 IT 团队资源不足,现在反而需要投入运维资源。如此种种,该交付方式逐渐被 SaaS 取代。

2. SaaS 交付

SaaS,Software as a service,软件即服务,已经逐步发展成云上服务交付的主流形态。它由服务开发方提供统一的线上服务运维管理,通过多租户机制为消费方提供服务。消费方开箱即用,无需管理承载服务的架构和资源运维,只需要为服务本身付费即可。该模式为服务消费方提供了非常好的使用体验,也对服务开发方提出了很高的要求——随着服务的客户增多,服务集群的运维要求也越来越高。然而,SaaS 服务提供商往往是因为对某一个行业或某一个具体的问题场景有核心竞争力,针对性的开发出了解决方案,现在却为了实现交付给客户使用这一过程,被迫投入过多成本维护一个庞大的 SaaS 服务集群。与此同时,由于业务跑在开发商的服务集群里,越来越多的客户开始担心数据安全问题。

那么,有没有一种方式,既可以让服务开发商专注于服务业务的实现,又可以让消费方享受开箱即用免运维同时不担心数据安全问题呢?

答案是肯定的 — Serverless 应用中心

03. Serverless 应用交付模型

<img src="https://main.qcloudimg.com/raw/607f1fcaaff68770a77ed54bdd9f3062.png" width="700"/>

Serverless 应用为开发商(Service Provider)提供了便捷的开发范式,更提供了免运维的应用托管平台,承担了开发商到消费方(Service Comsumer)中间的云上桥梁,加速交付效率,统一交付质量,加速企业数字化转型。

<img src="https://main.qcloudimg.com/raw/f95b392489f005062ecf1e238037bd9d.png" width="700"/>

服务开发商通过 Serverless 应用中心,提交应用模板,经审核通过后,正式发布到模板中心,供消费方选择。消费方可通过 Serverless Framework CLI,也可通过控制台可视化操作,简单的配置之后,即可完成应用的部署上线。部署过程全程发生在消费方的云上环境中,因此服务运行中产生的数据也都在消费方自己的手上,无需担心数据安全问题。在 Serverless 平台的弹性扩容服务的保驾护航之下,服务可以一直保持高可用。同时按量计费模型只根据业务的实际使用量收费,真正实现服务的稳定、省心、省钱。

<img src="https://main.qcloudimg.com/raw/d542eee6e0b5462fc4b5f73b33e1d026.png" width="700"/>

部署完成后,消费方可通过控制台对应用的资源进行管理。

<img src="https://main.qcloudimg.com/raw/062e07e2d07b2a4697ad17edc4530a23.png" width="700"/>

随着开发商后续对应用的迭代更新,消费方也能非常方便得通过控制台对应用进行升级。

<img src="https://main.qcloudimg.com/raw/fcbf0a28ff9862843c39d424857d0420.png" width="700"/>

04. 首批上架的应用案例

1. 全景录制

腾讯云实时音视频 TRTC 联合 Serverless 云函数,推出 「全景录制」一站式录制方案。所见即所得的录制模式,以观众视角实现全景录制,高度还原互动效果,免后期合成,即录即得,录制完成后输出一份完整 mp4 文件,稳定支持高并发业务需求,以更低的成本加速业务迭代。我们在这篇文章里面为大家详细介绍了《全景录制,一站式录制解决方案》,还有专属特惠资源包,低至 1 元,欢迎大家前去体验使用。

<img src="https://main.qcloudimg.com/raw/cbe410381deb49f6a8279cac6547211c.png" width="500"/>

2. 多媒体实验室

腾讯旗下顶尖的音视频通信和处理研发团队,专注于实时音视频通信、音视频编解码前沿算法研究、音视频国际标准、计算机视觉图像处理、端到端音视频质量评测。在实时音视频通信和处理技术、音视频国际标准等领域积累了完整的解决方案和领先的技术水平。Serverless 作为智媒服务底座,提供基础计算能力及相关云服务的整合能力,提供弹性可伸缩的计算能力。(即将上线与大家见面,敬请期待。)

05. Serverless 应用中心能力升级

近期发布的应用能力提升,支撑了 Serverless 应用交付过程,主要是以下几个方面:

1. Serverless Framework 多函数组件

《Serverless 多函数开发示例》中为大家详细介绍了多函数组件的开发。

2. 函数的闭源特性

部分服务商希望将应用服务的能力开放出来,但同时又因商业机密或专利保护等原因无法开放源代码,例如音视频的编解码器、机器学习算法等。服务开发商可以通过 Serverless 应用中心提交应用服务模板,将需要闭源的函数以镜像形式发布,即可实现开放能力的同时保护源代码。

3. 应用平滑升级

在小步快跑的互联网时代,服务往往伴随着不断的迭代升级。现在,无论是增加新的功能还是提升服务性能或稳定性,服务开发商都可在 Serverless 应用模板随时提交发布新的版本。新版本经审核发布后,消费方可在控制台收到应用更新提示,点击「升级应用」即可完成在线更新。

06. 服务开发商入驻预招募

Serverless 应用支持提交复杂业务代码,形成一体化的业务模板供用户部署使用,便捷、安全、稳定,大幅降低研发成本周期,快速验证应用服务的 PMF。现开启服务开发商入驻预招募,如果您当前也有套成熟的应用服务代码,您可以通过入驻 Serverless 应用的方式,以更低的成本快速交付使用。点击提交相关信息,我们将在应用市场开放入驻时第一时间与您取得联系。

One More Thing

立即体验腾讯云 Serverless Demo,领取 Serverless 新用户礼包 👉 腾讯云 Serverless 新手体验

欢迎访问:Serverless 中文网

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章