实战指南 | Serverless 架构下的应用开发

这篇具有很好参考价值的文章主要介绍了实战指南 | Serverless 架构下的应用开发。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

UC Berkeley认为Serverless架构的出现过程类似于40多年前从汇编语言转向高级语言的过程,在未来Serverless架构的使用会飙升,或许服务器式云计算并不会消失,但是将促进BaaS发展,以更好地为Serverless架构提供支持。

Serverless 架构的应用开发流程

基于 Serverless 架构的应用开发流程将会比基于传统架构的应用开发更简单。在 Serverless 架构下进行应用开发,用户通常只需要按照规范编写代码、构建产物,然后部署到线上即可。

如图 1 所示,CNCF Serverless Whitepaper v1.0 指出函数的生命周期从编写代码并提供规范元数据开始,一个 Builder 实体将获取代码和规范,然后编译并将其转换为工件,接下来将工件部署在具有控制器实体的集群上。该控制器实体负责基于事件流量和/或实例上的负载来扩展函数实例的数量。

serverless开发,serverless,架构,云计算,阿里云

图-1 函数部署流水线示意图

如图 2 所示,函数创建和更新的完整流程如下。

serverless开发,serverless,架构,云计算,阿里云

图-2 函数创建/更新流程示意图

1)在创建函数时,提供其元数据作为函数创建的一部分,对其进行编译使其具有可发布的特性。接下来启动、禁用函数。函数部署要能够支持以下用例。

  • 事件流(Event Streaming):在此用例中,队列中可能始终存在事件,但是可能需要通过请求暂停/恢复进行处理。
  • 热启动(Warm Startup):在任何时候,具有最少实例的函数能使所接收的“第一”事件快速启动,因为该函数已经部署并准备好为事件服务(而不是冷启动),其中函数通过“传入”事件在第一次调用时部署。

2)用户可以发布一个函数,这将创建一个新版本(最新版本的副本),发布的版本可能会被标记或有别名

3)用户可能希望直接执行/调用函数(绕过事件源或 API 网关)以进行调试和开发过程。用户可以指定调用参数,例如所需版本、同步/异步操作、详细日志级别等。

4)用户可能想要获得函数统计数据(例如调用次数、平均运行时间、平均延迟、失败次数、重试次数等)。

5)用户可能想要检索日志数据,这可以通过严重性级别、时间范围、内容来过滤。Log 数据是每个函数级别的,它包括诸如函数创建/删除、警告或调试消息之类的事件,以及可选的函数的 Stdout 或 Stderr。优选每次调用具有一个日志条目或者将日志条目与特定调用相关联的方式(以允许更简单地跟踪函数执行流)。

serverless开发,serverless,架构,云计算,阿里云

图-3 开发 Serverless 应用的流程

如图 3 所示,以阿里云 Serverless 产品为例,在生产环境中开发 Serverless 应用的流程是:

步骤1:根据 FaaS 供应商所提供的 Runtime,选择一个熟悉的编程语言,然后进行项目开发、测试;

步骤2:完成之后将代码上传到 FaaS 平台;

步骤3:上传完成之后,通过 API/SDK 或者由一些云端的事件源触发上传到 FaaS 平台的函数;

步骤4:FaaS 平台就会根据触发的并发度等弹性执行对应的函数;

步骤5:最后用户根据实际资源使用量按量付费。

与 ServerFul 应用开发流程对比

下面我们将通过生产环境中的案例,对传统架构下的应用开发与 Serverless 架构下的应用开发进行举例对比。

以一个 Web 应用为例。如图 4 所示;

serverless开发,serverless,架构,云计算,阿里云

图-4 传统三层 C/S 架构下某电子商务网站应用简图

通常情况下一些 Web 应用都是传统的三层 C/S 架构,例如一个常见的电子商务应用,假设它的服务端用 Java,客户端用 HTML/JavaScript;在这个架构下服务端仅为云服务器,承载了大量业务功能和业务逻辑,例如,系统中的大部分逻辑(身份验证、页面导航、搜索、交易等)都在服务端实现。

当把它改造成 Serverless 应用形态时,架构如图 5 所示。

serverless开发,serverless,架构,云计算,阿里云文章来源地址https://www.toymoban.com/news/detail-663952.html

到了这里,关于实战指南 | Serverless 架构下的应用开发的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 应用 Serverless 化,让业务开发心无旁骛

    我们希望让用户做得更少而收获更多,通过Serverless化,用云就像用电一样简单。”张建锋表示,Serverless 让云计算从一种资源真正变成一种能力,未来云将全面 Serverless 化,更加接近“电网”模式,按计算的调用次数付费。 11 月 3 日,2022 杭州 · 云栖大会上,阿里云智能总裁

    2024年01月21日
    浏览(36)
  • 全域Serverless+AI,华为云加速大模型应用开发

    日前,华为全联接大会2023在上海召开。华为云CTO张宇昕在大会上发布了基于Serverless技术的大模型应用开发框架,框架以面向AI领域全新升级的FunctionGraph 3.0为核心,将BaaS for AI 后端和开放平台快速无缝集成,助力企业轻松商用AI应用。 在“全域Serverless + AI 加速应用创新”专题

    2024年02月08日
    浏览(44)
  • TiDB Serverless Branching:通过数据库分支简化应用开发流程

    2023 年 7 月 10 日,TiDB Serverless 正式商用。这是一个完全托管的数据库服务平台(DBaaS),提供灵活的集群配置和基于用量的付费模式。紧随其后,TiDB Serverless Branching 的测试版也发布了。 TiDB Serverless Branching 功能使用户能够为其 TiDB Serverless 集群创建分支。这些分支可以实现并

    2024年02月10日
    浏览(39)
  • HarmonyOS/OpenHarmony原生应用开发-华为Serverless云端服务支持说明(一)

    云端服务的实现是 HarmonyOS/OpenHarmony原生应用开发的一个重要的环节,如果用户端是鸿蒙原生应用,但是服务端即云端还是基于传统的各种WEB网络框架、数据库与云服务器,那么所谓的原生应用开发实现的数据即后端服务是和以前、现在的互联网、移动互联网应用是一样的,等

    2024年02月07日
    浏览(50)
  • 【SQL Server】数据库开发指南(五)T-SQL 高级查询综合应用与实战

    本系列博文还在更新中,收录在专栏:#MS-SQL Server 专栏中。 本系列文章列表如下: 【SQL Server】 Linux 运维下对 SQL Server 进行安装、升级、回滚、卸载操作 【SQL Server】数据库开发指南(一)数据库设计的核心概念和基本步骤 【SQL Server】数据库开发指南(二)MSSQL数据库开发对

    2023年04月18日
    浏览(65)
  • 深入云原生:解析 Docker 容器、Serverless 计算和微服务架构的实战应用

    今天我想跟大家聊聊云计算的一些新潮玩意儿,我对云计算领域的一些前沿技术本身就特别感兴趣,比如 Docker 容器、Serverless 计算、微服务架构以及云原生架构。这些技术在数字化浪潮中扮演着重要角色,不仅改变了软件开发和部署的方式,还大大提高了企业的运营效率和市

    2024年04月10日
    浏览(53)
  • CoreDX DDS应用开发指南(2)安装和应用开发

    2.1.1 支持的CPU架构和操作系统     2.1.2 支持的语言和编译器

    2024年02月07日
    浏览(30)
  • CoreDX DDS应用开发指南(5)开发发布应用程序

            创建发布应用程序的步骤如下: 创建或获取应用程序数据的DDL文件。 使用DDL编译器编译DDL文件。类型特定的支持和DataWriter是编译DDL的结果。 编写发布应用程序 编译发布应用程序         启用DDS的应用程序本质上是以数据为中心data-centric的。为了使这些以数

    2024年02月08日
    浏览(33)
  • 鸿蒙(HarmonyOS)应用开发指南

    1.1 简介 鸿蒙 (即 HarmonyOS ,开发代号 Ark ,正式名称为华为终端鸿蒙智能设备操作系统软件)是华为公司自 2012 年以来开发的一款可支持鸿蒙原生应用和兼容 AOSP 应用的 分布式操作系统 。该系统利用“分布式”技术将 手机、电脑、平板、电视、汽车和智能穿戴 等多款设备

    2024年02月02日
    浏览(87)
  • GPT应用开发:GPT插件开发指南

    欢迎阅读本系列文章!我将带你一起探索如何利用OpenAI API开发GPT应用。无论你是编程新手还是资深开发者,都能在这里获得灵感和收获。 本文,我们将继续展示聊天API中插件的使用方法,让你能够轻松驾驭这个强大的工具。 首先给大家展示下插件的运行效果,如下图所示:

    2024年01月19日
    浏览(86)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包