My Account Log in

1 option

Secure Continuous Delivery on Google Cloud : Implement an Automated and Secure Software Delivery Pipeline on Google Cloud Using Native Services / Giovanni Galloro, Nathaniel Avery, David Dorbin.

O'Reilly Online Learning: Academic/Public Library Edition Available online

View online
Format:
Book
Author/Creator:
Galloro, Giovanni, author.
Avery, Nathaniel, author.
Dorbin, David, author.
Language:
English
Subjects (All):
Google (Firm).
Cloud computing.
Business enterprises--Computer networks--Management.
Business enterprises.
Information technology--Management.
Information technology.
Application software--Development.
Application software.
Computer networks--Management.
Computer networks.
Physical Description:
1 online resource (304 pages)
Edition:
First edition.
Place of Publication:
Birmingham, England : Packt Publishing Ltd., [2024]
Biography/History:
Galloro Giovanni: 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. Avery Nathaniel: 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. Dorbin David: 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.
Summary:
Build an end-to-end continuous delivery pipeline on Google Cloud and secure your software supply chain using GCP tools and services including Cloud Code, Cloud Workstations, Cloud Build, Artifact Registry, and Cloud Deploy Key Features Gain hands-on experience building an end-to-end software delivery pipeline using Google Cloud services Deploy your applications on GKE, Cloud Run, and across hybrid and multi-cloud environments Secure pipelines with artifact scanning, dependency vulnerability checks, signed provenance, and admission control Purchase of the print or Kindle book includes a free PDF eBook Book Description Continuous delivery, a cornerstone of modern software engineering, facilitates quick and secure software delivery using a robust toolkit encompassing automated builds, testing, source code management, artifact storage, and deployment. Whether you integrate tools from different providers or use a set of managed services from a single cloud provider, the goal is to streamline setup, integration, and management. This book focuses on continuous delivery on Google Cloud. Starting with an introduction to continuous delivery and secure software supply chain concepts, this book uses hands-on exercises to demonstrate how to continuously test your application with Skaffold and Cloud Code, leverage AI-assisted code generation with Cloud Code and Cloud Workstations, and automate your continuous integration with Cloud Build. You'll see how to store and scan your software artifacts on Artifact Registry, orchestrate deployments with Cloud Deploy, and release your software on GKE and Cloud Run, configured to admit only trusted code. Using an example application, you'll implement tools for creating an end-to-end delivery pipeline using Google Cloud services. By the end of this book, you'll be able to build a secure software delivery pipeline from development to production using Google Cloud managed services and best practices. What you will learn Create an end-to-end continuous delivery pipeline using Cloud Build, Artifact Registry, and Cloud Deploy Develop, build, and deploy container-based applications with Skaffold and Cloud Code Experiment with AI-assisted code generation in Cloud Code Automate continuous integration with Cloud Build triggers Automate deployment on GKE and Cloud Run through Cloud Deploy Enhance pipeline security with Artifact Analysis, Binary Authorization, and SLSA Apply best practices, including logging and monitoring Who this book is for This book is for DevOps, Platform, and Cloud Engineers tasked with managing application deployment and creating continuous delivery pipelines who want to automate workflows in a fully managed, scalable, and secure platform. Software developers involved in application delivery and interested in harnessing Google Cloud tools to optimize development flow status and feedback loop will also find this book useful. Prior knowledge of Google Cloud fundamentals (including Cloud APIs and IAM), software delivery, containerization, and Kubernetes will enhance the reading experience.
Contents:
Cover
Copyright
Foreword
Contributors
Table of Contents
Preface
Part 1: Introduction and Code Your Application
Chapter 1: Introducing Continuous Delivery and Software Supply Chain Security
Introduction to CD
CD practices
The impact of CD on software delivery performance
Understanding continuous integration
How to implement CI
Understanding continuous testing
Test types
Implementing continuous testing
Understanding deployment automation
Implementing deployment automation
Securing your software delivery pipeline
Source code management threats and remediations
Build threats and remediations
Dependency threats and remediations
Summary
Chapter 2: Using Skaffold for Development, Build, and Deploy
Technical requirements
Understanding Skaffold's capabilities and architecture
Skaffold for building
Skaffold for deploying
Skaffold's architecture
Installing Skaffold
Using Skaffold with your application
Initializing your repository using skaffold init
Testing your application while you code using skaffold dev
Building your application using skaffold build
Testing your application using skaffold test
Deploying your application using skaffold deploy
Deploying and rendering separately using skaffold render and skaffold apply
Running the end-to-end pipeline using skaffold run
Managing deployment in different environments
Cleaning up
Chapter 3: Developing and Testing with Cloud Code
About Cloud Code
Continuously deploying and testing locally while you code
Checking application logs from your editor
Creating a GKE cluster from your editor
Continuously deploying and testing a Kubernetes app remotely while you code
Debugging
Code with AI assistance
Getting help to understand code.
Generating code
Chapter 4: Securing Your Code with Cloud Workstations
Introduction to Cloud Workstations
Cloud Workstations architecture
Configuring workstations for developers
Creating a workstation cluster
Creating a workstation configuration for the base editor
Creating a workstation configuration for the IntelliJ IDEA Ultimate IDE
Creating workstations and assigning them to developers
Customizing Cloud Workstations
Creating a custom image and workstation configuration
Updating Cloud workstations
Coding on Cloud Workstations
Accessing a Cloud workstation configured with the base editor
Accessing a Cloud workstation configured with a JetBrains IDE
Part 2: Build and Package Your Application
Chapter 5: Automating Continuous Integration with Cloud Build
Cloud Build architecture and capabilities
Building your application manually
Running a simple build from the command line
Adding automated tests to your build
Building your application using Skaffold
Using substitutions
Customizing your build workers
Custom machine types
Private worker pools
Generating security information for your build
Producing digitally signed provenance
Viewing vulnerability reports and provenance
Automating builds
Creating your source code repository
Connecting your source code repository to Cloud Build
Creating a trigger for your build
Running an automated build after a code commit
Chapter 6: Securely Store Your Software on Artifact Registry
Managing container images with Artifact Registry
Creating an Artifact Registry repository to store your image
Viewing role-based access control on a repository.
Listing the Artifact Registry repositories available in a project
Uploading a Docker container to Artifact Registry
Listing container images in the repository
Pulling a container image/package
Managing language package distribution with Artifact Registry
Creating a repository for a Python package from the demo app
Uploading a Python package to the repository
Viewing packages in the standard Python repository
Creating a repo for Go packages from the demo app
Using virtual and remote repositories
Creating a remote repository for Python
Listing the packages in the remote Python repo
Creating a virtual repository from two different Python repositories
Using vulnerability scanning to detect threats
Running an on-demand scan of your container image
Seeing the results of the on-demand scan
Viewing scan results in the Google Cloud Console
References
Part 3: Deploy and Run Your Application
Chapter 7: Exploring Runtimes - GKE, GKE Enterprise, and Cloud Run
Understanding containers
Understanding Google Kubernetes Engine
What's the big deal about GKE?
GKE limitations
GKE cluster modes
GKE components
Autoscaling
Understanding GKE Enterprise
Identity management
GKE Enterprise on on-premises clusters
Limitations of GKE Enterprise on bare metal
GKE Enterprise clusters on AWS and Azure
Understanding Cloud Run
Cloud Run services
Cloud Run jobs
Cloud Run integrations
Cloud Run limitations
Cloud Run pricing
Choosing between GKE and Cloud Run
Chapter 8: Automating Software Delivery Using Cloud Deploy
Exploring the Cloud Deploy architecture
Cloud Deploy among software delivery tools
The Cloud Deploy resource model
The Cloud Deploy execution environment.
What happens when a delivery pipeline executes?
Understanding Cloud Deploy target types
Using the Kubernetes manifest and Kustomization
Using a Skaffold configuration
Preparing your project
Enabling the API
Creating the GKE clusters
Granting the necessary permissions
Creating a delivery pipeline
Understanding the progression
Understanding targets
Registering the delivery pipeline and targets
Creating a release
Examining a release
Verifying your deployment
Using a deployment strategy
Configuring the deliver pipeline for a canary deployment
Running the canary deployment
Chapter 9: Securing Your Runtimes with Binary Authorization
Understanding Binary Authorization concepts
Setting up Binary Authorization
Creating a CMEK
Setting up Binary Authorization on GKE
Setting up Binary Authorization on Cloud Run
Using Binary Authorization on GKE on other public clouds
Setting up attestations
Creating an attestation
Configuring Binary Authorization policies
Creating the policy
Applying an attestation to the image
Part 4: Hands-On Secure Pipeline Delivery and Looking Forward
Chapter 10: Demonstrating an End-to-End Software Delivery Pipeline
Software delivery pipeline overview
Building your software delivery pipeline
Configuring the required IAM roles
Creating two GKE clusters
Creating GKE gateway resources
Creating your Cloud Deploy delivery pipeline
Configuring security policies for your pipeline
Creating two Cloud Build triggers for your repository
Creating your initial release
Running your pipeline
Updating your code as a developer.
Running an automatic build and scan of your artifact
Merging your code and deploying your application to production
Chapter 11: Integrating with Your Organization's Workflows
Connecting a Cloud Build trigger to a third-party repository
Creating a host connection to GitLab
Creating a link to the GitLab repository
Creating a trigger
Integrating Cloud Deploy with automated testing
Integrating Cloud Deploy approval with third-party workflow management tools
Using a third-party workflow management system with Cloud Deploy approvals
Chapter 12: Diving into Best Practices and Trends in Continuous Delivery
Best practices for deploying secure delivery pipelines
Using a host project for CI/CD infrastructure
Consider using VPC-SC
Using private pools with Cloud Build and Cloud Deploy
Using Cloud Logging and Cloud Monitoring
Enabling recommended alerts
Using GitOps
Anticipating the future
AI infusion
Index
Other Books You May Enjoy.
Notes:
Includes bibliographical references and index.
Description based on publisher supplied metadata and other sources.
Description based on print version record.
ISBN:
9781805127642
1805127640
OCLC:
1428526771

The Penn Libraries is committed to describing library materials using current, accurate, and responsible language. If you discover outdated or inaccurate language, please fill out this feedback form to report it and suggest alternative language.

Find

Home Release notes

My Account

Shelf Request an item Bookmarks Fines and fees Settings

Guides

Using the Find catalog Using Articles+ Using your account