谁还不知道Serverless?
上个月亚马逊云科技 re:Invent大会第一个演讲主题就是它。
每一个新技术概念的引入都伴随着生产力的提高,Serverless指的是一种构建和运行不需要服务器管理的应用程序的概念。
一个很有用的技术,这篇文章带你入门。
当然,腾讯云旗下有很多有趣的产品,限时免费试用机会持续申请中!
私信发送暗号“名额”,即可领取腾讯云旗下多种产品的限时免费试用资格啦。
01 到底啥是Serverless?
如果你的英文挺溜,你可能一眼就能看出来,Serverless这个词就是由Server和less拼在一起的。说白了,它的意思就像是“没有服务器”一样。
平时咱们聊的Serverless,其实主要是指那种不需要自己弄服务器的计算方式,叫做无服务器计算。
可是问题来了,现在连小学生都知道,服务器是那种计算能力超强的电脑,咱们现在算东西主要都得靠它。
那这个无服务器计算是怎么回事?要是不用服务器,咱们该怎么算呢?
其实啊,所谓的无服务器计算,并不是真的就完全不用服务器了,而是对咱们用户来说,服务器就像隐形了一样,咱们感觉不到它的存在。
Serverless的主要目标就是想在云计算的基础上更进一步,把所有的环境工作全都包了,直接给你提供一种计算服务。
在Serverless这个套路里,程序员就只管写代码、上传,然后云平台就会自动搞定一切需要的计算资源,运算完之后直接告诉你结果,这一下就把编程和运维的事儿简化了不少。
换句话说,你根本就不用操心那些复杂的后台操作。
就像是,你只要把食材给Serverless平台就行了,它负责帮你做出一桌好菜,就这么简单。
对于公司来讲,用上Serverless这种计算方式的平台能省不少时间和钱,而且还能释放开发的工作量,让他们去干更有含金量的活儿,而不是整天忙着维护那些基础设施。
再说了,这种方式还能让公司动作更快,嗖嗖地就推出新app和 services,这样客户满意度自然就上去了。
不过Serverless也不是铁板一块,它有它的毛病,所以在真正动手往生产环境里弄之前得好好掂量掂量。
说到底,Serverless可能也只是个过渡性的玩意儿,到底行不行,那就得看时间来检验了。
02 Serverless安装指南
今天讲解的是Serverless的初阶版内容,如果同学们对这项技术很感兴趣,学堂君会继续更新进阶操作指南给你。
当然,如果你通过 NPM 安装Serverless Cloud Framework,相对来说是个不错的选择。
使用 npm 安装前,需要确保你的环境中已安装好了 Node(版本需要 > 12)以及 npm(查看 Node.js 安装指南)
注意:
为保证安装速度和稳定性,建议你使用 cnpm 来完成安装:先下载安装 cnpm,然后将下面所有使用的 npm 命令替换为 cnpm 即可。
serverless-cloud-framework 命令的简写为 scf。
在命令行中运行如下命令:
说明:
如 MacOS 提示无权限,则需要运行sudo npm i -g serverless-cloud-framework进行安装。
如果之前你已经安装过 Serverless Cloud Framework,可以通过以下命令升级到最新版。
安装完毕后,你还可以通过运行scf -v命令,查看 Serverless Cloud Framework 的版本信息:
03 Serverless使用指南
01 操作场景
针对常用框架组件,可以通过 Serverless 应用控制台 快速实现完整的应用开发部署流程。
02 前提条件
在使用控制台部署前,你需要先完成以下权限配置:
1. 主账号授权
(1)登录 Serverless 应用控制台,单击前往授权进入访问管理控制台。
(2)在访问管理控制台的角色列表页,查看 SLS_QcsRole 和 CODING_QCSRole 服务角色是否创建成功。
注意:
如果你已经创建过 CODING_QCSRole,请检查角色拥有权限是否完整,该角色需要基本策略列表如下:
QcloudSLSFullAccess、QcloudSSLFullAccess、QcloudAccessForCODINGRole,如有缺失,请手动添加。
(3) 确定角色与权限都符合要求后,即可开始使用服务。
2. 子账号授权
如果未开通 Serverless 应用中心 和 Coding DevOps 的服务,请先与主账号联系,完成服务开通与角色创建。
03 操作步骤
1. 创建应用
(1)登录 Serverless 应用控制台。
(2)单击新建应用,进入项目创建页面。
(3) 选择应用创建方式,支持应用市场创建和Web 应用创建两种方式,你可以根据自己的实际情况,选择相应的创建方案。
①应用市场创建
如果选择应用市场创建,你可以通过选择控制台提供的项目模板,快速创建一个应用。当前支持模板如下图所示:
②Web 应用创建
如果选择Web 应用创建,你可以通过选择控制台提供的框架模板,快速创建一个 web 应用。当前支持框架如下:
支持框架 | 相关文档 |
Express 框架 | 快速部署 Express 框架 |
Koa 框架 | 快速部署 Koa 框架 |
Egg 框架 | 快速部署 Egg 框架 |
Next.js 框架 | 快速部署 Nextjs 框架 |
Nuxt.js 框架 | 快速部署 Nuxtjs 框架 |
Nest.js 框架 | 快速部署 Nestjs 框架 |
Flask 框架 | 快速部署 Flask 框架 |
Django 框架 | 快速部署 Django 框架 |
Laravel 框架 | 快速部署 Laravel 框架 |
(4)单击下一步,根据页面提示,填写应用基本信息。
(5)单击完成,将为你自动部署应用,你可以查看项目的部署日志。
2. 资源管理
在 Serverless 应用 页面,单击目标应用进入应用详情页,查看项目部署后输出的基本信息、部署日志等,方便你轻松实现项目的管理运维。
3. 开发部署
在应用详情页顶部,选择开发部署 > 更新应用,你可以轻松地实现应用的配置修改与二次部署上传,支持文件夹上传、代码托管、本地开发三种方式。
(1)文件夹上传
你可以通过上传文件夹的方式直接导入本地项目,对于 Node.js 框架,Serverless Cloud Framework 将自动为你创建层,并将依赖包 node_modules 传入层中完成部署。
(2)代码托管
目前支持 GitHub、GitLab、Gitee 和 CODING 的代码仓库地址,也支持公开的自定义代码库,你可以通过选择应用的触发方式,完成应用的自动更新。
(3)本地开发
你可以下载代码到本地,安装 Serverless Cloud Framework 并进行本地开发,构建项目并部署。
来源:公众号【腾讯产业互联网学堂】,关注即可免费领取云计算学习视频、干货资料。