2019独角兽企业重金招聘Python工程师标准>>>

欢迎大家前往云+社区,获取更多腾讯海量技术实践干货哦~

作者:黄文俊,腾讯云高级产品经理,曾经历过企业级存储、企业级容器平台等产品的架构与开发,对容器、微服务、无服务器、DevOps等都有浓厚兴趣。 由 腾讯云serverless团队 发布在 云+社区

本文整理自1月20日腾讯云微服务架构交流会。

Serverless是一个比较新的概念,2017年开始在行业内兴起,边缘计算则是一个更新的技术。那么Serverless在边缘计算中能产生的什么样的效果、产品以及形态并推进出来在大家面前呢?今天来为大家分享一下。

首先讲讲Serverless是什么?

下面这张图可以很清晰的看到,Serverless从架构上可以分成两部分。

  • 一是Backend as a Service,后端即服务,腾讯云上目前已经提供很多这类产品,例如COS对象存储、CMQ消息队列、CDN内容分发、CDB云数据库、API网关,这些产品更多的是承载数据的存储。
  • 二是Function as a Service,函数即服务,也是Serverless比较核心的技术点,腾讯云云函数就属于这种。

从Serverless或者云函数来看,更多是对用户的计算进行托管。用户将代码和配置提交到云函数平台上,此处的代码是指用户的一份代码或者代码包,配置,一个是指本身对于函数运行环境的配置,使用的是哪种环境、所需的内存、超时时间等;另一个是触发器的配置。因为整个函数即服务的运行方式是触发式运行,触发就需要有一个事件来源,而事件来源是和腾讯云其他产品进行关联后而产生。例如COS对象存储产品,它的关联就在COS的存储桶中,当用户上传一张图片或者删除一张图片时,就会产生一个事件,这个事件会触发云函数的运行;例如和API网关的对接,也可以作为事件来源,在用户的HTTP请求到达网关之后,API网关会把该请求作为事件转发给云函数,触发云函数的运行,云函数拿到请求之后进行处理,生成响应给到用户。

上图左侧,是代码和配置提交到云函数平台进行保存,真正事件产生后,针对每一个事件都会拉起一个函数实例,实现触发式运行;真正事件来临时,用户函数才会运行,用户代码运行时才有云函数代码的数据运算和费用计算。

因为函数本身是托管型的,用户本身无法感知到实例在哪里运行。云函数平台背后有个大的计算资源池,用户实例触发之后,我们会从资源池中随机选取可运行的位置,把用户的函数实例在对应位置上跑起来。因此整个调度过程,或者事件来临之后的函数扩缩容过程,都是由平台进行的。对用户来说,调度的粒度更细了,而且调度也都托管给平台了。

而从整个的计算过程来说,为什么会有这种产品的出现?对于传统的数据存储过程来说,数据产生后,更多会先把数据进行缓存或者存储,如以对象存储文件的形式保存,或者数据库中以结构化形式存储下来,再进行分析应用。有了函数服务产品后,我们可以有很大的加速,可以在事件产生的时候就立刻对数据进行处理,因此就变成了先处理,再对结果进行保存使用的过程。

那么,还能不能缩短中间数据产生到数据处理的传递过程?

对于传统应用来说,数据在用户那里产生,传到云上进行处理,再进行相应的存储。这里说的缩短距离实际是把处理过程更加靠近用户,靠近用户就可以认为是边缘计算的过程。并且这里的靠近用户指的并不是加速网络速度,而是更多把计算下发,放到更靠近用户的位置。

之前无论使用容器也好,或者使用主机也好,运算能力都是在云上提供,而边缘计算要做的事情是把运算能力下发到云之外去。

边缘计算的理念,就是把计算能力下发更靠近真正的用户,更加靠近设备这一端。

为什么会有这种需求的产生?

随着互联网以及物联网的迅速发展,接入的用户越来越多,设备也越来越多,在这种情况下,产生的数据量也越来越多。无论是个人用户,还是物联网接入设备,每时每刻都在产生大量的数据。数据不断增多的情况下,也同时要求我们对于用户的响应、设备响应越来越快,本身设备的计算能力也要越来越强。

10年前的一台PC都比不上现在一台智能手机的处理能力,设备的计算能力在越来越强的情况下,实现了把计算能力下发到更加边缘的位置的能力。

云函数目前在做的探索,从两方面出发。一是物联网方向,物联网主要是和设备打交道,实现设备上的边缘计算;从云函数本身的特点来讲,它属于触发型运算,真正数据产生之后才会拉起运算。云函数交由平台托管的调度,可以把云函数调度到用户设备上去,二把云函数调度到CDN的节点上去,虽然CDN可以认为是云的一部分,但CDN本身已经很靠近用户,CDN节点实际上已经在云的边缘。

接下来给大家做一个和物联网相关的效果演示。

先简单介绍一下几款设备,第一个是树莓派,熟悉物联网的同学一般都了解;第二个是光感的传感器,可以感测环境光,从中读取到环境光的流明值;第三个是LED灯。

目前这个设备已经跑起来了,它所做的事情是当环境光足够亮的情况下,LED灯就会暗掉,当环境光足够暗的情况下,LED灯会亮起来。演示过程可以看到,当我把光感器遮盖的时候,LED灯有一个亮起来的动作。目前的环境光和背景足够亮,当我打开的时候,因为光足够亮,所以LED灯会灭掉。

针对这个代码我做一个解释。首先大家可以看到目前在树莓派上跑的一段函数,已经下到树莓派上跑了,在网上看到的是线上的代码。接下来我会对代码进行修改,从代码中大家可以看到,当从传感器中读出的流明值足够大的时候,GPIO做拉高或者拉低的动作,目前是正常的表现。

刚刚我完成了一个修改,现在我要把代码下发到仪器上运行,同时把这里拉起,查看数值是否正确。下面不断刷新的就是传感器出来的流明值,目前传感器已经变化了,因为大家可以看到这个数值已经超过了200,LED灯是亮着的,当我把感光器遮盖以后,LED灯变暗,这是通过代码把行为做了反转的变化。

我们在目前的调试过程中也会做实际的设备调试,这里演示的就是真正把云函数下放到物理设备上进行执行的效果。

接下来讲的是目前云函数和用户协同推进的AI能力,用户数据只要在云上利用CVM、GPU服务器、腾讯TML机器学习,进行AI训练,得出相应的训练后模型,再把模型和外围的导入代码进行打包,放入云函数,或者是带有GPU的云函数,就可以对外提供AI的推理能力。用户真正使用AI的时候,从外面送过来一段用户需要推理的语音、文本或图像,在云函数中拉起训练模型,就可以对这段数据进行推理。

AI能力表面上看起来和边缘计算没有关系,其实不然。如果本身已经在物联网的边缘设计上具有了云函数的执行能力,那么是不是可以进一步考虑把AI能力下发到设备上去的,比如我们在云中进行数据的收集和训练,生成模型之后,利用模型更新云上的函数,然后可以利用一键下发把这种能力下发到设备中,使设备具备更强的AI能力。

通过这种方式可以让更多的设备接入AI能力,比如让家里的摄象头直接识别人脸,认识你的家人,或者让更多的医疗设备直接对医疗检查结果做出判断,识别疾病类型等。这些都将会是后期持续和各个物联网厂商进行摸索,往前推进的过程。

另外一个角度来说,我们为什么做CDN的边缘计算?CDN本身是把数据放到边缘去的一个过程,而边缘计算是为了把计算放到边缘去。为了更快的响应用户的操作需求,对于边缘传上来的数据进行更快的处理,这也是云函数对于边缘的探索。

对于边缘计算来说,云函数要做到的就是用户在云中能完成函数的编写、管理,在所需的位置把云函数下放各个位置运行和使用。

云函数未来在边缘计算中还会有大量的探索机会,CDN厂商、物联网厂商、硬件厂商等都将会有持续不断的合作发展,去探索尝试将边缘的物联网能力、边缘的AI能力、边缘CDN能力落地。

Q&A

Q:腾讯云Serverless可以自己部署吗?

A:自己部署有分两种,一种是把云函数部署到设备上的能力,一种是Agent的部署。Agent本身是需要用户自行部署到用户自有的设备上去的。而今天演示用的是树莓派,Agent不局限于树莓派,它可以在更强的服务器中运行,比如可以用到设备的GPU、设备的存储、文件等进行分析计算。

Q:我们想在自己内部部署一个类似的Serverless,腾讯云可以支持吗?

A:您说的是私有化部署,云函数本身没有考虑,腾讯云云函数管理整体是在云上的,边缘计算提供更多的是边缘的调度和计算能力,函数在云上配置后,调度到设备上运行,云函数本身对于设备上的数据读取全部由自己控制,读取不用走网络,因为执行的代码包已经下发到设备上去了,体现的是让计算更加靠近数据的理念。

Q:如果提前设置好代码下发到设备上去,AI也可以断网吗?

A:对,代码运行在你的设备上。两种情况,一种是我刚才演示的物联网的边缘计算。本身的代码包装下发到设备之后,在设备上运行,断网没有关系。 云函数本身也提供AI能力,在云上提供,所以在云上运行。 对于AI,云上产品化的速度会更快,目前腾讯云已经在为部分客户进行支持,云上的相关操作说明后续也会提供出来,大家可以在线体验AI能力。

Q:针对IoT这块腾讯云发布了没有?

A:这个还没有发布,还在产品化,目前也是和一些客户协同推进这个能力,物联网设备各种各样,包括底层的硬件环境,比如树莓派的ARM,或者X86,或者mips等平台,对于Linux里的内核功能,文件系统的支持,对于存储、内存、CPU的要求也在整理中。

Q:云函数能够被用于传统应用吗?

A:云函数的特性因为本身是触发式运行,短暂运行的方式,所以和传统的很多开发单体的运行方式不太一样,更多是偏向于新业务开发,或者是小的新业务上线,或者急需要弹性应用能力的使用,传统的可以做改造,但是到时候需要提供一些改造的建议。 效率提升更多是在业务开发的速度上,实际上对于业务运行环境不用再过多做运维性的动作,对于扩缩容也不用考虑,业务开发之后就可以上线,运维交给平台,扩缩容能力也是交给平台,为用户减轻压力,业务用量上来之后怎么承载业务,怎么保证业务不崩溃,云函数已经解决了这个问题,本身的扩容可以理解为无限能力的扩容。

Q:Serverless在线能力有没有额外的规划?Serverless的程序和代码能不能访问云主机上面的接口?

A:目前有在做很多,包括边缘计算、CDN以及和腾讯云的各种云产品打通,Serverless本身最大的价值在于和各个云产品打通之后的效能,可以认为是各个云产品之间的黏合剂或者是轻量级计算的联合。而和后端的对接,包括数据库、CVM直接打通,更多是网络上的问题,即将会推出和VPC网络的打通,用户VPC业务可以用云函数直接访问。

相关阅读

使用腾讯云“自定义监控”监控GPU使用率

如何在Python中从零开始实现随机森林

自然语言处理的神经网络模型初探


此文已由作者授权云加社区发布,转载请注明文章出处

转载于:https://my.oschina.net/qcloudcommunity/blog/1625277

腾讯云微计算实践:从Serverless说起,谈谈边缘计算的未来相关推荐

  1. 腾讯云微搭入选国际权威研究机构Forrester《2021年低代码平台中国市场现状分析报告》

    11月12日,全球权威研究机构.「低代码」概念提出者 Forrester 发布了<低代码平台中国市场现状分析报告(The State Of Low-Code Platforms In China ...

  2. 深入解读腾讯云微搭低代码的技术架构

    腾讯云微搭低代码是高效.高性能的企业级低代码平台.帮助开发者快速搭建支持多种业务场景的小程序.H5.PC WEB应用,通过简单的拖拉拽操作,而不用编写复杂的代码,实现少写代码或者不写代码,就能快速高效 ...

  3. 日调度5万亿次,腾讯云微服务架构体系TSF深度解读

    http://www.infoq.com/cn/news/2018/02/deep-interpretation-TSF-cloud-mi 写在前面 当前,传统企业的IT系统以单体架构为主,在面对互联 ...

  4. 日调度5万亿次 腾讯云微服务架构体系TSF深度解读

    点击关注 InfoQ,置顶公众号 接收程序员的 8 点技术早餐 1 写在前面 当前,传统企业的 IT 系统以单体架构为主,在面对互联网业务的冲击时,系统架构的性能瓶颈逐渐显现.云计算.Docker.D ...

  5. 最佳实战 | 如何使用腾讯云微搭从0到1开发企业门户应用

    应用功能模块概述 企业门户应用一共由五个页面构成,并且不同的页面具备不同的功能模块,如下图所示: 应用展示 企业门户应用主要功能为企业动态.企业信息的展示,应用详情图如下: 应用数据源设计 数据模型创 ...

  6. 前端低代码平台腾讯云微搭使用文档

    腾讯云微搭 调研报告 之前作者有写过一个同类低代码平台调研报告 H5-Dooring 点击查看,这次我们去尝试使用腾讯系低代码平台,文中也会增加两者之间的差异对比和使用体验上的区别. 1. 简介 1. ...

  7. 解决企业数字化“历史遗留问题”,低代码具备天然优势 | 专访腾讯云微搭骆勤

    据Gartner机构预测,到2025年,企业70%的新应用将会通过低代码或者无代码技术进行开发.还有数据显示,2020年中国的低市场规模已经达到19亿元,而到2024年,低代码市场将达到百亿量级. 左 ...

  8. (15)腾讯云微搭:云开发为底层支撑的低代码应用/表单开发平台

    文章目录 一. 实验平台--腾讯云微搭 二. 项目功能与实现 1.3个数据模型 (1) 我的课程 (2) 任务清单 (3) 成绩单 2.2个通用选项集 (1) 星期 (2) 周数 3. 组件功能 (1 ...

  9. 内蒙古包钢钢管:用腾讯云微搭搭建企业门户网站,开启传统企业数字化转型之路

    包钢钢管厂研发负责人: 作为一个国有的钢管厂企业,我们需要一个简单便捷.快速高效的搭建工具,联通我们的员工和客户,而微搭就是这样一款工具,它与微信和企业微信原 重庆干部培训 www.hbganxun. ...

最新文章

  1. 面试题6--利用前序和中序遍历重构二叉树--递归方法
  2. html文件修改后缀为aspx之后在ie6中格式显示不正确问题的解决办法
  3. Shell脚本编程01:基础知识
  4. oracle结果集过大,多重子查询/大结果集查询问题
  5. Mybatis+Tomcat使用JNDI配置数据源入门
  6. 腾讯笔试:把两个数和告诉A,积告诉B,求这两个数是什么
  7. MATLAB矩阵合并
  8. 格力董明珠和小米雷军的10亿赌局 --- 当年的理念谁赢谁输
  9. php洗车分销系统_全国首个PHP宝塔IDC分销系统
  10. hive表级权限控制_hive权限控制(一)
  11. Lab: Username enumeration via different responses:通过不同的响应来验证用户名是否正确复盘
  12. 树莓派+android+盒子,树莓派3安装Android TV系统图文教程
  13. H263、H264和3GPP、MPEG4是什么关系
  14. Linux tar 命令 将归档内指定文件解压到指定目录
  15. 口袋之旅html5超强账号,口袋之旅好号和密码
  16. Matlab的D算法
  17. python网址正则表达式_python正则表达式抓取图片地址为什么要这样写?
  18. pcb上钽电容丝印图_avx钽电容的丝印与代码
  19. 5.4呈献:HP-Socket v5.3.1 支持 Android NDK
  20. 有铅喷锡和无铅喷锡的选择

热门文章

  1. 关于学习Mongodb的几篇文章
  2. 【转】NGUI研究院之三种方式监听NGUI的事件方法(七)
  3. 第二层EtherChannel
  4. Discuz! member.php xss bug
  5. 物联网网关市场预计到2026年将增长21.5亿美元
  6. mysql错误日志/var/log/mariadb/mariadb.log,二进制日志
  7. system.DateTime ToDateTime(System.String)”,因此该方法无法转换为存储表达式-解决方法...
  8. spring boot 打包jar,jar没有主目录清单
  9. html2canvas如何在元素隐藏的情况下生成截图
  10. 如何创建高效的业务连续性计划