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
Introduction to Amazon Web Services
By progressive
Introduction to Amazon Web Services
- 613