A step-by-step DevOps project to deploy and manage a microservices application on Google Kubernetes Engine (GKE). This repository follows a practical learning approach, covering deployment, monitoring, performance evaluation, canary releases, autoscaling, cost optimization, and cluster management.
This project uses the "Online Boutique" demo application developed by Google. This is a mock application that simulates an online shop, comprised of 11 microservices. While the implementation of each service is simplified compared to realistic applications, it effectively illustrates the structure and operation of a reasonably complex cloud-native application.
The demo application is available from its GitHub repository. The main documentation can be found in the top-level README file and in the docs folder.
Note: This demo application used to be named "Hipster Shop". Some documents and code/configuration files may still reference this name.
- Google Cloud Platform (GCP) account with a project configured.
- Required Tools:
gcloudCLIkubectlDocker
Detailed design decisions and reasoning are documented in the docs folder.
git clone https://github.com/YazanZebak/gke-microservices-devops-lab.git
cd gke-microservices-devops-labConfigure your GCP project ID, region, and cluster name in config-gke-cluster.sh, then execute create-gke-cluster.sh to create the GKE cluster.
To avoid unnecessary costs, clean up and delete all resources after finishing your experiment using delete-gke-cluster.sh.
Run the deployment script:
deploy-k8s-app.sh
This script deploys the Online Boutique application on GKE.