Re: [心得] 實務經驗分享-AWS Lambda & RDS 整合探討
※ 引述《uopsdod (pcman)》之銘言:
: https://youtu.be/NRpLW8QIe5o
: 1. 第一部分會跟大家呈現實務上遇到的問題,讓大家一起討論並思考可行的解決方案。: 2. 第二部分會跟大家分享當初我選擇的解決方案,可能不是最佳解,但相信也能促進大: 家不同面向的思考!
: 這次要來探討的架構圖:
: https://imgur.com/yxL4w38
: 之前工作上為了處理批次作業,且想要盡量減少server維運成本,而有了這次的架構。: 但實作之後,發現了一些當初沒有預想到的問題。
: 我還滿珍惜這些實務上的經驗,就是遇到這些意外狀況,
: 讓我有機會去思考多種解決方案,這樣的過程都非常有趣。
: 這次想透過這樣的互動形式,讓大家一起討論看看如果是你/妳會建議怎麼解決!
你把 scalable service 跟 unscalable service 混在一起,所以才會煩惱疊了
那麼多東西是不是怪怪的。
一般系統設計上的邏輯是,scalable service 接到 unscalable service 需要用
queue 做緩衝,在 AWS 上面比較常見的是 SQS (MQ 服務與 Kafka 服務依照情況
也可以考慮)。
全部都是 scalable service 就不太會有你提到的問題:
S3 -> Lambda -> DynamoDB (w/ auto scaling)
如果最後面一定是 RDS,那麼可以這樣疊:
S3 -> SNS -> SQS -> EC2 instances (workers) -> RDS
跑固定數量的 worker 就不怕 RDS 的連線數量被撐爆,反正慢慢消化,原文的推
文裡面好像有人提過了。
(我之前貼在這邊的成本公式是錯的,我深夜邊弄東西邊算把 RAM-GB 的部份多乘
了 60,原文我放到 Web Archive 上的 https://bit.ly/2vQ117p 這邊,錯的部
份我這邊刪掉了)
開發的人只要透過 loop 去吃 SQS 的內容,不需要在 serverless 受限環境裡開
發,還有 swap 可以惡搞讓你可以平行跑更多的 worker。
量很大的時候還可以看情況挑 c5/m5/r5 的機器搭配 auto scaling 機制把 spot
instance 與一般機器混在一起用...
補一下我對 Lambda 的想法。現在這個階段用 Lambda 其實不是很划算:
* 開發成本因為需要考慮 serverless 的關係偏高,工程師是稀缺資源,爽爽
無腦寫標準的 loop 搭配 systemd 的 Restart 參數其實就可以解決很多問
題。
* 量少的時候,如果你老闆會很在意 $6.768/month 跟 $0.x/month 的差異,
也許要考慮快跑啊...
目前 Lambda 比較合理的情境應該是 CloudFront 上的 [email protected],這可以在全世界的 CloudFront 節點上執行,有反應時間上的優勢,其他的目前還沒看到...
總之,我覺得現階段用 Lambda 常常是個損人不利己的決策...
--
Resistance is futile.
https://blog.gslin.org/ & <[email protected]>
--
推, SNS-SQS-Worker 已經算是業界標準了
好文
lambda只能當輔助 qq
推 分析得好
謝謝分享~~
可是lambda不是開發起來比較簡單嗎?
也不用特別去維護server
寫的很好 想多看一些和Lambda的比較
謝謝分享,是篇好文!功力太淺的我= =" 只能懂一些些
用MQ削峰是常識呀...
dynamodb-stream只能串給lambda也是lambda常見且沒替代
的應用
想問..SQS 可以用 IoT Core 取代嗎?這樣會不會撐爆 R
DS 連線數?
感謝分享
1
serverless 的開發只有在處理很簡單的事情時會簡單 (好繞口),開發稍大一點的 應用時用 monolith application 的開發方式會簡單很多。 (再更大會拆,不過那是另外一個階段) : → gg142000: 也不用特別去維護server 02/21 09:37 如果團隊沒有人可以弄底層架構,你應該用 Heroku 這類平台趕快把產品寫出來,11
首Po這是個互動式的系列教學影片,每個主題將會分成兩部分: 1. 第一部分會跟大家呈現實務上遇到的問題,讓大家一起討論並思考可行的解決方案。 2. 第二部分會跟大家分享當初我選擇的解決方案,可能不是最佳解,但相信也能促進大 家不同面向的思考!
15
[請益] 了解 aws gcp 雲端服務 算是哪個職缺?本身是後端工程師 沒用過 aws gcp 看到一些說法 後端工程師 應該是著重在功能開發 經常需要程式撰寫7
[心得] 一個月取得Udacity雲端架構師證書不久前Udacity推出了任選Nanodegree第一個月免費的優惠, 筆者趁這次活動選讀了AWS Cloud Architect Nanodegree, 並且在一個月內完成專案拿到證書,在此跟大家分享心得。 網頁好讀板 這幾年雲端運算蓬勃發展(如AWS, Azure, GCP),10
[心得] 利用 AWS 打造分散式雲端架構 圖文講解【利用 AWS 快速打造分散式雲端架構】 架構圖: 影片連結: 內容簡介: 大家好,前一週跟大家分享了「什麼是分散式架構的出現?」的介紹,而如何實際建構7
[心得] AWS圖解教學 - Lambda Layer x Deno 部署示範封面圖: Youtube連結(觀念+實作): 一開始是想做一個Serverless Deno部署的概念,做下去發現Lambda還沒有支援Deno執行環境, 結果反而最後在摸如何建立Lambda custom runtime,這邊一點小心得跟大家分享。 Lambda runtime分成兩大類:7
Re: [請益] 免費仔想自己架站該如何把成本降到最低一個AWS based的方案給你參考 我沒用過Azure,但應該都有對應的服務可以用 後端 API Gateway + Lambda 前端 S3 serve static website + Route 53 Custom Domain,講究點可以再接CloudFront(CDN) 都是滿基本也滿popular的service,官方教學很完整應該沒啥難度5
【徵才】AsiaYo徵SRE/DevOps 年薪100-160萬標題:[徵才]Asiayo亞洲遊-徵SRE/DevOps工程師100-160K/3Y上 時間: Thu Oct 14 17:35:54 2021 【主要工作內容】 - 雲端資源調度與配置最佳化 (含權限控制與監控) AWS: VPC, IAM, EC2, S3, RDS, ElastiCache, CloudWatch, CloudFront, etc. (目前使1
[討論] Packhouse - Functional Programming架構Packhouse是因應Serverless而生的Functional Programming架構 大約在幾年前,我授命必須使用Serverless框架來為客戶建立服務 當時該框架還很年輕,AWS Lambda也還沒有Layer,因此從測試到部屬都是一場惡夢,在 資源匱乏的情況下只能建立一個基礎模型來協助開發 而在專案告一段落後,我便開始思考將模型轉成模組,因而產生了Packhouse- 幾乎沒有什麼平台依賴性,反而windows會因為檔案名稱格式不同而有點問題 如果本來就在Linux上跑的話放心轉mac吧 一點問題都沒有 : 2. 我上個學期有寫AWS 那時候跟我同組的朋友用Mac 有些情況下會有問題 必須依靠 : Docker來解決dependency問題。我想問Mac + docker效能是不是依然比VM + Win高? : 就是如果同樣要開發Linux程式的話 前者的搭配各方面(速度、穩定性...等)有明顯