Introduction to Amazon Web Services - Virtual Machines

Piotr Grzesik

Agenda

  • What is Cloud Computing?
  • What is Amazon Web Services?
  • Virtual machines on demand with Elastic Compute Cloud (EC2)
  • Auto Scaling EC2 instances
  • Load balancing with Elastic Load Balancing

What is Cloud Computing?

Simple definition - Cloud Computing is the usage of resources such as data storage, computing power or selected application over the Internet.

Cloud service models

  • Infrastructure as a Service (IaaS) - model in which cloud vendor provides resources such as virtual machines, storage or network components
  • Platform as a Service (PaaS) - model in which cloud vendor provides platform on which users can develop, manage and run their applications
  • Software as a Service (SaaS) - model in which provider offers software that can be accessed over the internet, usually in a subscription billing model

Benefits of Cloud Computing

  • No upfront cost
  • Available on demand
  • Scalability, adding new instances in a matter of seconds or minutes
  • Reduced maintenance time
  • Flexibility of configuration
  • Reliability/fault tolerance

What is Amazon Web Services?

 

Amazon Web Services is a Cloud Computing platform from Amazon. It was introduced in March 2006, offering at first only three services (Amazon Simple Storage Service, Amazon Simple Queue Service, Amazon Elastic Compute Cloud), while as of 2022 it's offering more than 100 different services in domains such as Compute, Storage, Database, Migration, Network and Content Delivery, Management Tools, Messaging, Security, Identity & Compliance

Amazon Web Services

 
  • IaaS offerings - Elastic Compute Cloud (EC2), Elastic Block Storage (EBS), Simple Storage Service (S3), Virtual Private Cloud (VPC)
  • PaaS offerings - Elastic Beanstalk, Fargate
  • SaaS offerings - Amazon Chime, Amazon WorkMail

Elastic Compute Cloud (EC2)

 

Elastic Compute Cloud is a service that allows to rent computing power in form of resizable and adjustable virtual machines (VM), supporting Linux, Windows, and, since last year, also MacOS operating systems. 

Types of EC2 families

 

AWS offers multiple types of EC2 families

  • General purpose - T, M and A series (web apps)
  • Compute optimized - C series (batch processing)
  • Memory optimized - R and X series (in-memory dbs)
  • GPU Accelerated - P, G and F series (machine learning)
  • Storage optimized - H, I and D series (distributed computing)

Types of EC2 instances

 

source: https://s3-us-west-2.amazonaws.com/uw-s3-cdn/wp-content/uploads/sites/149/2018/12/28193450/Curtis-Bray_Amazon_Introduction-to-Amazon-EC2.pdf

EC2 Demo

Auto Scaling Groups (ASG)

 

Auto Scaling Groups are collections of the same, logically grouped AWS EC2 instances, that allow scaling and management of those instances. Scaling can be performed manually or automatically, based on metrics such as CPU usage, Network usage or memory usage among others.

ASGs Demo

Elastic Load Balancing

 

Amazon Elastic Load Balancing is a highly available service that allows to distribute incoming traffic among multiple targets (for example EC2 instances). It also offers features like certificate management, user authentication and SSL/TLS termination.

Types of ELBs

 
  • Application Load Balancer - makes routing decisions on HTTP/HTTPS (layer 7), can route based on path or on host header, supports dynamic port mapping
  • Network Load Balancer - makes routing decisions on transport layer (layer 4, TCP/SSL), handles millions of requests per second, forwards the request without modifying headers, supports dynamic port mapping
  • Classic Load Balancer - makes routing decision on either layer 7 or layer 4, does not support dynamic port mapping

ELBs Demo

Q&A + Contact

@p_grzesik

pj.grzesik@gmail.com

Made with Slides.com