「三分鐘學無服務器架構」Apache Openwhisk 概覽

Apache OpenWhisk是什麼?


Apache OpenWhisk是一個開放源代碼的分佈式無服務器平臺,該平臺可以執行功能(fx)以響應各種規模的事件。 OpenWhisk使用Docker容器管理基礎架構,服務器和擴展,因此您可以專注於構建出色而高效的應用程序。

OpenWhisk平臺支持一種編程模型,在該模型中,開發人員可以使用任何受支持的編程語言編寫功能邏輯(稱為“動作”),該邏輯可以動態地調度和運行,以響應來自外部源(Feed)或HTTP請求的關聯事件(通過觸發器) 。 該項目包括基於REST API的命令行界面(CLI)以及其他支持打包,目錄服務和許多流行的容器部署選項的工具。


「三分鐘學無服務器架構」Apache Openwhisk 概覽

部署到任何地方


由於Apache OpenWhisk使用容器構建其組件,因此可以輕鬆地支持本地和Cloud基礎架構中的許多部署選項。 選項包括當今許多流行的Container框架,例如Kubernetes和OpenShift,Mesos和Compose。 總的來說,社區支持使用Helm圖表在Kubernetes上進行部署,因為它為Devloper和Operator都提供了許多簡便的實現。


「三分鐘學無服務器架構」Apache Openwhisk 概覽


用任何語言編寫函數


與您所知道和所愛的人一起工作。 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實例,並在幾秒鐘內運行您的第一個操作。


「三分鐘學無服務器架構」Apache Openwhisk 概覽


與許多受歡迎的服務輕鬆集成


OpenWhisk使開發人員可以輕鬆地使用Packages將其Actions與許多流行的服務集成在一起,這些Packages作為OpenWhisk系列下的獨立開發項目或作為我們默認目錄的一部分提供。

軟件包提供與常規服務(例如Kafka消息隊列,包括Cloudant的數據庫,移動應用程序的推送通知,Slack消息傳遞和RSS feed)的集成。 開發管道可以利用與GitHub,JIRA的集成,或輕鬆連接Weather公司的自定義數據服務。

您甚至可以使用“警報”程序包來安排時間或重複間隔來運行操作。

「三分鐘學無服務器架構」Apache Openwhisk 概覽

將您的功能組合成豐富的組合


使用JavaScript / NodeJS,Swift,Python,Java等不同語言編寫的代碼,或者通過與Docker打包代碼來運行自定義邏輯。 同步,異步或按計劃調用代碼。 使用諸如序列之類的高級編程構造將多個動作聲明式鏈接在一起。 使用參數綁定可以避免在代碼中對服務憑據進行硬編碼。 並且,使用各種開發工具實時調試代碼。

「三分鐘學無服務器架構」Apache Openwhisk 概覽

按需擴展規模和最佳資源利用


在不到一秒的時間內,即可一次執行一萬次,或者每週一次。 動作實例可以根據需要進行擴展以滿足需求,然後消失。 在不為空閒資源付費的情況下,享受最佳利用率。

「三分鐘學無服務器架構」Apache Openwhisk 概覽

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

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

討論:請加入知識星球【首席架構師圈】或者微信圈子【首席架構師圈】


分享到:


相關文章: