Bigtable 並不是傳統 RDB 關係型資料庫,而是 GCP 提供的企業級 NoSQL Database,是一個支持大數據應用的分散式存儲系統,保證高可擴展、高可用性、高性能與高吞吐需求的服務,與現有 Apache Big Data 生態系統的開源軟體如 HBase 也有蠻好的整合。對應到其他的雲端服務是 :

  • Amazon Web Services (AWS) : DynamoDB
  • Microsoft Azure : Cosmos DB

Bigtable 優勢在於其強大的擴充性,效能完全和 cluster 中的 Node 數量成正比,該產品的強大性完全不用質疑,因為 Google 的很多重量級專案都有使用 Bigtable 來存儲資料例如: Youtube、Google Earth、Google 搜尋引擎、Google Map 等等,每個專案都為數十億活躍使用者提供穩定的服務。

Continue reading

Firestore 是 Google 提供的一款雲端全代管無伺服器的 Document NoSQL 資料庫,scale out 取向的設計會自動多區域資料複製 replication ,也有強一致性 query 和 transaction 支援。對應其他的雲端服務是 :

  • Amazon Web Services (AWS) : DocumentDB
  • Microsoft Azure : Cosmos DB

Firestore 特別的一點是有提供 realtime listeners 即時監聽器來同步 Firestore 資料庫和 client apps 之間的資料,同時也有提供 offline support 離線支援,也就是說一旦雲端的 Firestore 有異動,資料便會自動同步到用戶端上 ; 另一方面當用戶端無法上網時會先存取資料在自己用戶端上,等到可以上網之後會跟雲端的 Firestore 資料庫互相同步。

Continue reading

Filestore 是 Google Cloud 上完全託管的 Network FileSystem(簡稱 NFS),目的讓不同的機器甚至是不同的作業系統都可以彼此分享檔案。對應其他的雲端服務是 :

  • Amazon Web Services (AWS) : Elastic File System (EFS)
  • Microsoft Azure : Azure Files

Filestore 讀寫速度超級快,作為 file storage 並支持併發同時訪問同一個檔案,還提供其他不同種類的存儲類型一些可選替代方案,例如把 Filestore 作為一種「 Persistent Disk 的 block storage 存儲種類 」或者「 類似 Cloud Storage FUSE 的 object storage 存儲種類」等等,因此它適用連接整合到多種 GCP Client 端服務如:VM、GKE、Cloud Run 等等。

Continue reading

Cloud Storage 簡稱為 GCS ,是 Google 提供的 Object Storage,會把物件儲存在一個名叫 Bucket 的容器內,而 Bucket 還可以有類似劃分資料夾的功能稱 Managed Folders,可以針對這些資料夾加上個別的 IAM 來提供更精細的存取權限。對應其他的雲端服務是 :

  • Amazon Web Services (AWS) : Simple Storage Service (S3)
  • Microsoft Azure : Azure Blob Storage

Cloud Storage 是具有高性能 BLOB(Binary Large Object)儲存裝置,基本上可當成是近乎無限大的檔案儲存空間,不用預先配置容量也無需花費心力去管理容量,並提供 User 以 Google Web Console 介面 、SDK 或 RESTful API 的方式,簡單直觀地存取儲存的 Object。

Continue reading

前面幾個章節有介紹了 Google Cloud 中常見的幾個 Compute Service 運算服務,分別是: Compute EngineCloud FunctionsCloud RunGoogle Kubernetes Engine :

這邊也補充介紹 App Engine,它也是屬於 GCP 運算服務,只要上傳滿足該平台規範的 Code 格式就可以開始運作,會自動做負載平衡且並不需要管理任何硬體機器,聽說當年很紅的遊戲 Angry Birds 就是使用 App Engine 來作為服務平台。以上這五種運算服務應該在什麼情況下選擇呢? 選擇正確的基礎架構服務來運行 APP 是很重要的,故以下對其做一些廣義的整理和筆記。

Continue reading

Google Kubernetes Engine 簡稱是 GKE ,是一個由 Google 管理的 Kubernetes 開源容器編排平台的實現。因為 Kubernetes 的前身 Borg 本來就是 Google 內部的產品,憑藉著這樣的背景 GKE 號稱對於 Kubernetes 的支援跟擴展性跟其它雲端比起來會是最好的。對應其他的雲端服務是 :

  • Amazon Web Services (AWS) : EKS
  • Microsoft Azure : AKS

雲端化的 Kubernetes 簡單的說就是把可在地端原生的 Kubernetes 放到雲端上運行,由雲供應商幫助我們大幅簡化集群的設置管理與維運。由於只是讓雲供應商託管 Kubernetes ,最終差異也只是看雲供應商如何「預設」和「整合自己平台其他服務」至 Kubernetes 罷了,本質上 EKS、AKS、GKE 差異並不大,故基本上不推薦隨意更換 Kubernetes 服務的雲供應商或使用多雲,會考慮 GKE 的公司大多都是本來就在使用 GCP 雲端,更方便整合 Kubernetes 和 GCP 的各種服務。

Continue reading

Author's picture

李昀陽 YunYang Lee

Welcome to my Tech Note. You can read some of the chapters below.

Software Engineer

Taiwan