如果你看过有关2017年技术发展的预测,特别是云计算方面的预测,一定对Serverless Computing(无服务器计算)印象深刻。
AWS在2014年推出了第一个大型无服务器计算服务(AWS Lambda),其他云计算巨头也纷纷在2016年开展了自己的Serverless Computing服务。对于Serverless Computing来说,2017年很可能会是收获巨大突破的一年。
事实上,在Gartner推出的“2017年十大战略技术趋势”榜单中,Serverless Computing赫然在列。Gartner将Serverless Computing看作是MASA(the mesh app and service architecture)的重要部分,并解释说,“MASA是一种多通道解决方案架构,利用云计算、无服务计算、容器、微服务、APIs及事件等提供模块化、灵活、动态的解决方案”。Gartner同时提醒到,这将是一个长期的趋势,需要IT采用新的工具和工作方法。
所以,关于Serverless Computing
我们应该知道哪些事?
其实有很多人认为,Serverless Computing一词并不是十分妥当。我们的工作负载仍然在某个服务器上运行着,只不过我们不需要以任何方式部署、配置、维护或管理这些服务器。我们甚至不需要知道所使用VM(虚拟机)的类型和数量。
我们可以把Serverless Computing看作是对于终端用户的IT抽象和简化。虚拟化使用户不在需要知道哪些物理服务器正在运行;云计算使配置变得更容易,但仍需要用户选择VM类型、启动或停止服务;而Serverless Computing则更进一步,将VM类型选择、服务的启动和停止操作都省去了。
Serverless Computing的另一个更具描述性的名字是FaaS(Function as a service)。就像IaaS、PaaS、SaaS一样,FaaS是云计算的一种。通过FaaS,用户为应用的某一特定功能购买必要的功能。
举个例子,假设企业有一个用来生成特定报告的分析应用。我们可以使用Serverless Computing来处理生成特定报告的功能。当分析应用需要完成这一报告时,服务将自动启动必要的云实例,并在功能完成后自动关闭。我们可以将FaaS用于整个应用程序或者某些功能。
Serverless Computing将云计算按使用计费的模式提升到了一个新的粒度级别。例如,AWS Lambda按代码执行的每100毫秒和代码的触发次数向用户收费。
Serverless Computing的一个主要好处是,创建应用程序的开发者不再需要花费任何时间处理基础架构并管理应用程序。开发者仅需上传代码,支持Serverless Computing的平台或服务将处理其他工作。
对于企业来说,支持Serverless Computing的平台可以节省大量时间和成本,同时可以释放员工,让开发者得以开展更有价值的工作,而不是管理基础设施。另一方面可以提高敏捷度,更快速地推出新应用和新服务,进而提高客户满意度。
Serverless Computing在DevOps环境中运行良好,同样源于它最大限度减少了开发者在管理服务器上所花费的工作和精力。甚至在某些情况下,允许企业采用“NoOps”的方法,服务器的部署和管理都已实现自动化,开发者不需要与运维人员一起同步工作。
微服务架构下,开发者将应用拆分为一个个可独立构建、管理和扩展的小服务,而ServerlessComputing可以将之降低到更小的级别。
然而,行业内对于微服务和功能由什么组成,还存在分歧。两者之间的区别比较模糊,有些供应商在微服务和功能两个术语的使用上甚至可以互换。
需要注意的是,目前有一种趋势是将应用程序视为较小的独立部分的组件,而不是作为一个整体。
Serverless Computing支持广泛的编程语言和框架,大多数人员可以立即开始使用Serverless Computing,这样的语言支持,无疑是胜利和效率提升的一大助力。
对于处于快速增长期的企业,Serverless Computing的可扩展性是其最具吸引力的特性之一。构建一个同时即适用于数百万用户又适用于数十个用户的应用,是当今开发者面临的最大挑战之一。
Serverless Computing消除了这一挑战,因为其每个功能都可以独立扩展,而不需要员工配置额外的VM或实例。
首先,Serverless Computing很新,不容易找到有经验的工作人员和工具来支持。
其次,Serverless Computing简化了一些工作,却也让一些工作变得复杂了起来。将我们的关注点从一个大的应用程序或几个微服务,转为对几十个甚至上百个独立功能,需要有新的管理技术和流程。
第三,与每一项新技术类似,Serverless Computing短期内很可能会给企业带来额外的花费,并对企业的管理水平提出更高要求。
想要使用Serverless Computing,目前已有不少供应商可选。除了文章开头提到的AWS及IBM、Azure等几家云计算巨头,包括好雨科技在内的一些新型云计算公司同样提供专业的Serverless Computing服务。
Author CynthiaHarvey
Trans by 好雨科技 “支持Serverless Computing”