Cloud Ops Sandbox (Sandbox further in this document) lets you to trial Cloud Operations suite of services by using a non-trivial microservice application deployed on Kubernetes like Online Boutique. With Sandbox you can experiment with existing tools to troubleshoot operational problems in a sandboxed environment or to have hands-on experience with creating new observability instruments.
Sandbox is composed of two main components: a demo application and observability instruments.
Online Boutique was selected to be a demo application because its microservice architecture, multi-language implementation and support of Clound Native deployment. You can look into its architecture here. You also can look into its code to explore techniques used to instrument its services with application metrics and tracing features.
Sandbox configures Cloud Operations suite to display observability data ingested by the Online Boutique services using OpenTelemetry instrumentation. The configuration is adapted to show an opinionated approach to monitor application's reliability state with:
Note If one of the above links does not show data you expect, select project that hosts your Sandbox in Cloud Console.
You can launch Sandbox using Cloud Shell button below and following walkthrough instructions:
Or, by executing the following commands in your local environment:
git clone https://github.com/GoogleCloudPlatform/cloud-ops-sandbox
gcloud auth application-default login
cloud-ops-sandbox/provisioning/sandboxctl create -p PROJECT_ID
where PROJECT_ID
identifies the Google Cloud project where you want to
launch Cloud Ops Sandbox.
The -p
or --project-id
parameter is required in order to define where Cloud
Ops Sandbox will be launched. If no value is provided, sandboxctl
will try
to use the configuration of gcloud CLI.
Additionally, you can customize other parameters of the launching process.
Sandbox CLI(cloud-ops-sandbox/provisioning/sandboxctl
) supports the following
options:
- Disable Load Generator -- By default, the launch will provision an instance
of Locust load generator that will emulate some load on
the Online Boutique application. Add
--skip-loadgenerator
parameter to cancel provisioning of the load generator. - Do not use Anthos Service Mesh (ASM) -- By default, ASM is provisioned to
manage all inter-service communication between Online Boutique services as well
as ingress traffic to the Online Boutique frontend service. Add
--skip-asm
parameter to not provision ASM. NOTE: If you do not install ASM, you would not be able to experiment with Service SLOs - Custom GKE cluster name -- By default, the launch provisions a new GKE
cluster with the name "cloud-ops-sandbox". Use
--cluster-name
or-n
parameter following by the custom cluster name to change the default behavior. For example,--cluster-name another-sandbox
will launch Sandbox with GKE cluster named "another-sandbox". - Customer GKE cluster location -- The default location for GKE cluster is
in the "us-central1" region. If you like to launch Sandbox's GKE cluster in
another region or launch it in a specific zone, use
--cluster-location
or-l
parameter. For example,--cluster-location europe-west2-a
will launch Sandbox's GKE cluster in zone A of the London's region (europe-west2). - Verbose output -- By default, CLI tries to minimize output printed to
console. Add
-v
or--verbose
parameter to have more detailed output. - To print usage help just run
sandboxctl
or use-h
parameter. - To check the version of Sandbox CLI use
--version
parameter.
Use the walkthrough to launch Cloud Ops Sandbox. The walkthrough assist you in every step and provides extra explanations while still allowing you to customize launch parameters. While it is possible to share GCP resources between Sandbox and your other workloads, it is recommended to launch Sandbox in the designated project. Note that reusing existing GKE cluster to launch Sandbox is not supported.
To minimize launch time and reduce operational costs it is recommended to configure zonal location for Sandbox's GKE cluster.
You can review resources deployed by Online Boutique in the GKE screen of Google Cloud console by opening the screen in your browser and selecting Workloads from the left-side bar menu to see deployments:
You can open the application's Web UI and play with the application. To do it copy/paste URL that the launch script printed at the end, similar to:
********************************************************************************
Cloud Operations Sandbox deployed successfully!
Google Cloud Console GKE Dashboard: https://console.cloud.google.com/kubernetes/workload
Google Cloud Console Monitoring Workspace: https://console.cloud.google.com/monitoring
Try Online Boutique at http://34.12.46.8
********************************************************************************
Or you can search for URL by selecting Services from the left-side bar menu and looking for services that expose public URLs and selecting one that points to port 80. Learn more about Online Boutique in its documentation.
Go to Cloud Ops artifacts that Sandbox provisions to learn more about other Sandbox resources.
SRE recipes are currently 🚧 under construction and not available. You can try the previous version of the recipes by deploying Cloud Ops Sandbox v0.8.2 at cloud-ops-sandbox.dev.
The cost of resources used by Sandbox is composed of the cost of:
- GKE cluster
- ASM if enabled
You will most probably fit the free tier for using services in Cloud Operating suite. GKE cluster is the core part of the bill. You can see estimate costs with pricing calculator.