大数跨境
0
0

【云课堂】初探:鹅厂的Serverless实践

【云课堂】初探:鹅厂的Serverless实践 安畅Anchnet
2019-03-19
2


近年,无服务器(Serverless)逐步出现在大众的视野中,受到了越来越多的关注。AWS、Azure、腾讯等云厂商相继推出了相关产品,在这一新的领域不断探索。甚至有人预言:无服务器架构会成为下一代IT基础架构。Serverless究竟是一项怎样的技术?又有着怎样的应用?


什么是Serverless

Serverless(无服务器计算)是指开发者在构建和运行应用时无需管理服务器等基础设施,它以函数为扩展单位,用户只为实际使用的资源付费。具有完全自动、一键部署、高度可扩展等特点。


Serverless有哪些优势

1

低成本

运营成本:Serverless将用户的服务器、数据库、中间件委托于BaaS/FaaS,用户将不再参与基础设施及软件的维护,尤其在大规模的集群运营上成本大幅度降低。


开发成本:对比IaaS或者PaaS平台的服务器或者操作系统,Serverless的架构中,用户操作的是服务化的组件比如存储服务,授权服务等,可以缩短开发周期,降低开发难度。


2

按需计费

Serverless/FaaS区别于IaaS、PaaS等预先分配计算资源的计费方式,其计费方式通常是按请求次数及运行时间,一方面可以最大程度利用资源,另一方面实现真正的按需计费可以降低用户的资源成本。


3

弹性伸缩

Serverless架构一个显而易见的优点即“横向扩展是完全自动的、有弹性的、且由服务提供者所管理”。


4

“绿色”计算

据统计,商业和企业数据中心的典型服务器仅提供5%~15%的平均最大处理能力的输出,本质上这是对社会资源的一种浪费。而在Serverless架构下,提供商将提供更细粒度的计算能力最大限度满足实时需求,资源利用率将大幅度提升,可以认为相对IaaS与PaaS,Serverless/FaaS是一种 “绿色” 计算。


5

NoOps

运维的发展经历了人肉运维,自动化运维,DevOps,AiOps等,而Serverless带来一种新的运维模式,这种模式下用户需要管理的只有Code。



目前,各大公有云厂商都上线了自己的Serverless。如:Google Cloud Functions、Azure Funcions、IBM OpenWhisk、AWS Lambda、阿里云函数计算、腾讯云SCF等。



Severless示例

这里以腾讯无服务器云函数(SCF)来简单展示Serverless的部分功能。


示例背景

客户要求对数量众多的测试环境通过非工作时间进行关机操作,每天早上工作时间提前进行开机。单纯靠人工来进行重复周期性的操作显然是不合适的,但公有云目前没有提供这种对服务器定时开关机操作的产品,只能利用一台具备公网能力的服务器来发起API调用请求。而此时刚好利用Serverless小试牛刀。


创建函数

  • 选择地域创建函数服务


  • 进行函数配置

填写函数名称,选择程序函数运行的环境,选择内存及函数运行的超时时间,最后可以在高级配置内配置函数环境变量,在此我将腾讯云的ak配置在环境变量中以便后续调用。

注意:在配置函数中如果选择VPC,编写的函数是具有出公网调用的能力,对应的VPC需要具备此能力。


  • 编写功能函数代码

此处利用腾讯云CVM的SDK进行了云服务器的停止与开机操作,代码的输入支持在线编程以及本地zip上传和cos上传代码。

注意:如果为本地代码调用的二进制或可执行文件,需要打包一并上传。

完整启动代码(多个CVM可以写入event的json instance列表内)

停止的函数与此一致,其他的重启,停止以及对其他云产品的操作也都可以利用此来完成。


  • 进行在线函数功能测试

可以利用在线函数测试功能,对功能函数进行测试

注意:在线测试的数据格式必须为json格式,其传入为event变量中。


  • 创建触发方式

目前腾讯云支持图中的四种触发方式,在此示例中适用于定时任务进行触发。

定时任务可以选择自定义配置,和Linux下的crond服务器配置一致。

注意:定时任务形式触发不会传入event变量,需要自己函数内部指定,在创建函数配置时进行变量配置。


查看日志

  • 函数返回值部分将显示运行结果,还将显示代码中 return 语句返回的函数执行结果。

  • 运行信息部分将显示函数运行的时间、内存等信息。

  • 日志部分将显示函数运行时生成的日志,包括用户代码中的打印语句、函数运行失败trace stack等,将会写入至日志模块。



此次只是最简单的SCF试用,Serverless在快速迭代的业务场景中具有很好的适用性,它能有效的对业务进行拆分,使得分工更加精细,效率得到提升。



长按指纹

关注安畅




【声明】内容源于网络
0
0
安畅Anchnet
安畅Anchnet是中国市场领先的云与AI托管服务商(Cloud&AI MSP),致力于帮助客户利用云与AI实现数字化转型创新。 目前正服务于零售、制造、大健康等各行业的3000多家企业级客户。
内容 355
粉丝 0
安畅Anchnet 安畅Anchnet是中国市场领先的云与AI托管服务商(Cloud&AI MSP),致力于帮助客户利用云与AI实现数字化转型创新。 目前正服务于零售、制造、大健康等各行业的3000多家企业级客户。
总阅读390
粉丝0
内容355