自从2014年亚马逊推出云计算Lambda服务以来,无服务器(Serverless)一词越来越热,已经慢慢演变成两个趋势,即无服务器架构(Serverless Architecture)和功能即服务(FaaS)。作为一种原生于公共云的架构,无服务器计算并不是真正的“无服务器”,而是立足于云基础设施之上建立新的抽象层,从而保证开发者无需再为服务器乃至云中的各类虚拟资源分神。
和传统构架相比,用Serverless架构改写的AI应用具有显著的优势。
首先我们不再运维任何云主机和操作系统,只需要专注于代码本身,所有配置、应用生命周期管理的工作都由FaaS框架负责。公共云的出现让我们从物理硬件管理中解放出来,而Serverless架构则让我们进一步从操作系统管理中解放出来,第一次真正专注于核心业务。
同时业务也变得更加敏捷。只需要编写核心业务相关的代码,例如AI应用中图像识别的部分。无需编写任何加载、部署、配置应用的代码。
水平扩展也将不再是问题。FaaS框架会为每一个事件、每一个API请求都启动一份新的进程执行代码。而且安全也能得到很大的保障,由于该组织不再管理服务器,被DDoS攻击(分布式拒绝服务攻击)的威胁性要小得多,无服务器功能的自动扩展功能有助于降低此类攻击的风险。
最后,也是最重要的,Serverless架构能节省大量开支。我们只需为AI应用运行的时间付钱,而无需为应用等待请求的时间付钱。并且水平扩展的粒度从原来的云主机细化到进程,节省了额外的开支。业务的敏捷性提高也降低了营运成本,不再需要精通操作系统配置和管理的营运人员,不仅节省了人力成本,也节省了应用从开发到上线的时间。
目前,亚马逊、谷歌、微软和IBM等公司都已经提供了无服务器计算平台,大家都看好这片市场。有报告预测,到2012年,无服务器计算的市场规模将从2016年的18.8亿美元增长到77.2亿美元。
无服务器计算作为一种全新的架构,是云计算发展演化的必然结果,尽管它仍处于起步阶段,但是仍有很大的发展空间。它架构的特点,让编写事件触发的后端小程序变得更加容易。不过它也存在自身内在的局限性,不适合复杂的应用架构。对于飞速发展的云计算,只有适应无服务器,并且适应支撑该技术的文化,这样才能不落于潮流,实现共同发展。