Cloud architect related projects

Avatar of 莊鈞諺.
Avatar of 莊鈞諺.

Cloud architect related projects

Expertise & Innovation Lead @ Fifty-five
Taipei City, Taiwan

Cloud related projects

雲端資料倉儲系統

我現在的單位負責管理、運營ㄧ個政府補助發放平台因這個計畫預算金額相當大、計畫人員眾多,數據分析需求巨大,原本外包的dashboard廠商無法跟上業主需求,因此我提議建立團隊內部自己的資料分析體系,並由我全權負責。

  • Compute Engine負責抓取資料,用python處理後直接打BigQuery Api 進去DB,另外設計了一個前台方案數量的監視器,每15分鐘打一次GraphQL記錄前台顯示的方案數,需要留存的資料一樣送Storage
  • Storage 除了備份原檔外,還會存定期用Pagespeed Insight檢測的效能報告(一週一次),該效能報告部分資料抽出近BQ做長期追蹤
  • Google Analytics 4 的資料透過設定直接原生匯入BigQuery
  • Cloud Monitor 中設定了3個alert,觸發會以mail告知我:
  • VM的健康狀況
  • Storage中存放batch近來資料的request數量,以確保ETL正常運作
  • BigQuery特定表格的寫入row數

網頁流量和使用者行為追蹤

這部分的技術,主要是工作前期做數位廣告專案時學會的,主要分為三類

  1. 網頁流量與使用者行為追蹤
  2. 成效型數位廣告投放與優化,廣告系統會吃第1點的數據
  3. 搜尋引擎最佳化-SEO



在廣告專案中,多個產業的數位行銷經驗,包括證券金融、政府網站、大型3C電商等,經手15個以上網站流量追蹤,後來比較不碰後面兩者,專注於第一點,但相關的數據都會收集,如現在負責的網站,關於關鍵字排名、行銷活動成效追蹤等影響網站流量、轉換率的數據都是由我負責建立收集系統。

推薦系統

  1. Vertex AI 的 Notebook 訓練模型,資料來源會是BQ,並在Vertex AI 中進行模型註冊與管理,並產出端點或是部署到VM上執行模型預測
  2. Compute Engine 上的VM會
  3. 吃前端打過來的使用者資料,打端點或者在VM上進行模型運算,回吐結果給前端,運算結果也回存DB
  4. 透過Load Balancing 跟Auto-scaling Groups進行VM擴展,另外一個功用就是當VM unhealth 的時候起一台新VM替代它。

Serverless Based 預算示警模組


這個模組用來check 臺灣雲市集平台發放點數是否超出預算,在這個模組中會去查詢BigQuery中表格中關於預算的數字,若達到門檻則發出email提醒相關人員。


系統架構

  1. Cloud Scheduler : 每2小時觸發查詢資料庫的Cloud Function
  2. Cloud Function: 有兩個函數
  3. 一個用來查詢BigQuery,並對查詢回來的數字進行邏輯判斷,若是剩餘預算低於警戒,則publish topic 給Pub/Sub
  4. 另一個用來發警示信件,並附上查回的預算數字
  5. Pub/ Sub :用來分離兩個函式的邏輯,並觸發第二個Cloud Function
  6. IAM :這個模組有一個獨立的服務帳戶,僅給予對應權限


Event-trigger based AWS Glue:實作處理GA4日誌檔案

  1. BigQuery Query與Cloud Function:我們將使用Google Cloud Function定時觸發BigQuery的查詢,將每天的GA4日誌資料整理並轉換為CSV檔案。
  2. 儲存到S3:轉換後的CSV檔案將被存儲到Amazon S3中,以便進行後續的資料處理。
  3. AWS Lambda與Glue Crawler:當S3接收到新的CSV檔案後,它會觸發一個AWS Lambda函數。該Lambda函數的工作是啟動AWS Glue的Crawler,進一步對新的資料檔案進行分析。
  4. Glue ETL:在Cloud Watch 監測到Crawler完成資料結構的探索後,我們將利用Lambda觸發AWS Glue ETL處理,這個過程將進行必要的資料轉換以符合我們的需求。
  5. 儲存並分析:轉換後的資料將再次被存儲到另一個S3 Bucket中。最後,我們將使用Amazon Athena進行資料的讀取與分析。

詳細的操作可以參考我的medium:基於事件觸發的AWS Glue:實作處理GA4日誌檔案

Google Cloud Functions 和 Pub/Sub 串接實作


  1. 透過 Cloud Function 取得並分析股票數據;
  2. 將分析結果發布到 Pub/Sub 主題(topic);
  3. 另一個 Cloud Function 訂閱(subscribe)該主題,接收到新消息後,將結果以電子郵件形式發送出去。流程架構圖。

詳細過程參考:利用 Google Cloud Functions 和 Pub/Sub 串接實作

這個作品集中是我的雲端架構相關的作品,涵蓋GCP, AWS, GA相關的專案架構。
Avatar of the user.
Please login to comment.

Published: Jul 29th 2023
38
7
0

Tools

linux
Linux
docker
Docker
python
Python
amazonwebservices
Amazon Web Services

data architect
solution architect
AWS
GCP

Share