Google Compute Engine (GCE) is a powerful Infrastructure as a Service (IaaS) component of the Google Cloud Platform (GCP). It allows users to launch virtual machines (VMs) on demand, providing flexible and scalable computing resources. Here's an overview of its key features, advantages, and use cases:
Machine Types: GCE offers various machine types tailored for different workloads:
General-Purpose Machines: Suitable for everyday computing tasks.
Compute-Optimized Machines: Ideal for high-performance applications like gaming and media streaming.
Memory-Optimized Machines: Best for in-memory databases and big data analytics.
Accelerator-Optimized Machines: Supports hardware accelerators like GPUs and TPUs for tasks requiring intense computational power.
Persistent Disks: Provides durable storage options with encryption and support for SSDs, offering high IOPS for demanding applications.
Images: Supports a variety of operating systems, including Linux and Windows, allowing users to create custom images.
Custom Machine Types: Users can configure VMs with specific CPU and memory requirements.
Global Load Balancing: Ensures efficient traffic distribution across instances worldwide.
GPU Accelerators: Enhances performance for compute-intensive tasks like 3D rendering and machine learning.
Scalability and Flexibility: Easily scale up or down based on workload demands.
Integration with Other Google Services: Smooth integration with services like Cloud Storage and Cloud SQL.
High-Performance Computing: Supports simulations, rendering, and scientific computing.
Bring Your Own License (BYOL): Allows running Windows apps with existing licenses.
Web Servers and Databases: Suitable for hosting web applications and databases.
High-Performance Computing: Ideal for simulations, genomics data processing, and scientific computing.
Machine Learning and AI: Supports tasks requiring GPU accelerators like deep learning models.
Sustained Use Discounts: Offers discounts based on usage duration, with up to 30% off for continuous use.
Custom Pricing: Charges vary based on machine type, location, and operating system used.
Google Cloud Storage (GCS) is a fully-managed, secure object storage service offered by Google Cloud. It is designed for storing large, unstructured data sets, backup and disaster recovery solutions, and distribution of data objects via direct download. Here's an overview of its key features, advantages, and use cases:
Object Storage: Stores data as immutable objects in containers called buckets, accessed via unique identifiers.
Scalability: Highly scalable, handling large amounts of data without manual intervention.
Durability and Availability: Data is replicated across multiple regions, ensuring high durability and availability.
Flexible Access Control: Offers flexible access control using Identity and Access Management (IAM) policies or access control lists (ACLs).
Storage Classes: Provides four storage classes:
Multi-Regional Storage: Suitable for frequently accessed data across multiple regions.
Regional Storage: Ideal for data accessed within a single region.
Nearline Storage: For less frequently accessed data, offering lower costs.
Coldline Storage: Best for archival purposes, with the lowest costs but longer retrieval times.
High Performance: Offers low latency and high throughput for data access.
Security Measures: Includes data encryption at rest and in transit, along with audit logging.
Integration: Seamlessly integrates with other Google Cloud services for analytics and machine learning.
Content Storage and Distribution: Suitable for storing and distributing media content.
Data Archiving: Ideal for long-term data storage with Nearline and Coldline classes.
Big Data Analytics: Supports storing large datasets for analytics workloads.
Machine Learning: Facilitates data storage for machine learning models.
Cost-Effective: Offers cost savings with Nearline and Coldline storage for less frequently accessed data.
Object Lifecycle Management: Allows moving data to less costly storage classes based on usage patterns.
First we create a bucket.
We could give any name for our bucket.
We could multiple regions to store our data and we would use the standard storage class.
We we like the public to acess certain files, so we uncheck the box which states "Enforce public access prevention". Also, since this is a temporary bucket, we would uncheck the Soft delete policy. Finally create the bucket.
Finally, our bucket is created.
To upload a file, we click on upload.
After the file is uploaded, we would like the public to access it. So we click on the name of the file and then edit the access rights.
Finally, the public can access the file via the public URL.
Google Cloud Run is a fully managed platform that allows developers to build and deploy scalable containerized applications written in any programming language, such as Go, Python, Java, Node.js, .NET, and Ruby. It supports both Docker- and OCI-compatible containers and integrates seamlessly with other Google Cloud services like Cloud Storage, Cloud SQL, and Stackdriver.
Container Support: Supports stateless containers that can be invoked via HTTP requests or Pub/Sub events.
Auto-Scaling: Automatically scales up or down based on traffic, ensuring high availability and scalability.
Serverless Environment: Offers a serverless environment for running short-lived batch workloads through Cloud Run Jobs.
Multi-Language Support: Allows the use of any programming language for application development.
Integration with Other Services: Integrates well with other Google Cloud services for logging, monitoring, and building processes2.
Custom Domains: Maps services to custom domains for users.
Web Applications and APIs: Ideal for building and deploying web applications and APIs that require high scalability.
Microservices: Suitable for provisioning and scaling microservices quickly.
Batch Workloads: Cloud Run Jobs can handle short-lived batch workloads efficiently.
Cloud Run costs are based on usage, with dynamic scaling to handle varying loads. The cost can vary depending on the number of instances and resources used.
To deploy an application on Cloud Run, users need a Google Cloud account. The process involves creating a service in the Google Cloud Console, configuring the service, and deploying a container image.
First we access cloud run from the dashboard. Then we create a function.
Then we can create a function using Java. Also allow unauthenticated invocations as we are creating a public function.
Note: You could use any of the supported language runtimes to create your function. For this tutorial, we are using Java.
Make sure to send a GET request ot your function.