GCP
Google Cloud Services Overview
Categories of Services
Compute: Virtual machines and container hosting.
Storage: Object, block, and file storage options.
Big Data: Tools for processing and analyzing large datasets.
Machine Learning: AI/ML models and services.
Application Services: Platforms for app deployment and scaling.
Compute Services
Compute Engine: Infrastructure as a Service (IaaS) β provides virtual machines.
App Engine: Platform as a Service (PaaS) β deploy code without managing infrastructure.
Serverless
Cloud Run: Run containerized applications in a fully managed environment.
Cloud Functions: Execute functions in response to events without managing servers.
Managed Options
Managed Services: Services where Google handles operations like scaling and patching.
Managed Resources: Resources managed by Google but under user configuration control.
SaaS
Software as a Service: Complete applications delivered and maintained by Google (e.g., Gmail, Google Docs).
Google Cloud Network Structure
Location Hierarchy:
Location > Region > Zones
Spanner Multi-Region Configuration:
Cloud Spanner can be deployed across multiple regions and zones for high availability and performance.
Google Security Infrastructure
Hardware Infrastructure Layer
Custom hardware design and trusted supply chain.
Secure boot ensures only verified software runs.
Physical security at data center premises.
Service Deployer Layer
Encrypted communication between services.
User Identity Layer
Centralized identity management and authentication.
Storage Services Layer
Data encryption at rest and in transit.
Internet Communication Layer
Google Front End (GFE) terminates user connections securely.
DDoS protection systems mitigate external threats.
Operational Security Layer
Intrusion detection systems monitor threats.
Insider risk reduction strategies.
Employees use U2F for strong authentication.
Secure software development lifecycle practices.
Google Cloud Observability
Tools for logging, monitoring, and tracing to gain visibility into cloud infrastructure and services.
Google Cloud Resource Hierarchy
Organization Node > Folder > Project > Resources
Resources include VMs, tables, etc.
Policies can be applied at Folder, Project, or Resource level.
Project Metadata
Project ID: Globally unique and immutable.
Project Number: Numeric identifier.
Project Name: Mutable.
Resource Manager
Tool used to get, create, and manage projects.
Folders
Can contain projects and other folders.
Organization Node Roles
Org Policy Admin: Manages organization-level policies.
Project Creator: Can create projects.
Workspace Customers vs Non-Customers
Additional capabilities may be available to Workspace customers (e.g., advanced admin tools).
Identity and Access Management (IAM)
Controls who can do what on which resource.
'Who' is called a principal and can be:
Google account
Google group
Service account
Cloud Identity domain
Policy Inheritance
Policies apply to children of the node (e.g., project inherits folder policies).
Deny policies are evaluated first.
Types of Roles
Basic Roles: Owner, Editor, Viewer, Billing Admin
Predefined Roles: Granular roles like Compute Instance Admin
Custom Roles: Created at the project or organization level
Service Accounts
Allow applications (e.g., running in VMs) to access cloud resources securely using assigned permissions.
Use keys for authentication.
Cloud Identity
Admins manage users and policies from the admin console.
Integration with LDAP or Active Directory.
Enables organization-wide identity and access controls.
Ways to Interact with Google Cloud
Console: Web interface
Google Cloud SDK: CLI tools (includes Cloud Shell)
APIs: REST-based access to resources
Google Cloud App: Mobile app for basic management
Virtual Private Cloud (VPC)
Provides a secure, private cloud environment inside Google's public cloud.
Connects cloud resources and the internet.
Supports network segmentation, firewall rules, static routes.
Key Concepts
VPCs are global, but subnets are regional.
Resources can exist in different zones but still be in the same subnet.
Enables internal communication between instances without external IPs.
Global distributed firewalls support rules based on network tags.
Inter-VPC Communication
Use VPC Peering or Shared VPC to connect VPCs across projects.
Compute Engine
Run fully customizable virtual machines in Google Cloud.
Billing is per second (minimum 1 minute).
Supports autoscaling and custom configurations.
Marketplace
Offers pre-configured VM images and software stacks.
Discounts
Sustained use discounts: Applied automatically for long-running VMs.
Committed use discounts: Pay upfront for usage commitment to get lower prices.
Preemptible and Spot VMs
Cost-effective VM options with limited runtime.
Run for up to 24 hours.
Have fewer features (e.g., no live migration or guaranteed availability).
VPC Compatibility Features
Built-in routing; no need to define custom routes for internal communication.
Traffic forwarding possible across instances, zones, and regions in the same network.
Firewall rules are global and tag-based.
Each VPC is tied to a project.
Shared VPC and VPC peering allow cross-project communication.
Load Balancing
Cloud Load Balancing: Distributes traffic across multiple backend resources.
Handles cross-region traffic and provides multi-region failover.
Supports both Layer 4 (TCP/UDP) and Layer 7 (HTTP/HTTPS) traffic.
Application Load Balancer (L7): Acts as a reverse proxy.
External (Global or Regional)
Internal (Regional or Cross-region)
Network Load Balancer (L4): Can operate in proxy or pass-through mode.
Google DNS
Public DNS:
8.8.8.8
Cloud DNS: Google Cloudβs managed DNS service.
Low latency, scalable, highly available.
Uses edge caches to improve performance.
Cloud CDN: Content Delivery Network integrated with Cloud Load Balancing and Cloud Storage.
Connecting VPC with Other Networks
Cloud VPN: Connects on-premise networks to Google Cloud VPC using VPN with BGP (Border Gateway Protocol).
Direct Peering: Connects through a router in the same datacenter as Googleβs PoP.
Carrier Peering: Uses a service providerβs network for direct access.
Dedicated Interconnect: Private, high-speed connection directly to Google; can be backed up by Cloud VPN.
Partner Interconnect: Use a supported service provider for connectivity.
Cross-Cloud Interconnect: Connects Google Cloud to other public cloud providers.
Storage
Data Types
Structured, Unstructured, Transactional, Relational
1. Cloud Storage
BLOB object storage: Store binary + metadata (e.g., images, backups).
Organized into buckets.
Immutable objects with optional versioning.
Access controlled via IAM (preferred) or ACLs.
Lifecycle policies for auto-deletion or transition.
Storage classes:
Standard: Frequent access
Nearline: Access ~once/month
Coldline: Access ~once/90 days
Archive: Rare access (e.g., yearly)
Features:
Unlimited storage
Geo-redundancy
Global access
Autoclass: Automatically optimizes storage class
Transfer Options: Online transfer, Storage Transfer Service, Transfer Appliance
2. Cloud SQL
Fully managed relational database.
Supports auto-backups, patches, replication.
Scales to large CPU/RAM/storage configurations.
Built-in network firewall support.
Internal and external access available.
Compatible with Compute Engine.
3. Cloud Spanner
Globally distributed relational DB.
Horizontal scaling and strong global consistency.
Designed for high loads.
4. Firestore
Fully managed NoSQL document DB.
Organizes data in collections and documents.
Data is indexed by default.
Real-time sync with devices and offline caching support.
5. Bigtable
Fully managed NoSQL big data database.
Designed for IoT, analytics, and high-throughput workloads.
Supports both streaming and batch data processing.
Infrastructure as a Service (IaaS)
Provides virtual machines and other compute resources.
User manages the OS and application stack.
Containers
Lightweight, isolated environments for running applications.
Faster deployment, scalability, and resource efficiency.
Kubernetes
Open-source container orchestration system.
Automates deployment, scaling, and management of containers.
Google Kubernetes Engine (GKE)
Managed Kubernetes platform.
Handles node OS updates, load balancing, and cluster operations.
Cloud Run
Fully managed platform to run stateless containers.
Built on Knative, can also run on GKE.
Supports container-based and source-based (buildpacks) workflows.
Handles SSL, auto-scaling, and high availability.
Pay-per-use billing model.
Only supports Linux x64 containers.
Cloud Run Functions
Event-driven serverless platform.
Ideal for lightweight functions triggered by events.
Supports auto-scaling and HTTP-based invocation.
Last updated