Types of Compute
Cloud Compute Options Available
Serverless:
- Run your code without provisioning or managing servers.
- They automatically scale and only charge for the resources used when the code is executed.
- Examples: AWS Lambda, Azure Functions and Google Cloud Functions.
- Cost Savings
- Reduces the cost of running and maintaining physical servers, as well as the cost of provisioning and configuring instances.
- Easier Scalability
- Quickly scale up or down when demand changes.
- Increased Performance
- Designed to be more efficient than traditional servers, resulting in faster response times and improved performance.
- Reduced Maintenance
- Noo need to manage or maintain servers with serverless computing, as the platform takes care of the underlying infrastructure. This reduces the administrative overhead associated with other compute types.
- Run your code without provisioning or managing servers.
Instances:
- Create and manage virtual machines in the cloud.
- They provide a flexible and customizable compute environment.
- Examples: Amazon EC2, Azure Virtual Machines and Google Compute Engine.
- Reliability
- Dedicated server offers on-demand scalability and reliability
- Security
- Dedicated server offers a more secure environment for your data
- High Performance
- Dedicated server allows for faster performance as it is not shared with other users.
- Customization
- Dedicated server allows for more flexibility and customization for your specific needs.
- Flexibility
- Dedicated server provides more flexibility in terms of resource allocation and usage.
- Create and manage virtual machines in the cloud.
Containers:
- Run containerized applications in the cloud.
- They provide a lightweight, portable and consistent environment.
- Examples: Amazon Elastic Container Service (ECS), Azure Container Instances, and Google Kubernetes Engine (GKE).
- Portability
- Docker containers can be used on any hardware and cloud platform
- Efficiency
- Containers package up all the necessary resources to run an application, so there is no need for additional configuration.
- Scalability
- Docker containers are able to scale up or down quickly and easily.
- Flexibility
- Docker containers allow developers to work in any environment without worrying about compatibility issues.
- Run containerized applications in the cloud.
Batch:
- Run batch computing workloads in the cloud.
- They provide the ability to process large amounts of data in parallel.
- Examples: AWS Batch, Azure Batch and Google Cloud Dataflow.
- Run batch computing workloads in the cloud.
Orchestration:
- Manage and orchestrate the deployment and scaling of containerized applications.
- Examples: Amazon Elastic Container Service for Kubernetes (EKS), Azure Kubernetes Service (AKS) and Google Kubernetes Engine (GKE).
- Manage and orchestrate the deployment and scaling of containerized applications.
Web Application Hosting:
- Deploy and scale web applications and services.
- Examples: AWS Elastic Beanstalk, Azure App Service, and Google App Engine.
- Deploy and scale web applications and services.
Edge computing:
- Run workloads on edge devices, closer to the source of data, for lower latency and offline capabilities. Examples include AWS Greengrass, Azure IoT Edge, and Google Cloud IoT Edge.
Hybrid compute:
- On-premises and in the cloud seamlessly. Examples include AWS Outposts, Azure Stack, and Google Anthos.
High-Performance Computing (HPC):
- High-performance computing workloads in the cloud, by providing access to high-memory, high-CPU instances and other specialized hardware. Examples include AWS Cluster GPU instances, Azure HPC Virtual Machines, and Google Cloud Preemptible VMs.
AWS
Amazon Elastic Compute Cloud (EC2): This is a web service that allows you to launch and manage virtual machines in the cloud.
Amazon Elastic Container Service (ECS): This is a service that allows you to easily run and scale containerized applications in the cloud.
Amazon Elastic Container Service for Kubernetes (EKS): This is a service that allows you to run Kubernetes clusters in the cloud.
AWS Lambda: This is a serverless compute service that allows you to run your code without provisioning or managing servers.
Amazon Lightsail: This is a service that makes it easy to launch and manage web applications and blogs in the cloud.
Amazon Elastic Block Store (EBS): This is a service that provides block storage for EC2 instances.
Amazon Elastic File System (EFS): This is a service that provides file storage for EC2 instances.
Amazon Elastic Inference: This service allows you to add GPU acceleration to your EC2 and Lambda instances.
AWS Batch: This is a service that allows you to run batch computing workloads in the cloud.
AWS App Runner: This is a fully managed service that makes it easy to build, deploy, and scale containerized applications quickly.
AWS Elastic Beanstalk: This is a fully managed service that makes it easy to deploy, run, and scale web applications and services.
AWS App Mesh: This is a service that allows you to monitor and control the communication between services in a microservices application.
AWS Fargate: This is a serverless compute engine for containers that allows you to run containerized applications without having to manage the underlying infrastructure.
AWS Outposts: This is a service that allows you to run AWS infrastructure on-premises, providing a seamless hybrid experience.
AWS App Runner: This is a fully managed service that makes it easy to build, deploy, and scale containerized applications quickly.
Azure
Azure Virtual Machines: This service allows you to create and manage virtual machines in the cloud.
Azure Container Instances: This service allows you to run containerized applications without having to manage the underlying infrastructure.
Azure Kubernetes Service (AKS): This service allows you to run and manage Kubernetes clusters in the cloud.
Azure Functions: This service allows you to run serverless functions in the cloud.
Azure App Service: This service allows you to easily deploy and scale web applications and services.
Azure Batch: This service allows you to run batch computing workloads in the cloud.
Azure Service Fabric: This service allows you to build, deploy, and manage microservices-based applications.
Azure Container Registry: This service allows you to store and manage container images.
Azure IoT Edge: This service allows you to run IoT workloads on edge devices.
Azure Arc: This service allows you to manage and govern resources across on-premises, multi-cloud, and edge.
Google Cloud Platform (GCP)
Google Cloud Platform (GCP) offers a wide range of services for computing, here are 10 compute services offered by GCP:
Compute Engine: This service allows you to create and manage virtual machines in the cloud.
Kubernetes Engine: This service allows you to run and manage Kubernetes clusters in the cloud.
App Engine: This service allows you to easily deploy and scale web applications and services.
Cloud Functions: This service allows you to run serverless functions in the cloud.
Cloud Run: This service allows you to run containerized applications without having to manage the underlying infrastructure.
Cloud Dataflow: This service allows you to build and run data processing pipelines.
Cloud Composer: This service allows you to manage and orchestrate workflows using Apache Airflow.
Cloud TPU: This service allows you to run machine learning workloads using Google's Tensor Processing Units.
Cloud Dataproc: This service allows you to create and manage managed Hadoop and Spark clusters.
Cloud Scheduler: This service allows you to schedule and automate background jobs or tasks.