1)Exploring IaaS with Google Compute Engine (GCE)
Google Compute Engine (GCE) is an Infrastructure as a Service (IaaS) offering that allows
users to run workloads on Google's physical infrastructure. It provides scalable virtual
machines (VMs) that offer high-performance computing with customizable machine types,
storage options, and networking capabilities.
Key Features of Google Compute Engine:
1. Virtual Machine (VM) Instances: Users can create and run VMs with different CPU
and RAM configurations, choosing from predefined or custom machine types.
2. Machine Families: GCE provides four machine families optimized for different
workloads:
o General-purpose (E2, N2, N2D, Tau T2D, N1) – Suitable for web serving,
databases, and microservices.
o Compute-optimized (C2, C2D) – Ideal for high-performance computing (HPC),
gaming, and AI/ML workloads.
o Memory-optimized (M1, M2) – Designed for in-memory databases like SAP
HANA.
o Accelerator-optimized (A2) – Includes NVIDIA GPUs for parallel computing in
AI and deep learning.
3. Scalability and Autoscaling: Managed instance groups (MIGs) allow automatic
scaling based on demand, reducing costs by dynamically adjusting resources.
4. Networking & Security: Supports high-bandwidth configurations (up to 100 Gbps),
firewall rules, load balancing, and Virtual Private Cloud (VPC).
5. Persistent & Local Storage: Offers block storage with snapshots and the ability to
attach local SSDs for high-speed storage needs.
6. Confidential VMs: Enables encryption of data in use, ensuring security without
compromising performance.
7. Pay-per-use Pricing Model: Charges are based on actual usage with per-second
billing, and sustained-use or committed-use discounts reduce costs.
8. Integration with Containers: Supports Docker containers with the Container-
Optimized OS.
9. OS Support: Works with multiple Linux distributions (Debian, CentOS, Ubuntu) and
Windows Server.
10. Live Migration: Allows VMs to migrate across host machines without downtime,
ensuring application availability.
Use Cases for Compute Engine:
• Businesses requiring high-performance computing and AI/ML workloads.
• Organizations needing scalable cloud infrastructure for web applications and
backend services.
• Companies looking for cost-effective solutions with flexible pricing and no upfront
commitment.
• Developers and IT teams requiring full control over OS, networking, and security
configurations.
Conclusion:
Google Compute Engine is a powerful IaaS solution that enables businesses to deploy and
manage cloud infrastructure efficiently. With its customizable machine types, high-speed
networking, and autoscaling capabilities, GCE is an ideal choice for enterprises looking to run
compute-intensive workloads securely and cost-effectively.
2)Structured and Unstructured Data Storage in the Cloud
Google Cloud Platform (GCP) provides multiple storage and database services that can be
categorized into structured and unstructured data storage.
1. Structured Data Storage
Structured data is organized in a predefined format, typically in rows and columns, making it
easily searchable and analyzable. It includes data like financial records, transaction logs, and
relational databases.
Google Cloud Services for Structured Data:
• Cloud SQL – Managed relational database for MySQL, PostgreSQL, and SQL Server.
• Cloud Spanner – Globally distributed relational database with strong consistency.
• Cloud Datastore – NoSQL database for web and mobile applications.
• Cloud Bigtable – Scalable NoSQL database optimized for large analytical workloads.
• Cloud BigQuery – Fully managed data warehouse for big data analytics.
• Persistent Disk – Block storage for Compute Engine VMs, useful for database storage.
2. Unstructured Data Storage
Unstructured data consists of large binary objects such as images, videos, and documents.
This type of data lacks a predefined format and requires object storage solutions for
efficient management.
Google Cloud Services for Unstructured Data:
• Google Cloud Storage – Object storage service for storing and retrieving large
datasets.
• Cloud Firestore – NoSQL document database for real-time applications.
Google Cloud Storage (GCS)
Google Cloud Storage (GCS) is an object storage service that allows users to store and
manage unstructured data with features like:
• Object versioning – Tracks changes and allows recovery of previous versions.
• Fine-grain permissions – Access control at both bucket and object levels.
• High durability and availability – Ensures data resilience with multiple redundancies.
• Pay-per-use pricing – No upfront capacity commitment, billing based on usage.
How Google Cloud Storage Works:
1. Buckets & Objects: Data is stored as immutable objects inside buckets.
2. Project-based Organization: Buckets belong to projects, which can be grouped under
organizations.
3. Access Control: Permissions can be granted using IAM roles or Access Control Lists
(ACLs).
Unstructured Storage Using Cloud Storage
Cloud Storage is widely used for binary or object data such as:
• Images, videos, and media streaming.
• Website hosting and backups.
• Data archives and disaster recovery.
Storage Classes in Google Cloud Storage:
Google Cloud offers multiple storage classes based on access frequency:
• Multi-Regional Storage – High availability across multiple locations for frequently
accessed data.
• Regional Storage – Stores data in a single region for low-latency workloads.
• Nearline Storage – Cost-effective option for infrequently accessed data (retrieval
within 30 days).
• Coldline Storage – Low-cost storage for archival data that is rarely accessed (retrieval
within 90 days).
Data Management Features:
• IAM Roles: Provides project-wide access control that inherits permissions from
project to bucket to object.
• ACLs: Offers fine-grained control over who can read/write specific objects.
• Object Versioning: Maintains history of modifications, allowing recovery of older
versions.
If object versioning is disabled, new uploads will overwrite old data.
Conclusion
Google Cloud provides a flexible and scalable storage ecosystem for both structured and
unstructured data. Structured storage is handled through services like Cloud SQL, Spanner,
and BigQuery, while unstructured storage relies on Google Cloud Storage and Cloud
Firestore. With multiple storage classes, access control options, and cost-efficient models,
Google Cloud ensures high availability, security, and durability for various use cases.
3)SQL Managed Services:
1. Cloud SQL: Fully managed relational database service supporting MySQL,
PostgreSQL, and SQL Server.
2. MySQL: Open-source, relational DBMS for cloud apps, provided by Oracle.
3. PostgreSQL: Advanced, open-source RDBMS with a focus on extensibility, ideal for
enterprise use.
4. SQL Server: RDBMS provided by Microsoft, used for storing and extracting data.
5. Cloud SQL Features:
o Backup management, high availability, failover, maintenance, and monitoring.
o Scalable storage on persistent disk.
o Optional high availability with standby VM.
6. Cloud SQL Pricing: Varies based on storage, CPUs, memory, network traffic, and IP
usage.
7. System Updates: Includes hardware updates, online updates, and maintenance
requiring instance restart.
8. Cloud Spanner: Managed, globally scalable RDBMS offering high availability,
transactional consistency, and SQL support.
9. Cloud Spanner Pricing: Based on nodes, storage, and network usage.
10. Cloud Firestore: A scalable NoSQL document database designed for mobile, web, and
server applications with real-time sync and offline support.
11. Firestore Querying: Supports complex, nested queries, real-time data listeners, and
efficient data retrieval.
12. Firestore Security: Uses Firebase Authentication and Firestore Security Rules for data
protection.
13. Cloud Bigtable: NoSQL database for large, high-throughput data like time-series,
financial, IoT, and marketing data.
14. Bigtable Storage Model: Data is stored in rows with key/value pairs and column
families.
15. Bigtable Use Cases: Ideal for time-series data, marketing data, IoT, and machine
learning applications.
Key Database Services Comparison:
• Cloud SQL: For traditional relational databases with MySQL, PostgreSQL, and SQL
Server support.
• Cloud Spanner: For mission-critical, globally distributed applications requiring high
availability and strong consistency.
• Firestore: For mobile and web applications with flexible NoSQL data models and real-
time updates.
• Cloud Bigtable: For large-scale, high-throughput, low-latency NoSQL applications
such as IoT or analytics.
4)Orchestrating in Cloud Computing - Class Notes
Introduction to Orchestration
• Definition: Orchestration in cloud computing refers to the automated coordination,
management, and scaling of applications, services, and infrastructure.
• Purpose: It simplifies complex deployments, optimizes resource utilization, and
ensures reliability by automating repetitive tasks.
• Difference from Automation:
o Automation refers to executing a single task without manual intervention.
o Orchestration involves coordinating multiple automated tasks to create a
workflow.
Orchestration in Google Cloud
Google Cloud provides several orchestration tools to manage workloads effectively:
1. Google Kubernetes Engine (GKE) – Manages containerized applications.
2. Cloud Run – Runs containerized applications in a serverless environment.
3. Cloud Composer – Handles workflow orchestration using Apache Airflow.
4. Compute Engine with Managed Instance Groups (MIGs) – Automates scaling and
management of virtual machines.
Google Kubernetes Engine (GKE) - Container Orchestration
• Definition: A managed service that automates the deployment, scaling, and
operation of containerized applications using Kubernetes.
• Key Features:
o Cluster Management – Ensures workload distribution across multiple nodes.
o Load Balancing – Distributes traffic efficiently to maintain performance.
o Self-Healing – Automatically restarts failed applications.
o Rolling Updates – Deploys new versions without downtime.
Cloud Composer - Workflow Orchestration
• Definition: A fully managed workflow orchestration service built on Apache Airflow.
• Use Cases:
o Automates data pipelines for analytics and machine learning.
o Schedules and manages ETL (Extract, Transform, Load) processes.
o Integrates various Google Cloud services like BigQuery, Cloud Storage, and
Pub/Sub.
Compute Engine Managed Instance Groups (MIGs)
• Purpose: Automates scaling and load balancing of virtual machines based on
demand.
• Features:
o Auto-Scaling – Adjusts the number of instances based on CPU usage or traffic.
o Auto-Healing – Replaces unhealthy instances to maintain performance.
o Multi-Zone Deployment – Ensures high availability across different locations.
o Rolling Updates – Updates instances without affecting service availability.
Benefits of Orchestration
✔ Simplifies Complex Deployments – Reduces manual intervention.
✔ Enhances Scalability – Dynamically adjusts resources based on demand.
✔ Improves Reliability – Ensures application uptime through self-healing mechanisms.
✔ Optimizes Cost and Efficiency – Automates resource management to reduce waste.