Presentazione delle principali funzionalità AWS e principi basici del cloud computing durante la sessione de "Il Martedì dell'architetto" del 12 Giugno
2. WHAT IS AWS – FROM WIKIPEDIA
Amazon Web Services (AWS)
is a subsidiary
of Amazon.com that
provides on-demand cloud
computing platforms to
individuals, companies and
governments, on a paid
subscription basis.
2
3. HISTORY
3
Chris Pinkham, manager at Amazon, ask
Benjamin Black to create new architecture to
front amazon.com success and so many users in
the world.
The only way to achive the requirement without
get in trouble again after new growing of
amazon.com was create a new infrastructure
built to decouple software from hardware and
get distance from classics monolithic apps.
Benjamin Black did it and he saw a new
opportunity. He, with Pinkham, wrote a
document presenting the AWS idea.
AWS is born to be AWS not for amazon.com
4. MAIN BENEFITS
Zero expense to get started, pay as you go
4 Toolbox – PRESENTATION EXAMPLES – size [16:9]
Andy Jassy, AWS Senior Vice President
5. MAIN BENEFITS
Zero expense to get started, pay as you go
5 Toolbox – PRESENTATION EXAMPLES – size [16:9]
Andy Jassy, AWS Senior Vice President
Lower variable expense than on premise and
in the time
6. MAIN BENEFITS
Zero expense to get started, pay as you go
6 Toolbox – PRESENTATION EXAMPLES – size [16:9]
Andy Jassy, AWS Senior Vice President
Lower variable expense than on premise and
in the time
You don’t need to guess capacity
7. MAIN BENEFITS
Zero expense to get started, pay as you go
7 Toolbox – PRESENTATION EXAMPLES – size [16:9]
Andy Jassy, AWS Senior Vice President
Lower variable expense than on premise and
in the time
You don’t need to guess capacity
8. MAIN BENEFITS
Zero expense to get started, pay as you go
8 Toolbox – PRESENTATION EXAMPLES – size [16:9]
Andy Jassy, AWS Senior Vice President
Lower variable expense than on premise and
in the time
You don’t need to guess capacity
Infrastructure in a second and no extra
resources, experimentation fast with low risk
9. MAIN BENEFITS
Zero expense to get started, pay as you go
9 Toolbox – PRESENTATION EXAMPLES – size [16:9]
Andy Jassy, AWS Senior Vice President
Lower variable expense than on premise and
in the time
You don’t need to guess capacity
Infrastructure in a second and no extra
resources, experimentation fast with low risk
No Maintenance
10. MAIN BENEFITS
Zero expense to get started, pay as you go
10 Toolbox – PRESENTATION EXAMPLES – size [16:9]
Andy Jassy, AWS Senior Vice President
Lower variable expense than on premise and
in the time
You don’t need to guess capacity
Infrastructure in a second and no extra
resources, experimentation fast with low risk
No Maintenance
High availability with Multi-AZ distribution
12. Definition
IAM is where you manage your AWS
users, and their access to AWS accounts
and services.
IAM – IDENTITY AND ACCESS MANAGEMENT
12 Toolbox – PRESENTATION EXAMPLES – size [16:9]
13. ACCOUNT
13 Toolbox – PRESENTATION EXAMPLES – size [16:9]
When you create an account, this account is a root user with superuser privileges!
What can do a root user?
Manage Resources
Start any AWS services
Work with any Region and AZ
Users Management
Create new Roles
Create new Users
Setup autorisations in a deep level for each user
Billing Settings
Check any billing operation and payment methods
Ask for detailed reports to check costs
Recovery Actions
Password recovery
Lost MFA Devices
Any administration action
14. How users or softwares can access AWS services?
Web Console
Mobile Console
CLI
SDK
REST API
ACCESS SERVICES
14 Toolbox – PRESENTATION EXAMPLES – size [16:9]
16. Definition
VPC lets you provision a logically isolated
section of AWS cloud where you can
launch AWS resourse in a Virtual
Network that you define and fully
control.
VPC – VIRTUAL PRIVATE CLOUD
16 Toolbox – PRESENTATION EXAMPLES – size [16:9]
17. It’s like a Private Corporate Network or a on-
premise data centers
VPC lets extend on-premise network to the
cloud as it was part of your network (VPN)
VPC is hosted in a chosen AWS region.
VPC can span multiple availability zones. This
lets you to have high availability and fault
tolerance architecture.
VPC CONCEPTS
17 Toolbox – PRESENTATION EXAMPLES – size [16:9]
18. When you create an AWS account a default VPC is
created for you including
Internet Gateway, an horizontally scaled, redundant
and high available VPC Component that allows
comunications between instances in the VPC and the
internet
A route table, where you can define routes from an ip
to a service or subnet
Network Access Control List (NACL, it’s like a firewall)
Subnets (subcontainers). A subnet could be public or
private and belong to an AZ or another.
AWS provides a DNS for each VPC
You can setup your own DNS changing DHCP options
VPC CONCEPTS
18 Toolbox – PRESENTATION EXAMPLES – size [16:9]
19. EC2 (ELASTIC CLOUD COMPUTE)
19 Toolbox – PRESENTATION EXAMPLES – size [16:9]
Definition
It’s a virtual server and provides scalable
computing capacity in the cloud
20. You don’t need to wait weeks to get one.
EC2 are designed to mimic traditional on-premises,
but with the ability to be commisioned and
decommisioned for easy scalability and elasticity.
Each EC2 needs to be set in a VPC, Availability Zone
and subnet.
When you define a EC2 you needs to specify
AMI (Amazon Machine Image): OS and other settings
Instance type: hardware (cpu, ram, network bandwith)
Network Interface: ip public, private or elastic IPs.
Storage: EBS (Elastic Block Store) or Instance Store (not
network persistent)
Secure login information for your instances using key
pairs (one key to Amazon, on key to you)
EC2 CONCEPTS
20 Toolbox – PRESENTATION EXAMPLES – size [16:9]
21. On-demand: you pay the time is on, you choose
when it’s on and it needs to shutdown
It’s the most expensive
It’s the most flexible
Reserved: you purchase an istance for one or three
years
The price/hour ratio is better than on-demand
You can pay upfront, partial upfront or no upfront.
You are responsible for the entire price and how often
you use the instance.
Spot
You bid a price on an instance type. Amazon provides
an active instance which is not used at that time if your
price is ok on that.
It’s useful when you need an instance for a short time
EC2 BUYING OPTIONS
21 Toolbox – PRESENTATION EXAMPLES – size [16:9]
22. LIGHTSAIL (RELATION DATABASE SERVICE)
22 Toolbox – PRESENTATION EXAMPLES – size [16:9]
Definition
Is a virtual machine built on an image you choose
where is specified the OS and an entire application
or development stack.
23. Simplified Service
You don’t need to have system engineering skills
Try Console Interface, it looks more simple of
EC2 AWS Console Interface
Preconfigured Environments with full stacks of
software and/or SDKs
Even if it’s a simplified service you still have the
same EC2 functionality
You can choose Linux or Windows as OS
Prices are flat (from 5$/month to 80$)
LIGHTSAIL CONCEPTS
23 Toolbox – PRESENTATION EXAMPLES – size [16:9]
24. RDS (RELATION DATABASE SERVICE)
24 Toolbox – PRESENTATION EXAMPLES – size [16:9]
Definition
It is a web service that makes it easier to set up,
operate, and scale a relational database in the
cloud. It provides cost-efficient, resizable capacity
for an industry-standard relational database and
manages common database administration tasks.
25. CPU, Memory, Storage and IOPS are split apart
from the DB instance, so you can scale them
independently
Amazon RDS manages backups, software
patching, automatic failure detection, and
recovery
DB Engine available:
Amazon Aurora
MySql
MariaDB
PostegreSql
Oracle
Microsoft Sql Server
RDS CONCEPTS
25 Toolbox – PRESENTATION EXAMPLES – size [16:9]
26. Definition
is a relational database engine that combines the
speed and reliability of high-end commercial
databases with the simplicity and cost-
effectiveness of open source databases.
• It delivers up to five times the throughput of
standard MySQL and up to three times the
throughput of standard PostgreSQL.
• It is designed to be compatible with MySQL and
with PostgreSQL
• It is available through Amazon RDS
RDS – AWS AURORA
26 Toolbox – PRESENTATION EXAMPLES – size [16:9]
27. S3 (SIMPLE STORAGE SERVICES)
27 Toolbox – PRESENTATION EXAMPLES – size [16:9]
Definition
It’s a service used to store files and documents in
the Cloud.
28. Any file stored can be shared and be public
You can enable versioning on the files stored
Buckets are the main storage in S3 and contain grouping of information and name spaces that are similar to
folders.
Each bucket has a name which contains only lowercase letters and this name is unique worldwide across all of
AWS.
Each object can be stored in three storage class
Standard (Fast access with high frequencies, high costs)
Reduced Redundant Storage (Non critical, reproducible objects)
Infrequent Access (File you don’t access frequently but must be immediatly available when needed)
Glacier (Long term archive storage, lower prices)
S3 CONCEPTS
28 Toolbox – PRESENTATION EXAMPLES – size [16:9]
29. SERVERLESS COMPUTING
29 Toolbox – PRESENTATION EXAMPLES – size [16:9]
Definition
Is a cloud-computing execution model in which the
cloud provider dynamically manages the allocation
of machine resources. Pricing is based on the
actual amount of resources consumed by an
application, rather than on pre-purchased units of
capacity.
30. SERVERLESS COMPUTING - ADVANTAGES
30 Toolbox – PRESENTATION EXAMPLES – size [16:9]
You don’t care about servers provisioning
You don’t rent servers
No OS costs, no licenses, no maintenance
You don’t need to plan a scaling policy with auto-scaling
It’s Multi-AZ, always
44. API GATEWAY
44 Toolbox – PRESENTATION EXAMPLES – size [16:9]
Definition
It’s a service used to create, publish, manage and
monitoring APIs.
45. It’s a serverless service
API Versioning
It let you to run multiple version of the same API
Environment
Deploy the API to different environment (dev, stage, prod)
Performance
Integrated with CloudFront
‐ it allows you to take advantage of worldwide network of edge locations to provide end users with the lowest possible latency for API requests and responses
‐ DDoS attack protection
API Output Caching
API Monitoring with CloudWatch
Flexible Security Controls, to secure your API you can use
AWS IAM
AWS Cognito
AWS Lambda to manage others mechanisms like OAuth
API GATEWAY CONCEPTS
45 Toolbox – PRESENTATION EXAMPLES – size [16:9]
46. AWS LAMBDA
46 Toolbox – PRESENTATION EXAMPLES – size [16:9]
Definition
Lambda is a serverless computing platform where
you can provision the code to run without
provisioning or managing servers or caring about
capacity and scalability.
47. AWS LAMBDA - CONCEPTS
47 Toolbox – PRESENTATION EXAMPLES – size [16:9]
Based on your code Lambda scales automatically
You pay the compute time (by number of execution,
duration time and allocated memory). Prices are calculated
every 100 milliseconds.
It can be integrated with others services like CloudFront,
SNS, SQS, RDS or DynamoDb.
Languages supported:
Node.js
Java
C#
Python
It can be used also triggered by other services (events like
change in S3 buckets for example or update to a DynamoDb
table) or by custom events or accessed by Api Gateway.
48. AWS DYNAMODB
48 Toolbox – PRESENTATION EXAMPLES – size [16:9]
Definition
Amazon DynamoDB is a fully managed NoSQL
database service that provides fast and predictable
performance with seamless scalability. DynamoDB
lets you offload the administrative burdens of
operating and scaling a distributed database, so
that you don't have to worry about hardware
provisioning, setup and configuration, replication,
software patching, or cluster scaling.
49. It’s a serverless service
It’s like MongoDB
It’s schemaless
It’s a key/value store
It’s a schema lists
It save data on SSD and use synchronous
replication to other availability zones.
It easily integrates with other AWS services like
MapReduce
DYNAMODB CONCEPTS
49 Toolbox – PRESENTATION EXAMPLES – size [16:9]
50. AWS COGNITO
50 Toolbox – PRESENTATION EXAMPLES – size [16:9]
Definition
Amazon Cognito provides authentication,
authorization, and user management for your web
and mobile apps. Your users can sign in directly
with a user name and password, or through a third
party such as Facebook, Amazon, or Google.
51. The two main components of Amazon Cognito
are user pools and identity pools
User pools are user directories that provide sign-up
and sign-in options for your app users
Identity Pool lets users to obtain temporary AWS
credentials to access AWS services, such as Amazon S3
and DynamoDB
your users can sign-in through social identity
providers (Facebook, etc) and enterprise
identity provider (Microsoft Active Directory)
It let you implement MFA access
COGNITO CONCEPTS
51 Toolbox – PRESENTATION EXAMPLES – size [16:9]
52. ROUTE 53
52 Toolbox – PRESENTATION EXAMPLES – size [16:9]
Definition
Amazon Route 53 is a highly available and scalable
cloud Domain Name System (DNS) web service
53. OTHER MAIN SERVICES
53 Toolbox – PRESENTATION EXAMPLES – size [16:9]
SNS – Simple Notification Service, makes it easy to set
up, operate, and send notifications from the cloud.
54. OTHER MAIN SERVICES
SNS – Simple Notification Service, makes it easy to set
up, operate, and send notifications from the cloud.
54 Toolbox – PRESENTATION EXAMPLES – size [16:9]
ELB – Elastic Load Balancing
55. OTHER MAIN SERVICES
SNS – Simple Notification Service, makes it easy to set
up, operate, and send notifications from the cloud.
55 Toolbox – PRESENTATION EXAMPLES – size [16:9]
ELB – Elastic Load Balancing
ElasticCache, a fully managed in memory cache
engine. Work also with Redis.
56. OTHER MAIN SERVICES
SNS – Simple Notification Service, makes it easy to set
up, operate, and send notifications from the cloud.
56 Toolbox – PRESENTATION EXAMPLES – size [16:9]
ELB – Elastic Load Balancing
ElasticCache, a fully managed in memory cache engine.
Work also with Redis.
Redshift, a data warehousing service.
57. OTHER MAIN SERVICES
SNS – Simple Notification Service, makes it easy to set
up, operate, and send notifications from the cloud.
57 Toolbox – PRESENTATION EXAMPLES – size [16:9]
ELB – Elastic Load Balancing
ElasticCache, a fully managed in memory cache engine.
Work also with Redis.
Redshift, a data warehousing service.
SQS – Simple Queue Service