轻松玩转Serverless,4步接入小米函数计算!
小米函数计算:事件驱动的完全托管的无服务器计算服务,已于11月17号上线小米生态云AWS北京区域。
小米函数计算:以事件为驱动的无服务器计算服务。
开发者无需购买和管理服务器,而只需使用平台支持的语言编写核心代码,经过简单几步即可在函数计算平台上弹性、安全地运行代码。函数计算平台完全管理底层计算资源,包括服务器 CPU、内存、网络和其他配置。
无需担心负载过重时函数的性能,函数计算平台会根据负载进行弹性伸缩。代码按需运行,空闲时不收费。使用函数计算将帮助开发者免除所有运维性操作,使开发者更加专注于核心业务的开发,实现快速上线和迭代,把握业务发展的黄金时期。
(1)无需运维。开发者只需要开发核心的业务逻辑,即可上线运营。
(2)动态扩容。根据负载动态扩缩容,扩容的粒度是函数。
(3)按需付费。按照实际调用次数与时长计费,节约成本。
上图中,最左边是一系列的事件。事件包括移动端发出的http请求,FDS的存储桶发生改变,数据库的数据发生变化,也包括定时任务以及与智能语音相关的技能被触发等。
图中UI/CLI,是指用户和函数计算系统交互的接口,用户通过UI/CLI可以创建、管理函数,也可以手动触发函数进行测试。测试结果以及日志、监控都可以通过UI查看。
图中中间部分是系统的核心,资源的调度、函数的运行时、函数的动态扩容以及资源销毁都是在这个部分实现的。事件通过触发器和函数关联起来,系统检测到事件发生的时候,就会运行触发器对应的函数,函数可能是python2、python3编写的,也可能是golang编写的。目前系统支持python2和python3,但是能很方便地扩展到其他语言的支持。为了隔离和安全性,函数最终运行在容器当中。为了提高函数的响应速度,系统根据不同的运行环境提供了对应的容器缓冲池。
目前,函数计算可以应用到定时任务、FDS中,智能语音技能、MapReduce将在不久后实现,具体场景如下:
1、定时任务。开发者可以指定一个固定频率,比如每分钟或者每小时触发函数,也可以指定一个Cron表达式,在指定时间内触发函数。
2、FDS。当有数据上传到FDS的存储桶时,可以触发预定义的函数,处理相应的业务逻辑,比如生成缩略图、进行文件转码、预处理、内容校验等。
3、智能语音技能。用户可以通过语音和设备进行交互,由小爱负责处理和理解语义,找到相应的意图,从而触发对应的函数。
4、MapReduce。一些数据处理系统中,常常需要周期性地处理庞大的数据量,比如进行字数统计,使用函数计算可以同时并发执行多个mapper和reducer函数,可以大大提高效率和节约成本。
开发者使用函数计算步骤非常简单。
首先,开发者使用自己熟悉的编程语言(平台支持的)进行编码,然后把代码包装成函数计算平台要求的格式。
接下来,选择和开发语言相对应的运行环境。
然后,上传代码。可以通过控制台编辑代码,也可以将所有依赖和代码打包成 ZIP 上传。
最后,配置触发器。和函数相关联的事件,比如FDS、定时任务等。剩下的事情比如当事件发生的时候运行函数,运行结束时销毁资源,当负载增加时动态扩容,这些事情均由函数计算平台本身负责。
具体使用指导戳左下方“阅读原文”。
偷偷告诉你,函数计算将在2017MIDC·小米生态云技术论坛提供现场技术支持,欢迎来交流。
推荐阅读