đź‘‹ Welcome
A.A.

Introduction to AWS Services

Amazon Web Services (AWS) offers a wide array of tools and services designed to empower developers and IT professionals in managing and automating their cloud infrastructure. Let's look at some of these.

Every business needs raw compute capacity to run applications. These applications could be web servers, batch jobs, databases, HR software, machine learning

Compute Service

A compute service is a cloud computing offering that provides virtualized computing resources over the internet.

  • Compute services generally provide the following key resources:

Virtual Machines (VMs): Virtual machines are instances of virtualized operating systems running on a physical server. Each VM behaves like a standalone computer and has its own CPU, memory, storage, and networking resources. Customers can choose the specifications of VMs, such as the number of CPU cores, amount of RAM, and storage capacity.

CPU (Central Processing Unit): The CPU is the “brain” of the computer that performs calculations and executes instructions. Compute services allow customers to select the number of CPU cores and processing power that best suits their application’s requirements.

Memory (RAM): Memory is used to store data and code that the CPU needs to access quickly. Compute services offer various memory options to accommodate different workloads.

Storage: Compute services provide various types of storage, including block storage and object storage. Block storage is akin to traditional hard drives and is used for storing operating systems and application data. Object storage is suited for storing large amounts of unstructured data, such as files and media.

Networking: Compute services offer networking capabilities to connect virtual machines and other resources to the internet or private networks. This includes features like IP addresses, load balancers, firewalls, and virtual private networks (VPNs).


All above mentioned resources are shared under “Compute as a Service” model

AWS provides multiple compute services. we need to choose the perfect one as per need.

  • EC2, Lambda, elastic beanstalk, etc.

Choose the Right Compute Option

We have many compute options. You need to know which service to use for which use case.

At a fundamental level, there are three types of compute options:

  1. virtual machines,
  2. container services,
  3. serverless.

let’s understand it one by one.

1. Virtual machine

A virtual machine can often be the easiest compute option in AWS to understand. This is because a virtual machine emulates a physical server and allows you to install an HTTP server to run your applications. these virtual machines are called Amazon Elastic Compute Cloud or Amazon EC2

2. Container services

A container is a standardized unit that packages up your code and all of its dependencies. This package is designed to run reliably on any platform, because the container creates its own independent environment. This makes it easy to carry workloads from one place to another,

THE DIFFERENCE BETWEEN CONTAINERS AND VMS?

  • Containers share the same operating system and kernel as the host they exist on, whereas virtual machines contain their operating system.
  • Since each virtual machine has to maintain a copy of an operating system, there’s a degree of wasted space. A container is more lightweight. They spin up quicker, almost instantly. This difference in startup time becomes instrumental when designing applications that need to scale quickly during input/output (I/O) bursts.
  • While containers can provide speed, virtual machines offer you the full strength of an operating system and offer more resources, like package installation, a dedicated kernel, and more.

Containers vs VMs

AWS offers two container orchestration services: Amazon Elastic Container Service (ECS) and Amazon Elastic Kubernetes Service (EKS).

3. Serverless

If you want to deploy your workloads and applications without having to manage any EC2 instances, you can do that on AWS with serverless compute.

serverless mentions four aspects.

  • No servers to provision or manage.
  • Scales with usage.
  • You never pay for idle resources.
  • Availability and fault tolerance are built-in.

I like to think of AWS services as existing on a spectrum. On one side of the spectrum, you have convenience and on the other side, you have control. Many services exist to give you control like Amazon EC2 whereas other services exist to give you convenience, like the serverless compute AWS Lambda.


— End —

Next Article: I will discuss about 1. Virtual Machine (EC2)