Serverless和小程序,是目前比较主流和热门的技术,有很多技术人也想往这两个方向发展,腾讯云大学邀请了腾讯研发工程师刘宇。刘宇讲师做为一名后台研发,此前对于小程序编写的经验几乎为零,可是随着Serverless架构与人工智能技术结合的真实需求增多,他也开始接触小程序编写。如下是咱们整理的刘宇讲师的直播课分享。前端
目前有的人已经很了解Serverless这个技术了,但有的人可能仍是一脸茫然,刘老师首先经过一个例子来向你们阐述了他心中的Serverless。ios
若是咱们要作一个网站,传统状况下如图一,咱们要开发项目,把项目放到服务器中,这里面服务器中可能涉及路由规则、鉴权逻辑以及其余各种复杂的业务代码。同时,开发团队要付出很大的精力在这个服务器的运维上面,包括客户量忽然增多时是否须要扩容服务器;服务器上的脚本、业务代码等是否还在健康运行;是否有黑客在不断地对服务器发起攻击。算法
可是创建在Serverless架构上,以前须要开发团队维护的路由模块以及鉴权模块都将接入服务商提供的API网关系统以及鉴权系统,开发团队无须再维护这两部分的业务代码,只须要持续维护相关规则便可。同时,业务代码也被拆分红了函数粒度,不一样函数表示不一样的功能。在这个结构下,咱们已经看不到服务器的存在。小程序
Serverless的目的是让使用者只关注本身的业务逻辑便可,一部分安全问题,资源调度问题(例如如何应对用户量突增、如何实现自动扩容等问题)全都交给云厂商负责。传统项目不管是否有用户访问,服务都在运行中,都有成本支出,而Serverless架构,只有在用户发起请求时,函数才会被激活而且执行,节约了成本。安全
这样咱们可以看出Serverless由两部分组成,一部分是周边的这些基础设施,或者是底层服务;另外一部分是函数,能够认为是在线编写代码,能够在线运行的一个函数平台。服务器
对于用户和开发者而言,Serverless架构有下降人力成本和风险,减小资源开销,增长缩放灵活性,缩短创新周期等优势。使用Serverless架构,用户不须要本身维护服务器,也不须要操心服务器的各类性能指标和资源利用率,而是能够付出更多的时间和精力去关注应用程序自己的状态和逻辑。同时Serverless应用自己的部署十分容易,咱们只要上传基本的代码便可,例如Python程序只须要上传其逻辑与依赖包,C/C++、Go等语言只需上传其二进制文件,Java只须要上传其Jar包等,无须使用Puppet、Chef、Ansible或Docker来进行配置管理,这大大下降了运维成本。架构
对于运维来讲,Serverless架构也再也不须要监控底层的数据,例如磁盘使用量、CPU使用率等,咱们能够更加专一地将监控目光放到监控应用程序自己的度量。在Serverless架构上,运维人员的工做角色会有所转变,部署将更加自动化,监控将更加面向应用程序自己。app
接下来,说一下什么是小程序。小程序能够跨平台,咱们能够经过简单的代码,实现一个和原生相似的跨平台运行的APP,不管是安卓仍是ios都能轻松使用。less
咱们经过很是简单的几个步骤就能够开发出一个APP,哪怕不会安卓和iOS,甚至你能够只会前端,或者只会后台,你就能够开发一个和原生APP体验相似的小程序。小程序背后是数亿的用户群,只要你足够优秀,就能够撬动这个庞大的群体。小程序不只仅在开发层面让咱们看到了新的世界,在运营层面也带给咱们了新的感觉。运维
小程序和Serverless结合有什么火花呢?讲师认为两者结合能让开发者更专一,更便利。
刘宇讲师还在直播课中演示了如何编写云函数和小程序,相册小程序的编写因为时间关系,没法当场实现,但讲师开放了相册小程序的开源地址。
在平常生活中,咱们常常会遇到搜索照片的状况,尤为是当寻找过去好久的图片,记忆中仅剩下零散记忆的时候,咱们检索照片的方法一般是定位到大体的时间,而后一张一张地去查看,可是这种作法效率低下,还常常会漏掉咱们的目标图片,因此这个时候,就迫切须要一款能够搜索图片的软件,即咱们能够经过简单的文字描述,实现图片的快速检索。
总的来讲,经过Serverless架构,咱们能够很便利地作出后台服务、监控告警服务,甚至和人工智能进行组合。Serverless架构,尤为是腾讯云的云函数,不只能够用来作外部的后台服务、小程序的后台服务、定时器和脚本,还能够用来作大数据处理和人工智能的一些算法。