Reader small image

You're reading from  Secure Continuous Delivery on Google Cloud

Product typeBook
Published inApr 2024
PublisherPackt
ISBN-139781805129288
Edition1st Edition
Concepts
Right arrow
Authors (3):
Giovanni Galloro
Giovanni Galloro
author image
Giovanni Galloro

Giovanni Galloro has been working at Google since 2017 as a customer engineer specializing in container-based runtimes, DevOps tools, and application networking. He works with multiple organizations across EMEA, helping them to leverage these capabilities and improve their software delivery practices. Giovanni is a community ambassador for the Continuous Delivery Foundation and is a frequent speaker at developer conferences. Before Google, he worked at Microsoft, Red Hat, VMware, and HP, following the evolution of application platforms over the past 20 years.
Read more about Giovanni Galloro

Nathaniel Avery
Nathaniel Avery
author image
Nathaniel Avery

Nathaniel Avery works at Google as an outbound product manager for the Google Cloud Application Ecosystem group, specializing in DevOps tools, and has spoken to many Fortune 500 companies about DevOps tooling solutions. Before joining Google, Nate spent more than 20 years in IT designing, planning, and implementing complex systems, integrating custom-built and COTS applications for federal government customers. Currently, he's working on better ways to build and use cloud resources to help customers deliver better products, safely and securely, without sacrificing velocity.
Read more about Nathaniel Avery

David Dorbin
David Dorbin
author image
David Dorbin

David Dorbin has been a technical writer for more than three decades. He's been with Google for more than a dozen years, documenting payment applications, internal tools, and Google Cloud DevOps products. Before Google, he worked with numerous start-ups and established companies, documenting technologies in payment processing, digital publishing and rights management, consumer electronics, and cryptography for financial institutions. In his free time, Dave enjoys playing bass and banjolele (but never at the same time), or doing more damage to his Achilles' heel on the streets and trails of northern New Jersey.
Read more about David Dorbin

View More author details
Right arrow

Exploring Runtimes – GKE, GKE Enterprise, and Cloud Run

At the end of the source-to-production pipeline is the runtime. The runtime is the machine where your application runs. The runtimes covered in this chapter are used for container-based applications.

In this chapter, we describe the main Google Cloud execution environments where you can deploy your applications using Continuous Delivery tooling, including Google Kubernetes Engine (GKE), Cloud Run, and GKE Enterprise (hosted on-premises or on other hyperscale clouds). In this chapter, we cover the following topics:

  • Understanding containers
  • Understanding Google Kubernetes Engine
  • Understanding Cloud Run

Understanding containers

Containers have become popular because they allow code to be packaged to easily run on a developer’s workstation and a multi-node cluster in the cloud. Think of a standard shipping container. It’s designed to hold a variety of goods and can be transported seamlessly by trucks, ships, and trains. Similarly, a software container holds an application and its supporting files, allowing it to run reliably on different computers (servers, laptops, the cloud, etc.). A container has everything your application needs to run:

  • The code: The actual instructions that make your application work
  • Runtime environment: The software that understands and executes your code (such as Python, Java, or Node.js)
  • Libraries and tools: The helpers your code relies on to do specific tasks
  • Settings: The configurations that tell your application how to behave

Container portability makes it possible for an application to go from a developer’...

Understanding Google Kubernetes Engine

Google Kubernetes Engine (GKE) is a Google-managed service for running Kubernetes. You can use GKE to deploy, manage, and scale containerized applications on Google Cloud. GKE runs Kubernetes on clustered Compute Engine instances.

GKE is built on the open source Kubernetes container orchestration platform. GKE uses Kubernetes commands to manage workloads. Kubernetes itself is based on technology used within Google for deploying, administering, managing, and monitoring applications. This internal Google system—called Borg—is often pointed to as the inspiration for Kubernetes. This means that organizations other than Google can benefit from years of experience scheduling containers to power major systems such as Search and YouTube.

The following sections talk about GKE, why it’s important, its components, and two modes of operation for GKE clusters. This information will help you decide whether or not to deploy your applications...

Understanding GKE Enterprise

GKE Enterprise is a superset of GKE. GKE Enterprise has all the features of GKE, in addition to some features suited to helping customers manage GKE clusters at scale. Standard Kubernetes is fine for managing a small number of clusters. GKE Enterprise is for large-scale Kubernetes deployments. GKE Enterprise provides a single console enabling streamlined configuration and enhanced security features.

The management capabilities of GKE Enterprise stretch across public cloud and on-premises environments. Groups of clusters are called fleets, which can include clusters from multiple projects.

Identity management

Fleets provide two mechanisms for authentication across clusters: Connect Gateway and GKE Identity Service. Connect Gateway can be selected by those who wish to use Google Cloud as the identity provider. For those who want to use a different identity provider, GKE Identity Service can be used.

An example of when GKE Enterprise would be used...

Understanding Cloud Run

Cloud Run gives developers a way to run containerized applications on Google Cloud without having to manage virtual machines, clusters, or Kubernetes. Cloud Run is a managed service that runs customer containers on Google’s scalable infrastructure. Cloud Run is typically viewed as simple enough for a single developer to team up with a few infrastructure personnel to get running.

Cloud Run services have a stable HTTPS URL. Cloud Run-hosted services are triggered by HTTPS requests. Anything that sends HTTPS requests can be a trigger. HTTPS requests can come from multiple sources, including some that may not immediately come to mind, such as Eventarc, Pub/Sub, and Workflows.

Here are some of the features:

  • Serverless execution: Focus purely on code. Cloud Run handles server provisioning, scaling, and infrastructure management.
  • HTTP request-driven: Cloud Run services are triggered by HTTP requests, making them ideal for web applications,...

Summary

The runtime environment is the last stop for your source-to-production workflow, so knowing what runtimes are available for you to deploy your applications to is important for many of your organization’s software development decisions.

Google Cloud offers numerous runtime environments. In this chapter, you learned about GKE and Cloud Run.

In Chapter 8, we create some GKE clusters and deploy them.

References

To learn more about the topics covered in this chapter, please refer to the following resources:

lock icon
The rest of the chapter is locked
You have been reading a chapter from
Secure Continuous Delivery on Google Cloud
Published in: Apr 2024Publisher: PacktISBN-13: 9781805129288
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
undefined
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at $15.99/month. Cancel anytime

Authors (3)

author image
Giovanni Galloro

Giovanni Galloro has been working at Google since 2017 as a customer engineer specializing in container-based runtimes, DevOps tools, and application networking. He works with multiple organizations across EMEA, helping them to leverage these capabilities and improve their software delivery practices. Giovanni is a community ambassador for the Continuous Delivery Foundation and is a frequent speaker at developer conferences. Before Google, he worked at Microsoft, Red Hat, VMware, and HP, following the evolution of application platforms over the past 20 years.
Read more about Giovanni Galloro

author image
Nathaniel Avery

Nathaniel Avery works at Google as an outbound product manager for the Google Cloud Application Ecosystem group, specializing in DevOps tools, and has spoken to many Fortune 500 companies about DevOps tooling solutions. Before joining Google, Nate spent more than 20 years in IT designing, planning, and implementing complex systems, integrating custom-built and COTS applications for federal government customers. Currently, he's working on better ways to build and use cloud resources to help customers deliver better products, safely and securely, without sacrificing velocity.
Read more about Nathaniel Avery

author image
David Dorbin

David Dorbin has been a technical writer for more than three decades. He's been with Google for more than a dozen years, documenting payment applications, internal tools, and Google Cloud DevOps products. Before Google, he worked with numerous start-ups and established companies, documenting technologies in payment processing, digital publishing and rights management, consumer electronics, and cryptography for financial institutions. In his free time, Dave enjoys playing bass and banjolele (but never at the same time), or doing more damage to his Achilles' heel on the streets and trails of northern New Jersey.
Read more about David Dorbin