logo

AWS - Compute

AWS offers a broad and deep portfolio of compute services designed to meet a wide range of application needs, from virtual servers and container orchestration to serverless computing and on-premises solutions. Here's a summary of the key offerings:

Virtual Servers

Amazon EC2 (Elastic Compute Cloud) is the cornerstone of AWS's compute offerings, providing secure and resizable virtual servers, known as instances. It offers a vast selection of instance types optimized for different workloads, including general purpose, compute-optimized, memory-optimized, and storage-optimized options.

  • Key Features:
  • Flexibility: Users can choose from various operating systems and software packages, and have complete control over their instances.
  • Scalability: Amazon EC2 Auto Scaling allows you to automatically add or remove instances based on demand.
  • High Performance Computing: EC2 is suitable for complex computational workloads and applications that are sensitive to network performance.

Amazon Lightsail is designed to be the easiest way to get started with AWS for developers who need to build websites or web applications. It provides virtual private servers (instances) with a simplified setup and a predictable low monthly price.

  • Key Features:
  • Simplicity: Lightsail bundles resources like memory, processing, storage, and a data transfer allowance into one plan.
  • Blueprints: It offers pre-configured blueprints for popular applications and development stacks like WordPress, LAMP, and Nginx.
  • Managed Services: Lightsail also provides managed databases, load balancers, and CDN distributions.

Containers

Amazon ECS (Elastic Container Service) is a fully managed container orchestration service that simplifies the deployment, management, and scaling of containerized applications.

  • Key Features:
  • Deep AWS Integration: ECS seamlessly integrates with other AWS services.
  • Simplicity: It is often considered easier to set up and manage than Kubernetes-based services.

Amazon EKS (Elastic Kubernetes Service) is a managed service that makes it easy to run Kubernetes on AWS without needing to install, operate, and maintain your own Kubernetes control plane.

  • Key Features:
  • Kubernetes Compatibility: EKS is fully compatible with the Kubernetes ecosystem, allowing you to use existing tools and plugins.
  • Portability: It's well-suited for hybrid or multi-cloud strategies due to the portable nature of Kubernetes.

AWS Fargate is a serverless compute engine for containers that works with both Amazon ECS and EKS. With Fargate, you can run containers without having to manage servers or clusters.

  • Key Features:
  • Serverless: Fargate removes the need to provision, configure, and scale clusters of virtual machines.
  • Resource-based Pricing: You pay only for the vCPU and memory resources consumed by your containerized applications.

Serverless Computing

AWS Lambda is a serverless computing service that lets you run code without provisioning or managing servers. You only pay for the compute time you consume.

  • Key Features:
  • Event-Driven: Lambda can be triggered by various events, such as changes to data in an Amazon S3 bucket or an HTTP request through Amazon API Gateway.
  • Automatic Scaling: Lambda automatically scales your application by running code in response to each trigger.
  • No Server Management: It handles all the administration of the compute resources, including server and operating system maintenance, capacity provisioning, and security patching.

Specialized Compute Services

AWS Elastic Beanstalk is an easy-to-use service for deploying and scaling web applications and services developed with languages like Java, .NET, PHP, Node.js, Python, and Docker.

  • Key Features:
  • PaaS (Platform as a Service): Elastic Beanstalk handles the deployment details of capacity provisioning, load balancing, and auto-scaling.
  • Full Control: While it automates many tasks, you retain full control over the underlying AWS resources.

AWS Batch enables developers, scientists, and engineers to easily and efficiently run batch computing jobs on AWS.

  • Key Features:
  • Fully Managed: Batch automatically provisions the optimal quantity and type of compute resources based on the volume and specific resource requirements of the jobs submitted.
  • Cost Optimization: It can use Spot Instances to reduce the cost of running batch jobs.

Hybrid Cloud

AWS Outposts is a fully managed service that extends AWS infrastructure, services, APIs, and tools to customer premises. It's ideal for workloads that require low latency access to on-premises systems, local data processing, or data residency. Outposts comes in various form factors, from servers to full racks.

EC2

EC2 Naming Convention

  • -a: AMD
  • -g: ARM
  • -n: networking (100 Gbps networking)
  • -e: enhanced storage
  • -d: Local NVMe-based SSD storage

Nitro System

Nitro = dedicated hardware + lightweight hypervisor

Hypervisor is very thin becauses functions (network, storage and management) are offloaded to dedicated hardware, so CPU can be used for more important computing jobs. Thanks to the ASIC (Application-specific integrated circuit) from Annapurna Labs, a company that Amazon acquired.

Nitro Hypervisor: built on KVM, but does not include general purpose operating system components.

VPC by default

Now aws supports only EC2-VPC: you have a default VPC in each AWS Region.

Cloud WAN (wide area network) can be used to connect multiple VPCs in different regions.