This is the first of a trilogy about Architecting on Google Cloud Platform.
Google Cloud Platform (GCP), Google’s public cloud service is similar to Amazon Web Services and Microsoft Azure. GCP is built on Google’s vast, cutting-edge infrastructure that handles all traffic and work for all Google users. GCP has attracted many clients, including Niantic (creators of Pokemon Go) as well as Coca-Cola. This is a detailed explanation on how Google helped Pokemon Go reach 50x its expected traffic in just a few days.
There is a wide-range of services available in GCP ranging from Infrastructure-as-a-Service (IaaS), Platform-as-a-Service (PaaS) to completely managed Software-as-a-Service (SaaS). This series will start with an overview of the infrastructure components and how they can provide a solid and flexible foundation upon which you can build your applications.
Google Compute Engine (Virtual Machines)
When moving to cloud computing, the first thing people think of is hosted virtual machines (VMs). GCP offers many options to run your apps such as App Engine Container Engine and Cloud Functions. VMs are the easiest way to move to the cloud for developers, architects, and anyone who is used having complete control over their operating system.
Google Compute Engine (GCE) supports both Linux virtual machines and Windows virtual machines. You can either use Google-maintained photos to provision VMs or import images from your infrastructure. It is common to create a new image from an existing image. This creates a pre-baked picture that you can quickly deploy without waiting for the software installation before the VM can begin doing valuable work. Another strategy is to create an image that contains a set of common items, such as a compliance package. Create a “golden” image that you can share with developers for their applications.
There are many cost-saving options that can help you save money on cloud infrastructure and other applications. Preemptible instances is one example of a unique feature that can cut down on the cost of running a VM by up to 80 percent. Preemptible instances can be used as a normal VM but Google can determine that it has the capacity to delete it without asking. This is possible if your applications can lose a node without interruption if they are fault-tolerant. Common uses include multiple preemptible VMs all working on the same task. If one VM is removed during a task, the work will be transferred to another VM.
GCP also offers cost-saving options such as per-minute billing or committed use discounts. You can also get sustained use discounts.
These features will benefit cloud architects who wish to optimize costs within GCP.
Networking
Google has completely redesigned their network infrastructure to support their unprecedented scale. They have a private, high-speed, global fiber network that supports custom routing protocols and hardware. GCP sits on top of the networking stack and solves the problem that comes with managing the complexity of a physical network. This change changes the way developers and architects think about networking. It simplifies routing and firewall rule management.
GCP objects are global network objects. This means you can have two virtual machines on the same private network. One in Hong Kong, one in Belgium. You can still communicate. You could even place a global balancer in front of them and have customers close to both locations refer directly via the same IP. These networks can be linked to multiple IP spaces.