Serverless Computing & Fass $ openwhisk快速部署、应用、实例

前一段时间接触到无服务计算,其实无服务计算在当前云计算平台中扮演很重要的作用(使用了aws lambda,发现Fass真的很好用)。当时发现国内对于Fass以及Openwhisk的介绍太少了,这里把自己认识到的一些概念以及部署openwhisk和自己做的一些无服务计算function的实例简单总结一下。

Serverless Computing & Fass

​ 无服务器计算是在无需最终用户管理的基础设施上托管应用程序的新方式,是IaaS(基础设施即服务)演进的下一个阶段。它将底层基础架构从开发人员中分离出来,基本上虚拟化了运行时(虚拟机的一种,一般指进程级别的虚拟机)和运营管理。这通常被称为 FaaS(功能即服务),无服务器架构允许您执行给定的任务而不必担心服务器、虚拟机或底层计算资源

​ 无服务器计算是一种云服务,托管服务提供商会实时为你分配充足的资源,而不是让你预先为专用的服务器或容量付费。无服务器计算不是不需要服务器(无服务器字面上的意思是,不用去管服务器),只是立足于云基础设施之上建立新的抽象层,仅使用完成任务所需的非常精确的计算资源来执行开发人员编写的代码,不多也不少。当触发代码的预定义事件发生时,无服务器平台执行任务。

​ 假设现在有下面的JavaScript代码:

module.exports = function(context, callback) {
    callback(200, "Hello, world! "); }

​ 显然它是一个函数,通过FaaS的方式,我们可以通过访问一个URL的方式调用这个函数。

$ curl -XGET localhost:8080 
Hello, world!

​ FaaS需要借助于API Gateway将请求的路由和对应的处理函数进行映射,并将响应结果代理返回给调用方。

​ 一些著名的Fass框架

Openwhisk

​ Openwhisk是属于Apache基金会的开源Faas计算平台,由IBM在2016年公布并贡献给开源社区。IBM Cloud本身也提供完全托管的OpenWhisk Faas服务IBM Cloud Function。从业务逻辑来看,OpenWhisk同AWS Lambda一样,为用户提供基于事件驱动的无状态的计算模型,并直接支持多种编程语言。

1. 函数的代码及运行时全部在Docker容器中运行,利用Docker engine实现Faas函数运行的管理、负载均衡、扩展.
2. OpenWhisk所有其他组件(如:API网关,控制器,触发器等)也全部运行在 Docker容器中。这使得OpenWhisk全栈可以很容易的部署在任意IaaS/PaaS平台上

基于docker-compose进行openwhisk快速部署

​ docker-compose可以看作是docker一系列镜像的sequence操作。

1 环境配置
1.1 apt 更新
sudo apt update
sudo apt upgrade

1.2 node.js 以及 npm安装(因为后续openwhisk client打算用javascript,所以需要用node进行调试)
curl -sL https://deb.nodesource.com/setup_lts.x | sudo -E bash -

sudo apt-get install -y nodejs
1.3 docker安装
sudo apt-get install \
    apt-transport-https \
    ca-certificates \
    curl \
    gnupg-agent \
    software-properties-common
    
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

# 添加stable库
sudo add-apt-repository \ 
   "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
   $(lsb_release -cs) \
   stable"
   
sudo apt install docker-ce docker-ce-cli containerd.io
1.4 docker-compose安装
sudo curl -L "https://github.com/docker/compose/releases/download/1.28.2/docker-compose-Linux-x86_64" -o /usr/local/bin/docker-compose

sudo chmod +x /usr/local/bin/docker-compose # 添加权限
1.5 相关repository下载
mkdir openwhisk
cd openwhisk

git clone https://github.com/apache/openwhisk.git # openwhisk 核心源码

git clone https://github.com/apache/openwhisk-devtools.git # openwhisk-devtools docker-compose所需要的 yml文件 以及部署所用的 makefile文件就在该路径下的docker-compose文件夹中

# openwhisk-cli下载
wget https://github.com/apache/openwhisk-cli/releases/download/1.1.0/OpenWhisk_CLI-1.1.0-linux-amd64.tgz
mkdir openwhisk-cli
tar zxvf OpenWhisk_CLI-1.1.0-linux-amd64.tgz -C ./openwhisk-cli
cp openwhisk-cli/wsk openwhisk/bin/wsk

# openwhisk-catalog下载
git clone https://github.com/apache/openwhisk-catalog.git
</
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值