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.
<img src=”./images/cloud-ops-sandbox-architecture.png” width=30% height=30%>
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:
--skip-loadgenerator
parameter to cancel
provisioning of the load generator.--skip-asm
parameter to not provision ASM.
NOTE: If you do not install ASM, you would not be able to experiment with
Service SLOs--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”.--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).-v
or --verbose
parameter to have more detailed output.sandboxctl
or use -h
parameter.--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:
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.