跳转到主要内容
Chinese, Simplified

Apache OpenWhisk是什么?


Apache OpenWhisk是一个开放源代码的分布式无服务器平台,该平台可以执行功能(fx)以响应各种规模的事件。 OpenWhisk使用Docker容器管理基础架构,服务器和扩展,因此您可以专注于构建出色而高效的应用程序。

OpenWhisk平台支持一种编程模型,在该模型中,开发人员可以使用任何受支持的编程语言编写功能逻辑(称为“动作”),该逻辑可以动态地调度和运行,以响应来自外部源(Feed)或HTTP请求的关联事件(通过触发器) 。 该项目包括基于REST API的命令行界面(CLI)以及其他支持打包,目录服务和许多流行的容器部署选项的工具。

Events trigger the Apache OpenWhisk platform to run Actions or functions in various supported languages.

 

部署到任何地方


由于Apache OpenWhisk使用容器构建其组件,因此可以轻松地支持本地和Cloud基础架构中的许多部署选项。 选项包括当今许多流行的Container框架,例如Kubernetes和OpenShift,Mesos和Compose。 总的来说,社区支持使用Helm图表在Kubernetes上进行部署,因为它为Devloper和Operator都提供了许多简便的实现。

Apache OpenWhisk can deploy on your favorite Cloud container framework.

用任何语言编写函数


与您所知道和所爱的人一起工作。 OpenWhisk支持越来越多的您喜欢的语言,例如NodeJS,Go,Java,Scala,PHP,Python,Ruby和Swift,以及Ballerina,.NET和Rust的最新添加。

如果需要当前不支持“即用即用”运行时的语言或库,则可以使用Docker SDK将自己的可执行文件创建并自定义为Zip Actions,并在Docker运行时上运行。 如何使用Docker Actions支持其他语言的一些示例包括Rust的教程和Haskell的完整项目。

编写函数后,请使用wsk CLI定位到Apache OpenWhisk实例,并在几秒钟内运行您的第一个操作。

Node Runtime

与许多受欢迎的服务轻松集成


OpenWhisk使开发人员可以轻松地使用Packages将其Actions与许多流行的服务集成在一起,这些Packages作为OpenWhisk系列下的独立开发项目或作为我们默认目录的一部分提供。

软件包提供与常规服务(例如Kafka消息队列,包括Cloudant的数据库,移动应用程序的推送通知,Slack消息传递和RSS feed)的集成。 开发管道可以利用与GitHub,JIRA的集成,或轻松连接Weather公司的自定义数据服务。

您甚至可以使用“警报”程序包来安排时间或重复间隔来运行操作。

OpenWhisk's out-of-box packages easily integrate with our own services

将您的功能组合成丰富的组合


使用JavaScript / NodeJS,Swift,Python,Java等不同语言编写的代码,或者通过与Docker打包代码来运行自定义逻辑。 同步,异步或按计划调用代码。 使用诸如序列之类的高级编程构造将多个动作声明式链接在一起。 使用参数绑定可以避免在代码中对服务凭据进行硬编码。 并且,使用各种开发工具实时调试代码。

OpenWhiks allows you to create compositions from Actions in any supported language.

按需扩展规模和最佳资源利用


在不到一秒的时间内,即可一次执行一万次,或者每周一次。 动作实例可以根据需要进行扩展以满足需求,然后消失。 在不为空闲资源付费的情况下,享受最佳利用率。

Apache OpenWhisk automatically scales and maximizes and server utilization as events trigger action functions.

 

原文:http://openwhisk.apache.org/

本文:http://jiagoushi.pro/node/900

讨论:请加入知识星球【首席架构师圈】或者微信圈子【首席架构师圈】

Article
知识星球
 
微信公众号
 
视频号