Book Image

Google Cloud Platform for Developers

By : Ted Hunter, Steven Porter
Book Image

Google Cloud Platform for Developers

By: Ted Hunter, Steven Porter

Overview of this book

Google Cloud Platform (GCP) provides autoscaling compute power and distributed in-memory cache, task queues, and datastores to write, build, and deploy Cloud-hosted applications. With Google Cloud Platform for Developers, you will be able to develop and deploy scalable applications from scratch and make them globally available in almost any language. This book will guide you in designing, deploying, and managing applications running on Google Cloud. You’ll start with App Engine and move on to work with Container Engine, compute engine, and cloud functions. You’ll learn how to integrate your new applications with the various data solutions on GCP, including Cloud SQL, Bigtable, and Cloud Storage. This book will teach you how to streamline your workflow with tools such as Source Repositories, Container Builder, and StackDriver. Along the way, you’ll see how to deploy and debug services with IntelliJ, implement continuous delivery pipelines, and configure robust monitoring and alerting for your production systems. By the end of this book, you’ll be well-versed with all the development tools of Google Cloud Platform, and you’ll develop, deploy, and manage highly scalable and reliable applications.
Table of Contents (17 chapters)

Google Cloud Spanner

While Cloud SQL provides a fully managed relational database experience, it does so by leveraging MySQL and PostgreSQL, making it subject to the limitations of these databases.

In the context of scalability, this means that Cloud SQL is limited to the upper bounds of these technologies - even more so as Cloud SQL makes no attempt to provide mechanisms for sharding. While technically possible through external tools such as ProxySQL, attempting to horizontally scale Cloud SQL essentially breaks the managed aspect of Cloud SQL.

As we discussed in the previous chapter, these limitations in scalability and ability to operate in a highly-distributed environment are largely what gave rise to NoSQL technologies. By sacrificing strong consistency guarantees (save for special cases that tend to carry poor performance), NoSQL solutions are able to scale far beyond traditional...