如果你看过有关 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 我们应该知道哪些事?
1.Serverless Computing 并不是真的没有服务器
其实有很多人认为, Serverless Computing 一词并不是十分妥当。我们的工作负载仍然在某个服务器上运行着,只不过我们不需要以任何方式部署、配置、维护或管理这些服务器。我们甚至不需要知道所使用 VM (虚拟机)的类型和数量。
我们可以把 Serverless Computing 看作是对于终端用户的 IT 抽象和简化。虚拟化使用户不在需要知道哪些物理服务器正在运行;云计算使配置变得更容易,但仍需要用户选择 VM 类型、启动或停止服务;而 Serverless Computing 则更进一步,将 VM 类型选择、服务的启动和停止操作都省去了。
2.Serverless Computing 是云计算的一种
Serverless Computing 的另一个更具描述性的名字是 FaaS ( Function as a service )。就像 IaaS 、 PaaS 、 SaaS 一样, FaaS 是云计算的一种。通过 FaaS ,用户为应用的某一特定功能购买必要的功能。
举个例子,假设企业有一个用来生成特定报告的分析应用。我们可以使用 Serverless Computing 来处理生成特定报告的功能。当分析应用需要完成这一报告时,服务将自动启动必要的云实例,并在功能完成后自动关闭。我们可以将 FaaS 用于整个应用程序或者某些功能。
3.Serverless Computing 在代码运行时以毫秒计费
Serverless Computing 将云计算按使用计费的模式提升到了一个新的粒度级别。例如, AWS Lambda 按代码执行的每 100 毫秒和代码的触发次数向用户收费。
4.Serverless Computing 的优势
Serverless Computing 的一个主要好处是,创建应用程序的开发者不再需要花费任何时间处理基础架构并管理应用程序。开发者仅需上传代码,支持 Serverless Computing 的平台或服务将处理其他工作。
对于企业来说,支持 Serverless Computing 的平台可以节省大量时间和成本,同时可以释放员工,让开发者得以开展更有价值的工作,而不是管理基础设施。另一方面可以提高敏捷度,更快速地推出新应用和新服务,进而提高客户满意度。
5.Serverless Computing 是 DevOps 的绝配
Serverless Computing 在 DevOps 环境中运行良好,同样源于它最大限度减少了开发者在管理服务器上所花费的工作和精力。甚至在某些情况下,允许企业采用“ NoOps ”的方法,服务器的部署和管理都已实现自动化,开发者不需要与运维人员一起同步工作。
6.Serverless Computing 与微服务架构相关
微服务架构下,开发者将应用拆分为一个个可独立构建、管理和扩展的小服务,而 ServerlessComputing 可以将之降低到更小的级别。
然而,行业内对于微服务和功能由什么组成,还存在分歧。两者之间的区别比较模糊,有些供应商在微服务和功能两个术语的使用上甚至可以互换。
需要注意的是,目前有一种趋势是将应用程序视为较小的独立部分的组件,而不是作为一个整体。
7.不需要学习新开发语言
Serverless Computing 支持广泛的编程语言和框架,大多数人员可以立即开始使用 Serverless Computing ,这样的语言支持,无疑是胜利和效率提升的一大助力。
8.Serverless Computing 具有可扩展性
对于处于快速增长期的企业, Serverless Computing 的可扩展性是其最具吸引力的特性之一。构建一个同时即适用于数百万用户又适用于数十个用户的应用,是当今开发者面临的最大挑战之一。
Serverless Computing 消除了这一挑战,因为其每个功能都可以独立扩展,而不需要员工配置额外的 VM 或实例。
9.Serverless Computing 也有缺点
首先, Serverless Computing 很新,不容易找到有经验的工作人员和工具来支持。 其次, Serverless Computing 简化了一些工作,却也让一些工作变得复杂了起来。将我们的关注点从一个大的应用程序或几个微服务,转为对几十个甚至上百个独立功能,需要有新的管理技术和流程。 第三,与每一项新技术类似, Serverless Computing 短期内很可能会给企业带来额外的花费,并对企业的管理水平提出更高要求。
10.有很多服务商提供 Serverless Computing
想要使用 Serverless Computing ,目前已有不少供应商可选。除了文章开头提到的 AWS 及 IBM 、 Azure 等几家云计算巨头,包括好雨科技在内的一些新型云计算公司同样提供专业的 Serverless Computing 服务。
Author CynthiaHarvey Trans by 好雨科技 “支持 Serverless Computing ”
![]( http://7xihe6.com1.z0.glb.clouddn.com/it 桔子主站 banner810x270 的副本.jpg)
1
boneyao 2017-02-16 17:54:34 +08:00 1
只能寄希望于 aliyun 了
|
2
jiangzhuo 2017-02-17 15:20:43 +08:00 1
按代码运行计费是好事,算是变相的按 CPU 指令计费,这样才能培养出好的服务端程序员嘛
|