SlideShare a Scribd company logo
1 of 40
Download to read offline
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

More Related Content

What's hot

AWS Architecting for the Cloud - matt tavis
AWS Architecting for the Cloud - matt tavisAWS Architecting for the Cloud - matt tavis
AWS Architecting for the Cloud - matt tavis
Amazon Web Services
 

What's hot (20)

High Performance Web Applications
High Performance Web ApplicationsHigh Performance Web Applications
High Performance Web Applications
 
AWS Sydney Summit 2013 - Keynote
AWS Sydney Summit 2013 - KeynoteAWS Sydney Summit 2013 - Keynote
AWS Sydney Summit 2013 - Keynote
 
DevOps Tech Talk: Getting out of Operations Hell | AWS Public Sector Summit 2016
DevOps Tech Talk: Getting out of Operations Hell | AWS Public Sector Summit 2016DevOps Tech Talk: Getting out of Operations Hell | AWS Public Sector Summit 2016
DevOps Tech Talk: Getting out of Operations Hell | AWS Public Sector Summit 2016
 
Creating your Hybrid Cloud with AWS -Technical 201
Creating your Hybrid Cloud with AWS -Technical 201Creating your Hybrid Cloud with AWS -Technical 201
Creating your Hybrid Cloud with AWS -Technical 201
 
AWS Architecting Cloud Apps - Best Practices and Design Patterns By Jinesh Varia
AWS Architecting Cloud Apps - Best Practices and Design Patterns By Jinesh VariaAWS Architecting Cloud Apps - Best Practices and Design Patterns By Jinesh Varia
AWS Architecting Cloud Apps - Best Practices and Design Patterns By Jinesh Varia
 
Cloud First: New Architecture for New Infrastructure
Cloud First: New Architecture for New InfrastructureCloud First: New Architecture for New Infrastructure
Cloud First: New Architecture for New Infrastructure
 
AWS re:Invent 2016: Industry Opportunities for AWS Partners: Healthcare, Fina...
AWS re:Invent 2016: Industry Opportunities for AWS Partners: Healthcare, Fina...AWS re:Invent 2016: Industry Opportunities for AWS Partners: Healthcare, Fina...
AWS re:Invent 2016: Industry Opportunities for AWS Partners: Healthcare, Fina...
 
VMware Cloud on AWS - Technical Deep Dive - AWS Summit Sydney
VMware Cloud on AWS - Technical Deep Dive - AWS Summit SydneyVMware Cloud on AWS - Technical Deep Dive - AWS Summit Sydney
VMware Cloud on AWS - Technical Deep Dive - AWS Summit Sydney
 
Keeping Security In-Step with Your Application Demand Curve
Keeping Security In-Step with Your Application Demand CurveKeeping Security In-Step with Your Application Demand Curve
Keeping Security In-Step with Your Application Demand Curve
 
Session Sponsored by Tableau: Transforming Data Into Valuable Insights
Session Sponsored by Tableau: Transforming Data Into Valuable InsightsSession Sponsored by Tableau: Transforming Data Into Valuable Insights
Session Sponsored by Tableau: Transforming Data Into Valuable Insights
 
Running Microsoft Workloads on AWS
Running Microsoft Workloads on AWSRunning Microsoft Workloads on AWS
Running Microsoft Workloads on AWS
 
VMware Cloud on AWS -- A Technical Deep Dive PPT
VMware Cloud on AWS -- A Technical Deep Dive PPTVMware Cloud on AWS -- A Technical Deep Dive PPT
VMware Cloud on AWS -- A Technical Deep Dive PPT
 
Moving your Desktops to the Cloud with Amazon WorkSpaces
Moving your Desktops to the Cloud with Amazon WorkSpacesMoving your Desktops to the Cloud with Amazon WorkSpaces
Moving your Desktops to the Cloud with Amazon WorkSpaces
 
Enterprise Workloads on AWS
Enterprise Workloads on AWSEnterprise Workloads on AWS
Enterprise Workloads on AWS
 
AWS Architecting for the Cloud - matt tavis
AWS Architecting for the Cloud - matt tavisAWS Architecting for the Cloud - matt tavis
AWS Architecting for the Cloud - matt tavis
 
Expanding Your Data Center with Hybrid Cloud Infrastructure
Expanding Your Data Center with Hybrid Cloud InfrastructureExpanding Your Data Center with Hybrid Cloud Infrastructure
Expanding Your Data Center with Hybrid Cloud Infrastructure
 
Microservices and Amazon ECS
Microservices and Amazon ECSMicroservices and Amazon ECS
Microservices and Amazon ECS
 
Running a Lean Startup with AWS
Running a Lean Startup with AWSRunning a Lean Startup with AWS
Running a Lean Startup with AWS
 
Getting Started with AWS Lambda and the Serverless Cloud by Jim Tran, Princip...
Getting Started with AWS Lambda and the Serverless Cloud by Jim Tran, Princip...Getting Started with AWS Lambda and the Serverless Cloud by Jim Tran, Princip...
Getting Started with AWS Lambda and the Serverless Cloud by Jim Tran, Princip...
 
Getting Started with Managed Services | AWS Public Sector Summit 2016
Getting Started with Managed Services | AWS Public Sector Summit 2016Getting Started with Managed Services | AWS Public Sector Summit 2016
Getting Started with Managed Services | AWS Public Sector Summit 2016
 

Viewers also liked

AWS Startup Webinar | Developing on AWS
AWS Startup Webinar | Developing on AWSAWS Startup Webinar | Developing on AWS
AWS Startup Webinar | Developing on AWS
Amazon Web Services
 

Viewers also liked (8)

Going to the cloud with Microsoft and ITAdviser_Windows Azure overview for IT...
Going to the cloud with Microsoft and ITAdviser_Windows Azure overview for IT...Going to the cloud with Microsoft and ITAdviser_Windows Azure overview for IT...
Going to the cloud with Microsoft and ITAdviser_Windows Azure overview for IT...
 
Microsoft Azure
Microsoft AzureMicrosoft Azure
Microsoft Azure
 
Microsoft Azure Overview
Microsoft Azure OverviewMicrosoft Azure Overview
Microsoft Azure Overview
 
AWS Startup Webinar | Developing on AWS
AWS Startup Webinar | Developing on AWSAWS Startup Webinar | Developing on AWS
AWS Startup Webinar | Developing on AWS
 
Cloud Operating Model Design
Cloud Operating Model DesignCloud Operating Model Design
Cloud Operating Model Design
 
Building Web Scale Applications with AWS
Building Web Scale Applications with AWSBuilding Web Scale Applications with AWS
Building Web Scale Applications with AWS
 
SMART Materials
SMART MaterialsSMART Materials
SMART Materials
 
AWS re:Invent 2016: Achieving Agility by Following Well-Architected Framework...
AWS re:Invent 2016: Achieving Agility by Following Well-Architected Framework...AWS re:Invent 2016: Achieving Agility by Following Well-Architected Framework...
AWS re:Invent 2016: Achieving Agility by Following Well-Architected Framework...
 

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

Webinar aws 101 a walk through the aws cloud- introduction to cloud computi...
Webinar aws 101   a walk through the aws cloud- introduction to cloud computi...Webinar aws 101   a walk through the aws cloud- introduction to cloud computi...
Webinar aws 101 a walk through the aws cloud- introduction to cloud computi...
Amazon Web Services
 

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

Aws
AwsAws
Aws
 
[AWS Dev Day] 기조연설 – Olivier Klein AWS 신기술 부문 책임자, 정성권 삼성전자 수석
[AWS Dev Day] 기조연설 – Olivier Klein AWS 신기술 부문 책임자, 정성권 삼성전자 수석[AWS Dev Day] 기조연설 – Olivier Klein AWS 신기술 부문 책임자, 정성권 삼성전자 수석
[AWS Dev Day] 기조연설 – Olivier Klein AWS 신기술 부문 책임자, 정성권 삼성전자 수석
 
WordPress Enterprise architecture on AWS
WordPress Enterprise architecture on AWSWordPress Enterprise architecture on AWS
WordPress Enterprise architecture on AWS
 
ReInvent 2019 reCap Nordics
ReInvent 2019 reCap NordicsReInvent 2019 reCap Nordics
ReInvent 2019 reCap Nordics
 
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...
 
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...
 
Webinar aws 101 a walk through the aws cloud- introduction to cloud computi...
Webinar aws 101   a walk through the aws cloud- introduction to cloud computi...Webinar aws 101   a walk through the aws cloud- introduction to cloud computi...
Webinar aws 101 a walk through the aws cloud- introduction to cloud computi...
 
Simplifying Microsoft Architectures with AWS Services
Simplifying Microsoft Architectures with AWS ServicesSimplifying Microsoft Architectures with AWS Services
Simplifying Microsoft Architectures with AWS Services
 
Aws cloud best_practices
Aws cloud best_practicesAws cloud best_practices
Aws cloud best_practices
 
AWS Webcast - Webinar Series for State and Local Government #1: Discover Clou...
AWS Webcast - Webinar Series for State and Local Government #1: Discover Clou...AWS Webcast - Webinar Series for State and Local Government #1: Discover Clou...
AWS Webcast - Webinar Series for State and Local Government #1: Discover Clou...
 
透過最新的 AWS 服務在 2019 年為您的業務轉型 (Level 200)
透過最新的 AWS 服務在 2019 年為您的業務轉型 (Level 200)透過最新的 AWS 服務在 2019 年為您的業務轉型 (Level 200)
透過最新的 AWS 服務在 2019 年為您的業務轉型 (Level 200)
 
New in Hong Kong Region
New in Hong Kong RegionNew in Hong Kong Region
New in Hong Kong Region
 
Fundamentals of Cloud Computing & AWS
Fundamentals of Cloud Computing & AWSFundamentals of Cloud Computing & AWS
Fundamentals of Cloud Computing & AWS
 
遷移過程中建置混和雲架構的最佳實踐分享
遷移過程中建置混和雲架構的最佳實踐分享遷移過程中建置混和雲架構的最佳實踐分享
遷移過程中建置混和雲架構的最佳實踐分享
 
AWS Webcast - Discover Cloud Computing for Government
AWS Webcast - Discover Cloud Computing for GovernmentAWS Webcast - Discover Cloud Computing for Government
AWS Webcast - Discover Cloud Computing for Government
 
8kMiles Cloud Solutions Overview
8kMiles Cloud Solutions Overview8kMiles Cloud Solutions Overview
8kMiles Cloud Solutions Overview
 
8KMiles Cloud Solutions Overview
8KMiles Cloud Solutions Overview8KMiles Cloud Solutions Overview
8KMiles Cloud Solutions Overview
 
8kmiles Cloud Solutions Overview
8kmiles Cloud Solutions Overview8kmiles Cloud Solutions Overview
8kmiles Cloud Solutions Overview
 
AWS Enterprise Summit - AWS로 엔터프라이즈 솔루션 구축 및 운영하기 - 이종남
AWS Enterprise Summit - AWS로 엔터프라이즈 솔루션 구축 및 운영하기 - 이종남AWS Enterprise Summit - AWS로 엔터프라이즈 솔루션 구축 및 운영하기 - 이종남
AWS Enterprise Summit - AWS로 엔터프라이즈 솔루션 구축 및 운영하기 - 이종남
 
AWS Enterprise Summit Manila Windows .net
AWS Enterprise Summit Manila Windows .netAWS Enterprise Summit Manila Windows .net
AWS Enterprise Summit Manila Windows .net
 

Recently uploaded

%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
masabamasaba
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
masabamasaba
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
Health
 
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Medical / Health Care (+971588192166) Mifepristone and Misoprostol tablets 200mg
 

Recently uploaded (20)

8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students
 
WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK Software
 
Harnessing ChatGPT - Elevating Productivity in Today's Agile Environment
Harnessing ChatGPT  - Elevating Productivity in Today's Agile EnvironmentHarnessing ChatGPT  - Elevating Productivity in Today's Agile Environment
Harnessing ChatGPT - Elevating Productivity in Today's Agile Environment
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the past
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
 
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
 

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 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
  • 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 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