Cloud Native Apps on Google Cloud Platform: Use Serverless, Microservices and Containers to Rapidly Build and Deploy Apps on Google Cloud
- Length: 422 pages
- Edition: 1
- Language: English
- Publisher: BPB Publications
- Publication Date: 2022-04-12
- ISBN-10: 935551123X
- ISBN-13: 9789355511232
- Sales Rank: #1942338 (See Top 100 Books)
Step-by-step guide for developing cloud native apps on GCP powered by hands-on interactive learning
Key Features
- Cutting-edge coverage on Google Cloud Build, Cloud Run, GKE, Kubectl and Anthos.
- Includes tutorials and exercises to learn designing, deploying and running cloud native apps.
- Covers Service Mesh, Apps Optimization, logs monitoring and cloud IAM access.
Description
The book “Cloud Native Apps on Google Cloud Platform”teaches the readers how to design, construct, and maintain successful cloud-native apps using the Google Cloud Platform. With interactive tutorials, the book reinforces learning and helps to develop practical skills for working in an Agile and DevOps context. The book provides a step-by-step approach to building and managing cloud-native applications on Google Cloud Platform for Google Cloud Users, DevOps teams, and Cloud-Native Developers.
First, you will investigate the advantages and applicability of each Google Serverless Computing option. You’ll learn about Cloud Build and how to use it to prepare code files, create microservices, and build container images. The book walks readers through creating and running Docker image containers on Cloud Run and App Engine. You’ll learn how to use kubectl to create and manage Kubernetes clusters, as well as how to configure the autoscaler for increased resilience and availability. You’ll build a pipeline that uses Cloud Build to automate CI/CD and Pub/Sub to ingest streaming data.
Finally, you’ll have the opportunity to learn about Anthos, which enables you to manage massive GKE clusters in both Cloud and on-premises environments.
What you will learn
- Distinguish between using containers or microservices for cloud native apps.
- Build a streaming data pipeline using BigQuery and Dataflow using Pub/Sub.
- Practice to deploy and optimize cloud native applications on Kubernetes Engine.
- Build continuous integration/continuous delivery pipelines and improve Kubernetes apps.
- Learn to protect apps running on GCP from cyberattacks.
Who this book is for
This book is meant for the Cloud and DevOps professionals and for those who wish to learn about Google Cloud services and incorporate them into end-to-end cloud applications.
Cover Page Title Page Copyright Page About the Author About the Reviewers Acknowledgement Preface Errata Table of Contents 1. Introducing Cloud Native Apps Structure Objectives About Cloud Native Apps Cloud-native application architecture Features of a cloud-native application Benefits of Cloud-native applications The Dawn of Modern DevOps Cloud Native DevOps The Cloud Service Model IaaS vs PaaS vs SaaS vs FaaS Google Compute Engine (GCE) — IaaS The Serverless Paradigm Google Kubernetes Engine (GKE) — (CaaS) Google App Engine (GAE) — (PaaS) Google Cloud Functions — (FaaS) Cloud Run --- (CaaS+) Advantages of serverless architecture Advantages of Functions (FaaS) Advantages of a Microservices architecture Advantages of working with APIs What is the best approach? Interactive tutorials Interactive Tutorial 1.1: Deploy Node.js code in Cloud Function Tutorial 1.2: Deploy a Nodejs App in Google App Engine Tutorial 1.3: Deploy a Nodejs Container in Cloud Run Conclusion 2. Developing Cloud Native Apps with Cloud Shell Structure Objectives A Cloud native approach to SDLC Principles for Cloud Native architecture Principle 1: Automation by design Principle 2: Be wary of Preserving State Principle 3: Favor managed services Principle 4: Practice defense in depth Principle 5: Always be architecting What is Agile Development Understanding the Cloud Native development lifecycle Cloud native patterns The four pillars of Cloud native Best practices for cloud native application development Tools for cloud-native app development What is Google Cloud Code? Selecting a development and operations environment Google Cloud SDK The gcloud command-line tool Client libraries Product-specific command-line tools Cloud Shell Walkthrough 2.1: Cloud Shell setup Launching Cloud Shell from the Console Launching a standalone session Using the Cloud Shell Terminal Using the Cloud Shell Editor Ephemeral mode Walkthrough 2.2: Running VScode with Cloud Shell in the browser Installing the Cloud SDK locally Walkthrough 2.3: Installing Cloud SDK Docker Image Docker image options Installing a specified Docker image Interactive Tutorial 2.1: Developing with Cloud Code using the Cloud Shell Editor Working with Cloud Run Workspace management in the Cloud Shell Editor Walkthrough 2.4: Create a new workspace Debugging with Cloud Shell Editor Debugging actions Setting breakpoints Additional Kubernetes debugging support Configuration files in your Cloud Shell home directory tmux support Container image customization Customizing Cloud Shell container images Interactive tutorial 2.2: Creating a custom Cloud Shell Docker Image Creating the Docker Image Conclusion 3. Preparing Source Code with Cloud Build Structure Objectives A Cloud native approach to DevOps DevOps lifecycle Software Configuration Management (SCM) Types of Version Control Systems Version Control Systems – Best Practices Cloud Source Repositories Simplified Continuous Integration (CI) with Container Builder Pre-Installed tools and languages in Cloud Shell and Cloud Shell Editor Cloud Source Repositories and App Engine The Software Build process What is a Build? Types of Software Build Automating the Build Interactive Tutorial 3.1: Creating a Cloud Repository Clean up Disable your app Delete the repository Cloud Build Build configuration and the build steps Starting builds Viewing build results How do builds work? Overview of Artifact Registry Introduction Artifact registry and container registry Cloud Build and Docker Cloud Build interfaces Running builds locally Differences between the local builder and Cloud Build Interactive Tutorial 3.2 Clean up Conclusion 4. Create and Deploy Microservices Structure Objectives The case for microservices architecture Interactive tutorial 4.1: Demonstrating the Monolith and Microservice architectures Microservices deployed on Cloud functions Technical walkthrough 4.1: Under the Bonnet with Cloud Function Microservices Web app How does it work? Microservices architecture on Google App Engine App Engine Services as Microservices Project isolation Versions within services Service isolation Interactive tutorial 4.2: Build and deploy Microservices in App Engine Conclusion 5. Building and Deploying Containers in Cloud Build Structure Objectives What are Containers? Container architecture DockerHub Running a Docker Container Roll your own Container Containerization – Suitable GCP Engines Google Artifact Registry (formerly Google Container Registry) Working with repositories and registries Exploring artifact registry Walkthrough 5.1: Exploring the artifact registry repositories A quick guide to some essential technologies How does Git work? Access controls Configuring permissions Customizing Cloud Shell containers Persistent storage for $HOME Interactive tutorial 5.1: Building a custom Cloud Shell Docker Container Customizing Cloud Shell container images Interactive tutorial 5.2: Build and deploy a Container in Cloud Run Working with APIs Interactive tutorial 5.3: Running a Google Translate API on Cloud Run Managing Containers Conclusion 6. Create a Serverless Pipeline with Pub/Sub, Dataflow, and BigQuery Structure Objectives Cloud Pub/Sub How does Pub/Sub work? Common use cases Limitations Interactive tutorial 6.1: Getting familiar with Cloud Pub/Sub An overview Setting up Pub/Sub Cloud Task Queues InteractivetTutorial 6.2: Working with Cloud tasks Cloud Task Queues Interactive tutorial 6.3: Working with Cloud tasks Cloud Scheduler BigQuery Interactive tutorial 6.4: Building a Serverless Pipeline with Pub/Sub, Functions, and BigQuery Clean Up! Cloud Dataflow Interactive tutorial 6.5: Stream processing with Cloud Pub/Sub and Dataflow Clean up! Conclusion 7. Container Orchestration with Google Kubernetes Engine Structure Objectives Scaling Containers Clustering basics Cluster management architecture Google Kubernetes Decomposing the Monolith Kubernetes essentials Kubernetes architecture Deployment Kubernetes Control Plane Kubernetes on Google Cloud Cluster orchestration with Google Kubernetes Engine Interactive tutorial 7.1: Building your first Kubernetes Cluster Interactive tutorial 7.2: Building your first Kubernetes App Set default settings for the gcloud tool Clean up! Difference between imperative and declarative Interactive tutorial 7.3: A declarative approach to configuring and deploying to Kubernetes Troubleshooting Kubernetes Using the kubectl CLI for debugging issues Clean Up! Conclusion 8. Deploying and Managing Kubernetes Applications Structure Objectives Cluster Design patterns The age-old dilemma The single cluster model Multi-cluster model Managing Kubernetes resources What is a namespace? The “default” namespace Creating namespaces Viewing namespaces Creating resources in the namespace Viewing resources in the namespace Namespace communication Namespace granularity Liveness and readiness checks Readiness Liveness Type of Probes Exploring some key Kubernetes features Zero-downtime upgrades Upgrading nodes with zero downtime Rolling update Migration with node pools Tutorial 8.1: Migrating a Monolith to Microservices on Kubernetes Engine Introduction Interactive tutorial 8.1: Running Microservices in Google Kubernetes Engine (GKE) Overview Architecture diagram of the Microservices Conclusion 9. Optimizing Kubernetes Cluster and Apps in GKE Structure Objectives Optimization starts with the application Running Cloud Native apps on GKE Understanding apps and resources Setting resource requests and limit ranges Autoscaling Pod disruption budgets Liveness and readiness probes Batch and serving applications Batch apps Serving apps Optimizing Kubernetes applications on GKE A cost-optimized Cluster GKE cost-optimization features and options Four Kubernetes scaling dimensions Horizontal Pod Autoscaler (HPA) HPA setting the thresholds Vertical Pod Autoscaler (VPA) Some best practices common to both HPA And VPA Cluster Autoscaler Node auto-provisioning Preemptible VMs Serving workloads Prepare cloud-based Kubernetes applications Understand your application capacity Make sure your application can grow vertically and horizontally Set appropriate resource requests and limits Make sure your container is as lean as possible Understand the metrics server Consider using Anthos Policy Controller Design your CI/CD pipeline to enforce cost-saving practices Spread the cost-optimization culture Interactive tutorial 9.1: Autoscaling deployments with GKE workload metrics Objectives Before you begin Querying workload metrics using the Kubernetes Custom Metrics API Deploying a HorizontalPodAutoscaler object Observing HorizontalPodAutoscaler scaling up Clean up Summary of optimization's broad steps Conclusion 10. Deploying a CI/CD Pipeline With Kubernetes and Cloud Build Structure Objectives Why CI/CD? Why Kubernetes? Simple health check capability Rolling updates and native rollback Resilience Simplified monitoring Aligns with business objectives Let the system engineers implement CD Kubernetes and CI/CD a divine combo Complementary tools The Promise of GitOps How to implement CI in GitOps? Objections to CI Common pitfalls Measuring CI GitOps-style continuous delivery with Cloud Build Implementing an automated deployment process Common pitfalls in deployment automation Complexity Dependencies Not designed for automation Poor collaboration between teams Ways to improve deployment automation Ways to measure deployment automation Continuous Delivery vs Continuous Deployment Implementing continuous delivery Common pitfalls of implementing continuous delivery Measuring continuous delivery Interactive tutorial 10.1: GitOps-style continuous delivery with Cloud Build Objectives Prepare Creating the continuous delivery pipeline Granting Cloud Build access to GKE Initializing the hello-cloudbuild-env repository Creating the trigger for the continuous delivery pipeline Modifying the continuous integration pipeline to trigger the continuous delivery pipeline Testing the complete pipeline Testing the rollback Clean up! Deleting the resources Conclusion 11. Build a Software Delivery Platform with Anthos Structure Objectives Defining Anthos The way Anthos works Anthos agent Anthos hub Anthos Service Mesh Anthos operations suite Anthos's business utility Today's hybrid and multi-cloud ecosystems Anthos fleets Anthos technical drill-down Computing environment Multi-cluster management Connecting across environments Connecting to Google services Microservice architecture support Managed service mesh Centralized config management Cloud Run for Anthos Secure software supply chain Consolidated logging and monitoring Unified user interface Anthos for development Anthos for operations Anthos for security Designing modern CI/CD with Anthos Software delivery platforms Software delivery workflow Code repositories Application landing zones Operating model Governance Platform as a product Deploying CI/CD with Anthos Selecting a pilot application Developer considerations Operator considerations Security team considerations CI/CD workflow Architecture Platform infrastructure Code repositories Application landing zones Technical walkthrough 11.1: Building a CI/CD in Anthos Overview Objectives Before you begin Part 1 Part 2: Applying the developer workflow Overview Objectives Clean up! Conclusion 12. Application Management with Anthos Structure Objectives The rise of Kubernetes The meta control planes Monitoring Anthos Cloud Anthos — Hybrid and multi cloud dexterity Key components of Anthos Cloud logging, monitoring, and observability Anthos application security Service accounts Cloud Identity and Access Management Zero Trust Technical walkthrough 12.1: Launching Anthos using the sample deployment Your journey Objectives Costs Before you begin What’s deployed? Launch the Anthos sample deployment on Google Cloud Using the Anthos Dashboard Explore Anthos clusters resources Cluster management Cluster workloads Services and Ingress Observing services Observe the services table view Observe the services topology view Exploring Anthos further Setting up your Cloud Shell environment Enforcing mTLS in your service mesh Confirm Anthos Config Management setup Update a policy to encrypt all service traffic Push your changes to the repository Using Policy Controller to set up guardrails Apply guardrails Use Policy Controller Apply a policy constraint for privileged containers Test your policy Conclusion 13. Securing Cloud Native Apps in Anthos Structure Objectives Anthos Identity Service (AIS) Beyond user identity Kubernetes Engine (GKE) IAM roles Clarifying the GKE predefined IAM roles Potential risks and privilege elevation paths Google Cloud Platform IAM Group membership over individual access Role-based Access Control Anthos: Modernize your security posture Consistent policies Software supply chain security Security of multi-tenant environments across a shared platform Stage 1: The infrastructure Stage 2: Guardrails and policy Stage 3: Securing the workloads Anthos Service Mesh Stage 4: Monitoring and detecting flaws Anthos: Modernizing security for hybrid and multi-cloud Enforcing consistent policies across environments A GitOps approach Deploying only trusted workloads Isolating workloads with different risk profiles Anthos under the hood Anthos Config Controller Managing Anthos and Google Cloud with your Kubernetes tools Focus on what you want, Config Controller takes care of the rest Consistency with GitOps Policy guardrails and auditing Config sync benefits Configuring clusters Policy Controller overview Constraints Constraint templates Interactive tutorial 13.1: Validating apps against policy Overview Resources Pipeline CI pipeline for Policy Controller Objectives Before you begin Cleaning up! Conclusion Index
Donate to keep this site alive
1. Disable the AdBlock plugin. Otherwise, you may not get any links.
2. Solve the CAPTCHA.
3. Click download link.
4. Lead to download server to download.