联系我们 | 售后服务中心 | 财务管理 | 产品服务管理 | 用户中心
注册 登录

资讯中心

谁为谁造Serverless 云服务?

  

本文将对比传统的云计算「有服务器」服务和 Serverless 「无服务器」云计算的差异,谈谈为什么 Serverless 云服务更适合「领域业务」和「领域应用」。

这里的「领域」是指「软件应用领域」,也就是小程序。而专注服务领域和行业,意味着服务商之间的竞争不再是「投入资源总量」,而是挖掘和拓展具体领域和行业应用的能力,业务分析、项目管理和技术开发能力。

云服务的「按时计费」vs 「按用量计费」

先来点概念介绍。

虚拟服务器技术催生了目前的(超)大规模云计算服务平台,例如 AWS,Google Cloud Platform 等。通过堆叠海量物理服务器,又过一套总控软件逻辑上把这些物理服务器当成是一台巨型计算机,其中每一台物理服务器又被切分为若干虚拟服务器,和其它计算资源(带宽、存储、域名等)一起出租给企业和应用开发者。所以,如名所指,也因为「服务器」依然是传统云业务的核心,所以传统云计算业务核心依然是「服务器租赁」。

「无服务器」云计算对应的是「有服务器」的传统云计算服务。「有服务器」服务的传统云计算服务通常「按使用时长计费」,一般是每天 24 小时以及租赁时长,例如每月。而「无服务器」计算服务则是「按用量计费」,通常按函数/软件代码执行的时间、执行时所依赖和调用的数据库、消息服务等,按它们的使用量计费,然后从预付费中扣除或按周期订单支付费用,用多少计算多少。

上述概念对理解下面关于无服务器应用产品如何匹配「细分领域」十分关键。

「无服务器」的云计算趋势从 2010 年的移动互联网普及起步,例如,移动应用后端云服务 Parse,随着移动应用市场的发展和成熟,传统云计算服务越来越不能满足移动开发者们对后台计算资源的复杂度和计费模式(租赁成本)的新要求。从适合作为手机应用后台的 Parse 开始,陆续出现不同风格的无服务器产品,例如著名的 AWS Lambda,服务领域从移动应用后端服务不断细分和扩展。目前,任何需要「按需启动」和「按用量计费」的软件应用,从 web 应用到桌面应用甚至物联网产品,都可托管在无服务器平台。

本文专注讨论移动端应用的无服务器计算服务。

「细分领域」需要「细分平台」

经典 MBA 市场营销教科书的一个基本概念是「细分市场」。企业通过市场「细分」来指导产品细分,从而帮助探索甚至创造新的需求。本文的「细分领域」同时指技术架构和市场细分。

经过 10 多年云计算生态的进化,无服务器已成为不算令人瞩目但依然是稳定的一个云计算产品,哪怕开发者们也经常对它的价值发生激烈争论。援引 Deloitte 的文章,无服务器云计算能为「企业应用开发者」和「基础设施工程师」这两个关键岗位带来新价值,包括:

更低的总体运维成本(免云计算资源维护、按用量计费和结算) 更专注的产品开发(帮助团队聚焦业务逻辑代码) 更安全可靠(专业化的平台信息安全保障——安全需求外包)

移动端云服务简史

早期的手机(原生)移动应用从 Parse 这类服务获得新的能力,解放了几十万个 app 团队的后端服务平台的技术运维,让他们更专注产品和用户服务。这是行业第一次看到 BaaS (后端云服务)带来的效果和效益。此后至今,传统云计算(虚拟服务器)依然还是很多原生移动端开发团队的选择,但无服务器作为细分产品,各大云厂从无到有一直迭代至今。2017 年,微信小程序平台的首发,给世界移动端领域带来新的「细分」。

「小程序」托管服务这一个细分领域的发展,背后是中国市场庞大的移动端用户群体和他们的需求。顺应这个需求,新一代供应商迅速发现无服务器技术可以和移动端后端服务结合,继续推动市场的细分发展。

传统「有服务器」云计算,例如 AWS、Google Cloud Platform等 移动端 BaaS 平台,例如 Parse(后被 Facebook 收购) 支持通用软件产品托管的「无服务器」或 FaaS (Function-as-a-Service)产品,例如 AWS Lambda,以及国内的主流云厂商各自的无服务器云计算产品 专注「小程序」和移动端的「无服务器」平台,例如爱范儿知晓云

不难发现,移动端云服务的发展历程也是云计算朝着「细分领域」的发展历程。

「无服务器」产品简史和应用趋势

2015年,亚马逊 AWS Lambda 是第一款互联网规模的「无服务器」产品,随后的微软 Azure 和 谷歌 Google Cloud Platform 陆续推出类似的产品跟进。发展至今,无服务器技术已经成为主流,并开始引起人们对构造可扩展、「领域细分」计算和面向未来的应用程序的关注。这些「细分领域」具体包括:

无服务器物联网。业务现场的联网设备数量急剧增加。在这种情况下,设备和利益相关者将看到来自云的缓慢响应,有时甚至来自基础设施的云也可能失败或可能无法处理任何消息。通过实施无服务器架构,资源将只在请求时和需要时被提供。资源分配管理将使我们能够以更有效的方式利用资源。

无服务器的 Kubernetes。Kubernetes 应用容器上的无服务器模式是一种可移植的解决方案,允许你在 Kubernetes 运行的地方运行应用程序。无服务器版本允许开发者使用他们自己的云基础设施来轻松部署、监控和运行这些应用程序。无服务器版本为开发者省去了提供主机或虚拟机的麻烦。Kubernetes 通过为无服务器应用程序开发复杂的解决方案,帮助开发者和运营商简化工作。Azure、AWS Fargate 和 Knative 等流行的容器使开发云应用、创建服务和创建事件变得容易。

无服务器混合云:希望建立利用两个或多个无服务器云的应用程序的开发者应考虑将功能作为服务来编写和实现。如果你正在寻找监控、管理和保护混合无服务器环境的工具,云管理员应该查看开源项目。Knative 是一个基于 Kubernetes 的平台,用于推动 DevOps 工作流程,是用于统一开发容器化和无服务器的应用,在公共和私有云平台上进行配置。

大数据中的无服务器。现在我们不能指望数据流层中传入数据的速率是固定的。因此,我们需要实时存储,当传入的数据大量增加时,可以扩展存储,当数据传输率低时,可以减少存储。无服务器大数据架构的重点是计算和存储节点的解耦。不仅是解耦,而且需要自动管理,即根据数据库服务器的负载自动启动/关闭、扩大或缩小,这在无服务器架构中是可以做到的。此外,成本也应该取决于使用情况,因为 Amazon Aurorado 是按秒计算的。

有状态应用中的无服务器。云厂商可以将他们的应用提升到一个新的水平。分布式企业应用可以是有状态的,可以自动恢复,可以从灾难中快速恢复,可以在基础设施和应用层面上进行扩展,对集中式数据库的依赖性最小。

通过将数据库扩展到无服务器或复制缓存系统,大量的数据可以被相对快速地处理。通过「触发器」设计,软件代码和功能在启动的同时赶上了当前的状态。综上,无服务器产品从起步发展至今,从技术方案的细分发展十分明显,而移动应用则是无服务器技术支撑的技术产品和方案之一。(摘要、援引自 Top 5 Trends In Serverless Computing In 2021)

移动算力的「无服务器」

从移动端云服务历史,到「无服务器」产品历史和趋势看,移动端只是「无服务器」技术支撑的产品形态之一。在移动端计算需求和「无服务器」技术交叉的领域中,存在很多的发展可能性。为了让更多的移动端和小程序开发者能用上、用好「无服务器」云计算的优势,整个行业还有很长的路要走。面向移动端的云计算,我们把它们统称「移动算力」。这类移动算力的需求,目前可以通过一些典型产品观察和思考开发者的需求如何满足。

以某云原生平台为例,针对中国移动应用生态的需求,该平台结合消费者和数字化数字品牌传播业务的行业知识和经营积累,把该平台作为移动应用,特别是小程序的无服务器后台服务,提供以下技术能力:

弹性数据库 云函数 触发器 第三方支付(微信、支付宝......) 模版消息推送运营后台丰富的 API(业务 API、运营后台 API)

而「按用量计费」和结算,对比利用传统云计算后台,开发者们可以避开繁琐的云计算资源配置、管理和运维,只需要从上述清单所涉及的业务需求出发,来考虑采购什么能力、需要多少成本以及怎样开展持续的产品迭代和运营。

「细分」移动应用与服务商的匹配

当今的移动端应用开发者选择托管服务时,可选传统的云大厂,也可以选择混合云(例如通过云网融合的 PON 套餐),甚至选择更传统的物理服务器托管。

作为企业数字化负责人或 CIO,首要考虑的是你的移动端/小程序项目究竟是怎样定位的?是否全面考虑过项目的定位?小程序产品本质上是依赖大平台的「领域社交网络」和「领域业务接口」,来实现其日常用户价值,例如,开发微信小程序可利用微信庞大的用户群、成熟而丰富的接口功能,结合无所不在的微信支付来实现用小程序部分或全部替代企业的移动端服务。

在考察一个「无服务器」平台提供的技术资源和服务套餐时,不能仅仅看它的「规模」。因为「细分领域」需要「细分平台」,更需要长期耕耘该领域的业务和技术团队帮助,两者结合才能真正发挥小程序产品以及配套「无服务器」技术的「1 + 1 > 2」效应。我们推荐以下服务商评估指标:

有深度「领域细分」服务背景。例如,如果您开发的是面向 C 端消费者、品牌服务数字化的小程序,应首选熟悉消费者和数字化品牌服务的供应商; 有品牌数字化服务积累。例如,偏技术极客的团队的「无服务器」产品往往缺乏对业务领域的匹配设计,导致过度设计和过度工程化,学习和使用成本高;而面向消费者的移动端托管服务,需要对品牌营销和社交网络推广有着深厚的行业积累。 有专注的开发团队。这点是普通云大厂无法企及的,因为大机构开发团队往往「身兼数职」,内部多个不同领域的项目同时压着他们,精力过度分散。

来源:爱范儿