Skip to main content

Types of AWS Compute Services

In the Cloud, there are many services that allow you to host your application. One such service is AWS Elastic Compute Cloud (EC2). EC2 is a virtual machine where you can rent its computing power to host your web applications, gaming server, processing datasets, running analytics, and many more. Companies such as Netflix, Airbnb, and financial institutions use EC2 to run handle heavy compute and storage requirements, such as on-demand delivery of video content, process bookings, handling search queries, managing data storage, risk analysis models, performing algorithmic trading, and handling high-frequency trading operations.

However, not everyone wants to endure the hard labor of configuring and maintaining servers. We just want to focus on building good and unique applications, things that are vital to our company. With serverless computing, you can do just that.

Serverless Computing

serverless computing

The term “serverless” means that your code runs on servers, but you do not need to provision or manage these servers.

Another benefit of serverless computing is the flexibility to scale serverless applications automatically. Serverless computing can adjust the applications' capacity by modifying the units of consumption, such as throughput and memory.

There are many serverless like Amazon Lambda, Azure Function, Google Cloud Functions, and IBM Cloud Functions.

AWS Lambda

how to use amazon lambda

While using AWS Lambda, you pay only for the compute time that you consume. Charges apply only when your code is running. You can also run code for virtually any type of application or backend service, all with zero administration.

Containers

difference between deploying your application using traditional method, virtual machines, dockers and kubernetes

Another way to deploy your application is to use containers. Containers provide you with a standard way to package your application's code and dependencies into a single object.

One problem is scalability. When you scale you would have to manage multiple hosts with hundreds or thousands of containers on memory usage, security, logging, and so on.

To implement containers in your workload:

1. Choose an orchestration tool: Amazon ECS or EKS

2. Choose a platform: EC2 that you manage or Fargate that manages them for you.

Container Orchestration Tools

Docker

Kubernetes

Software platform that enables you to build, test, and deploy applications quickly

Software that enables you to deploy and manage containerized applications at scale

A tool for creating and running containers

A tool for managing and orchestrating multiple containers across multiple hosts

Creating images and running containers locally or on a single host

Deploying and managing containers at scale across multiple hosts in a cluster

AWS Fargate

AWS Fargate is a serverless compute engine for containers. It works with both Amazon ECS and Amazon EKS.

- You do not need to provision or manage servers.

- Manages your server infrastructure for you.

Comparing compute types

Feature 

EC2 (Elastic Compute Cloud)

Serverless Computing

Containers

Provisioning

Requires manual provisioning

No manual provisioning

Requires manual provisioning

Scalability

Vertical and horizontal scaling

Auto-scales based on demand

Horizontal scaling

Deployment

Manual deployment and configuration

Deployed automatically

Manual deployment and configuration

Resource Management

Manual resource management

Managed by the cloud provider

Manual resource management

Startup Time

Longer startup time

Instant startup

Short startup time

Cost

Pay for running instance

Pay per request or execution

Pay for running instance

Isolation

Isolated virtual machines

Isolated functions

Isolated containers

Complexity

Requires more configuration and management

Simplified configuration and management

Moderate configuration and management

Flexibility

Full access to OS 

Limited control, focused on function logic

Moderate control and customization

Use Cases

Traditional applications

Event-driven, Service-oriented short-lived functions

Microservices, portable applications

Comments

Popular posts

Discrete Mathematics - Inference Rules for Propositional Logic

Cloud Computing Introduction | Definition, Benefits and Deployment Strategies

What is Amazon EC2? Definition, Types and Pricing

Mastering Decoupled Cloud Architecture with Messaging and Queueing | Amazon SNS and SQS