FACY is a new retail platform which create future shopping experience, it’s build on GCP and utilized some services and tools of GCP, this post is an introduction about those services and tools and how they are cooperate with each other.
Google Kubernetes Engine (GKE)
Core component
Secured and managed Kubernetes service with four-way auto scaling and multi-cluster support.
Micro-service structure in GKE, each service has their own namespace
Interaction with other services and tools
Pub/Sub: handle communication between micro-services
Cloud SQL: as database for micro-services
Cloud Logging: log from micro-services will automatically go to could logging.
Cloud Storage: files can be saved in cloud storage directly.
IAM: each service has its own service account which is used for access control for resources in GCP.
Pub/Sub
Messaging and ingestion for event-driven systems and streaming analytics.
As communication tool between micro-services
Cloud SQL
Cloud SQL for PostgreSQL is a fully-managed database service that helps you set up, maintain, manage, and administer your PostgreSQL relational databases on Google Cloud Platform.
In FACY, we use Python SQLAlchemy from GKE to connect to PostgreSQL database.
Cloud Logging
Real-time log management and analysis at scale.
Supported across Google Cloud services and integrated with Cloud Monitoring, Error Reporting, and Cloud Trace.
Logs explorer is the core component of could logging, it enables users to search, sort, and analyze logs through flexible query statements.
Interaction with other services and tools
general: logs of all running services and tools can be found here.
Error Reporting: logs sent to Cloud Logging with proper formatting can directly invoke error reporting.
Cloud Monitoring: can set alerts to slack channel on the logs events
Cloud Storage (GCS)
Object storage for companies of all sizes. Store any amount of data. Retrieve it as often as you’d like.
when a new file saved in GCS, it will automatically send a message through Pub/Sub.
Cloud Identity and Access Management (IAM)
Fine-grained access control and visibility for centrally managing cloud resources.
Provides a simple and consistent access control interface for all Google Cloud services