精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

幫你通過AWS的Lambda和API Gateway走向Serverless

系統 Linux 系統運維
serverless 是一個概念,它允許你提供代碼或可執行程序給某個服務,由服務來為你執行它們,而你無需自己管理服務器。這就是所謂的執行即服務execution-as-a-service,它帶來了很多機會,同時也遇到了它獨有的挑戰。

近來,在計算領域出現了很多關于 serverless 的討論。serverless 是一個概念,它允許你提供代碼或可執行程序給某個服務,由服務來為你執行它們,而你無需自己管理服務器。這就是所謂的執行即服務execution-as-a-service,它帶來了很多機會,同時也遇到了它獨有的挑戰。

簡短回憶下計算領域的發展

早期,出現了……好吧,這有點復雜。很早的時候,出現了機械計算機,后來又有了埃尼阿克 ENIAC(Electronic Numerical Integrator And Computer,很早的電子計算機),但是都沒有規模生產。直到大型機出現后,計算領域才快速發展。

  • 上世紀 50 年代 - 大型機
  • 上世紀 60 年代 - 微型機
  • 1994 - 機架服務器
  • 2001 - 刀片服務器
  • 本世紀初 - 虛擬服務器
  • 2006 - 服務器云化
  • 2013 - 容器化
  • 2014 - serverless(計算資源服務化)

這些日期是大概的發布或者流行日期,無需和我爭論時間的準確性。計算領域的演進趨勢是執行的功能單元越來越小。每一次演進通常都意味著運維負擔的減小和運維靈活性的增加。

發展前景

喔,Serverless!但是,serverless 能給我們帶來什么好處? 我們將面臨什么挑戰呢?

未執行代碼時無需付費。我認為,這是個巨大的賣點。當無人訪問你的站點或用你的 API 時,你無需付錢。沒有持續支出的基礎設施成本,僅僅支付你需要的部分。換句話說,這履行了云計算的承諾:“僅僅支付你真正用的資源”。

無需維護服務器,也無需考慮服務器安全。服務器的維護和安全將由你的服務提供商來處理(當然,你也可以架設自己的 serverless 主機,只是這似乎是在向錯誤的方向前進)。由于你的執行時間也是受限的,安全補丁也被簡化了,因為完全不需要重啟。這些都應該由你的服務提供商無縫地處理。

***的可擴展性。這是又一個大的好處。假設你又開發了一個 Pokemon Go, 與其頻繁地把站點下線維護升級,不如用 serverless 來不斷地擴展。當然,這也是個雙刃劍,大量的賬單也會隨之而來。如果你的業務的利潤強依賴于站點上線率的話,serverless 確實能幫上忙。

強制的微服務架構。這也有兩面性,一方面,微服務似乎是一種好的構建靈活可擴展的、容錯的架構的方式。另一方面,如果你的業務沒有按照這種方式設計,你將很難在已有的架構中引入 serverless。

但是現在你被限制在他們的平臺上

受限的環境。你只能用服務提供商提供的環境,你想在 Rust 中用 serverless?你可能不會太幸運。

受限的預裝包。你只有提供商預裝的包。但是你或許能夠提供你自己的包。

受限的執行時間。你的 Function 只可以運行這么長時間。如果你必須處理 1TB 的文件,你可能需要有一個解決辦法或者用其他方案。

強制的微服務架構。參考上面的描述。

受限的監視和診斷能力。例如,你的代碼在干什么? 在 serverless 中,基本不可能在調試器中設置斷點和跟蹤流程。你仍然可以像往常一樣記錄日志并發出統計度量,但是這帶來的幫助很有限,無法定位在 serverless 環境中發生的難點問題。

競爭領域

自從 2014 年出現 AWS Lambda 以后,serverless 的提供商已經增加了一些。下面是一些主流的服務提供商:

  • AWS Lambda - 起步最早的
  • OpenWhisk - 在 IBM 的 Bluemix 云上可用
  • Google Cloud Functions
  • Azure Functions

這些平臺都有它們的相對優勢和劣勢(例如,Azure 支持 C#,或者緊密集成在其他提供商的平臺上)。這里面***的玩家是 AWS。

通過 AWS 的 Lambda 和 API Gateway 構建你的***個 API

我們來試一試 serverless。我們將用 AWS Lambda 和 API Gateway 來構建一個能返回 Jimmy 所說的“Guru Meditations”的 API。

所有代碼在 GitHub 上可以找到。

API文檔:

  1. POST / 
  2.     "status""success"
  3.     "meditation""did u mention banana cognac shower" 

怎樣組織工程文件

文件結構樹:

  1. ├── LICENSE 
  2. ├── README.md 
  3. ├── server 
  4. │   ├── __init__.py 
  5. │   ├── meditate.py 
  6. │   └── swagger.json 
  7. ├── setup.py 
  8. ├── tests 
  9. │   └── test_server 
  10. │       └── test_meditate.py 
  11. └── tools 
  12.     ├── deploy.py 
  13.     ├── serve.py 
  14.     ├── serve.sh 
  15.     ├── setup.sh 
  16.     └── zip.sh 

AWS 中的信息(想了解這里究竟在做什么的詳細信息,可查看源碼 tools/deploy.py)。

  • API。實際構建的對象。它在 AWS 中表示為一個單獨的對象。
  • 執行角色。在 AWS 中,每個 Function 作為一個單獨的角色執行。在這里就是 meditations。
  • 角色策略。每個 Function 作為一個角色執行,每個角色需要權限來干活。我們的 Lambda Function 不干太多活,故我們只添加一些日志記錄權限。
  • Lambda Function。運行我們的代碼的地方。
  • Swagger。 Swagger 是 API 的規范。API Gateway 支持解析 swagger 的定義來為 API 配置大部分資源。
  • 部署。API Gateway 提供部署的概念。我們只需要為我們的 API 用一個就行(例如,所有的都用生產或者 yolo等),但是得知道它們是存在的,并且對于真正的產品級服務,你可能想用開發和暫存環境。
  • 監控。在我們的業務崩潰的情況下(或者因為使用產生大量賬單時),我們想以云告警查看方式為這些錯誤和費用添加一些監控。注意你應該修改 tools/deploy.py 來正確地設置你的 email。

代碼

Lambda Function 將從一個硬編碼列表中隨機選擇一個并返回 guru meditations,非常簡單:

  1. import logging 
  2. import random 
  3.  
  4. logger = logging.getLogger() 
  5. logger.setLevel(logging.INFO) 
  6.  
  7. def handler(event, context): 
  8.  
  9.     logger.info(u"received request with id '{}'".format(context.aws_request_id)) 
  10.  
  11.     meditations = [ 
  12.     "off to a regex/"
  13.     "the count of machines abides"
  14.     "you wouldn't fax a bat"
  15.     "HAZARDOUS CHEMICALS + RKELLY"
  16.     "your solution requires a blood eagle"
  17.     "testing is broken because I'm lazy"
  18.     "did u mention banana cognac shower"
  19.     ]
  20.  
  21.     meditation = random.choice(meditations) 
  22.  
  23.     return { 
  24.         "status""success"
  25.         "meditation": meditation, 
  26.     } 

deploy.py 腳本

這個腳本相當長,我沒法貼在這里。它基本只是遍歷上述“AWS 中的信息”下的項目,確保每項都存在。

我們來部署這個腳本

只需運行 ./tools/deploy.py。

基本完成了。不過似乎在權限申請上有些問題,由于 API Gateway 沒有權限去執行你的 Function,所以你的 Lambda Function 將不能執行,報錯應該是“Execution failed due to configuration error: Invalid permissions on Lambda function”。我不知道怎么用 botocore 添加權限。你可以通過 AWS console 來解決這個問題,找到你的 API, 進到 /POST 端點,進到“integration request”,點擊“Lambda Function”旁邊的編輯圖標,修改它,然后保存。此時將彈出一個窗口提示“You are about to give API Gateway permission to invoke your Lambda function”, 點擊“OK”。

當你完成后,記錄下 ./tools/deploy.py 打印出的 URL,像下面這樣調用它,然后查看你的新 API 的行為:

  1. $ curl -X POST https://a1b2c3d4.execute-api.us-east-1.amazonaws.com/prod/ 
  2. {"status""success""meditation""the count of machines abides"

本地運行

不幸的是,AWS Lambda 沒有好的方法能在本地運行你的代碼。在這個例子里,我們將用一個簡單的 flask 服務器來在本地托管合適的端點,并調用 handler 函數。

  1. from __future__ import absolute_import 
  2.  
  3. from flask import Flask, jsonify 
  4.  
  5. from server.meditate import handler 
  6.  
  7. app = Flask(__name__) 
  8.  
  9. @app.route("/", methods=["POST"]) 
  10. def index():
  11.  
  12.     class FakeContext(object): 
  13.         aws_request_id = "XXX" 
  14.  
  15.     return jsonify(**handler(None, FakeContext())) 
  16.  
  17. app.run(host="0.0.0.0"

你可以在倉庫中用 ./tools/serve.sh 運行它,像這樣調用:

  1. $ curl -X POST http://localhost:5000/ 
  2.     "meditation""your solution requires a blood eagle"
  3.     "status""success" 

測試

你總是應該測試你的代碼。我們的測試方法是導入并運行我們的 handler 函數。這是最基本的 python 測試方法:

  1. from __future__ import absolute_import 
  2.  
  3. import unittest 
  4.  
  5. from server.meditate import handler 
  6.  
  7. class SubmitTestCase(unittest.TestCase): 
  8.  
  9. def test_submit(self): 
  10.  
  11. class FakeContext(object): 
  12.  
  13. aws_request_id = "XXX" 
  14.  
  15. response = handler(None, FakeContext()) 
  16.  
  17. self.assertEquals(response["status"], "success" 
  18. self.assertTrue("meditation" in response) 

你可以在倉庫里通過 nose2 運行這個測試代碼。

更多前景

  • 和 AWS 服務的無縫集成。通過 boto,你可以***地輕易連接到任何其他的 AWS 服務。你可以輕易地讓你的執行角色用 IAM 訪問這些服務。你可以從 S3 取文件或放文件到 S3,連接到 Dynamo DB,調用其他 Lambda Function,等等。
  • 訪問數據庫。你也可以輕易地訪問遠程數據庫。在你的 Lambda handler 模塊的最上面連接數據庫,并在handler 函數中執行查詢。你很可能必須從它的安裝位置上傳相關的包內容才能使它正常工作。可能你也需要靜態編譯某些庫。
  • 調用其他 webservices。API Gateway 也是一種把 webservices 的輸出從一個格式轉換成另一個格式的方法。你可以充分利用這個特點通過不同的 webservices 來代理調用,或者當業務變更時提供后向兼容能力。
責任編輯:武曉燕 來源: Linux中國
相關推薦

2016-07-01 16:13:13

AWSLambda

2020-10-13 08:03:47

ServerlessFramework

2023-04-18 15:18:10

2018-05-17 22:55:48

AWS Lambda服務器代碼

2014-11-14 10:16:18

亞馬遜

2014-11-14 10:08:07

AWSAWS Lambda

2019-05-07 09:00:40

無服務器Lambda管理

2015-11-16 17:48:00

2015-07-14 16:17:56

亞馬遜AWSAWS API Gat

2023-05-04 17:20:54

AWS ECSAWS Lambda云計算

2023-07-30 15:00:21

2025-02-14 15:36:05

2023-11-29 12:09:07

AWS網絡服務

2025-02-20 08:11:52

2021-01-15 16:23:39

ArubaAWSIoT

2022-02-08 10:41:20

Service MeAPI GatewaLinux

2017-06-05 10:08:33

無服務器計算AWS Lambda

2013-07-26 09:29:46

OpenStack平臺開源云計算管理平臺OpenStack基金

2021-09-06 16:51:02

阿里云Serverless計算機

2018-05-07 10:04:55

ServerlessGoogle ClouAzure
點贊
收藏

51CTO技術棧公眾號

亚洲精品乱码久久久久久蜜桃图片| 欧美1o一11sex性hdhd| 男人天堂资源网| 欧美成a人片免费观看久久五月天| 欧美激情一区在线| 91精品视频播放| 精品视频在线观看免费| 欧美日韩破处| 欧美色图12p| 国产一区二区三区播放| 天堂中文在线资源| 日韩中文字幕区一区有砖一区| 亚洲人成绝费网站色www| 艹b视频在线观看| 国产色婷婷在线| 国产午夜亚洲精品午夜鲁丝片| 国产一区二区香蕉| 国产精品第72页| 国产a久久精品一区二区三区| 欧美人牲a欧美精品| 欧美图片激情小说| yiren22综合网成人| 成人网男人的天堂| 国产精品久久久久久av福利| 久草免费在线观看视频| 国产一区二区三区站长工具| 日韩欧美一区电影| 成人一区二区三| 一色桃子av在线| 欧美激情一区二区三区| 国产精品区一区二区三在线播放| 中文人妻熟女乱又乱精品| 一区免费在线| 久久久国产一区二区| 国产精品九九九九九| 91成人福利社区| 一本大道久久a久久综合婷婷| 最近免费观看高清韩国日本大全| 大地资源中文在线观看免费版| 国产91丝袜在线播放| 国产精品久久色| 可以在线观看av的网站| 欧美精品国产一区二区| 日韩在线精品视频| 女尊高h男高潮呻吟| 亚州一区二区| 这里只有精品免费| 国产wwwxx| 免费日韩电影| 亚洲不卡一区二区三区| 女人床在线观看| 日本三级在线视频| 中文字幕不卡在线| 日韩精品国内| 精品影院一区| 久久婷婷国产综合国色天香| 国产综合欧美在线看| 国产成人毛毛毛片| 韩国女主播成人在线观看| 国产精品久久久久久av| 波多野结衣不卡| 亚洲欧美成人综合| 欧美又大又粗又长| 欧美一区二区激情视频| 亚洲人成人一区二区三区| 九九久久精品一区| 中文字幕另类日韩欧美亚洲嫩草| 国产精品久久久久久麻豆一区软件 | 国产一区二区三区免费不卡| 亚洲av无码乱码在线观看性色| 国内精品国产成人| 91视频免费在线| av一区二区三| 粉嫩一区二区三区性色av| 91视频免费进入| 性生活黄色大片| 成人激情小说乱人伦| 国产在线资源一区| 欧美日韩在线中文字幕| 国产午夜精品久久久久久久| 日韩欧美一区二区视频在线播放| 精品久久av| 欧美激情中文字幕| 麻豆av一区二区三区| 三级视频在线播放| 国产女人18毛片水真多成人如厕| 亚洲成人18| 国产美女福利在线| 一个色在线综合| 国产一级大片免费看| av电影院在线看| 欧美性生交xxxxxdddd| 亚洲欧美另类动漫| 美女国产精品久久久| 成人写真视频| 国产亚洲精品美女久久久久| 天天摸日日摸狠狠添| 我不卡影院28| 欧美精品18videos性欧美| 日韩 欧美 综合| 日一区二区三区| 91在线高清免费观看| 国产91久久久| 国产欧美日韩综合| 强开小嫩苞一区二区三区网站| 国产高清在线a视频大全| 欧美日韩在线看| 黄色小视频免费网站| 一本一道久久a久久| 亚洲欧美中文日韩在线| 久久高清内射无套| 久久精品系列| 91pron在线| 久久精品蜜桃| 亚洲综合在线观看视频| 99免费视频观看| 日韩精品一区二区三区中文在线| 亚洲免费伊人电影在线观看av| 特黄一区二区三区| 一区二区三区四区五区精品视频 | 亚洲精品国产福利| 色www亚洲国产阿娇yao| 精品91在线| 91精品国产91久久| 亚洲无码精品在线播放| 丁香六月综合激情| 亚洲一区二区三区在线观看视频| av在线网页| 欧美日韩免费高清一区色橹橹| 99精品视频免费版的特色功能| 高清精品视频| 日韩视频在线免费| 无码人妻精品一区二区三区9厂 | 亚洲日本在线天堂| 久久国产乱子伦免费精品| 日韩成人在线观看视频| 伊人av综合网| 性无码专区无码| 国产成人免费高清| 亚洲在线不卡| 自拍偷自拍亚洲精品被多人伦好爽| 日韩一区二区在线看片| 激情五月深爱五月| 天堂va蜜桃一区二区三区 | 日韩理论片一区二区| 99草草国产熟女视频在线| 九九热hot精品视频在线播放 | 亚洲二区在线播放| 日本不卡不码高清免费观看| 久久久综合香蕉尹人综合网| 国产黄大片在线观看| 欧美大胆一级视频| 亚洲怡红院在线观看| 蜜桃视频免费观看一区| 日韩电影免费观看高清完整| 欧美成人ⅴideosxxxxx| 国产丝袜一区视频在线观看| 日韩精品一区二区三| 成人免费视频app| 国产精品一色哟哟| 国产成人av毛片| 午夜精品久久17c| 国产小视频免费观看| 亚洲超碰精品一区二区| 在线精品视频播放| 精品91在线| 精品视频一区在线| 末成年女av片一区二区下载| 亚洲精美色品网站| 超碰中文字幕在线| 久久久天堂av| 在线观看免费污视频| 欧美影院三区| 国产精品一久久香蕉国产线看观看| h视频在线免费| 欧美裸体一区二区三区| 国内偷拍精品视频| 成人av免费观看| 欧美v在线观看| 国产亚洲欧美日韩在线观看一区二区 | 欧美与黑人午夜性猛交久久久| 青青视频在线观| 91久久奴性调教| 日本裸体美女视频| 国产成人av电影在线观看| 欧美乱大交xxxxx潮喷l头像| 另类图片第一页| 国产极品精品在线观看| 婷婷免费在线视频| 欧美第一区第二区| 久久久久久久久久成人| 国产精品久久99| 中文字幕一二三区| 国产精品视区| 亚洲一区三区| 美女av一区| 国产精品直播网红| 国产经典三级在线| 一本色道久久综合狠狠躁篇怎么玩 | 欧美在线视频网| 午夜在线观看视频| 欧美精品一区二区在线播放| 人人妻人人爽人人澡人人精品 | 九九视频精品免费| 日韩极品视频在线观看| 精品大片一区二区| 91精品国自产在线观看| 成人免费短视频| 欧美成人黄色小视频| 日本不卡视频一区二区| 欧美精品久久99久久在免费线| www.youjizz.com亚洲| 国产视频一区在线观看| 最好看的中文字幕| 日韩电影免费在线看| 国产欧美久久久久| 水蜜桃精品av一区二区| 国外成人免费视频| 伊人久久大香| 国产成人中文字幕| 黑人精品视频| 日韩一区二区在线视频| 四虎影院在线播放| 日韩欧美一级片| 中文字幕日日夜夜| 欧美视频在线观看免费网址| 波多野结衣家庭教师| 久久久国产一区二区三区四区小说| 色偷偷中文字幕| 日本女人一区二区三区| www.射射射| 欧美日韩三区| 宅男一区二区三区| 黑人久久a级毛片免费观看| 国产精品中文在线| av白虎一区| 久久精品中文字幕| 日韩av资源| 日韩欧美色电影| 亚洲GV成人无码久久精品 | 日韩一区和二区| 91高潮大合集爽到抽搐| 在线观看视频91| 久久久久97国产| 亚洲精品国久久99热| 欧美成人短视频| 国产三级三级三级精品8ⅰ区| 日韩精品视频一区二区| 国产a级毛片一区| 激情图片中文字幕| 国内精品伊人久久久久av一坑| 免费看污黄网站| 青青草成人在线观看| 人人爽人人av| 日本视频中文字幕一区二区三区| 欧洲av无码放荡人妇网站| 亚久久调教视频| 欧美视频免费播放| 久久狠狠婷婷| 国产一区亚洲二区三区| 久久精品九九| 日韩精品视频久久| 伊人影院久久| 国产成人免费高清视频| 91精品成人| 成人短视频在线观看免费| 欧美成人高清| 国产精品久久久久久久久电影网| 亚洲天堂偷拍| 国产精品裸体瑜伽视频| 亚洲手机视频| 成熟了的熟妇毛茸茸| 99国产精品自拍| 日韩少妇内射免费播放18禁裸乳| 国产免费成人| 国产在线青青草| 丝袜亚洲另类欧美| 在线观看的毛片| 日韩不卡手机在线v区| 免费日韩视频在线观看| 久久在线精品| 欧美wwwwwww| 久久精品二区亚洲w码| 国产乱叫456| 成人h动漫精品| 亚洲永久精品ww.7491进入| 亚洲欧洲成人自拍| 国产一级大片在线观看| 色综合久久中文综合久久97| 中文字幕日本视频| 91精品欧美久久久久久动漫| 丰满人妻av一区二区三区| 日韩成人激情视频| 中文字幕在线观看日本| 最近2019中文免费高清视频观看www99 | 欧美一区二区三区小说| 国产强被迫伦姧在线观看无码| 欧美成人一区二区三区片免费 | 欧美日韩国产乱码电影| 精品国产av一区二区| 日韩成人在线电影网| 69视频在线观看| 久久久久久久久久久网站| 黄色亚洲网站| 亚洲在线视频福利| 亚洲婷婷丁香| www.18av.com| 日本不卡免费在线视频| 永久免费未满蜜桃| 国产精品丝袜久久久久久app| 久久久久亚洲av无码专区体验| 欧美性猛交xxxx免费看漫画| 99精品免费观看| 亚洲天堂日韩电影| 波多野结衣中文在线| 国产精品亚洲精品| 久久免费福利| 人偷久久久久久久偷女厕| 欧美一区不卡| jizzjizz国产精品喷水| 国产精品一级片在线观看| 谁有免费的黄色网址| 亚洲成年人网站在线观看| 在线免费av片| 亚洲人成网站999久久久综合| 亚洲wwwww| 国产精品美腿一区在线看| 另类ts人妖一区二区三区| 日韩视频一二三| 麻豆精品国产91久久久久久| 熟妇高潮精品一区二区三区| 一二三区精品视频| va视频在线观看| 色诱女教师一区二区三区| 中文字幕这里只有精品| 国产成人免费观看| 亚洲色图二区| 91女神在线观看| 欧美国产综合一区二区| 亚洲va在线观看| 日韩欧美视频一区| 国产在线1区| 成人看片人aa| 亚洲国产精品91| 日日碰狠狠躁久久躁婷婷| 成人视屏免费看| 国产精品69久久久久孕妇欧美| 岛国av一区二区| 神马午夜精品95| 欧美精品激情在线观看| 亚洲第一二区| 日韩精品一区二区三区四| 国产福利一区二区三区视频在线| 国产美女高潮视频| 91精品国产综合久久婷婷香蕉| 国产精品ⅴa有声小说| 日本午夜精品理论片a级appf发布| 欧美成人专区| 国产二区视频在线播放| 91污片在线观看| 欧美一级片免费在线观看| 亚洲电影在线看| 色戒汤唯在线观看| 久久偷看各类wc女厕嘘嘘偷窃 | 中日韩一级黄色片| 7777精品伊人久久久大香线蕉完整版| 1769视频在线播放免费观看| 国产日韩综合一区二区性色av| 日本一区二区免费高清| 中文字幕第17页| 亚洲美女免费在线| 亚洲第一天堂网| 4438全国成人免费| 精品国产乱码久久久| 午夜国产一区二区三区| 亚洲欧洲另类国产综合| 精品国产免费无码久久久| 久久久亚洲影院| 台湾色综合娱乐中文网| 麻豆传传媒久久久爱| 国产精品久久夜| www.激情五月| 欧美在线一区二区三区四| 日韩在线观看| 中文字幕 日本| 欧美日韩和欧美的一区二区| 国模私拍视频在线播放| 日产精品一线二线三线芒果| 国产精品 日产精品 欧美精品| 国产欧美一区二区三区在线看蜜臂| 色先锋资源久久综合5566| 久久久免费毛片| 午夜免费看毛片| 激情成人中文字幕| 国产在线更新| 日韩国产精品一区二区| 不卡的av网站| 国产又粗又黄又爽的视频| 欧美一级在线播放| 欧美精品一线|