值得关注的五大 Serverless Computing(无需管理服务器) 框架
如今移动和物联网应用大行其道,推动了Serverless computing(试译:免服务器的计算)平台的迅猛发展。这种新模式基于微服务架构,正在彻底改变软件开发和部署领域。Serverless computing框架被外部事件触发后,会调用自主的代码片段。这些代码片段彼此松散耦合,各个片段实际上旨在每次执行一个任务。Serverless框架负责在运行时编排代码片段。它就好比是在云端可扩展、对开发人员友好的IFTTT服务。
这种新兴的云计算服务交付模式为开发人员和管理员带来了许多优点。它提供了合适的灵活性和控制性级别,因而在IaaS和PaaS之间找到了一条中间道路。由于几乎没有什么要管理的,serverless框架竭力倡导NoOps模式。
下面是帮助你开始入手serverless computing的五种框架。
1. AWS Lambda
这种框架在2014年AWS re:Invent大会上宣布,它是如今市面上最早、最成熟、稳定的serverless框架之一。这项服务最初支持Node.js,现在支持Java和Python。十多项AWS服务与Lambda集成起来,而且名单只会越来越长。移动和物联网开发人员之所以喜欢Lambda,是由于它带来了强大功能和灵活性。它与Alexa Skills Kit紧密集成,成为在为Amazon Echo开发语音激发的应用程序的开发人员当中最受青睐的平台。亚马逊提供交互式控制台和命令行工具,以便上传和管理代码片段。
网址:http://aws.amazon.com/lambda/
2. Google Cloud Functions
谷歌站在微服务模式的最前沿。除了有力推动Kubernetes外,这家公司还投资于AWS Lambda竞争对手:Cloud Functions,该架构可在其公共云基础设施上运行。不过Google Cloud Functions仍处于初期预览阶段,作为在谷歌计算引擎(Google Compute Engine)上运行的容器来托管。该平台只支持Node.js,不过预计在将来会添加更多的语言。只有几项服务与Cloud Functions进行了集成,比如Google Cloud Storage和Google Cloud Pub/Sub。考虑到谷歌API的覆盖面颇为广泛,该支持会支持另外多项服务,比如Gmail、Cloud Messaging、Maps及其他服务。
网址:https://cloud.google.com/functions/docs
3. Iron.io
虽然Iron.io从不以serverless computing平台的姿态示人,但是自2012年以来它就支持这种概念和框架。其中一些早期产品(比如IronQueue、IronWorker和IronCache)鼓励开发人员拿来代码后,即可在公共云中托管的Iron.io管理型平台中运行。最近,Iron.io拥抱Docker,并集成现有的服务,提供一种连贯完整的微服务平台。Iron.io的serverless computing平台其代号为Project Kratos,旨在将AWS Lambda引入到企业,又没有厂商锁定现象。Project Kratos可以在包括公共云和私有云在内的多个环境下,运行包装成Docker容器的现有AWS Lambda功能。
网址:https://www.iron.io/platform/
4. IBM OpenWhisk
IBM OpenWhisk在最近的InterConnect大会上宣布,这是一种可替代AWS Lambda的开源框架。除了支持Node.js外,OpenWhisk还可以运行用Swift编写的代码片段。该服务在将来可能会支持更多的语言。这种框架最出色的地方在于,开发人员可以将它安装在运行Ubuntu的本地机器上。Mac OS X和Windows开发人员可以使用Vagrant设备,将它安装并运行起来。该服务与IBM Bluemix即基于CloudFoundry的PaaS环境集成起来。除了可以调用Bluemix服务外,该框架还可与支持Webhook的任何第三方服务集成起来。开发人员可以使用CLI来管理OpenWhisk框架。
网址:http://www.ibm.com/cloud-computing/bluemix/openwhisk/
5. Serverless Framework
虽然Serverless不是一种独立框架,但旨在简化开发和部署AWS Lambda应用程序的工作。这种开源框架最初名为JAWS,一亮相就引起了开发人员的关注。亚马逊邀请开发人员在上一届re:Invent大会上展示该框架。Serverless作为node.js NPM模块来提供,填补了AWS Lambda存在的许多缺口。它提供了多个样板模板,可以迅速启动AWS Lambda的开发。借助诸多插件,这种框架让用户很容易将AWS服务与其他第三方服务集成起来。
网址:http://www.serverless.com
补充一个:
微软Azure Web Jobs
微软在提供serverless computing平台方面落后于亚马逊、IBM和谷歌,但是它确实拥有组建这种平台所需要的所有基本模块。如果开发人员着眼于实施一种serverless解决方案,可以考虑使用Azure Web Jobs,这种运行时环境可用于按照需要或通过计划任务来调用代码片段。预计微软会开发一种强大的serverless框架,基于其名为Service Fabric的下一代PaaS。
网址:
云头条编译|未经授权谢绝转载
相关阅读:
Serverless Computing交流群,群主微信:aclood