王晓轩 译 分布式实验室

Serverless:重新定义DevOps_Jav

在很多的企业和商业内部中有一个令人瞩目的转变,DevOps工具正在被创造和使用。

随着对Serverless计算领域兴趣的持续增长,很多Serverless技术的供应商比如AWS Lambda,Azure Functions 和 Google Cloud Functions正在变成开发和运维工具不可缺少的一部分。

一些评论家认为“功能即服务(functions as a service)”是微服务(microservices)的进化和逻辑终结。但我认为functions将是整体连续性发展途径的一部分。对有些类型的应用程序来说,当理解和使用正确后,functions是非常disruptive和高效,并且它们的使用范围正在迅速扩大。

除了先前提到的容量计算方面(http://redmonk.com/fryan/2016/04/28/serverless-volume-compute-for-a-new-generation/),还有一项更为有趣的直接演变,那就DevOpes人员通过Serverless的方式处理先前通过专用虚拟机或是容器处理的任务和一些脚本。任务的种类范围从简单的日志处理,标记和为利用监控识别所开发实例,再到更复杂的,可被处理并推送到其他云端服务任务的数据流。

有三个方面值得注意:

  • 传统书写脚本并启动虚拟机或是容器模型正在被快速取代–如果不带来额外的管理费用,特别是可以获得以时间为算法去调度的函数,Serverless正成为更好的选择。

  • DevOps的团队正在更积极的思考在服务器上使用大量的加法计算,而不是旧有的计算方法——从云提供者的角度来说当相邻的服务器都参与计算时,利润会显著提高。

  • 创建整个工具链的方法正在改变,从语言的选择到基础设施等等方面。

新产品的潜力巨大,一方面有巨大机遇是因为市场为有用的工具在每次使用时适当的收费提供了基础,当你让模型达到新的粒度(granularity)时也就带来了收益。每次调用API都会计费这可能会引起争议,但是模块化一个function,这个function能调用多个API,是受欢迎的。

Serverless框架

Serverless:重新定义DevOps_Jav_02

在RedMonk,我们经常谈论包装(packaging)的价值,确实最近我们围绕这一主题一直在开会——对于开发者便利性和生产效率而言Serverless框架是非常好的包装范例。

Serverless团队近来在Azure Functions和Apache OpenWhisk都增加了支持,并稳牢了他们地位,是许多开发者观望Serverless技术最重要的起点。

Serverless:重新定义DevOps_Jav_03


当我们看过很多各种各样的Serverless产品都在讨论Serverless框架比其他技术都领先一大截。有的说这满足了特定需求,一些组织在寻求其他的方法例如开源产品像OpenWhisk或是运行在Kubernetes平台上的框架。

开源替代品

Serverless:重新定义DevOps_Jav_02

Serverless领域有许多活跃的开源项目,这些项目大致分成两个阵营 – 一个阵营是计划运行在Kubernetes平台上,例如Fission,Kubeless 和 Funktion;另一个阵营,希望有能力独立运行或是跨多个平台,例如OpenWhisk,Iron Functions 或 Funcatron。

Serverless:重新定义DevOps_Jav_05

观察GitHub的利润,我们看到源自IBM现在是Apache基金会项目的OpenWhisk已经降速但在去年稳步增长。来自Iron.io的Iron Functions和Platform 9的Fission在最初发布时初期利润都有大幅跨越。在来年追踪他们的势头应该很有意思。

需要注意Kubernetes的产品目前可以看到初期使用者凭借联合优势带来的显著利润。这将如何转变为商业活动还有待观察,增加管理费用来运营Serverless这一明显矛盾进入视野。

领域中的后起之秀有来自Skipbox的Kubeless以及Funcatron。我们听闻相比之前在谈论中他们被提及的次数更多,在接下来几个月里,希望看到这两个项目有进一步的发展和好的势头。Funcatron重点关注于熟悉像Spring Boot框架这样的开发者提供支持,Funcatron似乎以很合理的方式给Spring Boot带来了迅速增长,这一点我们先前有提到过(http://redmonk.com/fryan/2016/09/08/language-framework-popularity-a-look-java/)。

展望未来

Serverless:重新定义DevOps_Jav_02

Serverless技术的整体势头很强劲,这里我们触及的DevOps领域也只是众多计算领域的一方面,在来年计算领域也将在本质上发生改变。

我们希望在短期能看到横跨物联网应用,数据处理和相关领域的重要应用实例,随时间发展出现更为复杂的功能链(function chain)。