腾讯云大学大咖分享 | 腾讯云Serverless2.0开发者工具建设

点击观看完整课程数据库

云函数 (Serverless Cloud Function,SCF )或称为函数即服务 (Function as a Service)。Serverless 是典型且彻底的云原生的架构、产品或应用。云函数是现有计算资源的最小单位,具备彻底自动、一键部署、高度可扩展等特色,是轻量级服务部署很是好的选择。小程序

那么,什么是Serverless呢?Serverless是云计算发展的一个新阶段。在这个阶段开发者再也不须要关注服务端(Serverless),正如小程序开发者再也不须要关注客户端(clientless)同样,Serverless的开发者一样也不须要关注服务端架构是什么。服务器

下面咱们从时间线上介绍一下Serverless时代是怎样到来的。微信

在前云计算的时代,每一个公司都须要本身购买独占的服务器。在这个年代里,全部的基础设施都要自建,成本很是的高。而且因为独占一整台物理服务器,资源的利用率也不高,业务上线也很是的慢,对于扩容反映也很是迟钝。好比大促来以前须要提早几个月购买一批服务器,大促完了之后,可能须要通过一年的业务发展才能将这批服务器给利用起来。除了开发人员之外,还须要雇佣大量的运维人员,人员花费也很是高。网络

IaaS的到来,表明着云计算时代的开启,公有云厂商开始经过虚拟机的形式售卖其计算资源。用户再也不须要购买服务器和牵网线了,只须要在公有云提供的控制台上点一点按钮就有一台一台的虚拟服务器了,业务上线比原来快了一些。可是买的仍是独占的计算资源,购买完了之后这一段时间内这个虚拟机就属于你,若是须要扩容仍是须要再购买一台台的虚拟机。大公司通常都提早先买一大批虚拟机。为了防止有突发的热点和高可用还须要作冗余。资源浪费仍是很严重。架构

到了CaaS的时代,只是部署,和运维变得简单了,一台台虚拟机仍是须要自行提早购买,闲置资源浪费的问题,没有获得根本性解决。less

FaaS的时代,云厂商终于再也不交付一台台物理设备的使用权了。不管是物理机仍是虚拟机仍是容器,云厂商都不直接售卖,而是以一种能力的形式提供计算服务。好比用户将代码包提供过来,云厂商提供扩缩容和高可用的保证,至于底层是怎么运行的,用户再也不须要关注。Serverless在这个阶段开始兴起。运维

FaaS是Serverless发展的重点时期。在前云计算的时代,用户须要先去买服务器,开通网络,安装操做系统,安装运行时,再运行应用代码包;IaaS的时代,须要先申请虚拟机,安装操做系统,安装运行时,再运行应用代码包;PaaS的时代,须要先申请虚拟机,关联PaaS系统,再运行应用代码包。而在FaaS的时代,用户直接提交代码包就能够运行了。就好像如今手机应用商店下载一个应用就可使用,不须要像当年跑到应用的官网,按手机架构下载代码包,拷贝到手机上,再进行安装才能够运行。编辑器

云函数具备5大优点。函数

优点一:有了无服务器云函数以后,咱们能够作到“零”运维,由于交付的单位再也不是虚拟机或者容器了,应用服务器如下的东西用户就碰不到了,云厂商会把这一部分的运维作好。可是“零”是有条件的,由于有业务运维和运维开发云厂商没办法包办。在这样的状况下,用户的运维部门就能够作更精细化的运维专一于业务了。

优点二:毫秒级的部署,由于部署粒度变小了,并且云厂商会提早起计算单元,因此启动的时候只须要将一个函数可能就几十行代码加载到内存,因此部署速度天然快。

优点三:成本将会更低廉。大量的用户的代码都在同一个集群中运行,原来闲置的资源都被利用起来了。至关于共享服务器,因此同一个集群的资源利用率变高了,就至关于更多的用户和你一块儿均摊这一部分计算资源的成本。并且由于用户代码不运行时不收钱,因此对用户来讲也变得更省钱了。

优点四:开发者能够更聚焦于业务逻辑。由于不须要关注操做系统和网络了,代码就只须要关注业务逻辑。

优点五:无穷弹性计算能力,云厂商会提早申请一个超大的集群,通常用户的业务扩容的时候不会存在资源不够的状况。

对于有很是明显波峰波谷的业务,使用云函数是很是划算的。若是使用虚拟机的话,用户可能须要2-3倍最高调用量的独占虚拟机,而且为之付费。可是若是使用云函数,云厂商能够根据请求量来调度出相应的计算资源量来支持业务。请求量降低之后,这些计算资源又会调度给其余用户使用。计费只收使用到的资源。

在 Serverless 技术趋势大热的今天,已经涌现出不少面向开发者的解决方案和工具。目前比较常见的开发工具中,主要分为 CLI 命令行工具以及 IDE 插件这两种形态。虽然展示方式不一样,但本质上都是下降了本地开发 Serverless 项目的门槛,并在云平台提供的基础能力上,封装了更多组织和编排的方式。

腾讯云 Serverless 本地开发工具(SCF CLI)以开源项目的形式维护,目的在于让用户方便的实现函数打包、部署、本地调试,也能够方便的生成云函数的项目并基于 demo 项目进一步的开发。SCF CLI 经过一个函数模板配置文件,完成函数及相关周边资源的描述,并基于配置文件实现本地代码及配置部署到云端的过程。

在开发过程当中,开发者会选取本身熟悉的 IDE 代码编辑器进行代码编写。为了便于更快速直观的进行本地开发和调试,腾讯云 VS Code 插件支持一键调试的能力。首先,能够打开刚建立函数的文件目录,在插件中自动识别这个函数。以后能够经过 F9 进行断点,F5 启动调试能力。函数调试过程当中的输出会打印在 terminal 中,而且支持单步调试,查看变量和堆栈等信息。

除了上述两种工具之外,腾讯云还与Coding合做推出了云端的WebIDE,方便更直观的查看线上的代码。

课程最后展现了3个SCF应用实践的案例,欢迎你们观看完整视频课程

常见问题

Q:云开发和云函数的关系是什么? A:云函数是一个计算的资源,云开发是在云函数的上层装上数据库、COS而推出的一套解决方案。云开发是利用了云函数的计算能力。 Q:无服务器云函数目前支持哪些语言? A:支持多种语言,包括Python 2.7 & 3.六、Node.js 6.10 & Node.js 8.九、Java 八、Php 5 & Php 7,还有一些语言在陆续开发中。


关注官方微信TcloudM【学习君】得到课程推送提醒,更有鹅厂内部独家技术资料等你领取!

腾讯云大学是腾讯云旗下,面向广大开发者的云技术学习平台。腾讯云大学大咖分享每周邀请内部技术大咖,为你提供免费、专业、行业最新技术动态分享。

相关文章
相关标签/搜索