日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

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

新聞中心

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

這7個(gè)開源平臺(tái)幫你入手無服務(wù)器計(jì)算

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

服務(wù)器

開源

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

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

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

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

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

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

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

入手無服務(wù)器計(jì)算的7個(gè)開源平臺(tái)

1.Apache OpenWhisk

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

2.Fission

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

3.IronFunctions

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

4.Fn Project

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

5.OpenLambda

OpenLambda是一個(gè)采用Apache許可證的無服務(wù)器計(jì)算項(xiàng)目,用Go編寫,基于Linux容器。OpenLambda的主要目標(biāo)是讓用戶能夠探究無服務(wù)器計(jì)算的新方法。

6.Kubeless

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

7.OpenFaas

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

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

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

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

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

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

  
 
 
  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 

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

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

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

2.使用以下命令和Jib(https://github.com/GoogleContainerTools/jib)構(gòu)建無服務(wù)器應(yīng)用程序容器映像:

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

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

  
 
 
  1. kubectl apply -f service.yaml 

結(jié)論

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


當(dāng)前標(biāo)題:這7個(gè)開源平臺(tái)幫你入手無服務(wù)器計(jì)算
本文路徑:http://www.dlmjj.cn/article/dppcjjd.html