在 Cloud Run 上部署有 Open Data 功能的 LINE Bot | 摘要王, 天氣, 紅外線

前言
此為 Cloud Run + Firebase + Gemini 工作坊中的操作文,如果有興趣針對有記憶能力的 LINE Bot 以及整合各方 Open Data 歡迎參考以下的內容
標籤

此為 Cloud Run + Firebase + Gemini 工作坊中的操作文,如果有興趣針對有記憶能力的 LINE Bot 以及整合各方 Open Data 歡迎參考以下的內容

經歷過連續兩週兩場 DevFest 2023 的經驗(12/9, 12/16),真的是把我畢生所學都拿出來榨乾了😆,但也很高興有機會在台中以及台北跟大家分享我在業餘時間透過 Google Cloud 開發 Side Project 的經驗談,以下內容為台北場內容,有興趣的跟著一起往下看吧!

過年改寫了我自己的在台北常使用的路上攝影機截圖工具,一開始求方便在每次請求來時會在容器當中開啟 chrome 去截圖,但由於是 MVP 以及沒有放 queue 在前面讓請求排隊,因此這樣的做法就無法提供給別人使用。
因此為了可用性,需要把截圖功能透過排程(cronjob)去實作,所以這次就將截圖功能改搬到 Cloud Function 並搭配 Cloud Scheduler 排程抓取。

近期因為有玩滑板,而且身處台北很容易下雨,因此需要找到加入了交流社群,其中設定了一些指令可以讓社群機器人可以提供 CCTV 的畫面,但其中因為需要去社群當中打指令對於一個剛加入的人有點害羞,有這些攝影機畫面真的可以幫助看是否要出門(大部分場地都室外),但身為工程師會想要按個按鍵就出現,因此就有以下文章囉!

Knative 是一個開源的 Kubernetes 原生 Serverless 平台,它使開發者更容易地建立、佈署和管理應用程式。而 Knative 的好處它提供了統一的方法來佈署和管理基於事件驅動的服務,這使得開發者可以專注於賺寫應用程式,而不必擔心基礎設施的細節。

Serverless 架構的冷啟動(cold start)是指當一個沒有被使用的函式需要被調用時,需要先啟動一個新的容器或虛擬機器來執行該函式,這個啟動的期間被稱為冷啟動時間。
但我們在寫應用的時候通常都會帶有一些 cronjob 在背景跑(備份、爬蟲...),但在 Serverless 上都會遇到 Cold Start 的問題,在這種情況下因為資源都會被釋放掉,如果這些 cronjob 是比較重的且 Severless RAM&CPU 又放比較少, cronjob 時邊爬蟲邊異地備份又讀寫資料庫(~~ 誇張了點 ~~),這情況下可能會因為資源瞬間不夠導致功能異常。

近年來,隨著雲端計算的普及和發展,越來越多的企業和開發者正在尋找一種更簡單、更高效的方式來佈署和運營應用程式。而 Severless 技術正是一種流行的解決方案。Google Cloud Run 是一個強大的 Severless 平台,可以幫助開發人員快速地佈署和運營。接著,本文將介紹 Google Cloud Run 的優點和如何在其中佈署。