{"version":1,"pages":[{"id":"-L_Laqs75GHQXtbVr5qV","title":"Introduction","pathname":"/","siteSpaceId":"sitesp_grn6U","description":""},{"id":"-M1b3iFFYb_oUDl6W-Xa","title":"Google Cloud Platform","pathname":"/getting-started/google-cloud-platform","siteSpaceId":"sitesp_grn6U","description":"Get started on Google Cloud Platform by signing up for a free account and creating a new project to use.","breadcrumbs":[{"label":"Getting Started"}]},{"id":"-MDNawI-wgJvu4Ssa02t","title":"Cloud Shell","pathname":"/getting-started/cloud-shell","siteSpaceId":"sitesp_grn6U","description":"","breadcrumbs":[{"label":"Getting Started"}]},{"id":"-M1b55iNDUHjRCAvgycm","title":"gcloud CLI","pathname":"/getting-started/gcloud-cli","siteSpaceId":"sitesp_grn6U","description":"Install gcloud command to interact with Google Cloud Platform from the command line.","breadcrumbs":[{"label":"Getting Started"}]},{"id":"-MBuEI33Gmz4dg9tLBZF","title":"Hello World!","pathname":"/getting-started/helloworld","siteSpaceId":"sitesp_grn6U","description":"Google Cloud Platform has a range of different runtime environments to run your Java / Spring Boot application.","breadcrumbs":[{"label":"Getting Started"}]},{"id":"-MEYgs7AqLpvUtK0ENAY","title":"Cloud Shell","pathname":"/getting-started/helloworld/cloud-shell","siteSpaceId":"sitesp_grn6U","description":"Use Cloud Shell to build and test applications for development purpose.","breadcrumbs":[{"label":"Getting Started"},{"label":"Hello World!"}]},{"id":"-MBuEODMafcpnJvDYgKK","title":"App Engine","pathname":"/getting-started/helloworld/app-engine","siteSpaceId":"sitesp_grn6U","description":"Deploy a JAR to a fully managed PaaS with just one command.","breadcrumbs":[{"label":"Getting Started"},{"label":"Hello World!"}]},{"id":"-MBuERsg0ZxHvo_jl3O3","title":"Cloud Run","pathname":"/getting-started/helloworld/cloud-run","siteSpaceId":"sitesp_grn6U","description":"Deploy a container to serverless environment using a single command.","breadcrumbs":[{"label":"Getting Started"},{"label":"Hello World!"}]},{"id":"-MBuEU2BqI3OPdJnK1cq","title":"Kubernetes Engine","pathname":"/getting-started/helloworld/kubernetes-engine","siteSpaceId":"sitesp_grn6U","description":"Create a Kubernetes cluster and deploy a container.","breadcrumbs":[{"label":"Getting Started"},{"label":"Hello World!"}]},{"id":"-MBuEWzop2QNfxsB0uvF","title":"Compute Engine","pathname":"/getting-started/helloworld/compute-engine","siteSpaceId":"sitesp_grn6U","description":"Create a VM then deploy your application to the VM.","breadcrumbs":[{"label":"Getting Started"},{"label":"Hello World!"}]},{"id":"-MBuEZ2760Lf17zhkj6B","title":"Cloud Functions","pathname":"/getting-started/helloworld/cloud-functions","siteSpaceId":"sitesp_grn6U","description":"Deploy a simple HTTP function.","breadcrumbs":[{"label":"Getting Started"},{"label":"Hello World!"}]},{"id":"-M1bKdbY4RUN-0foV1rO","title":"Development Tools","pathname":"/app-dev/development-tools","siteSpaceId":"sitesp_grn6U","description":"Overview of application development tools for Java developers with Google Cloud Platform. Google Cloud Platform has a range of tools to span across all application development lifecycle.","breadcrumbs":[{"label":"Application Development"}]},{"id":"-M3T05Kmk5kgZiSUXuYT","title":"Spring Cloud GCP","pathname":"/app-dev/spring-cloud-gcp","siteSpaceId":"sitesp_grn6U","description":"","breadcrumbs":[{"label":"Application Development"}]},{"id":"-M1hKixgeNUWU8zOrOJW","title":"Cloud Services","pathname":"/app-dev/cloud-services","siteSpaceId":"sitesp_grn6U","description":"","breadcrumbs":[{"label":"Application Development"}]},{"id":"-M1b43jgRmYwjLAvJYep","title":"Databases","pathname":"/app-dev/cloud-services/databases","siteSpaceId":"sitesp_grn6U","description":"","breadcrumbs":[{"label":"Application Development"},{"label":"Cloud Services"}]},{"id":"-M1heU31_bvKza_-mCF6","title":"Cloud SQL","pathname":"/app-dev/cloud-services/databases/cloud-sql","siteSpaceId":"sitesp_grn6U","description":"","breadcrumbs":[{"label":"Application Development"},{"label":"Cloud Services"},{"label":"Databases"}]},{"id":"-M1b4ApGj6DFf74aZdVI","title":"Cloud Spanner","pathname":"/app-dev/cloud-services/databases/cloud-spanner","siteSpaceId":"sitesp_grn6U","description":"","breadcrumbs":[{"label":"Application Development"},{"label":"Cloud Services"},{"label":"Databases"}]},{"id":"-M1b4ClQb76sbl1pptQE","title":"Cloud Firestore","pathname":"/app-dev/cloud-services/databases/cloud-firestore","siteSpaceId":"sitesp_grn6U","description":"","breadcrumbs":[{"label":"Application Development"},{"label":"Cloud Services"},{"label":"Databases"}]},{"id":"-M9dZMn1ziyaegs7TJtP","title":"Datastore Mode","pathname":"/app-dev/cloud-services/databases/cloud-firestore/datastore-mode","siteSpaceId":"sitesp_grn6U","description":"","breadcrumbs":[{"label":"Application Development"},{"label":"Cloud Services"},{"label":"Databases"},{"label":"Cloud Firestore"}]},{"id":"-M9dfpk4BBKCplHedVf-","title":"Native Mode","pathname":"/app-dev/cloud-services/databases/cloud-firestore/native-mode","siteSpaceId":"sitesp_grn6U","description":"","breadcrumbs":[{"label":"Application Development"},{"label":"Cloud Services"},{"label":"Databases"},{"label":"Cloud Firestore"}]},{"id":"-MFNT8kZEGc7RpuJIpfa","title":"Messaging","pathname":"/app-dev/cloud-services/messaging","siteSpaceId":"sitesp_grn6U","description":"","breadcrumbs":[{"label":"Application Development"},{"label":"Cloud Services"}]},{"id":"-M1bPUe4qjUBn941tYeP","title":"Cloud Pub/Sub","pathname":"/app-dev/cloud-services/messaging/pubsub","siteSpaceId":"sitesp_grn6U","description":"","breadcrumbs":[{"label":"Application Development"},{"label":"Cloud Services"},{"label":"Messaging"}]},{"id":"-MFNTKfXLXXs_vOlf8U8","title":"Kafka","pathname":"/app-dev/cloud-services/messaging/kafka","siteSpaceId":"sitesp_grn6U","description":"","breadcrumbs":[{"label":"Application Development"},{"label":"Cloud Services"},{"label":"Messaging"}]},{"id":"-M1b4_02184RiNqFmIAp","title":"Secret Management","pathname":"/app-dev/cloud-services/secret-management","siteSpaceId":"sitesp_grn6U","description":"","breadcrumbs":[{"label":"Application Development"},{"label":"Cloud Services"}]},{"id":"-M1b4NwSs85Y-tSrc1n5","title":"Storage","pathname":"/app-dev/cloud-services/storage","siteSpaceId":"sitesp_grn6U","description":"","breadcrumbs":[{"label":"Application Development"},{"label":"Cloud Services"}]},{"id":"-M1b4fL7CTuEYnL7p8xe","title":"Cache","pathname":"/app-dev/cloud-services/cache","siteSpaceId":"sitesp_grn6U","description":"","breadcrumbs":[{"label":"Application Development"},{"label":"Cloud Services"}]},{"id":"-MADiJMKwGFHIUmIY9Kl","title":"Memorystore Redis","pathname":"/app-dev/cloud-services/cache/memorystore-redis","siteSpaceId":"sitesp_grn6U","description":"","breadcrumbs":[{"label":"Application Development"},{"label":"Cloud Services"},{"label":"Cache"}]},{"id":"-MADiM_9RTTfDh_qFZXY","title":"Memorystore Memcached (beta)","pathname":"/app-dev/cloud-services/cache/memorystore-memcached","siteSpaceId":"sitesp_grn6U","description":"","breadcrumbs":[{"label":"Application Development"},{"label":"Cloud Services"},{"label":"Cache"}]},{"id":"-MGolmkSjBYgH-KSV4dI","title":"Other Services","pathname":"/app-dev/cloud-services/other-services","siteSpaceId":"sitesp_grn6U","description":"","breadcrumbs":[{"label":"Application Development"},{"label":"Cloud Services"}]},{"id":"-MGKZMHNt1DjCvXlBw1Z","title":"Observability","pathname":"/app-dev/observability","siteSpaceId":"sitesp_grn6U","description":"","breadcrumbs":[{"label":"Application Development"}]},{"id":"-M1b4TEUtu27UeJWU_MT","title":"Trace","pathname":"/app-dev/observability/trace","siteSpaceId":"sitesp_grn6U","description":"","breadcrumbs":[{"label":"Application Development"},{"label":"Observability"}]},{"id":"-M1b4VXzuqnRRlaHJGUd","title":"Logging","pathname":"/app-dev/observability/logging","siteSpaceId":"sitesp_grn6U","description":"","breadcrumbs":[{"label":"Application Development"},{"label":"Observability"}]},{"id":"-M1b4jjTtwEFa30Y_S0k","title":"Metrics","pathname":"/app-dev/observability/metrics","siteSpaceId":"sitesp_grn6U","description":"","breadcrumbs":[{"label":"Application Development"},{"label":"Observability"}]},{"id":"-MCmenkFzsR4cDvPoSxt","title":"Profiling","pathname":"/app-dev/observability/profiling","siteSpaceId":"sitesp_grn6U","description":"","breadcrumbs":[{"label":"Application Development"},{"label":"Observability"}]},{"id":"-MCmeeb9IUV7E5_Y15fG","title":"Debugging","pathname":"/app-dev/observability/debugging","siteSpaceId":"sitesp_grn6U","description":"","breadcrumbs":[{"label":"Application Development"},{"label":"Observability"}]},{"id":"-MGFnYUyrzeSfLz7LBf9","title":"DevOps","pathname":"/app-dev/devops","siteSpaceId":"sitesp_grn6U","description":"","breadcrumbs":[{"label":"Application Development"}]},{"id":"-MGFEkpFDHyx9C4cceZD","title":"Artifact Repository","pathname":"/app-dev/devops/artifact-repository","siteSpaceId":"sitesp_grn6U","description":"","breadcrumbs":[{"label":"Application Development"},{"label":"DevOps"}]},{"id":"-MEsg4W23M_RV7VfQSOK","title":"Runtime Environments","pathname":"/deployment/runtime-environments","siteSpaceId":"sitesp_grn6U","description":"","breadcrumbs":[{"label":"Deployment"}]},{"id":"-MEV1n-GNSbiEvFmi1n4","title":"Container","pathname":"/deployment/docker","siteSpaceId":"sitesp_grn6U","description":"","breadcrumbs":[{"label":"Deployment"}]},{"id":"-MEV1HOrp_C9aSYfVy6B","title":"Container Image","pathname":"/deployment/docker/container-image","siteSpaceId":"sitesp_grn6U","description":"Build container images with tools and best practices.","breadcrumbs":[{"label":"Deployment"},{"label":"Container"}]},{"id":"-MFHz9674tJGFG1LGbeV","title":"Secure Container Image","pathname":"/deployment/docker/secure-container-image","siteSpaceId":"sitesp_grn6U","description":"","breadcrumbs":[{"label":"Deployment"},{"label":"Container"}]},{"id":"-MEV2OAA78p2pSQ1Uvvp","title":"Container Awareness","pathname":"/deployment/docker/container-awareness","siteSpaceId":"sitesp_grn6U","description":"Learn the intricate details of how JVM applications see container resources and how it impacts heap, CPU, and threads.","breadcrumbs":[{"label":"Deployment"},{"label":"Container"}]},{"id":"-MFIr3dvPW-SiUMjG_o6","title":"Vulnerability Scanning","pathname":"/deployment/docker/vulnerability-scanning","siteSpaceId":"sitesp_grn6U","description":"","breadcrumbs":[{"label":"Deployment"},{"label":"Container"}]},{"id":"-MFIM_oJuQ20IcJg_PnV","title":"Attestation","pathname":"/deployment/docker/attestation","siteSpaceId":"sitesp_grn6U","description":"","breadcrumbs":[{"label":"Deployment"},{"label":"Container"}]},{"id":"-MDKvYQB-5BPGws0HZew","title":"Kubernetes","pathname":"/deployment/kubernetes","siteSpaceId":"sitesp_grn6U","description":"","breadcrumbs":[{"label":"Deployment"}]},{"id":"-MDKwCMFLQGEn89cU0V_","title":"Kubernetes Cluster","pathname":"/deployment/kubernetes/kubernetes-cluster","siteSpaceId":"sitesp_grn6U","description":"Learn how to create a production-grade Kubernetes cluster to deploy your application.","breadcrumbs":[{"label":"Deployment"},{"label":"Kubernetes"}]},{"id":"-MDMCQpZLAWjRCEWGOpp","title":"Deployment","pathname":"/deployment/kubernetes/deployment","siteSpaceId":"sitesp_grn6U","description":"Learn how to create a Kubernetes deployment and deploying the Hello World container image.","breadcrumbs":[{"label":"Deployment"},{"label":"Kubernetes"}]},{"id":"-MEUeG3TluidRxujyWkg","title":"Resources","pathname":"/deployment/kubernetes/resources","siteSpaceId":"sitesp_grn6U","description":"Learn how to assign CPU/memory resources to your containerized application.","breadcrumbs":[{"label":"Deployment"},{"label":"Kubernetes"}]},{"id":"-MDNjfpbBni_y2D1Ue5v","title":"Service","pathname":"/deployment/kubernetes/service","siteSpaceId":"sitesp_grn6U","description":"Learn how to create a Kubernetes service and how service discovery works.","breadcrumbs":[{"label":"Deployment"},{"label":"Kubernetes"}]},{"id":"-MEVBxzRzuCj9Tm9SkcG","title":"Health Checks","pathname":"/deployment/kubernetes/health-checks","siteSpaceId":"sitesp_grn6U","description":"Learn how Kubernets checks the application health, and how to use liveness probes and readiness probes.","breadcrumbs":[{"label":"Deployment"},{"label":"Kubernetes"}]},{"id":"-ME9_LkAGnoyKzhJEJsY","title":"Load Balancing","pathname":"/deployment/kubernetes/load-balancing","siteSpaceId":"sitesp_grn6U","description":"Learn the different ways to load balance traffic both for both external and internal consumers.","breadcrumbs":[{"label":"Deployment"},{"label":"Kubernetes"}]},{"id":"-ME9ay6jzgxhR3UbEXJB","title":"External Load Balancing","pathname":"/deployment/kubernetes/load-balancing/external-load-balancing","siteSpaceId":"sitesp_grn6U","description":"","breadcrumbs":[{"label":"Deployment"},{"label":"Kubernetes"},{"label":"Load Balancing"}]},{"id":"-ME9aRYIyHyylEpiieXA","title":"Internal Load Balancing","pathname":"/deployment/kubernetes/load-balancing/internal-load-balancing","siteSpaceId":"sitesp_grn6U","description":"","breadcrumbs":[{"label":"Deployment"},{"label":"Kubernetes"},{"label":"Load Balancing"}]},{"id":"-MFJ6Q4caWM9oSFxkY4l","title":"Scheduling","pathname":"/deployment/kubernetes/scheduling","siteSpaceId":"sitesp_grn6U","description":"","breadcrumbs":[{"label":"Deployment"},{"label":"Kubernetes"}]},{"id":"-MKk4MGKY3yD9wDSSRBo","title":"Workload Identity","pathname":"/deployment/kubernetes/workload-identity","siteSpaceId":"sitesp_grn6U","description":"","breadcrumbs":[{"label":"Deployment"},{"label":"Kubernetes"}]},{"id":"-MFJ-egvm_RbExUXSOtk","title":"Binary Authorization","pathname":"/deployment/kubernetes/binary-authorization","siteSpaceId":"sitesp_grn6U","description":"","breadcrumbs":[{"label":"Deployment"},{"label":"Kubernetes"}]},{"id":"-MKujKQltceQ8gGVu3q0","title":"Istio","pathname":"/deployment/istio","siteSpaceId":"sitesp_grn6U","description":"Istio is a service mesh that can manage your service to service communication policies.","breadcrumbs":[{"label":"Deployment"}]},{"id":"-MKukALO6D5NLSGfiDUS","title":"Getting Started","pathname":"/deployment/istio/getting-started","siteSpaceId":"sitesp_grn6U","description":"","breadcrumbs":[{"label":"Deployment"},{"label":"Istio"}]},{"id":"-MKunznXtHS5fPRUPOhm","title":"Sidecar Proxy","pathname":"/deployment/istio/sidecar-proxy","siteSpaceId":"sitesp_grn6U","description":"","breadcrumbs":[{"label":"Deployment"},{"label":"Istio"}]},{"id":"-M1bZVrmiLmGjZVxmRRA","title":"Code Labs","pathname":"/additional-resources/code-labs","siteSpaceId":"sitesp_grn6U","description":"Long and short code labs to learn Spring Boot on GCP.","breadcrumbs":[{"label":"Additional Resources"}]},{"id":"-M1b_N1rDNuxF0EujBRT","title":"Presentations / Videos","pathname":"/additional-resources/presentations-videos","siteSpaceId":"sitesp_grn6U","description":"List of presentations and videos on Spring Boot with Google Cloud Platform.","breadcrumbs":[{"label":"Additional Resources"}]},{"id":"-MCoWlgle3gjsokvXGIX","title":"Cheat Sheets","pathname":"/additional-resources/cheet-sheets","siteSpaceId":"sitesp_grn6U","description":"","breadcrumbs":[{"label":"Additional Resources"}]}]}