0% found this document useful (0 votes)
13 views

10_aws_slides_compact

Uploaded by

raffodelp
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
13 views

10_aws_slides_compact

Uploaded by

raffodelp
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 170

Generating witty comments...

0/61
Let’s go!

0/61
Getting to know the
Amazing Amazon Web Services

Luigi Libero Lucio Starace


[email protected]

October 31, 2019


University of Naples, Federico II

1/61
A little bit of context
Cloud Computing

Cloud computing is the on-demand delivery of computing


resources through a cloud services platform via the inter-
net with pay-as-you-go pricing.

2/61
Cloud Computing

Cloud computing is the on-demand delivery of computing


resources through a cloud services platform via the inter-
net with pay-as-you-go pricing.

2/61
Cloud Computing

Cloud computing is the on-demand delivery of computing


resources through a cloud services platform via the inter-
net with pay-as-you-go pricing.

Il cloud computing è la fornitura on-demand di risorse informatiche


attraverso una piattaforma di servizi cloud tramite l'internet con prezzi
pay-as-you-go.

2/61
Cloud Computing: Service Models

Software as a Service (SaaS)

3/61
Cloud Computing: Service Models

Software as a Service (SaaS)


The service vendor provides the user with a completed
product that is run and managed by the service provider.

3/61
Cloud Computing: Service Models

Software as a Service (SaaS)


The service vendor provides the user with a completed
product that is run and managed by the service provider.
Platform as a Service (PaaS)

3/61
Cloud Computing: Service Models

Software as a Service (SaaS)


The service vendor provides the user with a completed
product that is run and managed by the service provider.
Platform as a Service (PaaS)
The service vendor provides the user with a set of API
which can be used to build, test and deploy applications.

3/61
Cloud Computing: Service Models

Software as a Service (SaaS)


The service vendor provides the user with a completed
product that is run and managed by the service provider.
Platform as a Service (PaaS)
The service vendor provides the user with a set of API
which can be used to build, test and deploy applications.
Infrastructure as a Service (IaaS)

3/61
Cloud Computing: Service Models

Software as a Service (SaaS)


The service vendor provides the user with a completed
product that is run and managed by the service provider.
Platform as a Service (PaaS)
The service vendor provides the user with a set of API
which can be used to build, test and deploy applications.
Infrastructure as a Service (IaaS)
The service vendor provides users access to computing
resources such as servers, storage and networking.

3/61
Service Models: a visual comparison

On-premise IaaS PaaS SaaS


Application Application Application Application

Middleware Middleware Middleware Middleware

OS OS OS OS

Virtualization Virtualization Virtualization Virtualization

Servers Servers Servers Servers

Networking Networking Networking Networking

User manages Other manages

Figure 1: A service models comparison

4/61
Some stats

Worldwide Public Cloud Services Revenue Forecast (Billions of


U.S. Dollars) [Gar19]

2018 2019 2020 2021 2022


182,4 214,3 249,8 289,1 331,2
Billions of U.S. $

revenue
300

250

200

2018 2019 2020 2021 2022


Year

5/61
The bigwigs

Google

6/61
The bigwigs

Google
IBM

6/61
The bigwigs

Google
IBM
Microsoft

6/61
The bigwigs

Google
IBM
Microsoft
Alibaba

6/61
The bigwigs

Google
IBM
Microsoft
Alibaba
Oracle

6/61
The bigwigs

Google
IBM
Microsoft
Alibaba
Oracle
Amazon

6/61
Public Cloud Adoption

AWS 61 16 7

Azure 52 16 9
Google Cloud 19 22 14

IBM Cloud 12 9 6

Oracle Cloud 11 8 7 Currently use


Experimenting
Alibaba Cloud 3 6 8 Plan to use

0 10 20 30 40 50 60 70 80 90 100
Percent of responders

Figure 2: Public Cloud Adoption in January 2019 [Fle19]

7/61
The Multi-cloud Trend

Multi-cloud

84%
3%
3% No plans
10% Single private

Single public

Figure 3: Enterprise cloud strategy in Jan 2019 (1000+ Employees)


[Fle19] 8/61
An AWS bestiarium
Amazon Web Services

Amazon Web Services is a collection of cloud-based services.

9/61
Amazon Web Services

Amazon Web Services is a collection of cloud-based services.


A very big one.

9/61
Amazon Web Services

Amazon Web Services is a collection of cloud-based services.


A VERY big one.

9/61
An AWS bestiarium

Database services
Relational Database Service (RDS)

Set up, operate a relational database


in the cloud.

10/61
Relational Database Service (RDS)

Set up, operate a relational database


in the cloud.
Takes care of backups, patching.

10/61
Relational Database Service (RDS)

Set up, operate a relational database


in the cloud.
Takes care of backups, patching.
Supports:

10/61
Relational Database Service (RDS)

Set up, operate a relational database


in the cloud.
Takes care of backups, patching.
Supports:
MySQL, PostgreSQL, MariaDB

10/61
Relational Database Service (RDS)

Set up, operate a relational database


in the cloud.
Takes care of backups, patching.
Supports:
MySQL, PostgreSQL, MariaDB
Oracle, MS SQL Server

10/61
Relational Database Service (RDS)

Set up, operate a relational database


in the cloud.
Takes care of backups, patching.
Supports:
MySQL, PostgreSQL, MariaDB
Oracle, MS SQL Server
Amazon Aurora

10/61
RDS: Create a Database Instance

Go to the RDS Console and select “instances” .

11/61
RDS: Create a Database Instance

Select “Launch DB instance” .

12/61
RDS: Create a Database Instance

Select MySQL DBMS.

13/61
RDS: Create a Database Instance

Enable only free-tier options and continue.

14/61
RDS: Create a Database Instance

Select MySQL version 5.7.21

15/61
RDS: Create a Database Instance

Select db.t2.micro instance.

16/61
RDS: Create a Database Instance

Enter your desidered settings (remember the password! �).

17/61
RDS: Create a Database Instance

Be sure to select “create a new security group” .

18/61
RDS: Create a Database Instance

Enter a database name for the instance (important! �) and


leave the rest as is.

19/61
RDS: Create a Database Instance

Click on “Launch DB Instance” .

20/61
RDS: Create a Database Instance

The creation process takes around 15 minutes. Click on “View


DB Instance Details” to visit the detail page for the instance
you just created.

21/61
RDS: Create a Database Instance

When done, the status in your instance detail page will change
to “available” .

22/61
RDS: Create a Database Instance

Notice a few important elements in the details section. We’re


going to need these later.

23/61
RDS: Create a Database Instance

By default, our newly-created instance will not be publicly


accessible. If we want to be able to connect to it from any IP 1
(e.g. from a Java program running on our laptop or from
MySQL Workbench), we’ll need to add a new rule to the
security group to allow all inbound traffic.

1
notice that this is not a good practice in a production environment! [Sta]

24/61
RDS: Create a Database Instance

Click on the security group in the section Security Group Rules.

25/61
RDS: Create a Database Instance

Select the Inbound tab then click on the Edit button.

26/61
RDS: Create a Database Instance

Add a new rule as shown in the picture below. Then save and
return to the RDS instance detail page.

27/61
Step 7: Create a Database Instance

The rule you just added should be displayed among the other
two.

28/61
RDS: Connect to the Database Instance

Connection conn = null;


...
try {
String dbName = "your_db_name";
String userName = "your_username";
String password = "your_pwd";
//Endpoint is the hostname
String host = "inst_name.1234567.us-east-1.rds.
amazonaws.com";
String port = "3306";
String jdbcUrl = "jdbc:mysql://" + host + ":" + port +
"/" + dbName + "?user=" + userName + "&password="
+ password;
conn = DriverManager.getConnection(jdbcUrl);
// Do something with the Connection
} catch (SQLException ex) {...}

29/61
Non Relational Database Services

DynamoDB
Fast and flexible NoSQL database
service for any scale.

30/61
Non Relational Database Services

DynamoDB
Fast and flexible NoSQL database
service for any scale.
ElastiCache
In memory data store.
Supports memcached, Redis

30/61
Non Relational Database Services

DynamoDB
Fast and flexible NoSQL database
service for any scale.
ElastiCache
In memory data store.
Supports memcached, Redis
Neptune
Graph database service
Supports RDF, SPARQL, ...

30/61
An AWS bestiarium

Cloud storage
Amazon Simple Storage Service (S3)

store and retrieve any amount of data


from anywhere

31/61
Amazon Simple Storage Service (S3)

store and retrieve any amount of data


from anywhere
99.999999999% durability (nine nines!)

31/61
Amazon Simple Storage Service (S3)

store and retrieve any amount of data


from anywhere
99.999999999% durability (nine nines!)
Data is distributed across a minimum
of three availability zones

31/61
Amazon Simple Storage Service (S3)

store and retrieve any amount of data


from anywhere
99.999999999% durability (nine nines!)
Data is distributed across a minimum
of three availability zones
A logical unit of storage is a bucket

31/61
Amazon Simple Storage Service (S3)

store and retrieve any amount of data


from anywhere
99.999999999% durability (nine nines!)
Data is distributed across a minimum
of three availability zones
A logical unit of storage is a bucket
Multiple storage classes

31/61
Amazon Simple Storage Service (S3)

store and retrieve any amount of data


from anywhere
99.999999999% durability (nine nines!)
Data is distributed across a minimum
of three availability zones
A logical unit of storage is a bucket
Multiple storage classes
Standard

31/61
Amazon Simple Storage Service (S3)

store and retrieve any amount of data


from anywhere
99.999999999% durability (nine nines!)
Data is distributed across a minimum
of three availability zones
A logical unit of storage is a bucket
Multiple storage classes
Standard
Infrequent Access

31/61
Amazon Simple Storage Service (S3)

store and retrieve any amount of data


from anywhere
99.999999999% durability (nine nines!)
Data is distributed across a minimum
of three availability zones
A logical unit of storage is a bucket
Multiple storage classes
Standard
Infrequent Access
One zone-Infrequent Access

31/61
Amazon Simple Storage Service (S3)

store and retrieve any amount of data


from anywhere
99.999999999% durability (nine nines!)
Data is distributed across a minimum
of three availability zones
A logical unit of storage is a bucket
Multiple storage classes
Standard
Infrequent Access
One zone-Infrequent Access
Amazon Glacier

31/61
Amazon Simple Storage Service (S3) - more

Multiple storage classes

Storage class Storage Retrieval (per 1K req.)


Standard $0.022 per GB $0.0004
Infrequent access $0.0125 per GB $0.001
IA single zone $0.01 per GB $0.001

Table 1: S3 pricing (Ireland)

32/61
Amazon Simple Storage Service (S3) - more

Multiple storage classes

Storage class Storage Retrieval (per 1K req.)


Standard $0.022 per GB $0.0004
Infrequent access $0.0125 per GB $0.001
IA single zone $0.01 per GB $0.001

Table 1: S3 pricing (Ireland)

Example 1: Host 1GB of files for a month with 10M retrievals


With standard class: $0.022 + $4 = $4.022
With IA class: $0.0125 + $10 = $10.0125

32/61
Amazon Simple Storage Service (S3) - more

Multiple storage classes

Storage class Storage Retrieval (per 1K req.)


Standard $0.022 per GB $0.0004
Infrequent access $0.0125 per GB $0.001
IA single zone $0.01 per GB $0.001

Table 1: S3 pricing (Ireland)

Example 2: Host 1GB of files for a month with 500 retrievals


With standard class: $0.022 + $0.0002 = $0.0222
With IA class: $0.0125 + $0.0005 = $0.013

32/61
Amazon Simple Storage Service (S3) - more

Well-integrated with other services

33/61
Amazon Simple Storage Service (S3) - more

Well-integrated with other services


Machine Learning

33/61
Amazon Simple Storage Service (S3) - more

Well-integrated with other services


Machine Learning
Big Data Analysis

33/61
Amazon Simple Storage Service (S3) - more

Well-integrated with other services


Machine Learning
Big Data Analysis
REST API

33/61
Amazon Simple Storage Service (S3) - more

Well-integrated with other services


Machine Learning
Big Data Analysis
REST API
Can be used to host static websites

33/61
An AWS bestiarium

Miscellanea
Machine Learning: application services

Comprehend (for NLP) � Dashboard

34/61
Machine Learning: application services

Comprehend (for NLP) � Dashboard

Rekognition (Visual Analysis) � Dashboard

34/61
Machine Learning: application services

Comprehend (for NLP) � Dashboard

Rekognition (Visual Analysis) � Dashboard

Translate

34/61
Machine Learning: application services

Comprehend (for NLP) � Dashboard

Rekognition (Visual Analysis) � Dashboard

Translate
Polly (text-to-speech)

34/61
Machine Learning: application services

Comprehend (for NLP) � Dashboard

Rekognition (Visual Analysis) � Dashboard

Translate
Polly (text-to-speech)
Transcribe (speech-to-text)

34/61
Using Comprehend from a Node.js app

const AWS = require('aws-sdk');


const comprehend = new AWS.Comprehend();
...
var params = {
LanguageCode: "it",
Text: "Questo è un testo di esempio."
};
comprehend.detectSentiment(params, (err, data) => {
if (err) {
console.log(err, err.stack);
return;
}
else{
const sentiment = data.Sentiment;
console.log(sentiment);
}
});
35/61
Miscellanea

Cognito

36/61
Miscellanea

Cognito
Sign-up and authentication

36/61
Miscellanea

Cognito
Sign-up and authentication
Federated identities

36/61
Miscellanea

Cognito
Sign-up and authentication
Federated identities
CloudFront

36/61
Miscellanea

Cognito
Sign-up and authentication
Federated identities
CloudFront
Content Delivery Network

36/61
Miscellanea

Cognito
Sign-up and authentication
Federated identities
CloudFront
Content Delivery Network
116 Points of Presence in 56 cities
across 24 countries

36/61
Miscellanea

Cognito
Sign-up and authentication
Federated identities
CloudFront
Content Delivery Network
116 Points of Presence in 56 cities
across 24 countries
Mechanical Turk

36/61
Amazon MechanicalTurk

???

37/61
The Turk

The Turk was a chess-playing automaton built in 1770.

38/61
The Turk

The Turk was a chess-playing automaton built in 1770.

38/61
The Turk

The Turk was a chess-playing automaton built in 1770.


Obviously it was a fraud.

38/61
Amazon MechanicalTurk

???

39/61
Amazon MechanicalTurk

Human Intelligence through an API

39/61
Amazon MechanicalTurk

Human Intelligence through an API


Create HIT (Human Intelligence Task)

39/61
Amazon MechanicalTurk

Human Intelligence through an API


Create HIT (Human Intelligence Task)
Elastic, on-demand workforce

39/61
Amazon MechanicalTurk

Human Intelligence through an API


Create HIT (Human Intelligence Task)
Elastic, on-demand workforce
Available 24/7

39/61
An AWS bestiarium

Computing
Amazon Elastic Compute Cloud (EC2)

(Virtual) Servers on demand

Azure: Virtual Machines � web


Google Cloud: Compute Engine � web

40/61
Amazon Elastic Compute Cloud (EC2)

(Virtual) Servers on demand


Different types of instances to suit
computing needs

Azure: Virtual Machines � web


Google Cloud: Compute Engine � web

40/61
Amazon Elastic Compute Cloud (EC2)

(Virtual) Servers on demand


Different types of instances to suit
computing needs
Per-second (or per-hour) billing

Azure: Virtual Machines � web


Google Cloud: Compute Engine � web

40/61
Amazon Elastic Compute Cloud (EC2)

(Virtual) Servers on demand


Different types of instances to suit
computing needs
Per-second (or per-hour) billing
Data transfer not included!

Azure: Virtual Machines � web


Google Cloud: Compute Engine � web

40/61
Amazon Elastic Compute Cloud (EC2)

(Virtual) Servers on demand


Different types of instances to suit
computing needs
Per-second (or per-hour) billing
Data transfer not included!
Persistent storage not included!

Azure: Virtual Machines � web


Google Cloud: Compute Engine � web

40/61
Amazon Elastic Compute Cloud (EC2)

(Virtual) Servers on demand


Different types of instances to suit
computing needs
Per-second (or per-hour) billing
Data transfer not included!
Persistent storage not included!
Scaling not included!

Azure: Virtual Machines � web


Google Cloud: Compute Engine � web

40/61
Amazon EC2 Auto Scaling

Scaling is the ability to increase or


decrease the compute capacity of your
application

Azure: Virtual Machine Scale Sets � web

Google Cloud: Load Balancing � web

41/61
Amazon EC2 Auto Scaling

Scaling is the ability to increase or


decrease the compute capacity of your
application
Scale your application manually, on a
scheduled basis or on demand

Azure: Virtual Machine Scale Sets � web

Google Cloud: Load Balancing � web

41/61
Amazon EC2 Auto Scaling: details

Auto scaling group

EC2 EC2 EC2 EC2 EC2

minimum size scale as needed

desired capacity

maximum size

42/61
Amazon Elastic Load Balancing (ELB)

Distributes incoming traffic across


multiple EC2 instances

Azure: Load Balancer � web

43/61
Amazon Elastic Load Balancing (ELB)

Distributes incoming traffic across


multiple EC2 instances
Pay-per-use billing

Azure: Load Balancer � web

43/61
Amazon Elastic Load Balancing (ELB)

Distributes incoming traffic across


multiple EC2 instances
Pay-per-use billing
Execution time

Azure: Load Balancer � web

43/61
Amazon Elastic Load Balancing (ELB)

Distributes incoming traffic across


multiple EC2 instances
Pay-per-use billing
Execution time
Number of requests / traffic

Azure: Load Balancer � web

43/61
Amazon Elastic Load Balancing (ELB)

ELB

EC2 Instances

44/61
Amazon Elastic Load Balancing (ELB)

ELB

unhealthy instance

EC2 Instances

44/61
Amazon Elastic Load Balancing (ELB)

ELB

unhealthy instance

EC2 Instances

44/61
Amazon Lightsail

A lightweight, simplified offer

Websites: � EC2 � Lightsail

45/61
Amazon Lightsail

A lightweight, simplified offer


Bundles computing, storage, and
networking capacity

Websites: � EC2 � Lightsail

45/61
Amazon Lightsail

A lightweight, simplified offer


Bundles computing, storage, and
networking capacity
Preconfigured instances for

Websites: � EC2 � Lightsail

45/61
Amazon Lightsail

A lightweight, simplified offer


Bundles computing, storage, and
networking capacity
Preconfigured instances for
Debian, Windows Server, ...

Websites: � EC2 � Lightsail

45/61
Amazon Lightsail

A lightweight, simplified offer


Bundles computing, storage, and
networking capacity
Preconfigured instances for
Debian, Windows Server, ...
Wordpress, Magento, Redmine, ...

Websites: � EC2 � Lightsail

45/61
Amazon Lightsail

A lightweight, simplified offer


Bundles computing, storage, and
networking capacity
Preconfigured instances for
Debian, Windows Server, ...
Wordpress, Magento, Redmine, ...
LAMP stack, Nginx, ...

Websites: � EC2 � Lightsail

45/61
Amazon Lightsail

A lightweight, simplified offer


Bundles computing, storage, and
networking capacity
Preconfigured instances for
Debian, Windows Server, ...
Wordpress, Magento, Redmine, ...
LAMP stack, Nginx, ...
Low and predictable monthly costs

Websites: � EC2 � Lightsail

45/61
Amazon Elastic Beanstalk

“Easy to begin, impossible to outgrow”

46/61
Amazon Elastic Beanstalk

“Easy to begin, impossible to outgrow”


Easy-to-use service to deploy web apps

46/61
Amazon Elastic Beanstalk

“Easy to begin, impossible to outgrow”


Easy-to-use service to deploy web apps
Supports Apache, Nginx, IIS and more

46/61
Amazon Elastic Beanstalk

“Easy to begin, impossible to outgrow”


Easy-to-use service to deploy web apps
Supports Apache, Nginx, IIS and more
Supports Java, .NET, PHP, Node.js,
Python, Ruby, Go, and Docker

46/61
Amazon Elastic Beanstalk

“Easy to begin, impossible to outgrow”


Easy-to-use service to deploy web apps
Supports Apache, Nginx, IIS and more
Supports Java, .NET, PHP, Node.js,
Python, Ruby, Go, and Docker
Manages auto-scaling, load balancing,
health monitoring

46/61
Amazon Elastic Beanstalk

“Easy to begin, impossible to outgrow”


Easy-to-use service to deploy web apps
Supports Apache, Nginx, IIS and more
Supports Java, .NET, PHP, Node.js,
Python, Ruby, Go, and Docker
Manages auto-scaling, load balancing,
health monitoring
Customizable

46/61
Amazon Elastic Beanstalk

“Easy to begin, impossible to outgrow”


Easy-to-use service to deploy web apps
Supports Apache, Nginx, IIS and more
Supports Java, .NET, PHP, Node.js,
Python, Ruby, Go, and Docker
Manages auto-scaling, load balancing,
health monitoring
Customizable
Free of charge. Pay only for the AWS
resources you use.

46/61
Is EC2 Elastic enough?
Tricky use cases: sporadic requests

Incoming requests

40 Server capacity
Underload
Requests

20

0
15:00 15:05 15:10 15:15 15:20 15:25 15:30
Time

Figure 4: Sporadic requests example

47/61
Tricky use cases: inconsistent requests

Incoming requests
300 Server capacity
Underload
Overload
Requests

200

100

0
15:00 15:05 15:10 15:15 15:20 15:25 15:30
Time

Figure 5: Inconsistent requests example

48/61
Amazon Lambda

You provide the code and say when to


run it.

49/61
Amazon Lambda

You provide the code and say when to


run it.
Execution is triggered by events

49/61
Amazon Lambda

You provide the code and say when to


run it.
Execution is triggered by events
S3, Cognito, DynamoDB

49/61
Amazon Lambda

You provide the code and say when to


run it.
Execution is triggered by events
S3, Cognito, DynamoDB
CodeCommit, Scheduled Event

49/61
Amazon Lambda

You provide the code and say when to


run it.
Execution is triggered by events
S3, Cognito, DynamoDB
CodeCommit, Scheduled Event
Support for Java, Node.js, C# e Python
(more to come).

49/61
Amazon Lambda

You provide the code and say when to


run it.
Execution is triggered by events
S3, Cognito, DynamoDB
CodeCommit, Scheduled Event
Support for Java, Node.js, C# e Python
(more to come).
Pay only for actual execution time.

49/61
Amazon Lambda

You provide the code and say when to


run it.
Execution is triggered by events
S3, Cognito, DynamoDB
CodeCommit, Scheduled Event
Support for Java, Node.js, C# e Python
(more to come).
Pay only for actual execution time.
Run your code without thinking about
infrastructure

49/61
Amazon Lambda

You provide the code and say when to


run it.
Execution is triggered by events
S3, Cognito, DynamoDB
CodeCommit, Scheduled Event
Support for Java, Node.js, C# e Python
(more to come).
Pay only for actual execution time.
Run your code without thinking about
infrastructure
No need to worry about provisioning,
load balancing, scaling...

49/61
Amazon Lambda: limits

AWS Lambda imposes some limits


Max 300 seconds execution time.

50/61
Amazon Lambda: limits

AWS Lambda imposes some limits


Max 300 seconds execution time.
Max 3008 MB memory allocation.

50/61
Amazon Lambda: limits

AWS Lambda imposes some limits


Max 300 seconds execution time.
Max 3008 MB memory allocation.
Deployment package must be smaller
than 50 MB (negotiable).

50/61
Amazon Lambda: limits

AWS Lambda imposes some limits


Max 300 seconds execution time.
Max 3008 MB memory allocation.
Deployment package must be smaller
than 50 MB (negotiable).
No more than 10000 concurrent
invocation of a Lambda function in a
given region (negotiable).

50/61
Amazon Lambda: limits

AWS Lambda imposes some limits


Max 300 seconds execution time.
Max 3008 MB memory allocation.
Deployment package must be smaller
than 50 MB (negotiable).
No more than 10000 concurrent
invocation of a Lambda function in a
given region (negotiable).
For a complete list: � Lambda docs

50/61
Amazon Lambda: FaaS

FaaS (Functions as a Service)

Functions are the unit of deployment

51/61
Amazon Lambda: FaaS

FaaS (Functions as a Service)

Functions are the unit of deployment


Executed in ephemeral, stateless containers

51/61
Amazon Lambda: FaaS

FaaS (Functions as a Service)

Functions are the unit of deployment


Executed in ephemeral, stateless containers
Event driven

51/61
Amazon Lambda: FaaS

FaaS (Functions as a Service)

Functions are the unit of deployment


Executed in ephemeral, stateless containers
Event driven
No provisioning, scales automatically

51/61
Amazon Lambda: FaaS

FaaS (Functions as a Service)

Functions are the unit of deployment


Executed in ephemeral, stateless containers
Event driven
No provisioning, scales automatically
Azure: Functions web

51/61
Amazon Lambda: FaaS

FaaS (Functions as a Service)

Functions are the unit of deployment


Executed in ephemeral, stateless containers
Event driven
No provisioning, scales automatically
Azure: Functions web

Google Cloud: Functions web

51/61
Amazon Lambda: FaaS

FaaS (Functions as a Service)

Functions are the unit of deployment


Executed in ephemeral, stateless containers
Event driven
No provisioning, scales automatically
Azure: Functions web

Google Cloud: Functions web

IBM: Cloud Functions web

51/61
Amazon Lambda: FaaS

FaaS (Functions as a Service)

Functions are the unit of deployment


temporanei
Executed in ephemeral, stateless containers
Event driven
No provisioning, scales automatically
Azure: Functions web

Google Cloud: Functions web

IBM: Cloud Functions web

Based on Apache OpenWhisk web

51/61
Serverless Architectures

No, they’re not actually serverless...

52/61
Serverless Architectures

No, they’re not actually serverless...


Rely on FaaS and third-party services so that traditional
always-on servers are no longer needed

52/61
Serverless Architectures

No, they’re not actually serverless...


Rely on FaaS and third-party services so that traditional
always-on servers are no longer needed
No worries about provisioning and scaling

52/61
Serverless Architectures: trade-offs

Pros
Reduce costs � servers.LOL

53/61
Serverless Architectures: trade-offs

Pros
Reduce costs � servers.LOL

No worries about
provisioning, scaling

53/61
Serverless Architectures: trade-offs

Pros
Reduce costs � servers.LOL

No worries about
provisioning, scaling
Less time to market

53/61
Serverless Architectures: trade-offs

Pros
Cons
Reduce costs � servers.LOL

No worries about
provisioning, scaling
Less time to market

53/61
Serverless Architectures: trade-offs

Pros
Cons
Reduce costs � servers.LOL
Limits
No worries about
provisioning, scaling
Less time to market

53/61
Serverless Architectures: trade-offs

Pros
Cons
Reduce costs � servers.LOL
Limits
No worries about
Vendor lock-in
provisioning, scaling
Less time to market

53/61
Serverless Architectures: trade-offs

Pros
Cons
Reduce costs � servers.LOL
Limits
No worries about
Vendor lock-in
provisioning, scaling
Testing
Less time to market

53/61
Nice readings i

[Jan16] Badri Janakiraman. Serverless. June 20, 2016. url:


https://martinfowler.com/bliki/
Serverless.html (visited on 05/21/2018).
[LF14] James Lewis and Martin Fowler. Microservices: a
definition of this new architectural term. Mar. 25,
2014. url: https://martinfowler.com/
articles/microservices.html (visited on
05/21/2018).
[Rob16] Mike Roberts. Serverless Architectures. Apr. 6, 2016.
url: https://martinfowler.com/articles/
serverless.html (visited on 05/21/2018).

54/61
Nice readings ii

[Rus16] Mark Russinovich. Microservices: An application


revolution powered by the cloud. Mar. 17, 2016. url:
https://azure.microsoft.com/it-
it/blog/microservices-an-application-
revolution-powered-by-the-cloud/ (visited
on 05/21/2018).
[Ser] Serverless inc. Serverless guide. url:
https://github.com/serverless/guide
(visited on 05/21/2018).

55/61
References i

[Amaa] Amazon Web Services. What is cloud computing?


url: https://aws.amazon.com/what-is-
cloud-computing/ (visited on 03/30/2018).
[Amab] Inc. Amazon Web Services. Set up a Continuous
Deployment Pipeline using AWS CodePipeline. url:
https://aws.amazon.com/it/getting-
started/tutorials/continuous-
deployment-pipeline/ (visited on 06/10/2018).

56/61
References ii

[Amac] Inc. Amazon Web Services. Tutorial: Create a


Four-Stage Pipeline. url: https:
//docs.aws.amazon.com/codepipeline/
latest/userguide/tutorials-four-stage-
pipeline.html (visited on 06/10/2018).
[Ama17] Inc. Amazon Web Services. Practicing Continuous
Integration and Continuous Delivery on AWS.
Tech. rep. June 2017. url: https:
//d1.awsstatic.com/whitepapers/DevOps/
practicing-continuous-integration-
continuous-delivery-on-AWS.pdf (visited on
06/01/2018).

57/61
References iii

[AWS] AWS. AWS Step Functions. url:


https://aws.amazon.com/step-
functions/?nc1=f_ls (visited on 05/01/2018).
[Fle19] Flexera. RightScale 2019 State of the Cloud Report
from Flexera. Feb. 27, 2019. url: %7Bhttps:
//www.flexera.com/about-us/press-
center/rightscale-2019-state-of-the-
cloud-report-from-flexera-identifies-
cloud-adoption-trends.html%7D (visited on
10/27/2019).

58/61
References iv

[Gar19] Gartner. Gartner Forecasts Worldwide Public Cloud


Revenue to Grow 17.5 Percent in 2019. Apr. 2, 2019.
url: https:
//www.gartner.com/en/newsroom/press-
releases/2019-04-02-gartner-forecasts-
worldwide-public-cloud-revenue-to-g
(visited on 10/27/2019).

59/61
References v

[Sta] Security Stackexchange. Security consequences of a


publicly accessible database. url:
https://security.stackexchange.com/
questions/194711/security-consequences-
of-a-publicly-accessible-database (visited
on 10/29/2019).

60/61
References vi

[Syn18] Synergy Research Group. Cloud Growth Rate


Increases; Amazon, Microsoft & Google all Gain
Market Share. Feb. 2, 2018. url: https:
//www.srgresearch.com/articles/cloud-
growth-rate-increases-amazon-microsoft-
google-all-gain-market-share (visited on
03/30/2018).

61/61

You might also like