SlideShare a Scribd company logo
ARCHITECTING WEB APPLICATIONS FOR
THE CLOUD: DESIGN PRINCIPLES AND
PRACTICAL GUIDANCE FOR AWS
Dr Adnene Guabtni, Senior Research Scientist, NICTA/Data61, CSIRO
Adnene.Guabtni@csiro.au
EC2 S3
ELB RDS AMI AZ
EBS EMR Route53 VPC
Kinesis ElastiCache
DynamoDB CloudWatch
CloudFormation Auto-Scaling Lambda
CloudFront CDN Redshift SES SNS SQS
AWS
EC2 S3
ELB RDS AMI AZ
EBS EMR Route53 VPC
Kinesis ElastiCache
DynamoDB CloudWatch
CloudFormation Auto-Scaling Lambda
CloudFront CDN Redshift SES SNS SQS
AWS
LET’S CLEAR ANY MISUNDERSTANDING ABOUT THE CLOUD
29% of the general public think Cloud Technology is an actual cloud (Wakefield Research)
But hey, that’s the general public! What about IT professionals?
Many IT professionals would think that the benefits of the cloud are:
 Portable office.
 Cost Savings.
 Fewer responsibilities, easier manageability.
 Reliability (SLA which guarantees 24/7/365 and 99.99% availability).
Looks like traditional “Hosted services”.
Cloud Computing is Different.
ARCHITECTING WEB APPLICATIONS FOR THE CLOUD: DESIGN PRINCIPLES AND PRACTICAL GUIDANCE FOR AWS © DR ADNENE GUABTNI 2
THE CLOUD COMPUTING DIFFERENCE
 IT Assets Become Programmable Resources
 Servers, databases, storage, and higher-level application components are temporary and disposable,
quickly provisioned when needed.
 They dynamically scale to meet actual demand.
 You only pay for what you use.
Think of how a software allocates memory on demand and “garbage collect” unused objects?
Cloud Computing is similar but applied to virtual resources like servers, databases, storage, …
ARCHITECTING WEB APPLICATIONS FOR THE CLOUD: DESIGN PRINCIPLES AND PRACTICAL GUIDANCE FOR AWS © DR ADNENE GUABTNI 3
THE CLOUD COMPUTING DIFFERENCE
 IT Assets Become Programmable Resources
 No need to know how to program resources
 Rely on a higher level of managed services, such as Auto-scaling, Load balancers, …
 Deliver new solutions faster.
 Designed for scalability and high availability.
ARCHITECTING WEB APPLICATIONS FOR THE CLOUD: DESIGN PRINCIPLES AND PRACTICAL GUIDANCE FOR AWS © DR ADNENE GUABTNI 4
THE CLOUD COMPUTING DIFFERENCE
 IT Assets Become Programmable Resources
 No need to know how to program resources
 Global, Available, and Unlimited Capacity
 Whether you need to serve 1 user or 1 billion users.
 Whether you need to optimize network
speed for US, Europe, Asia, etc.
 Move machines and data around the
globe programmatically.
 Business Continuity.
 Disaster recovery.
ARCHITECTING WEB APPLICATIONS FOR THE CLOUD: DESIGN PRINCIPLES AND PRACTICAL GUIDANCE FOR AWS © DR ADNENE GUABTNI 5
AWS Global Infrastructure (May 2016)
THE CLOUD COMPUTING DIFFERENCE
 IT Assets Become Programmable Resources
 No need to know how to program resources
 Global, Available, and Unlimited Capacity
 Security is Built-in
 Native AWS security and encryption features can help achieve higher levels of data protection and
compliance.
 Security policies built-into programmable resources.
 Continuous monitoring of configuration changes to your IT resources.
 Auditing is no longer periodic or manual, it becomes part of your continuous delivery pipeline.
ARCHITECTING WEB APPLICATIONS FOR THE CLOUD: DESIGN PRINCIPLES AND PRACTICAL GUIDANCE FOR AWS © DR ADNENE GUABTNI 6
AWS ARCHITECTURE DIAGRAMS
AWS architecture diagrams are a great way to communicate about your design,
deployment and topology. In the following slides, the official collection of AWS
Simple Icons v2.4 is used. These include:
 Compute & Networking
 Storage & Content Delivery
 Database
 Enterprise Applications
 Administration & Security
 Deployment & Management
 Application Services
 Analytics
 Mobile Services
 Non-Service Specific
ARCHITECTING WEB APPLICATIONS FOR THE CLOUD: DESIGN PRINCIPLES AND PRACTICAL GUIDANCE FOR AWS © DR ADNENE GUABTNI 7
 On-Demand Workforce
 SDKs
 Groups
AWS ARCHITECTURE DIAGRAMS
AWS architecture diagrams are a great way to communicate about your design,
deployment and topology. In the following slides, the official collection of AWS
Simple Icons v2.4 is used. These include:
 Compute & Networking
 Storage & Content Delivery
 Database
 Enterprise Applications
 Administration & Security
 Deployment & Management
 Application Services
 Analytics
 Mobile Services
 Non-Service Specific
ARCHITECTING WEB APPLICATIONS FOR THE CLOUD: DESIGN PRINCIPLES AND PRACTICAL GUIDANCE FOR AWS © DR ADNENE GUABTNI 8
 On-Demand Workforce
 SDKs
 Groups
AWS ARCHITECTURE DIAGRAMS
AWS architecture diagrams are a great way to communicate about your design,
deployment and topology. In the following slides, the official collection of AWS
Simple Icons v2.4 is used. These include:
 Compute & Networking
 Storage & Content Delivery
 Database
 Enterprise Applications
 Administration & Security
 Deployment & Management
 Application Services
 Analytics
 Mobile Services
 Non-Service Specific
ARCHITECTING WEB APPLICATIONS FOR THE CLOUD: DESIGN PRINCIPLES AND PRACTICAL GUIDANCE FOR AWS © DR ADNENE GUABTNI 9
 On-Demand Workforce
 SDKs
 Groups
AWS ARCHITECTURE DIAGRAMS
AWS architecture diagrams are a great way to communicate about your design,
deployment and topology. In the following slides, the official collection of AWS
Simple Icons v2.4 is used. These include:
 Compute & Networking
 Storage & Content Delivery
 Database
 Enterprise Applications
 Administration & Security
 Deployment & Management
 Application Services
 Analytics
 Mobile Services
 Non-Service Specific
ARCHITECTING WEB APPLICATIONS FOR THE CLOUD: DESIGN PRINCIPLES AND PRACTICAL GUIDANCE FOR AWS © DR ADNENE GUABTNI 10
 On-Demand Workforce
 SDKs
 Groups
AWS ARCHITECTURE DIAGRAMS
AWS architecture diagrams are a great way to communicate about your design,
deployment and topology. In the following slides, the official collection of AWS
Simple Icons v2.4 is used. These include:
 Compute & Networking
 Storage & Content Delivery
 Database
 Enterprise Applications
 Administration & Security
 Deployment & Management
 Application Services
 Analytics
 Mobile Services
 Non-Service Specific
ARCHITECTING WEB APPLICATIONS FOR THE CLOUD: DESIGN PRINCIPLES AND PRACTICAL GUIDANCE FOR AWS © DR ADNENE GUABTNI 11
 On-Demand Workforce
 SDKs
 Groups
AWS ARCHITECTURE DIAGRAMS
AWS architecture diagrams are a great way to communicate about your design,
deployment and topology. In the following slides, the official collection of AWS
Simple Icons v2.4 is used. These include:
 Compute & Networking
 Storage & Content Delivery
 Database
 Enterprise Applications
 Administration & Security
 Deployment & Management
 Application Services
 Analytics
 Mobile Services
 Non-Service Specific
ARCHITECTING WEB APPLICATIONS FOR THE CLOUD: DESIGN PRINCIPLES AND PRACTICAL GUIDANCE FOR AWS © DR ADNENE GUABTNI 12
 On-Demand Workforce
 SDKs
 Groups
AWS ARCHITECTURE DIAGRAMS
TOOLS
ARCHITECTING WEB APPLICATIONS FOR THE CLOUD: DESIGN PRINCIPLES AND PRACTICAL GUIDANCE FOR AWS © DR ADNENE GUABTNI 13
AWS ARCHITECTURE DIAGRAMS
TOOLS
ARCHITECTING WEB APPLICATIONS FOR THE CLOUD: DESIGN PRINCIPLES AND PRACTICAL GUIDANCE FOR AWS © DR ADNENE GUABTNI 14
creately.com
AWS ARCHITECTURE DIAGRAMS
TOOLS
ARCHITECTING WEB APPLICATIONS FOR THE CLOUD: DESIGN PRINCIPLES AND PRACTICAL GUIDANCE FOR AWS © DR ADNENE GUABTNI 15
cloudcraft.co
DESIGN PRINCIPLES FOR AWS
SCALABILITY
ARCHITECTING WEB APPLICATIONS FOR THE CLOUD: DESIGN PRINCIPLES AND PRACTICAL GUIDANCE FOR AWS © DR ADNENE GUABTNI 16
Scaling Vertically
 1 single EC2 instance
 Type: M3
 Size: Medium
DESIGN PRINCIPLES FOR AWS
SCALABILITY
ARCHITECTING WEB APPLICATIONS FOR THE CLOUD: DESIGN PRINCIPLES AND PRACTICAL GUIDANCE FOR AWS © DR ADNENE GUABTNI 17
Scaling Vertically
 1 single EC2 instance
 Type: M3
 Size: Medium
 COST: $48.24/month
Cheap but not large enough.
DESIGN PRINCIPLES FOR AWS
SCALABILITY
ARCHITECTING WEB APPLICATIONS FOR THE CLOUD: DESIGN PRINCIPLES AND PRACTICAL GUIDANCE FOR AWS © DR ADNENE GUABTNI 18
Scaling Vertically
 1 single EC2 instance
 Type: M3
 Size: Medium
Selecting higher specification.
DESIGN PRINCIPLES FOR AWS
SCALABILITY
ARCHITECTING WEB APPLICATIONS FOR THE CLOUD: DESIGN PRINCIPLES AND PRACTICAL GUIDANCE FOR AWS © DR ADNENE GUABTNI 19
Scaling Vertically
 1 single EC2 instance
 Type: M3
 Size: Xlarge
 COST: $191.52/month
Still cheap but there is a maximum capacity.
(2Xlarge for M3-General instances)
DESIGN PRINCIPLES FOR AWS
SCALABILITY
ARCHITECTING WEB APPLICATIONS FOR THE CLOUD: DESIGN PRINCIPLES AND PRACTICAL GUIDANCE FOR AWS © DR ADNENE GUABTNI 20
Scaling Horizontally
 Multiple EC2 instances
 Type: M3
 Size: Medium
DESIGN PRINCIPLES FOR AWS
SCALABILITY
ARCHITECTING WEB APPLICATIONS FOR THE CLOUD: DESIGN PRINCIPLES AND PRACTICAL GUIDANCE FOR AWS © DR ADNENE GUABTNI 21
Scaling Horizontally
 Multiple EC2 instances
 Type: M3
 Size: Medium
+ Elastic Load Balancer
Unlimited capacity,
simply add more instances.
DESIGN PRINCIPLES FOR AWS
SCALABILITY
ARCHITECTING WEB APPLICATIONS FOR THE CLOUD: DESIGN PRINCIPLES AND PRACTICAL GUIDANCE FOR AWS © DR ADNENE GUABTNI 22
Scaling Horizontally
 Multiple EC2 instances
 Type: M3
 Size: Medium
+ Elastic Load Balancer
What about Databases?
DESIGN PRINCIPLES FOR AWS
SCALABILITY
ARCHITECTING WEB APPLICATIONS FOR THE CLOUD: DESIGN PRINCIPLES AND PRACTICAL GUIDANCE FOR AWS © DR ADNENE GUABTNI 23
Scaling Horizontally
 Multiple EC2 instances
 Type: M3
 Size: Medium
+ Elastic Load Balancer
+ Relational Database Service
(RDS)
DESIGN PRINCIPLES FOR AWS
SCALABILITY
ARCHITECTING WEB APPLICATIONS FOR THE CLOUD: DESIGN PRINCIPLES AND PRACTICAL GUIDANCE FOR AWS © DR ADNENE GUABTNI 24
A full example of Scalable Web Application Architecture
 Total minimum cost : $980.64/month
That’s a good price for
a fully scalable deployment
that can serve 1 user
or 1 billion users*
* cost would sky rocket when scaled to serve 1 billion users
DESIGN PRINCIPLES FOR AWS
SCALABILITY AT ALL LEVELS
ARCHITECTING WEB APPLICATIONS FOR THE CLOUD: DESIGN PRINCIPLES AND PRACTICAL GUIDANCE FOR AWS © DR ADNENE GUABTNI 25
Scalable CDN
Content Delivery Network using AWS CloudFront.
Scalable DNS
Domain Name System web service using AWS Route 53.
Scalable Load Balancer using ELB
Scalable Front end component
Elastic Compute Cloud (EC2) with Auto Scaling
Scalable API component
Elastic Compute Cloud (EC2) with Auto Scaling
Scalable DB
RDS with multi-AZ Replication
Scalable storage for static files
Simple Storage Service (S3)

DESIGN PRINCIPLES FOR AWS
LOOSE COUPLING
ARCHITECTING WEB APPLICATIONS FOR THE CLOUD: DESIGN PRINCIPLES AND PRACTICAL GUIDANCE FOR AWS © DR ADNENE GUABTNI 26
Statefull components as services
 Example: Front end.
 Service Discovery via Elastic Load Balancers
as stable endpoints.
 Use of Sticky Sessions.
 Load balancers implement the Push model.
Stateless components as services
 Example: Backend API.
 Load balancers (Push Model) can be used
but not best
 Ideally use SQS (Simple Queue Service)
for Asynchronous Integration (Pull Model).

DESIGN PRINCIPLES FOR AWS
LOOSE COUPLING
ARCHITECTING WEB APPLICATIONS FOR THE CLOUD: DESIGN PRINCIPLES AND PRACTICAL GUIDANCE FOR AWS © DR ADNENE GUABTNI 27
Statefull components as services
 Example: Front end.
 Service Discovery via Elastic Load Balancers
as stable endpoints.
 Use of Sticky Sessions.
 Load balancers implement the Push model.
Stateless components as services
 Example: Backend API.
 Load balancers (Push Model) can be used
but not best
 Ideally use SQS (Simple Queue Service)
for Asynchronous Integration (Pull Model).

DESIGN PRINCIPLES FOR AWS
CHOSE THE RIGHT DATABASE(S)
ARCHITECTING WEB APPLICATIONS FOR THE CLOUD: DESIGN PRINCIPLES AND PRACTICAL GUIDANCE FOR AWS © DR ADNENE GUABTNI 28
Relational Databse
 RDS is a MySQL compatible databse that offers:
 Scalability (both vertically and horizontally).
 High Availability (RDS Multi-AZ deployment).
Automatic failover to the standby without the need
for manual administrative intervention.
NoSQL Databases
 DynamoDB is a NoSQL database.
 Suitable if your application primarily indexes
and queries data with no need for joins
or complex transactions.
 Scale both the reads and the writes in a horizontal fashion.
 High Availability: synchronously replicates data across three
facilities in an AWS region to provide fault tolerance.

DESIGN PRINCIPLES FOR AWS
CHOSE THE RIGHT DATABASE(S)
ARCHITECTING WEB APPLICATIONS FOR THE CLOUD: DESIGN PRINCIPLES AND PRACTICAL GUIDANCE FOR AWS © DR ADNENE GUABTNI 29
Data Warehouse
 Specialized type of relational database, optimized for
analysis and reporting of large amounts of data.
 Redshift is a managed data warehouse service.
 SQL-based.
 Scalability using massively parallel processing (MPP),
columnar data storage, and targeted data
compression encoding schemes.
 High Availability with multi-node clusters
in which data written to a node is
automatically replicated to other nodes
within the cluster.
+ backed up to Amazon S3.

Amazon Redshift
DESIGN PRINCIPLES FOR AWS
DISPOSABLE RESOURCES INSTEAD OF FIXED SERVERS
ARCHITECTING WEB APPLICATIONS FOR THE CLOUD: DESIGN PRINCIPLES AND PRACTICAL GUIDANCE FOR AWS © DR ADNENE GUABTNI 30
Auto Scaling allows EC2 instances to be discarded
when not used and new instances provisioned
in seconds to meet the demand.
RDS database scales into several nodes
and any node can be discarded
without impact on DB availability.
Everything else is a service.

DESIGN PRINCIPLES FOR AWS
REMOVING SINGLE POINTS OF FAILURE
ARCHITECTING WEB APPLICATIONS FOR THE CLOUD: DESIGN PRINCIPLES AND PRACTICAL GUIDANCE FOR AWS © DR ADNENE GUABTNI 31
Automated Multi-Data Center Resilience
 Each AWS region contains multiple distinct locations
called Availability Zones (AZ).
 Each AZ is engineered to be isolated
from failures in other AZ.
 If AZ “A” fails, failover is automated
and all requests are routed to the
working AZ “B”.
Note: Multiple AZs and multiple regions can be used.

DESIGN PRINCIPLES FOR AWS
SERVICES, NOT SERVERS (AS MUCH AS POSSIBLE)
ARCHITECTING WEB APPLICATIONS FOR THE CLOUD: DESIGN PRINCIPLES AND PRACTICAL GUIDANCE FOR AWS © DR ADNENE GUABTNI 32
Use Managed Services
 Simple Queue Service (SQS).
 CloudFront for content delivery.
 Elastic Load Balancers.
 RDS.
 DynamoDB.
 CloudSearch.
 Simple Email Service (SES).
 S3.
 …

DESIGN PRINCIPLES FOR AWS
SERVICES, NOT SERVERS (100%)
ARCHITECTING WEB APPLICATIONS FOR THE CLOUD: DESIGN PRINCIPLES AND PRACTICAL GUIDANCE FOR AWS © DR ADNENE GUABTNI 33
Serverless Architectures
Example: Voting mobile app.
 Voting app on mobile
uses Amazon API Gateway to vote.
 Vote request is routed
to an AWS Lambda function (compute service).
 AWS Lambda function extracts info
and record it into DynamoDB (NoSQL service).
 DynamoDB triggers anAWS Lambda function
to generate static HTML and store it
into S3 (file storage service).
 Route 53 (DNS service) serves the static HTML content
from S3 to the user.

DESIGN PRINCIPLES FOR AWS
CACHING
ARCHITECTING WEB APPLICATIONS FOR THE CLOUD: DESIGN PRINCIPLES AND PRACTICAL GUIDANCE FOR AWS © DR ADNENE GUABTNI 34
Application Data Caching using AWS ElastiCache
 In-memory caching engines:
 Memcached (objects).
 Redis (key-value store).
 Automatically detects and replaces failed nodes.
 Faster than disk.
 Scale vertically or horizontally.
Edge Caching using CloudFront
 Content Delivery Network consisting of multiple
edge locations around the world.
 Edge caching allows content to be served by infrastructure
that is closer to viewers.

DESIGN PRINCIPLES FOR AWS
OPTIMIZE FOR COST
ARCHITECTING WEB APPLICATIONS FOR THE CLOUD: DESIGN PRINCIPLES AND PRACTICAL GUIDANCE FOR AWS © DR ADNENE GUABTNI 35
Select the right type/size for your instances.
 General Purpose vs Compute Optimized vs Memory Optimized vs Storage Optimized.
 Burstable Performance Instances or fixed performance instances.
 Large vs Xlarge vs 2Xlarge vs 4Xlarge vs 10Xlarge.
 Many small instances vs fewer large instances.
Rely on Auto-Scaling to always fit the demand and pay for what you need.
Take Advantage of the Variety of Purchasing Options.
 Reserved Capacity.
 On-Demand vs Spot Instances (Bidding strategy).
 Mix On-Demand and Spot Instances.

DESIGN PRINCIPLES FOR AWS
SECURITY
ARCHITECTING WEB APPLICATIONS FOR THE CLOUD: DESIGN PRINCIPLES AND PRACTICAL GUIDANCE FOR AWS © DR ADNENE GUABTNI 36

Use VPC (Virtual Private Cloud).
A logically isolated section of Amazon Web Services (AWS) Cloud.
Use a Bastion Host.
A special purpose server instance that is
designed to be the primary access point
and acts as a proxy to your other
EC2 instances.
Use IAM (Identity and Access Management)
to define a granular set of policies and assign them
to users, groups, and AWS resources.
DESIGN PRINCIPLES FOR AWS
SECURITY
ARCHITECTING WEB APPLICATIONS FOR THE CLOUD: DESIGN PRINCIPLES AND PRACTICAL GUIDANCE FOR AWS © DR ADNENE GUABTNI 37

For Web Applications.
Use WAF (Web Application Firewall).
Protects against SQL injection and other vulnerabilities.
Setting up SSL on an Elastic Load Balancer.
Allows to offload your instances from managing
SSL encryption/decryption.
Your SSL certificates are safe, within ELB,
not within your instances.
Cypher suite configuration is always up to date,
upgraded by Amazon when necessary
(in case of new vulnerability).
SUMMARY OF DESIGN PRINCIPLES FOR AWS
ARCHITECTING WEB APPLICATIONS FOR THE CLOUD: DESIGN PRINCIPLES AND PRACTICAL GUIDANCE FOR AWS © DR ADNENE GUABTNI 38
 Scalability at all levels.
 Loose Coupling.
 Chose the right database(s).
 Disposable Resources Instead of Fixed Servers.
 Removing Single Points of Failure.
 Services, Not Servers (as much as possible).
 Caching.
 Optimize for Cost.
 Security.
LEARN MORE AND KEEP UP TO DATE
ARCHITECTING WEB APPLICATIONS FOR THE CLOUD: DESIGN PRINCIPLES AND PRACTICAL GUIDANCE FOR AWS © DR ADNENE GUABTNI 39
White Paper: Architecting for the Cloud - AWS Best Practices
https://aws.amazon.com/whitepapers/architecting-for-the-aws-cloud-best-practices/
Amazon regularly introduces new services, so keep up to date
https://aws.amazon.com/new/
AWS Free Tier (12 months free to get started)
https://aws.amazon.com/free/
THANK YOU FOR YOUR ATTENTION Dr Adnene Guabtni
Adnene.Guabtni@csiro.au
ARCHITECTING WEB APPLICATIONS FOR THE CLOUD: DESIGN PRINCIPLES AND PRACTICAL GUIDANCE FOR AWS © DR ADNENE GUABTNI 40
EC2 S3
ELB RDS AMI AZ
EBS EMR Route53 VPC
Kinesis ElastiCache
DynamoDB CloudWatch
CloudFormation Auto-Scaling Lambda
CloudFront CDN Redshift SES SNS SQS
AWS
EC2 S3
ELB RDS AMI AZ
EBS EMR Route53 VPC
Kinesis ElastiCache
DynamoDB CloudWatch
CloudFormation Auto-Scaling Lambda
CloudFront CDN Redshift SES SNS SQS
AWS
slideshare.net/guabtni
Access these slides on
Ad

More Related Content

Similar to Architecting Web Applications for the Cloud - Design Principles and Practical Guidance for Amazon Web Services (AWS) (20)

WordPress Enterprise architecture on AWS
WordPress Enterprise architecture on AWSWordPress Enterprise architecture on AWS
WordPress Enterprise architecture on AWS
YOOXlabsTechEvent
 
ReInvent 2019 reCap Nordics
ReInvent 2019 reCap NordicsReInvent 2019 reCap Nordics
ReInvent 2019 reCap Nordics
Marcia Villalba
 
Inside BMW's cloud-native DevOps approach to application migration on AWS
Inside BMW's cloud-native DevOps approach to application migration on AWSInside BMW's cloud-native DevOps approach to application migration on AWS
Inside BMW's cloud-native DevOps approach to application migration on AWS
rosmarkov1
 
Blur the boundaries between your on-premises to AWS cloud by embracing VMWare...
Blur the boundaries between your on-premises to AWS cloud by embracing VMWare...Blur the boundaries between your on-premises to AWS cloud by embracing VMWare...
Blur the boundaries between your on-premises to AWS cloud by embracing VMWare...
AWS Summits
 
ARCHITECTING CLOUD SOLUTIONS: LEVERAGING AWS FOR SCALABLE AND SECURE SYSTEMS
ARCHITECTING CLOUD SOLUTIONS: LEVERAGING AWS FOR SCALABLE AND SECURE SYSTEMSARCHITECTING CLOUD SOLUTIONS: LEVERAGING AWS FOR SCALABLE AND SECURE SYSTEMS
ARCHITECTING CLOUD SOLUTIONS: LEVERAGING AWS FOR SCALABLE AND SECURE SYSTEMS
International Research Journal of Modernization in Engineering Technology and Science
 
A Technology Backgrounder to Serverless Architecture - A Whitepaper by RapidV...
A Technology Backgrounder to Serverless Architecture - A Whitepaper by RapidV...A Technology Backgrounder to Serverless Architecture - A Whitepaper by RapidV...
A Technology Backgrounder to Serverless Architecture - A Whitepaper by RapidV...
RapidValue
 
Lecture 6 (Cloud Service Provider)-1.pptx
Lecture 6 (Cloud Service Provider)-1.pptxLecture 6 (Cloud Service Provider)-1.pptx
Lecture 6 (Cloud Service Provider)-1.pptx
sarthaksenapati2
 
Simplifying Microsoft Architectures with AWS Services
Simplifying Microsoft Architectures with AWS ServicesSimplifying Microsoft Architectures with AWS Services
Simplifying Microsoft Architectures with AWS Services
AWS Summits
 
Aws cloud best_practices
Aws cloud best_practicesAws cloud best_practices
Aws cloud best_practices
saifam
 
Fundamentals of Cloud Computing & AWS
Fundamentals of Cloud Computing & AWSFundamentals of Cloud Computing & AWS
Fundamentals of Cloud Computing & AWS
Bhuvaneswari Subramani
 
8kMiles Cloud Solutions Overview
8kMiles Cloud Solutions Overview8kMiles Cloud Solutions Overview
8kMiles Cloud Solutions Overview
sundarat8kmiles
 
8kmiles Cloud Solutions Overview
8kmiles Cloud Solutions Overview8kmiles Cloud Solutions Overview
8kmiles Cloud Solutions Overview
sundarat8kmiles
 
8KMiles Cloud Solutions Overview
8KMiles Cloud Solutions Overview8KMiles Cloud Solutions Overview
8KMiles Cloud Solutions Overview
Srivathshan Nagarajan
 
How to Optimize Your AWS Environment for Improved Cloud Performance
How to Optimize Your AWS Environment for Improved Cloud PerformanceHow to Optimize Your AWS Environment for Improved Cloud Performance
How to Optimize Your AWS Environment for Improved Cloud Performance
ThousandEyes
 
AWS Enterprise Summit - AWS로 엔터프라이즈 솔루션 구축 및 운영하기 - 이종남
AWS Enterprise Summit - AWS로 엔터프라이즈 솔루션 구축 및 운영하기 - 이종남AWS Enterprise Summit - AWS로 엔터프라이즈 솔루션 구축 및 운영하기 - 이종남
AWS Enterprise Summit - AWS로 엔터프라이즈 솔루션 구축 및 운영하기 - 이종남
Amazon Web Services Korea
 
Re cap2018
Re cap2018Re cap2018
Re cap2018
Richard Harvey
 
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-EfficiencyFreshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
ScyllaDB
 
UNDERSTANDING WEB APPLICATION HOSTING WITH AWS
UNDERSTANDING WEB APPLICATION HOSTING WITH AWSUNDERSTANDING WEB APPLICATION HOSTING WITH AWS
UNDERSTANDING WEB APPLICATION HOSTING WITH AWS
moresco783
 
4. aws enterprise summit seoul 기존 엔터프라이즈 it 솔루션 클라우드로 이전하기 - thomas park
4. aws enterprise summit seoul   기존 엔터프라이즈 it 솔루션 클라우드로 이전하기 - thomas park4. aws enterprise summit seoul   기존 엔터프라이즈 it 솔루션 클라우드로 이전하기 - thomas park
4. aws enterprise summit seoul 기존 엔터프라이즈 it 솔루션 클라우드로 이전하기 - thomas park
Amazon Web Services Korea
 
Cloud migration-main
Cloud migration-mainCloud migration-main
Cloud migration-main
saifam
 
WordPress Enterprise architecture on AWS
WordPress Enterprise architecture on AWSWordPress Enterprise architecture on AWS
WordPress Enterprise architecture on AWS
YOOXlabsTechEvent
 
ReInvent 2019 reCap Nordics
ReInvent 2019 reCap NordicsReInvent 2019 reCap Nordics
ReInvent 2019 reCap Nordics
Marcia Villalba
 
Inside BMW's cloud-native DevOps approach to application migration on AWS
Inside BMW's cloud-native DevOps approach to application migration on AWSInside BMW's cloud-native DevOps approach to application migration on AWS
Inside BMW's cloud-native DevOps approach to application migration on AWS
rosmarkov1
 
Blur the boundaries between your on-premises to AWS cloud by embracing VMWare...
Blur the boundaries between your on-premises to AWS cloud by embracing VMWare...Blur the boundaries between your on-premises to AWS cloud by embracing VMWare...
Blur the boundaries between your on-premises to AWS cloud by embracing VMWare...
AWS Summits
 
A Technology Backgrounder to Serverless Architecture - A Whitepaper by RapidV...
A Technology Backgrounder to Serverless Architecture - A Whitepaper by RapidV...A Technology Backgrounder to Serverless Architecture - A Whitepaper by RapidV...
A Technology Backgrounder to Serverless Architecture - A Whitepaper by RapidV...
RapidValue
 
Lecture 6 (Cloud Service Provider)-1.pptx
Lecture 6 (Cloud Service Provider)-1.pptxLecture 6 (Cloud Service Provider)-1.pptx
Lecture 6 (Cloud Service Provider)-1.pptx
sarthaksenapati2
 
Simplifying Microsoft Architectures with AWS Services
Simplifying Microsoft Architectures with AWS ServicesSimplifying Microsoft Architectures with AWS Services
Simplifying Microsoft Architectures with AWS Services
AWS Summits
 
Aws cloud best_practices
Aws cloud best_practicesAws cloud best_practices
Aws cloud best_practices
saifam
 
8kMiles Cloud Solutions Overview
8kMiles Cloud Solutions Overview8kMiles Cloud Solutions Overview
8kMiles Cloud Solutions Overview
sundarat8kmiles
 
8kmiles Cloud Solutions Overview
8kmiles Cloud Solutions Overview8kmiles Cloud Solutions Overview
8kmiles Cloud Solutions Overview
sundarat8kmiles
 
How to Optimize Your AWS Environment for Improved Cloud Performance
How to Optimize Your AWS Environment for Improved Cloud PerformanceHow to Optimize Your AWS Environment for Improved Cloud Performance
How to Optimize Your AWS Environment for Improved Cloud Performance
ThousandEyes
 
AWS Enterprise Summit - AWS로 엔터프라이즈 솔루션 구축 및 운영하기 - 이종남
AWS Enterprise Summit - AWS로 엔터프라이즈 솔루션 구축 및 운영하기 - 이종남AWS Enterprise Summit - AWS로 엔터프라이즈 솔루션 구축 및 운영하기 - 이종남
AWS Enterprise Summit - AWS로 엔터프라이즈 솔루션 구축 및 운영하기 - 이종남
Amazon Web Services Korea
 
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-EfficiencyFreshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
ScyllaDB
 
UNDERSTANDING WEB APPLICATION HOSTING WITH AWS
UNDERSTANDING WEB APPLICATION HOSTING WITH AWSUNDERSTANDING WEB APPLICATION HOSTING WITH AWS
UNDERSTANDING WEB APPLICATION HOSTING WITH AWS
moresco783
 
4. aws enterprise summit seoul 기존 엔터프라이즈 it 솔루션 클라우드로 이전하기 - thomas park
4. aws enterprise summit seoul   기존 엔터프라이즈 it 솔루션 클라우드로 이전하기 - thomas park4. aws enterprise summit seoul   기존 엔터프라이즈 it 솔루션 클라우드로 이전하기 - thomas park
4. aws enterprise summit seoul 기존 엔터프라이즈 it 솔루션 클라우드로 이전하기 - thomas park
Amazon Web Services Korea
 
Cloud migration-main
Cloud migration-mainCloud migration-main
Cloud migration-main
saifam
 

Recently uploaded (20)

Best Practices for Collaborating with 3D Artists in Mobile Game Development
Best Practices for Collaborating with 3D Artists in Mobile Game DevelopmentBest Practices for Collaborating with 3D Artists in Mobile Game Development
Best Practices for Collaborating with 3D Artists in Mobile Game Development
Juego Studios
 
Microsoft AI Nonprofit Use Cases and Live Demo_2025.04.30.pdf
Microsoft AI Nonprofit Use Cases and Live Demo_2025.04.30.pdfMicrosoft AI Nonprofit Use Cases and Live Demo_2025.04.30.pdf
Microsoft AI Nonprofit Use Cases and Live Demo_2025.04.30.pdf
TechSoup
 
Proactive Vulnerability Detection in Source Code Using Graph Neural Networks:...
Proactive Vulnerability Detection in Source Code Using Graph Neural Networks:...Proactive Vulnerability Detection in Source Code Using Graph Neural Networks:...
Proactive Vulnerability Detection in Source Code Using Graph Neural Networks:...
Ranjan Baisak
 
What Do Contribution Guidelines Say About Software Testing? (MSR 2025)
What Do Contribution Guidelines Say About Software Testing? (MSR 2025)What Do Contribution Guidelines Say About Software Testing? (MSR 2025)
What Do Contribution Guidelines Say About Software Testing? (MSR 2025)
Andre Hora
 
Top 10 Client Portal Software Solutions for 2025.docx
Top 10 Client Portal Software Solutions for 2025.docxTop 10 Client Portal Software Solutions for 2025.docx
Top 10 Client Portal Software Solutions for 2025.docx
Portli
 
Creating Automated Tests with AI - Cory House - Applitools.pdf
Creating Automated Tests with AI - Cory House - Applitools.pdfCreating Automated Tests with AI - Cory House - Applitools.pdf
Creating Automated Tests with AI - Cory House - Applitools.pdf
Applitools
 
Expand your AI adoption with AgentExchange
Expand your AI adoption with AgentExchangeExpand your AI adoption with AgentExchange
Expand your AI adoption with AgentExchange
Fexle Services Pvt. Ltd.
 
Get & Download Wondershare Filmora Crack Latest [2025]
Get & Download Wondershare Filmora Crack Latest [2025]Get & Download Wondershare Filmora Crack Latest [2025]
Get & Download Wondershare Filmora Crack Latest [2025]
saniaaftab72555
 
Interactive odoo dashboards for sales, CRM , Inventory, Invoice, Purchase, Pr...
Interactive odoo dashboards for sales, CRM , Inventory, Invoice, Purchase, Pr...Interactive odoo dashboards for sales, CRM , Inventory, Invoice, Purchase, Pr...
Interactive odoo dashboards for sales, CRM , Inventory, Invoice, Purchase, Pr...
AxisTechnolabs
 
Avast Premium Security Crack FREE Latest Version 2025
Avast Premium Security Crack FREE Latest Version 2025Avast Premium Security Crack FREE Latest Version 2025
Avast Premium Security Crack FREE Latest Version 2025
mu394968
 
PDF Reader Pro Crack Latest Version FREE Download 2025
PDF Reader Pro Crack Latest Version FREE Download 2025PDF Reader Pro Crack Latest Version FREE Download 2025
PDF Reader Pro Crack Latest Version FREE Download 2025
mu394968
 
🌱 Green Grafana 🌱 Essentials_ Data, Visualizations and Plugins.pdf
🌱 Green Grafana 🌱 Essentials_ Data, Visualizations and Plugins.pdf🌱 Green Grafana 🌱 Essentials_ Data, Visualizations and Plugins.pdf
🌱 Green Grafana 🌱 Essentials_ Data, Visualizations and Plugins.pdf
Imma Valls Bernaus
 
Automation Techniques in RPA - UiPath Certificate
Automation Techniques in RPA - UiPath CertificateAutomation Techniques in RPA - UiPath Certificate
Automation Techniques in RPA - UiPath Certificate
VICTOR MAESTRE RAMIREZ
 
PRTG Network Monitor Crack Latest Version & Serial Key 2025 [100% Working]
PRTG Network Monitor Crack Latest Version & Serial Key 2025 [100% Working]PRTG Network Monitor Crack Latest Version & Serial Key 2025 [100% Working]
PRTG Network Monitor Crack Latest Version & Serial Key 2025 [100% Working]
saimabibi60507
 
LEARN SEO AND INCREASE YOUR KNOWLDGE IN SOFTWARE INDUSTRY
LEARN SEO AND INCREASE YOUR KNOWLDGE IN SOFTWARE INDUSTRYLEARN SEO AND INCREASE YOUR KNOWLDGE IN SOFTWARE INDUSTRY
LEARN SEO AND INCREASE YOUR KNOWLDGE IN SOFTWARE INDUSTRY
NidaFarooq10
 
Revolutionizing Residential Wi-Fi PPT.pptx
Revolutionizing Residential Wi-Fi PPT.pptxRevolutionizing Residential Wi-Fi PPT.pptx
Revolutionizing Residential Wi-Fi PPT.pptx
nidhisingh691197
 
Scaling GraphRAG: Efficient Knowledge Retrieval for Enterprise AI
Scaling GraphRAG:  Efficient Knowledge Retrieval for Enterprise AIScaling GraphRAG:  Efficient Knowledge Retrieval for Enterprise AI
Scaling GraphRAG: Efficient Knowledge Retrieval for Enterprise AI
danshalev
 
Foundation Models for Time Series : A Survey
Foundation Models for Time Series : A SurveyFoundation Models for Time Series : A Survey
Foundation Models for Time Series : A Survey
jayanthkalyanam1
 
Tools of the Trade: Linux and SQL - Google Certificate
Tools of the Trade: Linux and SQL - Google CertificateTools of the Trade: Linux and SQL - Google Certificate
Tools of the Trade: Linux and SQL - Google Certificate
VICTOR MAESTRE RAMIREZ
 
Who Watches the Watchmen (SciFiDevCon 2025)
Who Watches the Watchmen (SciFiDevCon 2025)Who Watches the Watchmen (SciFiDevCon 2025)
Who Watches the Watchmen (SciFiDevCon 2025)
Allon Mureinik
 
Best Practices for Collaborating with 3D Artists in Mobile Game Development
Best Practices for Collaborating with 3D Artists in Mobile Game DevelopmentBest Practices for Collaborating with 3D Artists in Mobile Game Development
Best Practices for Collaborating with 3D Artists in Mobile Game Development
Juego Studios
 
Microsoft AI Nonprofit Use Cases and Live Demo_2025.04.30.pdf
Microsoft AI Nonprofit Use Cases and Live Demo_2025.04.30.pdfMicrosoft AI Nonprofit Use Cases and Live Demo_2025.04.30.pdf
Microsoft AI Nonprofit Use Cases and Live Demo_2025.04.30.pdf
TechSoup
 
Proactive Vulnerability Detection in Source Code Using Graph Neural Networks:...
Proactive Vulnerability Detection in Source Code Using Graph Neural Networks:...Proactive Vulnerability Detection in Source Code Using Graph Neural Networks:...
Proactive Vulnerability Detection in Source Code Using Graph Neural Networks:...
Ranjan Baisak
 
What Do Contribution Guidelines Say About Software Testing? (MSR 2025)
What Do Contribution Guidelines Say About Software Testing? (MSR 2025)What Do Contribution Guidelines Say About Software Testing? (MSR 2025)
What Do Contribution Guidelines Say About Software Testing? (MSR 2025)
Andre Hora
 
Top 10 Client Portal Software Solutions for 2025.docx
Top 10 Client Portal Software Solutions for 2025.docxTop 10 Client Portal Software Solutions for 2025.docx
Top 10 Client Portal Software Solutions for 2025.docx
Portli
 
Creating Automated Tests with AI - Cory House - Applitools.pdf
Creating Automated Tests with AI - Cory House - Applitools.pdfCreating Automated Tests with AI - Cory House - Applitools.pdf
Creating Automated Tests with AI - Cory House - Applitools.pdf
Applitools
 
Expand your AI adoption with AgentExchange
Expand your AI adoption with AgentExchangeExpand your AI adoption with AgentExchange
Expand your AI adoption with AgentExchange
Fexle Services Pvt. Ltd.
 
Get & Download Wondershare Filmora Crack Latest [2025]
Get & Download Wondershare Filmora Crack Latest [2025]Get & Download Wondershare Filmora Crack Latest [2025]
Get & Download Wondershare Filmora Crack Latest [2025]
saniaaftab72555
 
Interactive odoo dashboards for sales, CRM , Inventory, Invoice, Purchase, Pr...
Interactive odoo dashboards for sales, CRM , Inventory, Invoice, Purchase, Pr...Interactive odoo dashboards for sales, CRM , Inventory, Invoice, Purchase, Pr...
Interactive odoo dashboards for sales, CRM , Inventory, Invoice, Purchase, Pr...
AxisTechnolabs
 
Avast Premium Security Crack FREE Latest Version 2025
Avast Premium Security Crack FREE Latest Version 2025Avast Premium Security Crack FREE Latest Version 2025
Avast Premium Security Crack FREE Latest Version 2025
mu394968
 
PDF Reader Pro Crack Latest Version FREE Download 2025
PDF Reader Pro Crack Latest Version FREE Download 2025PDF Reader Pro Crack Latest Version FREE Download 2025
PDF Reader Pro Crack Latest Version FREE Download 2025
mu394968
 
🌱 Green Grafana 🌱 Essentials_ Data, Visualizations and Plugins.pdf
🌱 Green Grafana 🌱 Essentials_ Data, Visualizations and Plugins.pdf🌱 Green Grafana 🌱 Essentials_ Data, Visualizations and Plugins.pdf
🌱 Green Grafana 🌱 Essentials_ Data, Visualizations and Plugins.pdf
Imma Valls Bernaus
 
Automation Techniques in RPA - UiPath Certificate
Automation Techniques in RPA - UiPath CertificateAutomation Techniques in RPA - UiPath Certificate
Automation Techniques in RPA - UiPath Certificate
VICTOR MAESTRE RAMIREZ
 
PRTG Network Monitor Crack Latest Version & Serial Key 2025 [100% Working]
PRTG Network Monitor Crack Latest Version & Serial Key 2025 [100% Working]PRTG Network Monitor Crack Latest Version & Serial Key 2025 [100% Working]
PRTG Network Monitor Crack Latest Version & Serial Key 2025 [100% Working]
saimabibi60507
 
LEARN SEO AND INCREASE YOUR KNOWLDGE IN SOFTWARE INDUSTRY
LEARN SEO AND INCREASE YOUR KNOWLDGE IN SOFTWARE INDUSTRYLEARN SEO AND INCREASE YOUR KNOWLDGE IN SOFTWARE INDUSTRY
LEARN SEO AND INCREASE YOUR KNOWLDGE IN SOFTWARE INDUSTRY
NidaFarooq10
 
Revolutionizing Residential Wi-Fi PPT.pptx
Revolutionizing Residential Wi-Fi PPT.pptxRevolutionizing Residential Wi-Fi PPT.pptx
Revolutionizing Residential Wi-Fi PPT.pptx
nidhisingh691197
 
Scaling GraphRAG: Efficient Knowledge Retrieval for Enterprise AI
Scaling GraphRAG:  Efficient Knowledge Retrieval for Enterprise AIScaling GraphRAG:  Efficient Knowledge Retrieval for Enterprise AI
Scaling GraphRAG: Efficient Knowledge Retrieval for Enterprise AI
danshalev
 
Foundation Models for Time Series : A Survey
Foundation Models for Time Series : A SurveyFoundation Models for Time Series : A Survey
Foundation Models for Time Series : A Survey
jayanthkalyanam1
 
Tools of the Trade: Linux and SQL - Google Certificate
Tools of the Trade: Linux and SQL - Google CertificateTools of the Trade: Linux and SQL - Google Certificate
Tools of the Trade: Linux and SQL - Google Certificate
VICTOR MAESTRE RAMIREZ
 
Who Watches the Watchmen (SciFiDevCon 2025)
Who Watches the Watchmen (SciFiDevCon 2025)Who Watches the Watchmen (SciFiDevCon 2025)
Who Watches the Watchmen (SciFiDevCon 2025)
Allon Mureinik
 
Ad

Architecting Web Applications for the Cloud - Design Principles and Practical Guidance for Amazon Web Services (AWS)

  • 1. ARCHITECTING WEB APPLICATIONS FOR THE CLOUD: DESIGN PRINCIPLES AND PRACTICAL GUIDANCE FOR AWS Dr Adnene Guabtni, Senior Research Scientist, NICTA/Data61, CSIRO [email protected] EC2 S3 ELB RDS AMI AZ EBS EMR Route53 VPC Kinesis ElastiCache DynamoDB CloudWatch CloudFormation Auto-Scaling Lambda CloudFront CDN Redshift SES SNS SQS AWS EC2 S3 ELB RDS AMI AZ EBS EMR Route53 VPC Kinesis ElastiCache DynamoDB CloudWatch CloudFormation Auto-Scaling Lambda CloudFront CDN Redshift SES SNS SQS AWS
  • 2. LET’S CLEAR ANY MISUNDERSTANDING ABOUT THE CLOUD 29% of the general public think Cloud Technology is an actual cloud (Wakefield Research) But hey, that’s the general public! What about IT professionals? Many IT professionals would think that the benefits of the cloud are:  Portable office.  Cost Savings.  Fewer responsibilities, easier manageability.  Reliability (SLA which guarantees 24/7/365 and 99.99% availability). Looks like traditional “Hosted services”. Cloud Computing is Different. ARCHITECTING WEB APPLICATIONS FOR THE CLOUD: DESIGN PRINCIPLES AND PRACTICAL GUIDANCE FOR AWS © DR ADNENE GUABTNI 2
  • 3. THE CLOUD COMPUTING DIFFERENCE  IT Assets Become Programmable Resources  Servers, databases, storage, and higher-level application components are temporary and disposable, quickly provisioned when needed.  They dynamically scale to meet actual demand.  You only pay for what you use. Think of how a software allocates memory on demand and “garbage collect” unused objects? Cloud Computing is similar but applied to virtual resources like servers, databases, storage, … ARCHITECTING WEB APPLICATIONS FOR THE CLOUD: DESIGN PRINCIPLES AND PRACTICAL GUIDANCE FOR AWS © DR ADNENE GUABTNI 3
  • 4. THE CLOUD COMPUTING DIFFERENCE  IT Assets Become Programmable Resources  No need to know how to program resources  Rely on a higher level of managed services, such as Auto-scaling, Load balancers, …  Deliver new solutions faster.  Designed for scalability and high availability. ARCHITECTING WEB APPLICATIONS FOR THE CLOUD: DESIGN PRINCIPLES AND PRACTICAL GUIDANCE FOR AWS © DR ADNENE GUABTNI 4
  • 5. THE CLOUD COMPUTING DIFFERENCE  IT Assets Become Programmable Resources  No need to know how to program resources  Global, Available, and Unlimited Capacity  Whether you need to serve 1 user or 1 billion users.  Whether you need to optimize network speed for US, Europe, Asia, etc.  Move machines and data around the globe programmatically.  Business Continuity.  Disaster recovery. ARCHITECTING WEB APPLICATIONS FOR THE CLOUD: DESIGN PRINCIPLES AND PRACTICAL GUIDANCE FOR AWS © DR ADNENE GUABTNI 5 AWS Global Infrastructure (May 2016)
  • 6. THE CLOUD COMPUTING DIFFERENCE  IT Assets Become Programmable Resources  No need to know how to program resources  Global, Available, and Unlimited Capacity  Security is Built-in  Native AWS security and encryption features can help achieve higher levels of data protection and compliance.  Security policies built-into programmable resources.  Continuous monitoring of configuration changes to your IT resources.  Auditing is no longer periodic or manual, it becomes part of your continuous delivery pipeline. ARCHITECTING WEB APPLICATIONS FOR THE CLOUD: DESIGN PRINCIPLES AND PRACTICAL GUIDANCE FOR AWS © DR ADNENE GUABTNI 6
  • 7. AWS ARCHITECTURE DIAGRAMS AWS architecture diagrams are a great way to communicate about your design, deployment and topology. In the following slides, the official collection of AWS Simple Icons v2.4 is used. These include:  Compute & Networking  Storage & Content Delivery  Database  Enterprise Applications  Administration & Security  Deployment & Management  Application Services  Analytics  Mobile Services  Non-Service Specific ARCHITECTING WEB APPLICATIONS FOR THE CLOUD: DESIGN PRINCIPLES AND PRACTICAL GUIDANCE FOR AWS © DR ADNENE GUABTNI 7  On-Demand Workforce  SDKs  Groups
  • 8. AWS ARCHITECTURE DIAGRAMS AWS architecture diagrams are a great way to communicate about your design, deployment and topology. In the following slides, the official collection of AWS Simple Icons v2.4 is used. These include:  Compute & Networking  Storage & Content Delivery  Database  Enterprise Applications  Administration & Security  Deployment & Management  Application Services  Analytics  Mobile Services  Non-Service Specific ARCHITECTING WEB APPLICATIONS FOR THE CLOUD: DESIGN PRINCIPLES AND PRACTICAL GUIDANCE FOR AWS © DR ADNENE GUABTNI 8  On-Demand Workforce  SDKs  Groups
  • 9. AWS ARCHITECTURE DIAGRAMS AWS architecture diagrams are a great way to communicate about your design, deployment and topology. In the following slides, the official collection of AWS Simple Icons v2.4 is used. These include:  Compute & Networking  Storage & Content Delivery  Database  Enterprise Applications  Administration & Security  Deployment & Management  Application Services  Analytics  Mobile Services  Non-Service Specific ARCHITECTING WEB APPLICATIONS FOR THE CLOUD: DESIGN PRINCIPLES AND PRACTICAL GUIDANCE FOR AWS © DR ADNENE GUABTNI 9  On-Demand Workforce  SDKs  Groups
  • 10. AWS ARCHITECTURE DIAGRAMS AWS architecture diagrams are a great way to communicate about your design, deployment and topology. In the following slides, the official collection of AWS Simple Icons v2.4 is used. These include:  Compute & Networking  Storage & Content Delivery  Database  Enterprise Applications  Administration & Security  Deployment & Management  Application Services  Analytics  Mobile Services  Non-Service Specific ARCHITECTING WEB APPLICATIONS FOR THE CLOUD: DESIGN PRINCIPLES AND PRACTICAL GUIDANCE FOR AWS © DR ADNENE GUABTNI 10  On-Demand Workforce  SDKs  Groups
  • 11. AWS ARCHITECTURE DIAGRAMS AWS architecture diagrams are a great way to communicate about your design, deployment and topology. In the following slides, the official collection of AWS Simple Icons v2.4 is used. These include:  Compute & Networking  Storage & Content Delivery  Database  Enterprise Applications  Administration & Security  Deployment & Management  Application Services  Analytics  Mobile Services  Non-Service Specific ARCHITECTING WEB APPLICATIONS FOR THE CLOUD: DESIGN PRINCIPLES AND PRACTICAL GUIDANCE FOR AWS © DR ADNENE GUABTNI 11  On-Demand Workforce  SDKs  Groups
  • 12. AWS ARCHITECTURE DIAGRAMS AWS architecture diagrams are a great way to communicate about your design, deployment and topology. In the following slides, the official collection of AWS Simple Icons v2.4 is used. These include:  Compute & Networking  Storage & Content Delivery  Database  Enterprise Applications  Administration & Security  Deployment & Management  Application Services  Analytics  Mobile Services  Non-Service Specific ARCHITECTING WEB APPLICATIONS FOR THE CLOUD: DESIGN PRINCIPLES AND PRACTICAL GUIDANCE FOR AWS © DR ADNENE GUABTNI 12  On-Demand Workforce  SDKs  Groups
  • 13. AWS ARCHITECTURE DIAGRAMS TOOLS ARCHITECTING WEB APPLICATIONS FOR THE CLOUD: DESIGN PRINCIPLES AND PRACTICAL GUIDANCE FOR AWS © DR ADNENE GUABTNI 13
  • 14. AWS ARCHITECTURE DIAGRAMS TOOLS ARCHITECTING WEB APPLICATIONS FOR THE CLOUD: DESIGN PRINCIPLES AND PRACTICAL GUIDANCE FOR AWS © DR ADNENE GUABTNI 14 creately.com
  • 15. AWS ARCHITECTURE DIAGRAMS TOOLS ARCHITECTING WEB APPLICATIONS FOR THE CLOUD: DESIGN PRINCIPLES AND PRACTICAL GUIDANCE FOR AWS © DR ADNENE GUABTNI 15 cloudcraft.co
  • 16. DESIGN PRINCIPLES FOR AWS SCALABILITY ARCHITECTING WEB APPLICATIONS FOR THE CLOUD: DESIGN PRINCIPLES AND PRACTICAL GUIDANCE FOR AWS © DR ADNENE GUABTNI 16 Scaling Vertically  1 single EC2 instance  Type: M3  Size: Medium
  • 17. DESIGN PRINCIPLES FOR AWS SCALABILITY ARCHITECTING WEB APPLICATIONS FOR THE CLOUD: DESIGN PRINCIPLES AND PRACTICAL GUIDANCE FOR AWS © DR ADNENE GUABTNI 17 Scaling Vertically  1 single EC2 instance  Type: M3  Size: Medium  COST: $48.24/month Cheap but not large enough.
  • 18. DESIGN PRINCIPLES FOR AWS SCALABILITY ARCHITECTING WEB APPLICATIONS FOR THE CLOUD: DESIGN PRINCIPLES AND PRACTICAL GUIDANCE FOR AWS © DR ADNENE GUABTNI 18 Scaling Vertically  1 single EC2 instance  Type: M3  Size: Medium Selecting higher specification.
  • 19. DESIGN PRINCIPLES FOR AWS SCALABILITY ARCHITECTING WEB APPLICATIONS FOR THE CLOUD: DESIGN PRINCIPLES AND PRACTICAL GUIDANCE FOR AWS © DR ADNENE GUABTNI 19 Scaling Vertically  1 single EC2 instance  Type: M3  Size: Xlarge  COST: $191.52/month Still cheap but there is a maximum capacity. (2Xlarge for M3-General instances)
  • 20. DESIGN PRINCIPLES FOR AWS SCALABILITY ARCHITECTING WEB APPLICATIONS FOR THE CLOUD: DESIGN PRINCIPLES AND PRACTICAL GUIDANCE FOR AWS © DR ADNENE GUABTNI 20 Scaling Horizontally  Multiple EC2 instances  Type: M3  Size: Medium
  • 21. DESIGN PRINCIPLES FOR AWS SCALABILITY ARCHITECTING WEB APPLICATIONS FOR THE CLOUD: DESIGN PRINCIPLES AND PRACTICAL GUIDANCE FOR AWS © DR ADNENE GUABTNI 21 Scaling Horizontally  Multiple EC2 instances  Type: M3  Size: Medium + Elastic Load Balancer Unlimited capacity, simply add more instances.
  • 22. DESIGN PRINCIPLES FOR AWS SCALABILITY ARCHITECTING WEB APPLICATIONS FOR THE CLOUD: DESIGN PRINCIPLES AND PRACTICAL GUIDANCE FOR AWS © DR ADNENE GUABTNI 22 Scaling Horizontally  Multiple EC2 instances  Type: M3  Size: Medium + Elastic Load Balancer What about Databases?
  • 23. DESIGN PRINCIPLES FOR AWS SCALABILITY ARCHITECTING WEB APPLICATIONS FOR THE CLOUD: DESIGN PRINCIPLES AND PRACTICAL GUIDANCE FOR AWS © DR ADNENE GUABTNI 23 Scaling Horizontally  Multiple EC2 instances  Type: M3  Size: Medium + Elastic Load Balancer + Relational Database Service (RDS)
  • 24. DESIGN PRINCIPLES FOR AWS SCALABILITY ARCHITECTING WEB APPLICATIONS FOR THE CLOUD: DESIGN PRINCIPLES AND PRACTICAL GUIDANCE FOR AWS © DR ADNENE GUABTNI 24 A full example of Scalable Web Application Architecture  Total minimum cost : $980.64/month That’s a good price for a fully scalable deployment that can serve 1 user or 1 billion users* * cost would sky rocket when scaled to serve 1 billion users
  • 25. DESIGN PRINCIPLES FOR AWS SCALABILITY AT ALL LEVELS ARCHITECTING WEB APPLICATIONS FOR THE CLOUD: DESIGN PRINCIPLES AND PRACTICAL GUIDANCE FOR AWS © DR ADNENE GUABTNI 25 Scalable CDN Content Delivery Network using AWS CloudFront. Scalable DNS Domain Name System web service using AWS Route 53. Scalable Load Balancer using ELB Scalable Front end component Elastic Compute Cloud (EC2) with Auto Scaling Scalable API component Elastic Compute Cloud (EC2) with Auto Scaling Scalable DB RDS with multi-AZ Replication Scalable storage for static files Simple Storage Service (S3) 
  • 26. DESIGN PRINCIPLES FOR AWS LOOSE COUPLING ARCHITECTING WEB APPLICATIONS FOR THE CLOUD: DESIGN PRINCIPLES AND PRACTICAL GUIDANCE FOR AWS © DR ADNENE GUABTNI 26 Statefull components as services  Example: Front end.  Service Discovery via Elastic Load Balancers as stable endpoints.  Use of Sticky Sessions.  Load balancers implement the Push model. Stateless components as services  Example: Backend API.  Load balancers (Push Model) can be used but not best  Ideally use SQS (Simple Queue Service) for Asynchronous Integration (Pull Model). 
  • 27. DESIGN PRINCIPLES FOR AWS LOOSE COUPLING ARCHITECTING WEB APPLICATIONS FOR THE CLOUD: DESIGN PRINCIPLES AND PRACTICAL GUIDANCE FOR AWS © DR ADNENE GUABTNI 27 Statefull components as services  Example: Front end.  Service Discovery via Elastic Load Balancers as stable endpoints.  Use of Sticky Sessions.  Load balancers implement the Push model. Stateless components as services  Example: Backend API.  Load balancers (Push Model) can be used but not best  Ideally use SQS (Simple Queue Service) for Asynchronous Integration (Pull Model). 
  • 28. DESIGN PRINCIPLES FOR AWS CHOSE THE RIGHT DATABASE(S) ARCHITECTING WEB APPLICATIONS FOR THE CLOUD: DESIGN PRINCIPLES AND PRACTICAL GUIDANCE FOR AWS © DR ADNENE GUABTNI 28 Relational Databse  RDS is a MySQL compatible databse that offers:  Scalability (both vertically and horizontally).  High Availability (RDS Multi-AZ deployment). Automatic failover to the standby without the need for manual administrative intervention. NoSQL Databases  DynamoDB is a NoSQL database.  Suitable if your application primarily indexes and queries data with no need for joins or complex transactions.  Scale both the reads and the writes in a horizontal fashion.  High Availability: synchronously replicates data across three facilities in an AWS region to provide fault tolerance. 
  • 29. DESIGN PRINCIPLES FOR AWS CHOSE THE RIGHT DATABASE(S) ARCHITECTING WEB APPLICATIONS FOR THE CLOUD: DESIGN PRINCIPLES AND PRACTICAL GUIDANCE FOR AWS © DR ADNENE GUABTNI 29 Data Warehouse  Specialized type of relational database, optimized for analysis and reporting of large amounts of data.  Redshift is a managed data warehouse service.  SQL-based.  Scalability using massively parallel processing (MPP), columnar data storage, and targeted data compression encoding schemes.  High Availability with multi-node clusters in which data written to a node is automatically replicated to other nodes within the cluster. + backed up to Amazon S3.  Amazon Redshift
  • 30. DESIGN PRINCIPLES FOR AWS DISPOSABLE RESOURCES INSTEAD OF FIXED SERVERS ARCHITECTING WEB APPLICATIONS FOR THE CLOUD: DESIGN PRINCIPLES AND PRACTICAL GUIDANCE FOR AWS © DR ADNENE GUABTNI 30 Auto Scaling allows EC2 instances to be discarded when not used and new instances provisioned in seconds to meet the demand. RDS database scales into several nodes and any node can be discarded without impact on DB availability. Everything else is a service. 
  • 31. DESIGN PRINCIPLES FOR AWS REMOVING SINGLE POINTS OF FAILURE ARCHITECTING WEB APPLICATIONS FOR THE CLOUD: DESIGN PRINCIPLES AND PRACTICAL GUIDANCE FOR AWS © DR ADNENE GUABTNI 31 Automated Multi-Data Center Resilience  Each AWS region contains multiple distinct locations called Availability Zones (AZ).  Each AZ is engineered to be isolated from failures in other AZ.  If AZ “A” fails, failover is automated and all requests are routed to the working AZ “B”. Note: Multiple AZs and multiple regions can be used. 
  • 32. DESIGN PRINCIPLES FOR AWS SERVICES, NOT SERVERS (AS MUCH AS POSSIBLE) ARCHITECTING WEB APPLICATIONS FOR THE CLOUD: DESIGN PRINCIPLES AND PRACTICAL GUIDANCE FOR AWS © DR ADNENE GUABTNI 32 Use Managed Services  Simple Queue Service (SQS).  CloudFront for content delivery.  Elastic Load Balancers.  RDS.  DynamoDB.  CloudSearch.  Simple Email Service (SES).  S3.  … 
  • 33. DESIGN PRINCIPLES FOR AWS SERVICES, NOT SERVERS (100%) ARCHITECTING WEB APPLICATIONS FOR THE CLOUD: DESIGN PRINCIPLES AND PRACTICAL GUIDANCE FOR AWS © DR ADNENE GUABTNI 33 Serverless Architectures Example: Voting mobile app.  Voting app on mobile uses Amazon API Gateway to vote.  Vote request is routed to an AWS Lambda function (compute service).  AWS Lambda function extracts info and record it into DynamoDB (NoSQL service).  DynamoDB triggers anAWS Lambda function to generate static HTML and store it into S3 (file storage service).  Route 53 (DNS service) serves the static HTML content from S3 to the user. 
  • 34. DESIGN PRINCIPLES FOR AWS CACHING ARCHITECTING WEB APPLICATIONS FOR THE CLOUD: DESIGN PRINCIPLES AND PRACTICAL GUIDANCE FOR AWS © DR ADNENE GUABTNI 34 Application Data Caching using AWS ElastiCache  In-memory caching engines:  Memcached (objects).  Redis (key-value store).  Automatically detects and replaces failed nodes.  Faster than disk.  Scale vertically or horizontally. Edge Caching using CloudFront  Content Delivery Network consisting of multiple edge locations around the world.  Edge caching allows content to be served by infrastructure that is closer to viewers. 
  • 35. DESIGN PRINCIPLES FOR AWS OPTIMIZE FOR COST ARCHITECTING WEB APPLICATIONS FOR THE CLOUD: DESIGN PRINCIPLES AND PRACTICAL GUIDANCE FOR AWS © DR ADNENE GUABTNI 35 Select the right type/size for your instances.  General Purpose vs Compute Optimized vs Memory Optimized vs Storage Optimized.  Burstable Performance Instances or fixed performance instances.  Large vs Xlarge vs 2Xlarge vs 4Xlarge vs 10Xlarge.  Many small instances vs fewer large instances. Rely on Auto-Scaling to always fit the demand and pay for what you need. Take Advantage of the Variety of Purchasing Options.  Reserved Capacity.  On-Demand vs Spot Instances (Bidding strategy).  Mix On-Demand and Spot Instances. 
  • 36. DESIGN PRINCIPLES FOR AWS SECURITY ARCHITECTING WEB APPLICATIONS FOR THE CLOUD: DESIGN PRINCIPLES AND PRACTICAL GUIDANCE FOR AWS © DR ADNENE GUABTNI 36  Use VPC (Virtual Private Cloud). A logically isolated section of Amazon Web Services (AWS) Cloud. Use a Bastion Host. A special purpose server instance that is designed to be the primary access point and acts as a proxy to your other EC2 instances. Use IAM (Identity and Access Management) to define a granular set of policies and assign them to users, groups, and AWS resources.
  • 37. DESIGN PRINCIPLES FOR AWS SECURITY ARCHITECTING WEB APPLICATIONS FOR THE CLOUD: DESIGN PRINCIPLES AND PRACTICAL GUIDANCE FOR AWS © DR ADNENE GUABTNI 37  For Web Applications. Use WAF (Web Application Firewall). Protects against SQL injection and other vulnerabilities. Setting up SSL on an Elastic Load Balancer. Allows to offload your instances from managing SSL encryption/decryption. Your SSL certificates are safe, within ELB, not within your instances. Cypher suite configuration is always up to date, upgraded by Amazon when necessary (in case of new vulnerability).
  • 38. SUMMARY OF DESIGN PRINCIPLES FOR AWS ARCHITECTING WEB APPLICATIONS FOR THE CLOUD: DESIGN PRINCIPLES AND PRACTICAL GUIDANCE FOR AWS © DR ADNENE GUABTNI 38  Scalability at all levels.  Loose Coupling.  Chose the right database(s).  Disposable Resources Instead of Fixed Servers.  Removing Single Points of Failure.  Services, Not Servers (as much as possible).  Caching.  Optimize for Cost.  Security.
  • 39. LEARN MORE AND KEEP UP TO DATE ARCHITECTING WEB APPLICATIONS FOR THE CLOUD: DESIGN PRINCIPLES AND PRACTICAL GUIDANCE FOR AWS © DR ADNENE GUABTNI 39 White Paper: Architecting for the Cloud - AWS Best Practices https://aws.amazon.com/whitepapers/architecting-for-the-aws-cloud-best-practices/ Amazon regularly introduces new services, so keep up to date https://aws.amazon.com/new/ AWS Free Tier (12 months free to get started) https://aws.amazon.com/free/
  • 40. THANK YOU FOR YOUR ATTENTION Dr Adnene Guabtni [email protected] ARCHITECTING WEB APPLICATIONS FOR THE CLOUD: DESIGN PRINCIPLES AND PRACTICAL GUIDANCE FOR AWS © DR ADNENE GUABTNI 40 EC2 S3 ELB RDS AMI AZ EBS EMR Route53 VPC Kinesis ElastiCache DynamoDB CloudWatch CloudFormation Auto-Scaling Lambda CloudFront CDN Redshift SES SNS SQS AWS EC2 S3 ELB RDS AMI AZ EBS EMR Route53 VPC Kinesis ElastiCache DynamoDB CloudWatch CloudFormation Auto-Scaling Lambda CloudFront CDN Redshift SES SNS SQS AWS slideshare.net/guabtni Access these slides on