日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關咨詢
選擇下列產(chǎn)品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關閉右側工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
這7個開源平臺幫你入手無服務器計算

這7個開源平臺幫你入手無服務器計算

譯文
作者:布加迪編譯 2018-11-21 09:00:33

服務器

開源

云計算 無服務器常常與FaaS(函數(shù)即服務)這個術語互換使用。但無服務器并不意味著沒有服務器。事實上有好多服務器,即公共云提供商提供為你部署、運行和管理應用程序的服務器。

創(chuàng)新互聯(lián)是一家專業(yè)提供石城企業(yè)網(wǎng)站建設,專注與網(wǎng)站設計、成都網(wǎng)站制作、HTML5、小程序制作等業(yè)務。10年已為石城眾多企業(yè)、政府機構等服務。創(chuàng)新互聯(lián)專業(yè)的建站公司優(yōu)惠進行中。

【51CTO.com快譯】無服務器一詞最近出現(xiàn)在更多的對話中。不妨澄清一下這個概念及相關的概念,比如無服務器計算和無服務器平臺。

無服務器常常與FaaS(函數(shù)即服務)這個術語互換使用。但無服務器并不意味著沒有服務器。事實上有好多服務器,即公共云提供商提供為你部署、運行和管理應用程序的服務器。

無服務器計算是新興的類別,代表開發(fā)人員構建和交付軟件系統(tǒng)的方式發(fā)生了轉變。通過代碼將應用軟件基礎設施抽取出來可大大簡化開發(fā)過程,同時在成本和效率方面帶來新的好處。我認為,無服務器計算和FaaS將在與云原生服務和混合云一同幫助定義企業(yè)IT的下一個時代方面發(fā)揮重要作用。

無服務器平臺提供的API讓用戶可以運行代碼函數(shù)(又叫操作),并返回每個函數(shù)的結果。無服務器平臺還提供HTTPS端點,讓開發(fā)人員可以檢索函數(shù)結果。這些端點可以用作其他函數(shù)的輸入,從而提供一連串相關函數(shù)。

在大多數(shù)無服務器平臺上,用戶在部署(或創(chuàng)建)函數(shù)后再執(zhí)行函數(shù)。然后,無服務器平臺擁有被告知執(zhí)行時執(zhí)行函數(shù)所需的所有代碼。用戶可以通過命令手動調用無服務器函數(shù)的執(zhí)行,也可以由事件源觸發(fā),事件源被配置成一旦遇到計劃任務警報、文件上載或其他許多事件之類的事件,就激活函數(shù)。

入手無服務器計算的7個開源平臺

1.Apache OpenWhisk

Apache OpenWhisk是一個無服務器開源云平臺,讓你可以執(zhí)行代碼以響應任何規(guī)模的事件。它用Scala語言編寫。該框架處理來自HTTP請求等觸發(fā)器的輸入,然后運行一小段JavaScript或Swift代碼。

2.Fission

Fission是一個無服務器計算框架,使開發(fā)人員能夠使用Kubernetes構建函數(shù)。它讓程序員可以用任何編程語言編寫短暫的函數(shù),并將這些函數(shù)映射到任何事件觸發(fā)器(比如HTTP請求)。

3.IronFunctions

IronFunctions是一個無服務器計算框架,通過集成其現(xiàn)有服務和擁抱Docker,提供了一個連貫一致的微服務平臺。開發(fā)人員用Go語言來編寫函數(shù)。

4.Fn Project

Fn Project是一個開源容器原生無服務器平臺,可以在任何地方運行它:任何云或內部環(huán)境。它易于使用,支持各種編程語言,還具有可擴展性和高性能。

5.OpenLambda

OpenLambda是一個采用Apache許可證的無服務器計算項目,用Go編寫,基于Linux容器。OpenLambda的主要目標是讓用戶能夠探究無服務器計算的新方法。

6.Kubeless

Kubeless是一個Kubernetes原生無服務器框架,讓你可以部署少量代碼,無需擔心底層基礎設施。它利用Kubernetes資源來提供自動擴展、API路由、監(jiān)控和故障排除等功能。

7.OpenFaas

OpenFaas是一個用Docker和Kubernetes構建無服務器函數(shù)的框架,為指標提供一流的支持。任何進程可以打包成函數(shù),那樣你就可以使用眾多Web事件,無需重復編寫樣板代碼。

Kubernetes是管理無服務器工作負載和微服務應用容器的最流行平臺,使用精細的部署模型以便更快速、更輕松地處理工作負載。使用Knative Serving(https://github.com/knative/serving),你可以在Kubernetes上構建和部署無服務器應用程序和函數(shù),并使用Istio(https://istio.io/)來擴展和支持高級場景,比如:

  • 快速部署無服務器容器
  • 自動擴展和縮小到零
  • 面向Istio組件的路由和網(wǎng)絡編程
  • 已部署的代碼和配置的時間點快照

Knative(https://github.com/knative/)專注于在云原生平臺上構建和運行應用程序的常見任務,用于編排源代碼到容器構建、將服務綁定到事件生態(tài)系統(tǒng)、部署期間路由和管理流量以及自動擴展工作負載。

Istio是一個開放平臺,用于連接和保護微服務(在Envoy代理看來實際上就是服務網(wǎng)格控制平面),并旨在考慮與框架交互的多個角色,包括開發(fā)人員、操作人員和平臺提供者。

比如說,你可以使用以下代碼片段,在本地Minishift(https://github.com/minishift/minishift)平臺上使用Knative Serving部署JavaScript無服務器工作負載:

  
 
 
  1. ## Dockerfile 
  2. FROM bucharestgold/centos7-s2i-nodejs:10.x 
  3. WORKDIR /opt/app-root/src 
  4. COPY package*.json ./ 
  5. RUN npm install 
  6. COPY . . 
  7. EXPOSE 8080 3000 
  8. CMD ["npm", "start"] 
  9.  
  10.  
  11. ## package.json 
  12.   "name": "greeter", 
  13.   "version": "0.0.1", 
  14.   "private": true, 
  15.   "scripts": { 
  16.     "start": "node app.js" 
  17.   }, 
  18.   "dependencies": { 
  19.     "express": "~4.16.0" 
  20.   } 
  21.  
  22. ## app.js 
  23. var express = require("express"); 
  24. var app = express(); 
  25.  
  26. var msg = (process.env.MESSAGE_PREFIX || "") + "NodeJs::Knative on OpenShift"; 
  27.  
  28. app.get("/", function(req, res, next) { 
  29.   res.status(200).send(msg); 
  30. }); 
  31.  
  32. app.listen(8080, function() { 
  33.   console.log("App started in port 8080"); 
  34. }); 
  35.  
  36. ## service.yaml 
  37. apiVersion: serving.knative.dev/v1alpha1 
  38. kind: Service 
  39. metadata: 
  40.   name: greeter 
  41. spec: 
  42.   configuration: 
  43.     revisionTemplate: 
  44.       spec: 
  45.         container: 
  46.           image: dev.local/greeter:0.0.1-SNAPSHOT 

構建你的Node.js無服務器應用程序,并將服務部署到本地Kubernetes平臺上。在Kubernetes(或Minishift)上安裝Knative、Istio和Knative Serving這些必要的基本組件。過程如下:

1.使用以下命令連接到Docker守護程序:

  
 
 
  1. (minishift docker-env) && eval(minishift oc-env) 

2.使用以下命令和Jib(https://github.com/GoogleContainerTools/jib)構建無服務器應用程序容器映像:

  
 
 
  1. ./mvnw -DskipTests clean compile jib:dockerBuild 

3.將Minishift等無服務器服務部署到Kubernetes集群:

  
 
 
  1. kubectl apply -f service.yaml 

結論

上面這個例子表明了在哪里并如何借助Kubernetes、Knative Serving和Istio之類的云原生平臺開始開發(fā)無服務器應用程序。


網(wǎng)站名稱:這7個開源平臺幫你入手無服務器計算
網(wǎng)頁地址:http://www.5511xx.com/article/dppcjjd.html