1
IaaS Clouds
Nikos Parlavantzas
Outline
2
● IaaS clouds
● Case study: Amazon Web Services
What is the cloud?
3
Applications
Development and
Runtime Platform
Compute
Storage
Everything as a Service
Essential characteristics
4
● On-demand self-service
● Broad network access
● Resource pooling
● Elasticity
● Metered service
Service models
5
6
IaaS Clouds
Infrastructure as a Service
7
● The provider delivers raw computing
resources (typically virtualised)
§ Servers, storage, networking, …
● Consumers use these resources to
deploy and run arbitrary software,
including operating systems and
applications
Common IaaS features
8
● Multiple types of VMs with different amounts
of resources (e.g., virtual CPU, RAM,
storage, network)
● Multiple storage options (e.g., block storage,
object storage)
● Multiple geographical locations
● Load balancing, auto scaling, monitoring
● Virtual networks, content delivery networks
● Container support
Type textType
heretext here
IaaS architecture
9
Cloud interface
web portals, REST APIs
Infrastructure Management
Pricing / Federation
Monitoring Scheduler
billing manager
Network Storage Image
VM manager
manager manager manager
Physical Infrastructure
External
Clouds
Networks Storage Servers
IaaS architecture
10
● Cloud interface
§ Targets applications or final users
§ Includes REST APIs, web-based user
interfaces, command-line tools, SDKs, …
IaaS architecture
11
● Scheduler
§ Decides the initial placement of VMs and
guides dynamic reallocation
§ Supports different policies designed to satisfy
different optimization criteria (e.g., cost,
performance, energy) and constraints (e.g.,
location, quality of service)
• CPU/VM balance policies
• server consolidation policies
• thermal balance policies
IaaS architecture
12
● VM manager
§ Manages a VM’s life cycle (deploys,
migrates, suspends, resumes, terminates
instances)
§ Ensures that Service-Level Agreements
(SLAs) are satisfied
• e.g., detects crashes and restarts VMs to
increase availability
A cloud SLA (cloud service-level agreement) is an agreement between a cloud
● Image manager service provider and a customer that ensures a minimum level of service is maintained.
It guarantees levels of reliability, availability and responsiveness to systems and a
pplications; specifies who governs when there is a service interruption; and describes
penalties if service levels are not met.
§ Supports creating, deleting, cloning,
modifying, publishing, listing images
IaaS architecture
13
● Network manager
§ Provisions virtual networks, assigns MAC
and IP addresses, guarantees traffic isolation
● Storage manager
§ Provides storage services to users,
abstracting from the underlying physical
storage
IaaS architecture
14
● Monitoring
§ Tracks the execution of each VM
§ Produces data required for reporting and
analysing system performance
● Pricing and billing
§ Maintains resource usage data
§ Produces billing information
IaaS architecture
15
● Federation manager
§ Supports the integration of resources
belonging to remote clouds
Cloud Federation, also known as Federated Cloud is the deployment and management of several external
and internal cloud computing services to match business needs. It is a multi-national cloud system that
integrates private, community, and public clouds into scalable computing platforms. Federated cloud is
created by connecting the cloud environment of different cloud providers using a common standard.
Physical Infrastructure
16
Physical infrastructure
17
● 10s-100s of thousands of servers
Data center costs
18
Amortized Component Sub-Components
Cost*
Servers CPU, memory, disk
Network Switches, links, transit
Infrastructure UPS, cooling, generators
Power draw Electrical utility costs
*3 yr amortization for servers, 15 yr for infrastructure
The Cost of a Cloud: Research Problems in Data Center Networks. Sigcomm CCR
2009. Greenberg, Hamilton, Maltz, Patel.
Data center costs
19
Amortized Component Sub-Components
Cost*
~45% Servers CPU, memory, disk
~15% Network Switches, links, transit
~25% Infrastructure UPS, cooling, generators
~15% Power draw Electrical utility costs
*3 yr amortization for servers, 15 yr for infrastructure
The Cost of a Cloud: Research Problems in Data Center Networks. Sigcomm CCR
2009. Greenberg, Hamilton, Maltz, Patel.
Data center challenges
20
● Increase server utilisation
§ Provide economic incentives to modulate
consumption
• e.g., dynamic pricing
§ Allow fine-grained resource allocation
Data center challenges
21
● Support energy proportionality
Barroso, L. A.; Hölzle, U. "The Case for Energy-Proportional Computing".
Computer. 40 (12): 33–37
Data center challenges
22
● Increase reliability in an economical way
§ e.g., distributing state across data centers
and allowing data centers to fail
Data center challenges
23
● Provide lower latency to end users
§ e.g., placing data centers close to users
§ cf., emergence of Fog/Edge Computing
Edge Computing
Computation takes place at the edge of a device’s network, which is known as edge computing.
That means a computer is connected with the network of the device, which processes the data
and sends the data to the cloud in real-time. That computer is known as “edge computer” or “edge node”.
With this technology, data is processed and transmitted to the devices instantly.
Yet, edge nodes transmit all the data captured or generated by the device regardless
of the importance of the data.
Example of Edge computing:
Autonomous vehicle edge computing
devices collect data from cameras and
sensors on the vehicle, process it, and make decisions in milliseconds, such as self-parking cars.
In order to accurately assess a patient’s condition and foresee treatments,
data is processed from a variety of edge devices connected to sensors and monitors.
Fog computing
24
● Extension of the traditional cloud
computing model in which compute,
storage, and network capabilities are
distributed closer to users
● Drivers
§ Latency
§ Bandwidth
§ Privacy/security
§ Connectivity
Fog computing is an extension of cloud computing. It is a layer in between
the edge and the cloud. When edge computers send huge amounts of
data to the cloud, fog nodes receive the data and analyze what’s important.
Then the fog nodes transfer the important data to the cloud to be stored
and delete the unimportant data or keep them with themselves for further
analysis. In this way, fog computing saves a lot of space in the cloud
and transfers important data quickly.
Fog computing
25
● Use cases
§ Smart cities
§ Connected cars
§ Industrial IoT
§ Environmental
monitoring
Fog computing
26
● Challenges
§ Resource heterogeneity
§ Workload dynamicity
§ Data management
§ Programming models
§ Economic models
27
Case study:
Amazon Web Services
Amazon AWS
28
● Grew out of Amazon’s need to provision
machines for its own business
● 2006 – S3 available in spring; EC2 in
autumn
● 2008 – Elastic Block Store available
● 2009 – Relational Database Service
● 2012 – DynamoDB
● 2021 - $17 billion in profit (74% of
Amazon operating profits)
AWS customers
29
Data centers
30
In Europe:
Frankfurt (3)
Ireland (3)
London (3)
Paris (3)
Stockholm (3)
Region (3 Availability Zones)
Milan (3)
Zurich (3)
Spain(3)
Services
31
● 200+ services accessed over the Internet
§ HTTP-based API
§ Command-line interface
§ Web-based user interface
Services
32
Notable services
33
● Elastic Compute Cloud (EC2)
● Elastic Block Store (EBS)
● Simple Storage Service (S3)
● Virtual Private Cloud (VPC)
● Simple Queue Service (SQS)
● EC2 Container Service (ECS)
● Amazon CloudFront
Amazon EC2
34
● Allows renting VMs (called instances) on
a per second basis
● Bare-metal instances are also available
Amazon Elastic Compute Cloud (Amazon EC2) provides scalable computing capacity in the Amazon Web Services (AWS) Cloud.
Using Amazon EC2 eliminates your need to invest in hardware up front, so you can develop and deploy applications faster. You
can use Amazon EC2 to launch as many or as few virtual servers as you need, configure security and networking, and manage s
torage. Amazon EC2 enables you to scale up or down to handle changes in requirements or spikes in popularity, reducing your
need to forecast traffic.
Spot instances
With Spot Instances, you pay the Spot price that's in effect for the time period your instances are running. Spot Instance prices are set by Amazon EC2 and
Amazon EC2 Spot instances allow you to request spare Amazon EC2 computing capacity for up to 90% off the On-Demand price. Learn More
Spot instances are recommended for:
Applications that have flexible start and end times
Applications that are feasible only at very low compute prices
Users with urgent computing needs for large amounts of additional capacity
EC2 concepts
35
● Instance: an active VM with a specific
resource capacity
● Amazon Machine Image (AMI): template
for creating VMs (contains OS and other
software and data)
§ EBS-backed AMI: the root device is stored
on an EBS volume
§ Instance-store backed AMI: the root device is
stored locally on host
● Availability zones, regions: determine
instance location
EC2 instance types
36
● Offer different compute, memory, storage,
and networking capacities
EC2 pricing
37
● On-demand instances
§ Per hour or per second charge
● Reserved instances
§ One-time fee and discounted hourly charge
With On-Demand instances, you pay for compute capacity by the hour or the second depending on which instances you run.
No longer-term commitments or upfront payments are needed. You can increase or decrease your compute capacity
depending on the demands of your application and only pay the specified per hourly rates for the instance you use.
On-Demand instances are recommended for:
Users that prefer the low cost and flexibility of Amazon EC2 without any upfront payment or long-term commitment
Applications with short-term, spiky, or unpredictable workloads that cannot be interrupted
Applications being developed or tested on Amazon EC2 for the first time
Reserved Instances provide you with a significant discount (up to 72%) compared to On-Demand Instance pricing. In
addition, when Reserved Instances are assigned to a specific Availability Zone, they provide a capacity reservation,
giving you additional confidence in your ability to launch instances when you need them.
EC2 pricing
38
● Spot instances
§ Excess capacity is offered at a fluctuating
price
§ Users bid a maximum price (by default, the
demand price) and run instances as long as
the price is lower than bid
Spot instances
With Spot Instances, you pay the Spot price that's in effect for the time period your instances are running.
Spot Instance prices are set by Amazon EC2 and adjust gradually based on long-term trends in supply and demand for Spot Instance capacity.
Amazon EC2 Spot instances allow you to request spare Amazon EC2 computing capacity for up to 90% off the On-Demand price. Learn More.
Spot instances are recommended for:
Applications that have flexible start and end times
Applications that are feasible only at very low compute prices
Users with urgent computing needs for large amounts of additional capacity
EC2 pricing
39
EC2 SLA
40
Elastic IPs
41
● IP addresses are normally dynamic (i.e.,
they do not persist when instances are
powered off)
● Elastic IP addresses are static IP
addresses that
§ belong to an AWS account
§ can be assigned and reassigned to running
instances
● Elastic IP address are free if they are
associated with a running instance
§ otherwise, hourly charged
Security groups
42
● Define a set of firewall rules for restricting
the inbound and outbound traffic of
instances
Elastic Block Store (EBS)
43
● Persistent block storage volumes for EC2
instances
● Multiple volumes can be attached to one
instance
● Automatic replication within an availability
zone
● Snapshot support
● Pricing based on GB-month of provisioned
storage and per million I/O requests
Using EC2
44
● Select AMI
● Choose instance type
● Choose availability zone
● Add EBS volumes
● Set security groups
● Attach elastic IP
● Set key pair
● Launch, stop, start, connect to instance,
terminate instance, etc.
Simple Storage Service (S3)
45
● Key-value store for large objects
● Objects are stored in buckets and
retrieved via developer-assigned keys
§ http://s3.amazonaws.com/<bucket>/<key>
● Unlimited number of objects (of size up to
5TB)
● 99.999999999% durability and 99.99%
availability
● Fine-grained access control
Simple Storage Service (S3)
46
● Provides eventual consistency
● Useful for content storage and
distribution, backup, archiving, …
● Pricing based on:
§ GBs used per month
§ Number and type of requests per month
§ GBs transferred out of S3 per month
Virtual Private Cloud (VPC)
47
● A logically-isolated
section of the AWS
cloud
● Provides complete
control over virtual
networking
environment
§ selection of IP address range
§ creation of subnets
§ configuration of route tables and network
gateways
Virtual Private Cloud (VPC)
48
● Allows access from customer data center
through an encrypted VPN connection
● Extra charge per VPN connection-hour
Amazon Virtual Private Cloud (Amazon VPC) enables you to launch AWS resources into a virtual network that you've
defined. This virtual network closely resembles a traditional network that you'd operate in your own data center, with
the benefits of using the scalable infrastructure of AWS.
Virtual Private Cloud (VPC)
49
Internet
Internet
Gateway
VPC Subnet VPC Subnet
VPC Subnet
10.0.0.5 10.0.1.5 10.0.1.6
10.0.3.5
10.0.0.6
10.0.1.25 10.0.1.8
10.0.3.17
Availability Zone 1a Availability Zone 1b
Virtual Private Gateway
VPN
Customer Connection Customer Gateway
Data Center
Auto Scaling
50
● CloudWatch
§ Monitors metrics and
sends alarms
● Elastic Load Balancing
§ Distributes incoming
traffic across multiple
instances
● Auto Scaling
§ Maintains availability and scales capacity
according to rules
Simple Queue Service (SQS)
51
● Reliable message queuing service
● Any number of components can read and
write messages from/to a queue at any
time
● Charges based on number of requests
and amount of data transfer
● Useful for decoupling application
components
C'est un moyen d'envoyer et de recevoire des messages (pour communiquer)
SQS is distributed queuing system. Messages are not pushed to receivers.
Receivers have to poll SQS to receive messages. Messages can’t be received
by multiple receivers at the same time. Any one receiver can receive a message,
process and delete it. Other receivers do not receive the same message later.
Polling inherently introduces some latency in message delivery in SQS unlike
SNS where messages are immediately pushed to subscribers.
Container orchestration
52
● Orchestration type
§ ECS (EC2 Container Service)
§ EKS (Elastic Container Service
for Kubernetes) AWS Fargate is a serverless, pay-as-you-go compute engine that lets you focus
on building applications without managing servers. AWS Fargate is compatible
with both Amazon Elastic Container Service (ECS)
and Amazon Elastic Kubernetes Service (EKS).
● Launch type
§ EC2: pay for underlying EC2 resources
§ Fargate: pay per vCPU and GB per time for
the task/pod; no infrastructure management
Under a standard Infrastructure-as-a-Service (IaaS) cloud computing model, users prepurchase units
of capacity, meaning you pay a public cloud provider for always-on server components to run your apps.
It’s the user’s responsibility to scale up server capacity during times of high demand and to scale down
when that capacity is no longer needed. The cloud infrastructure necessary to run an app is active even
when the app isn’t being used.
With serverless architecture, by contrast, apps are launched only as needed.
When an event triggers app code to run, the public cloud provider dynamically
allocates resources for that code. The user stops paying when the code finishes
executing. In addition to the cost and efficiency benefits, serverless frees developers
from routine and menial tasks associated with app scaling and server provisioning.
Container orchestration
53
Amazon CloudFront
54
● Delivers web content
using a global
network of edge
locations
● Requests are
automatically routed to
nearest edge location
● Pricing based on data transfer to
Internet/Origin and number of requests
Amazon CloudFront is a web service that speeds up distribution of your static and dynamic web content, such as .html, .css, .js,
and image files, to your users. CloudFront delivers your content through a worldwide network of data centers called edge locations.
When a user requests content that you're serving with CloudFront, the request is routed to the edge location that provides
the lowest latency (time delay), so that content is delivered with the best possible performance.
If the content is already in the edge location with the lowest latency, CloudFront delivers it immediately.
If the content is not in that edge location, CloudFront retrieves it from an origin that you've defined—such as an Amazon S3 bucket,
a MediaPackage channel, or an HTTP server (for example, a web server) that you have identified as the source for the definitive version of your content.
More services
55
● Route 53: low-latency DNS
● DynamoDB: NoSQL data store
● RDS: managed relational database
● CloudFormation: creating and managing
groups of related AWS resources
Web application hosting
56
https://docs.aws.amazon.com/whitepapers/latest/web-application-hosting-best-practices/an-aws-cloud-architecture-for-web-hosting.html
WordPress Hosting
57
https://raw.githubusercontent.com/aws-samples/aws-refarch-wordpress/master/images/aws-refarch-wordpress-v20171026.jpeg
Batch processing
58
Batch processing is the method computers use to periodically complete high-volume, repetitive data jobs.
Certain data processing tasks, such as backups, filtering, and sorting, can be compute intensive and inefficient
to run on individual data transactions. Instead, data systems process such tasks in batches, often in off-peak
times when computing resources are more commonly available, such as at the end of the day or overnight.
For example, consider an ecommerce system that receives orders throughout the day. Instead of processing
every order as it occurs, the system might collect all orders at the end of each day and share them in one batch with the order fulfillment team.
Summary
59
● IaaS is about offering computing
resources (e.g., virtual machines, virtual
disks, virtual networks, load balancers) as
a service
● Amazon Web Services (AWS) is a
representative IaaS offering
● Notable AWS services include EC2, EBS,
S3, ECS, and CloudFront
References
60
● Amazon Web Services,
http://aws.amazon.com
● Mastering Cloud Computing: Foundations
and Applications Programming, R.Buyya,
C. Vecchiola and S. Thamarai Selvi,
Elsevier Science & Technology, 2013