Serverless与小程序:基于人工智能的相册小程序

4
腾讯内部独家SCF资料包
1
基于人工智能的相册小程序- 课程PPT
4
腾讯产业互联网学堂热门学习路径,0基础上手
  • 1
    关注“腾讯产业互联网学堂”公众号加群互动有好礼相送
  • 2
    向学习君回复口令 “SF”
  • 3
    获得课程福利包
腾讯产业互联网学堂微信公众号
“腾讯产业互联网学堂”微信公众号

讲师简介

刘宇

腾讯云 Serverless 研发工程师

Serverless Framework 社区核心贡献者,参与开发贡献 tencent-scf/cos/website/cam/apigateway 等 Component,著有国内首本 Serverless 技术书籍《Serverless 架构:从原理、设计到项目实战》。

简介

随着Serverless架构的不断火热,Serverless架构也是在多种行业开花结果。与人工智能结合,通过小程序实现一个相册小工具的实例来源于真实需求,我们通常会有很多照片,当我们想要找某张图片的时候,我们能做的就是定位到大致的时间点,然后肉眼进行检索,这也是目前我们常用的找照片方法,该小程序将会通过人工智能技术,通过Image Caption实现了图片的描述功能,将图像转为文字,存储到数据库中,当用户想要找图片时,只需要输入文字描述,即可通过自然语言技术,从图像列表中找到相似度最高的一部分作为结果,返回给用户。希望通过这样一个例子,让大家可以对Serverless架构有更深入的理解,该实例包括COS触发器、API网关触发器,使用了COS以及CDB作为存储,使用了腾讯云API、腾讯云AI等产品对其进行赋能。

课程讲义

本课程为腾讯云无服务器云函数Serverless 直播系列教程的第2期。

课程大纲

  • 1. 前言与需求分析
  • 2. 后端功能编写
  • 3. 前端功能编写
  • 4. 测试与发布

Serverless和小程序,是目前比较主流和热门的技术,有不少技术人也想往这两个方向发展,腾讯产业互联网学堂邀请了腾讯研发工程师刘宇。刘宇讲师作为一名后台研发,此前对于小程序编写的经验几乎为零,但是随着Serverless架构与人工智能技术结合的真实需求增多,他也开始接触小程序编写。以下是我们整理的刘宇讲师的直播课分享。

目前有的人已经很了解Serverless这个技术了,但有的人可能还是一脸茫然,刘老师首先通过一个例子来向大家阐述了他心中的Serverless。

如果我们要做一个网站,传统情况下如图一,我们要开发项目,把项目放到服务器中,这里面服务器中可能涉及路由规则、鉴权逻辑以及其他各类复杂的业务代码。同时,开发团队要付出很大的精力在这个服务器的运维上面,包括客户量突然增多时是否需要扩容服务器;服务器上的脚本、业务代码等是否还在健康运行;是否有黑客在不断地对服务器发起攻击。

但是建立在Serverless架构上,之前需要开发团队维护的路由模块以及鉴权模块都将接入服务商提供的API网关系统以及鉴权系统,开发团队无须再维护这两部分的业务代码,只需要持续维护相关规则即可。同时,业务代码也被拆分成了函数粒度,不同函数表示不同的功能。在这个结构下,我们已经看不到服务器的存在。

Serverless的目的是让使用者只关注自己的业务逻辑即可,一部分安全问题,资源调度问题(例如如何应对用户量突增、如何实现自动扩容等问题)全都交给云厂商负责。传统项目无论是否有用户访问,服务都在运行中,都有成本支出,而Serverless架构,只有在用户发起请求时,函数才会被激活并且执行,节约了成本。

这样我们能够看出Serverless由两部分组成,一部分是周边的这些基础设施,或者是底层服务;另一部分是函数,可以认为是在线编写代码,可以在线运行的一个函数平台。

对于用户和开发者而言,Serverless架构有降低人力成本和风险,减少资源开销,增加缩放灵活性,缩短创新周期等优点。使用Serverless架构,用户不需要自己维护服务器,也不需要操心服务器的各种性能指标和资源利用率,而是可以付出更多的时间和精力去关注应用程序本身的状态和逻辑。同时Serverless应用本身的部署十分容易,我们只要上传基本的代码即可,例如Python程序只需要上传其逻辑与依赖包,C/C++、Go等语言只需上传其二进制文件,Java只需要上传其Jar包等,无须使用Puppet、Chef、Ansible或Docker来进行配置管理,这大大降低了运维成本。

对于运维来说,Serverless架构也不再需要监控底层的数据,例如磁盘使用量、CPU使用率等,我们可以更加专注地将监控目光放到监控应用程序本身的度量。在Serverless架构上,运维人员的工作角色会有所转变,部署将更加自动化,监控将更加面向应用程序本身。

接下来,说一下什么是小程序。小程序可以跨平台,我们可以通过简单的代码,实现一个和原生类似的跨平台运行的APP,无论是安卓还是ios都能轻松使用。

我们通过非常简单的几个步骤就可以开发出一个APP,哪怕不会安卓和iOS,甚至你可以只会前端,或者只会后台,你就可以开发一个和原生APP体验类似的小程序。小程序背后是数亿的用户群,只要你足够优秀,就可以撬动这个庞大的群体。小程序不仅仅在开发层面让我们看到了新的世界,在运营层面也带给我们了新的感受。

小程序和Serverless结合有什么火花呢?讲师认为二者结合能让开发者更专注,更便利。

刘宇讲师还在直播课中演示了如何编写云函数和小程序,相册小程序的编写由于时间关系,无法当场实现,但讲师开放了相册小程序的开源地址。

在日常生活中,我们经常会遇到搜索照片的情况,尤其是当寻找过去很久的图片,记忆中仅剩下零散记忆的时候,我们检索照片的方法通常是定位到大致的时间,然后一张一张地去查看,但是这种做法效率低下,还经常会漏掉我们的目标图片,所以这个时候,就迫切需要一款可以搜索图片的软件,即我们可以通过简单的文字描述,实现图片的快速检索。

总的来说,通过Serverless架构,我们可以很便利地做出后台服务、监控告警服务,甚至和人工智能进行组合。Serverless架构,尤其是腾讯云的云函数,不仅可以用来做外部的后台服务、小程序的后台服务、定时器和脚本,还可以用来做大数据处理和人工智能的一些算法。

全部评论
讲师/助教

评论

直播日历