探索無伺服器技術的生態系統
功能即服務 - FaaS
#1。Microsoft Azure函數:由Microsoft開發,這是一個事件驅動的按需計算體驗,它擴展了現有的Azure應用程序平台,並具有實現由Azure或第三方服務以及本地內部事件觸發的代碼的功能系統。
#2。Google Cloud Functions:由Google開發,這是用於構建和連接雲服務的無伺服器執行環境。藉助這些功能,您可以編寫簡單的單一用途功能,附加到從您的雲基礎架構和服務中發出的事件。
#3。AWS Lambda函數:由Amazon Web Services開發,這是一個無伺服器計算服務,它運行您的代碼以響應事件並自動為您管理底層計算資源。您可以使用這些擴展來自定義邏輯擴展其他AWS服務,也可以創建自己的後端服務,以AWS的規模,性能和安全性運行。
#4。Iron.io:這是一個可以在任何地方運行的開源無伺服器平台或FaaS平台。由於容器被用作構建塊,因此可以用任何語言編寫。此外,它還能夠在私有雲,公共雲或混合雲中運行。
#5。IBM Cloud Functions:由IBM開發,基於Apache OpenWhisk,這是一個多語言FaaS編程平台,用於交付按需擴展的輕量級代碼。
#6。Docker:這是開發人員構建,發布和運行分散式應用程序的開放平台。它提供了輕量級的CaaS,並且非常適合微服務應用程序的開發。您可以開發,部署和回滾構建為單個應用程序的數以萬計的容器。
#7。PubNub功能:這些是無伺服器功能,使您能夠快速構建微服務,並結合類似路由,增強,過濾,轉換和聚合數據的邏輯。
#8。Binaris:這是FaaS提供更快,可預測和低延遲的先鋒。重點是在第99百分位的每毫秒。適用於不可預知的響應時間不可選的實時競價,AR,認知計算,互動式遊戲等。
#9。Bitnami-Kubeless:這是一個Kubernetes本地無伺服器平台,可讓您以功能的形式部署少量代碼。它被設計成部署在Kubernetes集群的頂部,以這種方式,你可以利用所有的Kubernetes原語。
#10。Nuclio:這是一個開放的無伺服器平台,比裸機代碼更高效,速度更快。它帶來了創新的功能,並與數據和事件源一起工作,以加速性能和開發。它可用於物聯網設備,本地數據中心,雲部署,消除雲鎖定和啟用混合解決方案。
#11。Nano Lambda:當你想定義一個函數而不必命名它,而且將這些函數傳遞給其他函數來做這些時,這些都是很有用的。例如,Lambda體系結構允許您針對所有數據運行臨時查詢以獲取結果,或者實時訪問實時的事件驅動的微服務的傳入數據。
#12。OpenFaaS:這使您可以將任何東西都作為無伺服器功能(從Node.js到Golang到Sharp),事件二進位文件(如ffmpeg)。這些以開發人員而聞名,操作簡單,以社區為中心。
#13。OVH函數:這是一個FaaS平台,可以讓您只關注代碼。該平台為您提供日誌和指標。而且,你也可以在你的函數中注入環境變數。您的函數可以通過HTTP請求,Kafka消息或使用觸發器的計劃事件來調用。
#14。Fission:這是Kubernetes領先的開源FaaS無伺服器框架。裂變側重於開發人員的生產力和高性能。它由Platform9和Kubernetes社區的許多貢獻者構建。
#15。Spotinist功能:這是一個完全管理的無伺服器計算平台,通過利用「無伺服器」FaaS模式利用雲供應商的超額計算容量和網路速率,從而降低計算和網路成本以及應用延遲。
#16。Twillio功能:這些無伺服器環境使開發人員能夠快速,輕鬆地創建生產級的事件驅動的Twilio應用程序。這些功能將取代您的需要找到託管或站起來的伺服器或Twilio應用程序的任何其他基於HTTP的響應。
#17。Syncano:這是一個平台,通過它可以配置連接到Syncano服務的配置套接字,並構建無伺服器應用程序。它提供了一個儀錶板和SDK來定義數據模式。該公司被認為是無伺服器領域最成熟的。
#18。Weblab.io:按照公司的說法,他們提供類似lambda的微服務,只是類固醇。使用weblab,你可以在你的機器上寫你的微服務,只需要一個命令就可以部署它。此外,您可以從任何GitHub或BitBucket存儲庫部署您的微服務。
#19。PubNub模塊:這是一個無伺服器的環境,可以在邊緣執行功能,一旦通過PubNub網路就可以豐富,轉換和過濾消息。
#20。Red Hat Apache OpenWhisk:這是一個開源的雲/無伺服器平台,可以執行功能來響應任何規模的任何事件。
#21。Spring雲功能:這是一個新的項目,其目標是通過函數來促進業務邏輯的實現,並支持具有獨立(本地主機或PaaS)能力的各種無伺服器提供商的統一編程模型。
後端即服務 - BaaS
#1。 AWS API網關:這是一個完全託管的服務,使開發人員可以非常簡單地創建,發布,維護,監控和保護API,而不必擔心縮放。幾分鐘之內,您就可以創建一個API,作為應用程序從應用程序後端訪問數據和其他功能的「前門」。
#2。 AnyPresence:這是一個可用於生成移動SDK(如iOS,Android,HTML5,Windows Phone,Xamarin),語言SDK(如Java),應用程序UI和移動後端伺服器的企業解決方案。所有這些解決方案都可以讓您將其整合到源系統,基於角色的訪問,身份驗證,推送通知等。
#3。 Appery:這是一款全功能的MBaaS公司,通過提供諸如資料庫,推送通知,用戶管理,文件管理,即時REST API,webhook等服務,讓您專註於應用而不是基礎設施。
#4。 Backendless:這是一個完整的無伺服器後端服務,支持用戶身份驗證和管理,數據持久性,文件存儲,推送通知,分析,消息傳遞和自定義業務邏輯。
#5。 Baqend:據公司聲稱,由於其全球急速和可擴展的資料庫解決方案,它是全球速度最快的後端服務提供商。它以其輕量級的初始設置過程而聞名,沒有任何自己的技術基礎設施,使您立即開始運行無伺服器應用程序。
#6。 Kinvey:這是一個無伺服器雲平台,以支持任務關鍵型應用程序而聞名。它在所有渠道提供流暢的本地體驗,無需任何組裝的無伺服器平台,可在任何雲上運行的基於開放和標準的架構等。
#7。 解析伺服器:這是解析後端的開源版本,可以部署到任何可以運行Node.js的基礎架構。它適用於Express Web應用程序框架。而且,它可以被添加到任何現有的Web應用程序或自行運行。
#8。 Usergrid:這是一個簡單的後端作為LAMP堆棧,但為移動而構建。這是一個開放源代碼後端,包含適用於iOS,Android,HTML5 / JS,Node.js,Ruby,Java,.NET和PHP的完整SDK。它是為公共雲環境開發而設計的多租戶系統。
#9。 Hook平台:這是一個開源項目。這基本上是一個PHP的BaaS包,提供實時通信,數據存儲和持久性,用戶身份驗證和包管理。
#10。 Kii:這是一家日本公司,以提供靈活的公共和私有雲部署選項的企業解決方案而聞名。它主要在物聯網市場上提供mBaaS服務,用於構建各種類型的應用程序。
#11。 Skygear:這是一個使用Go編程語言構建的BaaS。這是一個開源項目,提供資料庫(可以被視為Google Firebase的替代品)和實時數據同步,推送通知和自定義代碼。
#12。 StrongLoop API網關:這僅僅是一個API網關,它提供的服務可以作為客戶端(API消費者)和後端提供者(API伺服器)之間的中介,用於部署,維護和保護您的API。
無伺服器資料庫
#1。 Firebase:由Google開發,是開發應用程序的終極平台。這是一個雲託管的NoSQL資料庫,可讓您存儲和更新用戶之間的實時數據。
#2。 FaunaDB:這是一個具有強大查詢語言的多租戶,多模型資料庫系統的可操作自適應資料庫。這在無伺服器,雲和本地可用。
#3。 GraphQL:它基本上是您的API和伺服器端運行時的查詢語言,通過使用您為數據定義的類型系統執行查詢。它不受限於任何特定的資料庫或存儲引擎,而是由現有的數據和代碼支持。
#4。 AWS Aurora:這是為雲構建的MySQL和PostgreSQL兼容關係資料庫。這為開源資料庫的簡單性和成本效益提供了高端商業資料庫的可用性和性能。
#5。 AWS DynamoDB:這是非常快速和靈活的NoSQL資料庫服務,適用於需要在任何規模上保持一致的單位數毫秒延遲的所有應用程序。它是完全託管的雲資料庫,支持鍵值以及文檔存儲模型。
#6。 Google Datastore:這是一個NoSQL文檔資料庫,重點在於自動縮放和高性能。這對於依賴任何規模的高度可用的結構化數據的應
#7。 Azure CosmosDB:這是一個NoSQL資料庫,它提供了多個定義良好的一致性模型,在世界任何地方都具有高可用性和低延遲性。
無伺服器認證和授權
#1。 Auth0:這是眾所周知的解決最複雜的身份用例與一個可擴展和易於集成的平台。這提供了具有高可用性和彈性的自適應多層安全性。
#2。 Amazon Cognito:這可讓您快速輕鬆地為用戶登錄/註冊和訪問控制添加到您的網路和移動應用程序。這可以擴展到數百萬用戶。它還支持與Facebook,Twitter,Google等社交身份提供商進行登錄。
#3。 DailyCred:這是一個提供註冊,社交註冊,重置密碼,監控事件,禁止用戶,刪除或創建賬戶以及登錄的一體化平台。它具有單點登錄(SSO)的特殊功能,可讓用戶在網站,應用程序等之間移動。
#4。 OAuth:根據公司聲稱,您可以在90秒內整合OAuth。它有超過100個API提供商,可以在JavaScript,NodeJS,PHP,iOS,Android和Phonegap上使用。
#5。 Okta:這可以在幾分鐘內為您的網路或移動應用程序提供身份驗證,授權和用戶管理。它還提供單點登錄和社交登錄。
無伺服器監控平台
#1。 IOPipe:這是一個高保真度量和監控服務(如功能性能指標,實時警報,分散式堆棧跟蹤,實時儀錶板),使您可以查看AWS Lambda功能,以更好地了解日常運營和開發無伺服器應用程序。
#2。 Dashbird:通過AWS CloudWatch API收集日誌。它具有一些截然不同的功能,如端到端無伺服器監控,錯誤跟蹤和調試,可以幫助性能和成本優化。
#3。 Stackery:這是一個無伺服器控制台,提供直觀的自動化,可預測的性能和操作控制。它被稱為提高整個堆棧的安全性,透明度和可靠性。
無伺服器工具/平台
#1。 粘土:這可以用來立即創建HTTPS功能。這給予了更多的關注卓越的開發者經驗。其編輯器可用於改進調試,訪問所有NPM軟體包並安全地存儲私鑰。
#2。 LambCI:這是一個小包,可以上傳到您的AWS Lambda,並在您推送新代碼或在GitHub上推送現有請求並運行測試時觸發。它支持Java,Go,Python等語言。使用LambCI的先決條件是AWS賬戶和OAuth令牌。
#3。 節點Lambda:這是一個命令行工具,用於本地運行Node.js應用程序並將其部署到Amazon Lambda。它是在2009年創建的一個開源項目,幫助JavaScript開發人員輕鬆共享打包的代碼模塊。
#4。 Gordon:這是一個使用CloudFormation創建,連線和部署AWS Lambdas的工具。這支持Python,Golang,Scala,Java和JavaScript。
#5。 Kappa:這是一個內聯的命令行工具,可以更輕鬆地為AWS Lambda部署,更新和測試功能。它為您創建IAM執行角色及其相關策略。如果您需要進行更改,您可以使用Kappa輕鬆更新您的Lambda函數。
#6。 Lambda上傳器:這是用於打包和發布Python AWS Lambda函數的快速命令行實用工具。
#7。 打開Lambda:這是一個開放源代碼的無伺服器計算平台,支持大多數領先的無伺服器平台。
#8。 返回&:這是您可以運行多雲和無伺服器應用程序的單一平台。它提供了資料庫即服務,功能即服務,安全即服務和集成即服務。
#9。 Distribyte:這樣做的目的是將無伺服器的優勢帶給現實世界的應用程序。藉助於此,您可以在計算調用之間無縫存儲數據。
無伺服器庫
#1。 函數開發工具包(FDK):這是一個Node.js庫,用於提高開發無伺服器應用程序的開發者體驗。它包含一個客戶端來配置和與事件網關交互。
#2。 Python Lambda:這是一個在AWS Lambda中開發和部署無伺服器的Python代碼的庫。這個庫通過提供一個工具集來簡化煩人的部分,從而消除了開發Python-Lambda服務的猜測。
#3。 標準庫(StdLib):關注開發者速度,您可以使用StdLib工具使用無限可擴展的「無伺服器」Web功能構建和發布自定義應用程序邏輯和API。這個庫被稱為使Web開發再次簡單。
安全
#1。 PureSec:這是為無伺服器體系結構構建的安全平台。這是目前在內測,可以通過聯繫公司獲得。
#2。 Synk:它可以密切和持續地監視您的應用程序依賴關係,並在發現任何漏洞時快速響應。Synk CLI兼容使用JavaScript,Ruby,Python和Java查找漏洞。
#3。 Twistlock:這為使用AWS Lambda,Azure和Google Cloud的應用程序提供安全服務。這個安全服務的一些突出特點是能夠識別影響您的應用程序的漏洞,將無伺服器掃描整合到CI / CD管道和高級威脅情報中。
無伺服器框架
#1。 Apex:這讓您可以毫不費力地開發,部署和管理AWS Lambda功能。此框架允許您使用通常不受AWS Lambda支持的語言(如Golang),通過使用注入到構建中的Node.js填充。
#2。 AWS Chalice:這是一個適用於AWS的python無伺服器的微框架。藉助此框架,您可以輕鬆開發和部署使用Amazon API Gateway和AWS Lambda的應用程序。它還提供了命令行工具和自動IAM策略生成。
#3。 AWS SAM:此框架旨在為無伺服器應用程序設置標準應用程序模型。它作為一個GitHub項目開始,其當前版本是AWS SAM 2016-10-31。這個庫包含了所有以前的模型和未來版本的想法。
#4。 Claudia.JS:這個框架使得在AWS Lambda和API網關上部署Node.js項目非常容易。有了這個,您可以輕鬆開始使用Lambda服務,因為它可以自動執行所有容易出錯的配置和部署任務。
#5。 Dawson:這是AWS CloudFormation,CloudFront,API網關和Node.js的Lambda上的無伺服器框架。這可以用來構建和部署後台代碼單頁面應用程序+ API,純API和伺服器呈現的頁面。
#6。 DEEP:這是一個用於構建雲本機應用程序的全棧JavaScript框架。目前,AWS是唯一支持使用此框架的平台。
#7。 Effe:這是開發無伺服器體系結構的一個非常基礎的組件,它可以在單個lambda級別上運行。使用效果的最簡單和最快的方法是使用效果工具。
#8。 JRestless:這是一個框架,它允許您使用JAX-RS構建無伺服器應用程序,或者在FaaS環境(如AWS Lambda)中運行Jax-RS應用程序。這個框架的目標是避免雲供應商鎖定,並允許開發人員在本地運行和測試他們的代碼。
#9。 Lambder:這可以幫助您在python中編寫可以在單個函數中執行的小任務,並將它們計劃為AWS Lambda。但是,計劃的lambdas具有陡峭的學習曲線,因為您將不得不學習IAM角色,CloudWatch Events以及如何部署和更新Lambda函數代碼。
#10。 Lambda Forest:這是一個微框架,通過一組工具為您提供便利,以便使用AWS Lambda和API Gateway更輕鬆地開發其他API。為了使用此框架,需要使用代理集成來配置AWS API網關。
#11。 Lambdify:這個模塊提供了方便的功能來將sympy表達式轉換為lambda函數,這些lambda函數可以進一步有效和快速地用於計算數值。
#12。 Lambdoku:這只是AWS Lambda API上的一個抽象層,可以有效地調用aws-sdk,從而為您提供類似Heroku的體驗。雖然,先決條件是Node和npm(需要ES6支持)。
#13。 Lambda-restify:如果您正在使用AWS API Gateway編寫aws lambda函數來開發其他API,則此包將幫助您提供通常在諸如restify或express之類的包中找到的響應/請求/路由/中間件/版本化API類型功能。
#14。 SCAR:這是一個在AWS Lambda中輕鬆執行Docker鏡像的框架。這提供了AWS Lambda與您選擇的執行環境的好處,在Docker Hub中作為Docker Image提供。這是在AWS Lambda上運行通用應用程序的最簡單方法。
#15。 Sparta:它將二進位註冊的lambda函數轉換為一組獨立可定址的AWS Lambda函數。此外,它還提供定義IAM角色的服務,其功能將在AWS中執行。
#16。 Squeezer:這個框架為您提供了支持,為建立無伺服器的,可自動擴展的API和Web應用程序獲得一個漸進和快速的開發周期。它的一些顯著特點是按需付費的模式,直觀的部署和智能測試。
#17。 Zappa:您可以將Zappa視為「無伺服器」的網路託管python應用程序。這使得在AWS Lambda + API網關上輕鬆構建和部署事件驅動的Python應用程序成為可能。立即使用單個命令部署您的應用程序!
#18。 裂變:這是Kubernetes上的無伺服器應用程序的框架,可以在任何你想要的地方工作。有了這個框架,您不需要構建容器和管理Docker註冊表。它是Apache許可證下的開放源代碼。
#19。 無伺服器公司:無伺服器框架是一個單一的工具包,你需要在任何你想要的地方部署無伺服器應用程序。GitHub上有超過18,000顆星,它的一些傑出功能是多語言支持,社區插件,統一開發經驗等等。
#20。 Up:這可以幫助您在幾秒鐘內部署可擴展的無伺服器應用程序,API和靜態網站。這與平台無關,支持AWS Lambda和AWS API網關作為首要目標。這是一個自我託管的Heroku風格的用戶體驗,以最低的價格和獨特的功能。
#21。 雲基礎架構管理器:這是一個單一的命令行工具,引導您的CloudFormation CRUD操作。而且,它使得它們易於執行,可重複和無錯誤。
#22。 Middy:這是一個適用於AWS Lambda的Node.js中間件引擎。中間件模式允許開發人員將常見的技術問題分解為裝飾主要業務邏輯的「步驟」。
#23。 Modofun:這代表了模塊化功能,它是無伺服器應用程序的快速依賴功能路由器。這是一個非常輕量級的Node.js包,可以幫助構建無伺服器平台的納米/微服務。
#24。 Shep:這是使用AWS API Gateway和AWS Lambda構建JavaScript應用程序的框架。這是為了自動執行部署任務而構建的,這使您可以使用一個CLI命令部署整個API和一套Lambda函數。
#25。 Turtle:Turtle是一個用於構建和編排事件驅動和無伺服器應用程序的工具包。這些應用程序可以在本地運行,也可以通過執行驅動程序在雲中運行。
#26。 Vandium:這是用於構建,保護和簡化AWS Lambda事件處理程序的開源框架。這使您可以編寫乾淨優雅的代碼,而無需伺服器則可以幫助進行簡單而系統的部署。
#27。 銀河霧:這是一個微服務,可以一起使用創建一個強大的平台,開發人員建立功能,而無需管理容器環境。這為任何裸機,公共或私有雲提供這些設施。
結論
無伺服器技術的景觀是無限的,並不斷更新。但是,必須記住,選擇合適的無伺服器體系結構是構建強大且經濟高效的應用程序的最終關鍵。如果您認為我們錯過了什麼,請發表評論並告訴我們。注意這個空間,讓自己更新無伺服器生態系統中的技術。
本文參考
9imac.om
TAG:大大里 |