前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >Serverless 初探

Serverless 初探

原创
作者头像
腾讯云serverless团队
修改于 2020-08-13 12:34:20
修改于 2020-08-13 12:34:20
22.9K3
举报

点击领取新用户礼包-> 选择您最常用的编程语言,体验 Serverless Demo >>

什么是 Serverless

Serverless架构,或者称为无服务器架构,是最近几年新冒出来的一种架构风格。这究竟是一种什么样的架构?无服务器,就是真的没有服务器了么?其实,对于Serverless来说,只是用户不用更多的去考虑服务器的相关内容了,无需再去考虑服务器的规格大小、存储类型、网络带宽、自动扩缩容问题了;同时,也无需再对服务器进行运维了,无需不断的打系统补丁、应用补丁、无需进行数据备份、软件配置等工作了。

但是没有服务器,如何来将程序、应用运行起来呢?这里要介绍的是Serverless下包含的两个概念:函数即服务,Function as a Service FaaS后端即服务,Backend as a Service BaaS。

函数即服务 FaaS

函数即服务 FaaS,作为一种新的计算能力提供方式,让用户抛弃了对服务器的配置和管理,仅需编写和上传核心业务代码,交由平台完成部署、调度、流量分发、弹性伸缩等能力。FaaS的出现,会从底层开始变革计算资源的形态,提供了一种新的方式来提供计算资源,同时也会给软件架构与应用服务部署带来新的设计思路,进一步降低云计算的使用门槛,推动全行业在服务架构上的创新步伐。

后端即服务 BaaS

后端即服务 BaaS,其实大家已经使用很久了,这里的后端,指的就是各种云产品和云服务,例如对象存储COS,消息队列CMQ,云数据库CDB、TDSQL,云缓存CRedis、CMemcached,甚至到各种以 API 形式提供的服务如万象优图 CI,视频处理 VC。这些产品或服务,用户直接开通即可使用,无需考虑部署、扩容、备份、优化、安全等各种运维工作,做到了开箱即用,无需自己去进行服务器或应用的维护和管理,因此同样也是Serverless的一部分。

为什么要 Serverless

介绍了什么是Serverless,但是为什么会出现 Serverless,或者为什么要使用 Serverless 呢?我们这里可以从三个方面来看看,这三个方面可以类比为:天时,地利,人和。

天时,这里突出的时,即时间。传统的服务器模式,应用上线前,还得完成服务器准备,环境部署,数据库准备,存储准备等各种工作;上线后,还得面临计算扩容,存储扩容,数据库维护和扩容等各种运维工作。这这个过程中,应用上线和迭代的时间、节奏,受限于各种准备和维护工作。而利用Serverless,通过使用SCF产品,专注于完成业务相关的核心代码,通过直接使用COS,CDB,CMQ,CRedis等产品,解决数据存储,数据库,消息队列,缓存等问题,不再费心运维,而专注在业务开发和迭代上,能更快的完成应用上线,在这个互联网加速发展的时代,做到一步领先,步步领先。

地利,这里突出的利,即费用支出。传统的服务器模式,无论有没有用户正在访问,应用始终要保持运行,而在有用户访问时,又要关注服务器的资源使用率,在使用率达到一定程度时就要考虑扩容,避免突发访问量导致的资源不足。在这个过程中的费用,始终是有一部分为未使用的计算资源而支付。而 Serverless 架构,能确保所有的费用,都是用在了实际的程序运行、数据存储、用户访问中。SCF 云函数的计费方式,就是通过函数的调用次数和执行时间来统计费用,有用户访问或事件产生,才会有函数执行,才会有费用计算;相反,没有函数执行时,则没有费用支出。同理,其他的相关云产品,也是类似,例如 COS 仅收取存储、外网流量的费用,CMQ 仅收取请求次数、外网流量费用,CRedis 仅按实际使用内存大小收费。据测算,根据不同用户的应用压力情况,SCF 能为用户带来 30%~70% 的费用节省程度。

人和,这里突出的是人。传统的服务器模式,运维人员要投入大量的精力去维护服务器、数据库、存储等各种基础设施,解决各种集群、分布式系统的搭建问题,而实际运维解决自身应用问题的时间,可能只会占到很小一部分,而开发人员除了对自身业务应用的开发外,也需要投入时间,解决可能存在的各种外围系统的问题。而 Serverless 架构,无需运维人员再投入到基础设施中去了,而开发人员也可以全面关注业务系统的开发。SCF 产品,可以让开发人员直接编写业务逻辑核心代码,利用微服务架构,快速上线应用。CMQ,CDB,COS,CRedis 各种云产品,无需搭建配置,开通即可使用,而将基础运维工作交由云来完成。在这种情况下,脱离了基础运维的运维人员,可以提升自身视野,从更高角度来看待运维工作,实现业务运维;而开发人员,可以充分利用 CICD、DevOps能力,提升整个应用或业务的集成能力。

怎么用 Serverless

COS、CMQ、CDB、CRedis 这类 BaaS 型云产品,由于面世的时间已经很长,对其使用的方式,基本和原有使用 MySQLRedis等产品相同,或者通过产品提供的 API、SDK直接访问使用。而 SCF 云函数,作为 FaaS 产品,有着稍有不同的使用方式。

  • 事件触发:SCF 的工作模式为事件触发,因此要考虑好触发方式。例如,利用 SCF 来处理图片生成缩略图,就可以利用 COS 事件,在图片文件上传 COS 后,上传事件就能自动触发函数执行,来生成新的缩略图并再次存入 COS 中。
  • 无状态服务:函数需要是无状态(stateless)的,缓存、日志、数据库等全部通过CRedis、COS、CDB这类云产品来支持,这样才能保证在业务请求突增时服务能迅速扩展。
  • 微服务:事件驱动(event-driven)和无状态(stateless)属性正是微服务架构所需要的。因此,在一开始就将自身的应用设计为微服务架构,解耦各模块间关联,使得应用成为可生长可进化的系统。

无服务器云函数 SCF 实现独立开发、简化测试和加速部署,能够助力公司在关键时期快速上线和迭代,为初创期的产品提供了很好的解决方案。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
3 条评论
热度
最新
好像懂了
好像懂了
11点赞举报
好像有什么都没懂,是不是又往上层抽象了一层
好像有什么都没懂,是不是又往上层抽象了一层
回复回复点赞举报
6666666666666666666666
6666666666666666666666
回复回复点赞举报
推荐阅读
编辑精选文章
换一批
Kubernetes对阵Serverless,未来究竟是谁的?
近两年里,kubernetes的风头之盛可谓一时无两,在谷歌和大量开源社区的推动下,k8s技术不仅把容器的大规模应用彻底激活,提升了诸多编程语言的适用环境,更重要的是他还让容器的运维难度变得更低,开发运维一体化进程得到了重大的推进。
猿天地
2018/08/17
1.3K0
入门 Serverless:如何实现 Hello World?
近年来,IT 技术的更新迭代速度非常快,每个时间点都有典型的代表名词以及概念,就目前而言,人工智能领域中的机器学习、深度学习、强化学习等名词和概念就非常热,同时区块链、物联网等技术发展也是异常火热。在云计算领域,有这样一个技术被众多云厂商认为是“风口项目”,甚至可以颠覆现有云计算中的某些格局,为此包括 AWS、谷歌以及腾讯云、阿里云等在内的云厂商,都为此投入了重大人力以及精力进行相关产品建设,它就是 Serverless 技术。 自 2006 年 8 月 9 日,Google 首席执行官埃里克·施密特(E
腾讯云serverless团队
2020/04/09
2.1K1
微服务与Serverless对决,谁才是未来之主?
近两年里,微服务的突然崛起让人仿佛看到了架构开发的新世界。摒弃繁杂而不稳定的巨型系统架构城堡,轻装上阵,应用单个开发,基于业务构建,自动化独立部署,不仅缩短了开发周期,还能便捷的完成扩展和维护等任务。
程序猿DD
2018/08/17
1.9K0
Serverless+SCF=打倒服务器,解放程序员
在很多外行人的眼里,程序员就是神一样的存在。他们全年996,节假日无休,不仅Java、PHP、C++要样样精通,还要会修电脑修音响修手机,做前端要懂运维,做后台要懂运营……可是程序员毕竟是人不是神,给程序员减负不仅事关他们的头发数量,也关乎工作质量。
腾讯云开发者社区技术沙龙
2018/08/15
9550
从​开发调试到部署运维 一套完整的Serverless项目开发经验分享
本文将从前端的角度来看Serverless是什么,Serverless的出现会给前端带来什么样的机遇和挑战,并以一个具体的项目为例说明如何基于Serverless实现项目功能。
腾讯云serverless团队
2019/07/16
1.6K0
从​开发调试到部署运维  一套完整的Serverless项目开发经验分享
应对突发需求,如何借助Serverless快速上云?
导读 | 当突发事件来临时,当绝佳idea闪现时,如何快速搞定开发和部署,使之变身为产品?快,则应万变!Serverless 是当今炙手可热的技术,被认为是云计算发展的未来方向,如何利用Serverless Framework 实现快速上云?本文是王俊杰老师在「云加社区沙龙online」的分享整理,详细阐述了Serverless上云的基本思路、框架原理、组件架构等,带大家揭开Serverless的神秘面纱。 点击视频,查看完整直播回放 一、Serverless上云基本概念 感谢云加社区组织这次“技术应
腾讯云serverless团队
2020/03/25
7960
Serverless+SCF=打倒服务器,解放程序员 | 技术沙龙
在很多外行人的眼里,程序员就是神一样的存在。他们全年 996,节假日无休,不仅 Java、PHP、C++ 要样样精通,还要会修电脑修音响修手机,做前端要懂运维,做后台要懂运营……可是程序员毕竟是人不是神,给程序员减负不仅事关他们的头发数量,也关乎工作质量。
用户1516716
2018/08/17
8550
Serverless安全揭秘:架构、风险与防护措施
Serverless简介 Serverless(又称为无服务器)架构是一种全新的云计算模式,它是在容器技术和当前服务模式基础之上发展起来的,它更多的是强调后端服务与函数服务相结合,使开发者无需关注后端服务具体实现,而更侧重关注自己业务逻辑代码的实现。 随着云原生技术的不断发展,应用部署模式已逐渐趋向于“业务逻辑实现与基础设施分离”的设计原则。Serverless架构完美诠释了这种新型的应用部署模式和设计原则。从云原生整体发展路线来看,Serverless模式更趋近于云原生最终的发展方向。 Serverle
云鼎实验室
2022/09/27
1.2K0
Serverless安全揭秘:架构、风险与防护措施
Serverless无服务器架构详解
Serverless: 无服务器架构,即在无需管理服务器等底层资源的情况下完成应用的开发和运行,是云原生架构的核心组成部分。
zhayujie
2020/08/03
4.6K0
Serverless无服务器架构详解
「NGW」前端新技术赛场:Serverless SSR 技术内幕
Serverless 云函数: 云计算发展过程中出现的一种计算资源的抽象,它以云计算平台为基础,为开发者提供业务程序的运行环境,开发者无需关注底层资源分配、扩容部署,代码执行所必要的全部服务由平台提供。
腾讯IVWEB团队
2020/06/28
1.1K0
Serverless 在数据处理场景下的最佳应用
我们知道传统的数据处理无外乎涉及 Kafka、Logstash、File Beats、Spark、Flink、CLS、COS 等组件。这些海量服务器组件承担着从数据源取数据,数据聚合过滤等处理,再到数据流转的任务,不管是开发成本、运维成本以及价格方面都有所欠佳。下面将为大家详细介绍:云函数 SCF 是如何降低传统海量服务器组件的开发和运维成本的。 01.  腾讯云云函数 SCF 腾讯云云函数(Serverless Cloud Function,SCF)是腾讯云为企业和开发者们提供的无服务器执行环境,在无需
腾讯云serverless团队
2021/04/15
7680
开发者说:多角度解读 Serverless
作者简介:Gary想养猫,前端开发者 本文选自「掘金x腾讯云征文|万物皆可 Serverless」 原文链接:https://juejin.cn/post/6895228421551423495 Serveless 到底是什么? 顾名思义,Serverless 即「无服务器运算」,云计算的下一代。与其说它是具体的技术,不如说是一套理念思想。在行业内对 Serverless 有几种解读方法: 在某些场景下可以解读为一种软件架构方法,通常称为 Serverless 架构 在另外一些情况下,又可以代表一种产品形
腾讯云serverless团队
2021/02/25
5910
我的Serverless实战——能掰扯面试官的SSVM超详细解析!
Serverless 应用引擎(Serverless App Engine,简称 SAE)是面向应用的 Serverless PaaS 平台,帮助 PaaS 层用户免运维 IaaS,按需使用,按量计费,实现低门槛微服务应用上云,有效解决成本及效率问题。支持 Spring Cloud、Dubbo 和 HSF 等流行的开发框架,真正实现了 Serverless 架构和微服务架构的完美融合。除了微服务应用外,您还能通过 Docker 镜像部署任何语言的应用。
灰小猿
2021/09/14
3760
我的Serverless实战——能掰扯面试官的SSVM超详细解析!
典型的 Serverless 无服务器应用架构
本文由 Serverless.com 产品经理 Oliver 翻译修改自 Xavier Lefèvre 所写的 ‘What a typical 100% Serverless Architecture looks like in AWS!' 要讨论无服务器架构的话,并不能仅仅局限于 FaaS 上,比如腾讯云 SCF,或 AWS Lambda。函数计算最吸引人的两个原因是:弹性伸缩(扩缩容)和按量计费,与此同时开发者还可以大幅减少甚至免去运维的工作和困扰,进而专心在软件功能开发和代码可靠性提高上。 以下是一
腾讯云serverless团队
2021/11/23
2.1K0
周末漫谈 | 什么是 Serverless 架构
Serverless 架构是不是就不要服务器了?回答这个问题,我们需要了解下 Serverless 是什么。
aoho求索
2020/12/01
1.1K0
周末漫谈 | 什么是 Serverless 架构
NGW,前端新技术赛场:Serverless SSR 技术内幕
一、前言 最近 Serverless 又火了,有不少业务上云实装了 Serverless 云函数,取得了不错的落地效果,业界也在不断探索 Serverless 更多的落地场景。 那么对于前端来说,Serverless 意味着什么?对于 Node 服务来说,哪里可以落地 Serverless? 答:Serverless 同构直出渲染 Serverless + SSR = Serverless 云函数: 云计算发展过程中出现的一种计算资源的抽象,它以云计算平台为基础,为开发者提供业务程序的运行环境,开发
腾讯云serverless团队
2019/11/13
1.2K0
NGW,前端新技术赛场:Serverless SSR 技术内幕
Serverless 架构与事件规范
基础服务架构 本篇内容主要讨论的是 Serverless架构与其事件规范的基础原则。 首先,我们先来了解下在 HTTP/Web 场景下我们的典型的WEB场景是怎样的: 基础架构 这里,我们不难看出典型的Web场景其实是由三大块内容,客户端,服务器,数据库组成。客户端在服务器侧通过类型apache,nginx等代理服务器来请求数据,代理服务器又通过数据库来写入或拉取数据资料。这个很简单,也是我们最常用的Web场景。 这里面服务器中可能涉及路由规则,鉴权逻辑以及其他各类复杂的业务代码,同时,开发团队要付出
腾讯云serverless团队
2020/04/26
1.3K0
Serverless Python开发实战之极速制作情人节表白页
导语:抗击疫情,腾讯云在行动。Python 是一种热门的编程语言,Serverless 是近年来迅速兴起的一个技术概念,基于Serverless架构能构建出多种应用场景,适用于各行各业。 本次课程将将为大家详细讲解 Serverless 架构的处理规范与处理模型、典型的工作流程,以及 Serverless 工程化的难点与挑战。最后将结合 Python Flask + Serverless 的情人节表白页制作实例,展示如何用 Serverless 的方式进行 Python 编程,将热门 Python 框架利用
腾讯产业互联网学堂1
2023/05/29
3110
Serverless Python开发实战之极速制作情人节表白页
Serverless初探
无服务器计算是指开发者在构建和运行应用时无需管理服务器等基础设施,应用被解耦为细粒度的函数,函数是部署和运行的基本单位。用户只为实际使用的资源付费。这些代码完全由事件触发(event-trigger),平台根据请求自动平行调整服务资源,拥有近乎无限的扩容能力,空闲时则没有任何资源在运行。代码运行无状态,可以轻易实现快速迭代、极速部署。
KaliArch
2018/08/31
11.3K0
Serverless初探
Serverless Python开发实战之极速制作情人节表白页
抗击疫情,腾讯云在行动。Python 是一种热门的编程语言,Serverless 是近年来迅速兴起的一个技术概念,基于Serverless架构能构建出多种应用场景,适用于各行各业。
可可爱爱没有脑袋
2020/03/16
2.2K0
Serverless Python开发实战之极速制作情人节表白页
相关推荐
Kubernetes对阵Serverless,未来究竟是谁的?
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档