Google事件驱动无服务器平台Cloud Functions正式上线了!

Google在Next 2018大会上发表的服务,近日逐渐正式上线,继无服务器NoSQL数据库Cloud Firestore已正式推出后,Google主打的事件驱动无服务器运算平台Cloud Functions也正式上线了。
Cloud Functions是Google在2017年就对外发布的测试版服务,提供Node.js Runtime,还有像是HTTP/S等重要功能,让使用者部署功能后,就能直接呼叫使用。而现在Google宣布Cloud Functions已正式上线,已经提供SLA能够投入生产,服务地区增加欧洲和亚洲。这次发布Google将Cloud Functions操作系统升级到了Ubuntu 18.04 LTS,扩大了可用函式库的范围,除了Imagemagick一直都有外,还多了Ffmpeg和Libcairo2系统函式库,连无头Chrome也有,使用者不只可以在Cloud Functions中处理影片,甚至还能进行网页截图。
现在可以在Cloud Functions使用拥有异步功能的Node 8,由Cloud Functions提供资料与上下文内容,使用者可以使用Node 8的Await关键字功能,等待异步操作的结果,驱动Cloud Functions的功能,而这样的形式为异步操作提供更好的心智模型。另外,在Cloud Functions上也可以使用Python 3.7,用法与Node相同,透过HTTP请求由Cloud Functions为后端提供资料与上下文内容,且由于Python的HTTP功能基于Flask微框架,可以非常快速的启动执行。
而Cloud Firestore也与Cloud Functions整合良好,借助Firebase功能和HTTPS请求触发的事件Cloud Functions使用者可以让后端程式码自动执行。而这个版本已经完全支援Node 8,包括ECMAScript 2017以及Async/Await等相关功能,同时也能对Runtime进行更精细的控制,包括区域、内存或是超时等条件,让使用者微调应用程序的行为。诸如分析、Firestore、即时数据库与身份验证等Firebase事件,也能直接在GCP上的Cloud Functions控制台中使用,使用者透过GCP专案直接驱动功能以回应Firebase事件,将为应用程序带来额外的设计灵活性。
使用者还能设置Cloud Functions环境变数,透过指定和功能绑定,但不存在于源代码的键值与资料,传递设定到功能中,而环境变数会在执行期间注入到环境中。另外,Cloud Functions现在也可以使用完全托管的安全直接连线,连接Cloud SQL。
不过,Cloud Functions仍然有许多功能还未开放使用,但想尝鲜的使用者已经可以申请试用。像是让使用者控制规模的扩展控制目前在Alpha测试阶段。而无服务器排程功能也还在测试,该功能将能让使用者在指定时间启动Cloud Functions功能,这对于每日例行工作特别有用。还有,Cloud Functions将能存取运算引擎虚拟机器,并加入IAM安全性控制。
而在不久后,使用者也可以用到无服务器容器,Google将提供支援Cloud Functions底层的架构,让使用者只要输入Docker映像档,就能在任意Linux发布版上,部署任意的Runtime以及系统函式库,同时保留与Cloud Functions相同的无服务器特性。
