SlideShare a Scribd company logo
1 of 30
Download to read offline
Architecting Applications in the AWS Cloud1
Help business apps move to the cloud
2
Problems facing Enterprise IT
¨  ever-growing datasets
¨  unpredictable traffic patterns
¨  demand for faster response times
¨  budget constraints
Business Benefits of Cloud
3
¨  With utility-style pricing - no fixed cost
¨  Just-in-Time Infrastructure
¨  More Efficient Resource Use
¨  Usage-Based Costing
¨  Reduced Time to Market
Technical Benefits of Cloud Computing
4
¨  Scriptable Infrastructure
¨  Auto-scaling
¨  Proactive Scaling
¨  More Efficient Development Life Cycle
¨  Improved Testability
¨  Disaster Recovery and Business Continuity
¨  "Overflow" the Traffic to the Cloud
Understanding AWS Terminology
5
Your Application
Payment
AWS Worldwide Physical infrastructure (Geo Regions with multiple Availability Zones, Edge Locations)
SimpleDBDomains
SNSTopics
SQSQueues
CloudFront
Simple Storage Service
Objects and Buckets
EC2 Instances (On-Demand, Spot, Reserved)
Auto-scaling, Elastic LB, Cloud Watch
SnapshotsEBS VolumesVPC
RDS Elastic MapReduce JobFlows
IaaS
Scalable Hardware Layer
IaaS
Scalable Hardware Layer
Software Infrastructure Layer
Grid
Service
Storage
Service
Queue
Service
Example: Storage Service
Storage
Service
Storage
Service
Storage
Service
Storage
Service
New Server
The data is automatically re-partitioned/re-balanced to
take advantage of the new server added
EC2
Machine
Image
(OS + Apps)
Usage:
•  Create Machine Image
•  Deploy the image to S3
•  Start 1 or more instances
•  Use it as regular machine(s)
Main Options:
•  Dynamic/Static IP
•  Choose cores
•  Choose locations
•  Persistence via EBS
Sample EC2 Use Cases
Batch Processing
§  All instances are configured with the same code
§  Each instance operates on a subset of data
§  Partitions are specified in a configuration file
Web Service
§  All instances are configured with the same code
§  One or more instances are configured as load balancers (HAProxy for
example)
§  DNS Server distributes requests between load balancers
EC2 vs. Web Hosting Company
Good
§  Instantly add new instances
§  Full-control over the machines and choice of the environment
§  Likely cheaper (but depends on your exact situation)
Bad
§  Need to put the images together and manage instances
§  No dedicated technical support (but there is premium support and
RightScale like solutions)
S3 in a Nutshell
Client
Idea:
•  Put/Get objects into
buckets based on unique
keys
Main Features:
•  Public/Private access
•  Support for large objects
Amazon S3
Bucket 1 Bucket N
…
Put object Get object
Sample S3 Use Cases
Image/Video storage
§  Put your media once on S3 and then serve it up
§  Reads are 10 times cheaper than writes!
Serialize your Java Objects
§  Define unique key based on the object attributes
§  Write out binary serialized version to a stream
§  Write bytes to S3
§  Read them back when needed
Simple DB in a Nutshell
Client
Idea:
•  Create flat database
with auto-indexed tables
Main Features:
•  Each attribute is indexed
•  Record structure is flexible
•  Basic operators in queries
•  Supports sorting
Simple DB Domain
Record 1
Put record
Get record
Query records
Key1 Attributes: A1,A2…
Record N
Key2 Attributes: A1,A2…
…
Sample SimpleDB Use Cases
Index Media files stored on S3
§  Use the same key as on S3
§  Write the record with each metadata element as attribute
Store flat objects
§  Use SimpleDB as a storage for non-nested data
SQS in a Nutshell
Writer
Idea:
•  Create an infinite
asynchronous queue
Main Features:
•  Multiple queues
•  Up to 4K messages
•  Message Locking
SQS Queue
Message 1
Send
Message
Receive
Message
Message N
…
Reader
Sample SQS Use Cases
Twitter Friend Update
§  For each update generate a task to update friends
§  Process updates in order
Publish/Subscribe
§  Post messages to the queue to inform multiple subscribers
Process Pipeline
§  Use different queues to put, for example, and order through a pipeline
One liner Descriptions
¨  Elastic IP: Allocate a static IP and assign to an instance
¨  CloudWatch: Monitor CPU utilization, disk r/w, & network traffic
¨  Auto-scaling group: Auto-scale based on metric from CloudWatch
¨  Elastic Load Balancing: Distribute incoming traffic to web instances
¨  Elastic Block Storage: network-attached persistent storage for EC2
¨  Point-in-time EBS snapshots can be created and stored in S3
¨  S3: distributed data store: store and retrieve objects in buckets
¨  Cloud Front: objects distributed & cached at multiple edge locations worldwide
¨  SimpleDB: a database w/ real-time querying of structured data
¨  RDS: a full-featured relational database in the cloud
¨  SQS: a reliable, scalable, hosted distributed queue for storing/retrieving messages
¨  Elastic MapReduce: a hosted Hadoop framework on EC2+S3 enabling custom JobFlows
¨  SNS: a way to notify applications or people from the cloud by creating Topics and using a publish-subscribe protocol
¨  VPC: extend your corporate network into a IPSEC private cloud contained within AWS
¨  Payment services: payment and billing services using Amazon's payment infrastructure.
18
Building Scalable Architectures
¨  Cloud is infinitely scalable: Architect for scalability
¨  Identify the monolithic components and bottlenecks in your architecture
¨  Identify the areas where you cannot leverage the on-demand provisioning
capabilities in your architecture
¨  Refactor your application in order to leverage the scalable infrastructure and take
advantage of the cloud
¨  Characteristics of a truly scalable application
¤  Increasing resources results in a proportional increase in performance
¤  Cost per unit reduces as the number of units increases
¤  Handles heterogeneity
¤  Is operationally efficient and resilient
19
Fear No Constraints
¨  Cloud might not have the exact specification of the resource that you have on-premise
¤  e.g., "Cloud does not provide X amount of RAM in a server" or "My database needs to have more IOPS
than what I can get in a single instance”
¨  Even though you might not get an exact replica of your hardware in the cloud environment, you
have the ability to get more of those resources in the cloud to compensate that need
¤  e.g., if the cloud does not give N GB RAM in a server,
n  use a distributed cache like memcached or
n  partition your data across multiple servers
¤  e.g., if your database need more read-heavy IOPS than what cloud offers,
n  distribute the read load across a fleet of synchronized slaves or
n  use a sharding algorithm that routes the data where it needs to be or
n  use a database clustering solution
¨  Apparent constraints can be broken in ways that will improve the scalability and performance
20
Cloud Administration
¨  SysAdmins/WebMasters transition into CloudMASTERS
¤  Tasks performed become even more interesting as CloudMASTERS learn more about applications and decide what's best
for the business
¨  CloudMASTERS don’t need to provision servers and install software and wire up network devices
¤  Cloud infrastructure is programmable and encourages automation
¤  Grunt is replaced by few clicks and command line calls
¨  CloudMASTERS move up the technology stack and learn how to manage abstract cloud resources using
scripts
¤  Learn new deployment methods and embrace new models (query parallelization, geo-redundancy, and asynchronous
replication),
¤  rethink the architectural approach for data (sharding, horizontal partitioning, federating), and
¤  leverage different storage options available in the cloud for different types of datasets
¨  When architecting applications, businesses encourage more cross-pollination of knowledge between the two
21
¨  app developers may not work closely with the
sysadmin/webmasters who may not have a clue
apps
¨  requires close cooperation between app devs
and CloudMASTERS
Traditional enterprise Cloud enterprise
Design for auto recovery from Failure
¨  Failure will happen (period)
¨  Automated recovery from failure
¤  always design, implement, & deploy for auto recovery
22
Be a pessimist
¨  Assume that
¤  hardware will fail
¤  outages will occur
¤  some disaster will strike
¤  your app will be slammed with more than expected load
some day
¤  with time your application software will fail too
¨  Plan auto-recovery during design time
23
Fault-tolerant Cloud Architecture
¨  What if a node in your system fails?
¤  How do you recognize failure?
¤  How do I replace that node?
¨  What are my app’s single points of failure?
¤  what if load balancer fails?
n  a load balancer sits in front of an array of application servers
¤  What if the master node fails in a master/slave system?
n  How does the failover occur?
n  How is a new slave instantiated
n  How does new slave sync with the master?
24
Fault-tolerant Cloud Architecture
¨  What happens to my app if the dependent services
changes its interface?
¨  What if downstream service times out or returns an
exception?
¨  What if the cache keys grow beyond memory limit
of an instance?
25
Mechanism to handle failure
¨  Have a coherent backup and restore strategy for your
data and automate it
¨  Build process threads that resume on reboot
¨  Allow the state of the system to re-sync by reloading
messages from queues
¨  Keep preconfigured and pre-optimized virtual images
to support strategies 2 and 3 on launch/boot
¨  Avoid in-memory sessions or user states; use data stores
26
Impervious to reboots/re-launches
¨  If a controller instance dies,
¤  its brought up, and
¤  resumed to previous state
¤  as if no evil had happened
27
28
Thank you.
Appendix29
greptheweb (using SQS and SimpleDB)
¨  greptheweb enables search
query that gets Million
Search Results (MSR) back
as output
30
grep is a unix utility to search patterns hence the name
greptheweb
Input dataset
regex
getstatus ¨  output is filtered
using regular
expressions to
narrow based on
criteria

More Related Content

What's hot

Optimizing Storage for Big Data/Analytics Workloads
Optimizing Storage for Big Data/Analytics WorkloadsOptimizing Storage for Big Data/Analytics Workloads
Optimizing Storage for Big Data/Analytics WorkloadsAmazon Web Services
 
Simple, Scalable and Highly Durable NAS in the Cloud - Amazon EFS
Simple, Scalable and Highly Durable NAS in the Cloud - Amazon EFSSimple, Scalable and Highly Durable NAS in the Cloud - Amazon EFS
Simple, Scalable and Highly Durable NAS in the Cloud - Amazon EFSAmazon Web Services
 
Streaming data analytics (Kinesis, EMR/Spark) - Pop-up Loft Tel Aviv
Streaming data analytics (Kinesis, EMR/Spark) - Pop-up Loft Tel Aviv Streaming data analytics (Kinesis, EMR/Spark) - Pop-up Loft Tel Aviv
Streaming data analytics (Kinesis, EMR/Spark) - Pop-up Loft Tel Aviv Amazon Web Services
 
Getting Started with Big Data and HPC in the Cloud - August 2015
Getting Started with Big Data and HPC in the Cloud - August 2015Getting Started with Big Data and HPC in the Cloud - August 2015
Getting Started with Big Data and HPC in the Cloud - August 2015Amazon Web Services
 
Challenges for running Hadoop on AWS - AdvancedAWS Meetup
Challenges for running Hadoop on AWS - AdvancedAWS MeetupChallenges for running Hadoop on AWS - AdvancedAWS Meetup
Challenges for running Hadoop on AWS - AdvancedAWS MeetupAndrei Savu
 
Introduction to Windows Azure and Windows Azure SQL Database
Introduction to Windows Azure and Windows Azure SQL DatabaseIntroduction to Windows Azure and Windows Azure SQL Database
Introduction to Windows Azure and Windows Azure SQL DatabaseVikas Sahni
 
Aws Summit Berlin 2013 - Understanding database options on AWS
Aws Summit Berlin 2013 - Understanding database options on AWSAws Summit Berlin 2013 - Understanding database options on AWS
Aws Summit Berlin 2013 - Understanding database options on AWSAWS Germany
 
Introduction to Azure SQL DB
Introduction to Azure SQL DBIntroduction to Azure SQL DB
Introduction to Azure SQL DBChristopher Foot
 
Getting Started with Azure SQL Database (Presented at Pittsburgh TechFest 2018)
Getting Started with Azure SQL Database (Presented at Pittsburgh TechFest 2018)Getting Started with Azure SQL Database (Presented at Pittsburgh TechFest 2018)
Getting Started with Azure SQL Database (Presented at Pittsburgh TechFest 2018)Chad Green
 
Apache Spark and the Hadoop Ecosystem on AWS
Apache Spark and the Hadoop Ecosystem on AWSApache Spark and the Hadoop Ecosystem on AWS
Apache Spark and the Hadoop Ecosystem on AWSAmazon Web Services
 
BigData- On - AWS Cloud -1
BigData- On - AWS Cloud -1BigData- On - AWS Cloud -1
BigData- On - AWS Cloud -1Milind gunjan
 
Building a Server-less Data Lake on AWS - Technical 301
Building a Server-less Data Lake on AWS - Technical 301Building a Server-less Data Lake on AWS - Technical 301
Building a Server-less Data Lake on AWS - Technical 301Amazon Web Services
 
BDA302 Deep Dive on Migrating Big Data Workloads to Amazon EMR
BDA302 Deep Dive on Migrating Big Data Workloads to Amazon EMRBDA302 Deep Dive on Migrating Big Data Workloads to Amazon EMR
BDA302 Deep Dive on Migrating Big Data Workloads to Amazon EMRAmazon Web Services
 
SQL Azure the database in the cloud
SQL Azure the database in the cloud SQL Azure the database in the cloud
SQL Azure the database in the cloud Eduardo Castro
 
NoSQL Database- cassandra column Base DB
NoSQL Database- cassandra column Base DBNoSQL Database- cassandra column Base DB
NoSQL Database- cassandra column Base DBsadegh salehi
 
Architectures for HPC and HTC Workloads on AWS | AWS Public Sector Summit 2017
Architectures for HPC and HTC Workloads on AWS | AWS Public Sector Summit 2017Architectures for HPC and HTC Workloads on AWS | AWS Public Sector Summit 2017
Architectures for HPC and HTC Workloads on AWS | AWS Public Sector Summit 2017Amazon Web Services
 
Best practices for optimizing your EC2 costs with Spot Instances | AWS Floor28
Best practices for optimizing your EC2 costs with Spot Instances | AWS Floor28Best practices for optimizing your EC2 costs with Spot Instances | AWS Floor28
Best practices for optimizing your EC2 costs with Spot Instances | AWS Floor28Amazon Web Services
 
ENT305 Migrating Your Databases to AWS: Deep Dive on Amazon Relational Databa...
ENT305 Migrating Your Databases to AWS: Deep Dive on Amazon Relational Databa...ENT305 Migrating Your Databases to AWS: Deep Dive on Amazon Relational Databa...
ENT305 Migrating Your Databases to AWS: Deep Dive on Amazon Relational Databa...Amazon Web Services
 

What's hot (20)

Databases in the Cloud
Databases in the CloudDatabases in the Cloud
Databases in the Cloud
 
Optimizing Storage for Big Data/Analytics Workloads
Optimizing Storage for Big Data/Analytics WorkloadsOptimizing Storage for Big Data/Analytics Workloads
Optimizing Storage for Big Data/Analytics Workloads
 
Simple, Scalable and Highly Durable NAS in the Cloud - Amazon EFS
Simple, Scalable and Highly Durable NAS in the Cloud - Amazon EFSSimple, Scalable and Highly Durable NAS in the Cloud - Amazon EFS
Simple, Scalable and Highly Durable NAS in the Cloud - Amazon EFS
 
Streaming data analytics (Kinesis, EMR/Spark) - Pop-up Loft Tel Aviv
Streaming data analytics (Kinesis, EMR/Spark) - Pop-up Loft Tel Aviv Streaming data analytics (Kinesis, EMR/Spark) - Pop-up Loft Tel Aviv
Streaming data analytics (Kinesis, EMR/Spark) - Pop-up Loft Tel Aviv
 
Getting Started with Big Data and HPC in the Cloud - August 2015
Getting Started with Big Data and HPC in the Cloud - August 2015Getting Started with Big Data and HPC in the Cloud - August 2015
Getting Started with Big Data and HPC in the Cloud - August 2015
 
Challenges for running Hadoop on AWS - AdvancedAWS Meetup
Challenges for running Hadoop on AWS - AdvancedAWS MeetupChallenges for running Hadoop on AWS - AdvancedAWS Meetup
Challenges for running Hadoop on AWS - AdvancedAWS Meetup
 
Introduction to Windows Azure and Windows Azure SQL Database
Introduction to Windows Azure and Windows Azure SQL DatabaseIntroduction to Windows Azure and Windows Azure SQL Database
Introduction to Windows Azure and Windows Azure SQL Database
 
Aws Summit Berlin 2013 - Understanding database options on AWS
Aws Summit Berlin 2013 - Understanding database options on AWSAws Summit Berlin 2013 - Understanding database options on AWS
Aws Summit Berlin 2013 - Understanding database options on AWS
 
Introduction to Azure SQL DB
Introduction to Azure SQL DBIntroduction to Azure SQL DB
Introduction to Azure SQL DB
 
Getting Started with Azure SQL Database (Presented at Pittsburgh TechFest 2018)
Getting Started with Azure SQL Database (Presented at Pittsburgh TechFest 2018)Getting Started with Azure SQL Database (Presented at Pittsburgh TechFest 2018)
Getting Started with Azure SQL Database (Presented at Pittsburgh TechFest 2018)
 
AWS Data Collection & Storage
AWS Data Collection & StorageAWS Data Collection & Storage
AWS Data Collection & Storage
 
Apache Spark and the Hadoop Ecosystem on AWS
Apache Spark and the Hadoop Ecosystem on AWSApache Spark and the Hadoop Ecosystem on AWS
Apache Spark and the Hadoop Ecosystem on AWS
 
BigData- On - AWS Cloud -1
BigData- On - AWS Cloud -1BigData- On - AWS Cloud -1
BigData- On - AWS Cloud -1
 
Building a Server-less Data Lake on AWS - Technical 301
Building a Server-less Data Lake on AWS - Technical 301Building a Server-less Data Lake on AWS - Technical 301
Building a Server-less Data Lake on AWS - Technical 301
 
BDA302 Deep Dive on Migrating Big Data Workloads to Amazon EMR
BDA302 Deep Dive on Migrating Big Data Workloads to Amazon EMRBDA302 Deep Dive on Migrating Big Data Workloads to Amazon EMR
BDA302 Deep Dive on Migrating Big Data Workloads to Amazon EMR
 
SQL Azure the database in the cloud
SQL Azure the database in the cloud SQL Azure the database in the cloud
SQL Azure the database in the cloud
 
NoSQL Database- cassandra column Base DB
NoSQL Database- cassandra column Base DBNoSQL Database- cassandra column Base DB
NoSQL Database- cassandra column Base DB
 
Architectures for HPC and HTC Workloads on AWS | AWS Public Sector Summit 2017
Architectures for HPC and HTC Workloads on AWS | AWS Public Sector Summit 2017Architectures for HPC and HTC Workloads on AWS | AWS Public Sector Summit 2017
Architectures for HPC and HTC Workloads on AWS | AWS Public Sector Summit 2017
 
Best practices for optimizing your EC2 costs with Spot Instances | AWS Floor28
Best practices for optimizing your EC2 costs with Spot Instances | AWS Floor28Best practices for optimizing your EC2 costs with Spot Instances | AWS Floor28
Best practices for optimizing your EC2 costs with Spot Instances | AWS Floor28
 
ENT305 Migrating Your Databases to AWS: Deep Dive on Amazon Relational Databa...
ENT305 Migrating Your Databases to AWS: Deep Dive on Amazon Relational Databa...ENT305 Migrating Your Databases to AWS: Deep Dive on Amazon Relational Databa...
ENT305 Migrating Your Databases to AWS: Deep Dive on Amazon Relational Databa...
 

Viewers also liked

Netflix Moving To Cloud
Netflix Moving To CloudNetflix Moving To Cloud
Netflix Moving To CloudHien Luu
 
The Lean Cloud for Startups with AWS - Customer Success Story - wireWAX
The Lean Cloud for Startups with AWS - Customer Success Story - wireWAXThe Lean Cloud for Startups with AWS - Customer Success Story - wireWAX
The Lean Cloud for Startups with AWS - Customer Success Story - wireWAXAmazon Web Services
 
Asgard: Using Grails to Deploy Netflix to AWS (Extended Slides)
Asgard: Using Grails to Deploy Netflix to AWS (Extended Slides)Asgard: Using Grails to Deploy Netflix to AWS (Extended Slides)
Asgard: Using Grails to Deploy Netflix to AWS (Extended Slides)Joe Sondow
 
So You Want to Be an AWS Partner?
So You Want to Be an AWS Partner? So You Want to Be an AWS Partner?
So You Want to Be an AWS Partner? Amazon Web Services
 
Netflix cloud architecture...continued
Netflix cloud architecture...continuedNetflix cloud architecture...continued
Netflix cloud architecture...continuedCloud Genius
 
AWS Re:Invent - Optimizing Costs with AWS
AWS Re:Invent -  Optimizing Costs with AWSAWS Re:Invent -  Optimizing Costs with AWS
AWS Re:Invent - Optimizing Costs with AWSCoburn Watson
 
AWS Webcast - What's New with Amazon Elastic Transcoder
AWS Webcast - What's New with Amazon Elastic TranscoderAWS Webcast - What's New with Amazon Elastic Transcoder
AWS Webcast - What's New with Amazon Elastic TranscoderAmazon Web Services
 
(MED305) Achieving Consistently High Throughput for Very Large Data Transfers...
(MED305) Achieving Consistently High Throughput for Very Large Data Transfers...(MED305) Achieving Consistently High Throughput for Very Large Data Transfers...
(MED305) Achieving Consistently High Throughput for Very Large Data Transfers...Amazon Web Services
 
Partnering with AWS: How to Build Your Business with AWS
Partnering with AWS: How to Build Your Business with AWSPartnering with AWS: How to Build Your Business with AWS
Partnering with AWS: How to Build Your Business with AWSAmazon Web Services
 
MED202 Netflix’s Transcoding Transformation - AWS re: Invent 2012
MED202 Netflix’s Transcoding Transformation - AWS re: Invent 2012MED202 Netflix’s Transcoding Transformation - AWS re: Invent 2012
MED202 Netflix’s Transcoding Transformation - AWS re: Invent 2012Amazon Web Services
 
AWS re:Invent 2016: How Netflix Achieves Email Delivery at Global Scale with ...
AWS re:Invent 2016: How Netflix Achieves Email Delivery at Global Scale with ...AWS re:Invent 2016: How Netflix Achieves Email Delivery at Global Scale with ...
AWS re:Invent 2016: How Netflix Achieves Email Delivery at Global Scale with ...Amazon Web Services
 
RMG202 Rainmakers: How Netflix Operates Clouds for Maximum Freedom and Agilit...
RMG202 Rainmakers: How Netflix Operates Clouds for Maximum Freedom and Agilit...RMG202 Rainmakers: How Netflix Operates Clouds for Maximum Freedom and Agilit...
RMG202 Rainmakers: How Netflix Operates Clouds for Maximum Freedom and Agilit...Amazon Web Services
 
What an Enterprise Can Learn from Netflix, a Cloud-native Company (ENT203) | ...
What an Enterprise Can Learn from Netflix, a Cloud-native Company (ENT203) | ...What an Enterprise Can Learn from Netflix, a Cloud-native Company (ENT203) | ...
What an Enterprise Can Learn from Netflix, a Cloud-native Company (ENT203) | ...Amazon Web Services
 
AWS Webcast - AWS Webinar Series for Education #1 - What is Cloud Computing
AWS Webcast - AWS Webinar Series for Education #1 - What is Cloud ComputingAWS Webcast - AWS Webinar Series for Education #1 - What is Cloud Computing
AWS Webcast - AWS Webinar Series for Education #1 - What is Cloud ComputingAmazon Web Services
 
Intro to AWS: Amazon EC2 and Compute Services
Intro to AWS: Amazon EC2 and Compute ServicesIntro to AWS: Amazon EC2 and Compute Services
Intro to AWS: Amazon EC2 and Compute ServicesAmazon Web Services
 
Scalable Media Workflows in the Cloud
Scalable Media Workflows in the CloudScalable Media Workflows in the Cloud
Scalable Media Workflows in the CloudAmazon Web Services
 
Aspera on demand for AWS (S3 inc) overview
Aspera on demand for AWS (S3 inc) overviewAspera on demand for AWS (S3 inc) overview
Aspera on demand for AWS (S3 inc) overviewBhavik Vyas
 
Netflix competitive landscape
Netflix competitive landscapeNetflix competitive landscape
Netflix competitive landscapedribayles
 

Viewers also liked (20)

Netflix Moving To Cloud
Netflix Moving To CloudNetflix Moving To Cloud
Netflix Moving To Cloud
 
The Lean Cloud for Startups with AWS - Customer Success Story - wireWAX
The Lean Cloud for Startups with AWS - Customer Success Story - wireWAXThe Lean Cloud for Startups with AWS - Customer Success Story - wireWAX
The Lean Cloud for Startups with AWS - Customer Success Story - wireWAX
 
Asgard: Using Grails to Deploy Netflix to AWS (Extended Slides)
Asgard: Using Grails to Deploy Netflix to AWS (Extended Slides)Asgard: Using Grails to Deploy Netflix to AWS (Extended Slides)
Asgard: Using Grails to Deploy Netflix to AWS (Extended Slides)
 
So You Want to Be an AWS Partner?
So You Want to Be an AWS Partner? So You Want to Be an AWS Partner?
So You Want to Be an AWS Partner?
 
Netflix cloud architecture...continued
Netflix cloud architecture...continuedNetflix cloud architecture...continued
Netflix cloud architecture...continued
 
Running a Lean Startup with AWS
Running a Lean Startup with AWSRunning a Lean Startup with AWS
Running a Lean Startup with AWS
 
AWS Re:Invent - Optimizing Costs with AWS
AWS Re:Invent -  Optimizing Costs with AWSAWS Re:Invent -  Optimizing Costs with AWS
AWS Re:Invent - Optimizing Costs with AWS
 
AWS Webcast - What's New with Amazon Elastic Transcoder
AWS Webcast - What's New with Amazon Elastic TranscoderAWS Webcast - What's New with Amazon Elastic Transcoder
AWS Webcast - What's New with Amazon Elastic Transcoder
 
Achieving Profitability on AWS
Achieving Profitability on AWSAchieving Profitability on AWS
Achieving Profitability on AWS
 
(MED305) Achieving Consistently High Throughput for Very Large Data Transfers...
(MED305) Achieving Consistently High Throughput for Very Large Data Transfers...(MED305) Achieving Consistently High Throughput for Very Large Data Transfers...
(MED305) Achieving Consistently High Throughput for Very Large Data Transfers...
 
Partnering with AWS: How to Build Your Business with AWS
Partnering with AWS: How to Build Your Business with AWSPartnering with AWS: How to Build Your Business with AWS
Partnering with AWS: How to Build Your Business with AWS
 
MED202 Netflix’s Transcoding Transformation - AWS re: Invent 2012
MED202 Netflix’s Transcoding Transformation - AWS re: Invent 2012MED202 Netflix’s Transcoding Transformation - AWS re: Invent 2012
MED202 Netflix’s Transcoding Transformation - AWS re: Invent 2012
 
AWS re:Invent 2016: How Netflix Achieves Email Delivery at Global Scale with ...
AWS re:Invent 2016: How Netflix Achieves Email Delivery at Global Scale with ...AWS re:Invent 2016: How Netflix Achieves Email Delivery at Global Scale with ...
AWS re:Invent 2016: How Netflix Achieves Email Delivery at Global Scale with ...
 
RMG202 Rainmakers: How Netflix Operates Clouds for Maximum Freedom and Agilit...
RMG202 Rainmakers: How Netflix Operates Clouds for Maximum Freedom and Agilit...RMG202 Rainmakers: How Netflix Operates Clouds for Maximum Freedom and Agilit...
RMG202 Rainmakers: How Netflix Operates Clouds for Maximum Freedom and Agilit...
 
What an Enterprise Can Learn from Netflix, a Cloud-native Company (ENT203) | ...
What an Enterprise Can Learn from Netflix, a Cloud-native Company (ENT203) | ...What an Enterprise Can Learn from Netflix, a Cloud-native Company (ENT203) | ...
What an Enterprise Can Learn from Netflix, a Cloud-native Company (ENT203) | ...
 
AWS Webcast - AWS Webinar Series for Education #1 - What is Cloud Computing
AWS Webcast - AWS Webinar Series for Education #1 - What is Cloud ComputingAWS Webcast - AWS Webinar Series for Education #1 - What is Cloud Computing
AWS Webcast - AWS Webinar Series for Education #1 - What is Cloud Computing
 
Intro to AWS: Amazon EC2 and Compute Services
Intro to AWS: Amazon EC2 and Compute ServicesIntro to AWS: Amazon EC2 and Compute Services
Intro to AWS: Amazon EC2 and Compute Services
 
Scalable Media Workflows in the Cloud
Scalable Media Workflows in the CloudScalable Media Workflows in the Cloud
Scalable Media Workflows in the Cloud
 
Aspera on demand for AWS (S3 inc) overview
Aspera on demand for AWS (S3 inc) overviewAspera on demand for AWS (S3 inc) overview
Aspera on demand for AWS (S3 inc) overview
 
Netflix competitive landscape
Netflix competitive landscapeNetflix competitive landscape
Netflix competitive landscape
 

Similar to Architecting applications in the AWS cloud

Building a Just-in-Time Application Stack for Analysts
Building a Just-in-Time Application Stack for AnalystsBuilding a Just-in-Time Application Stack for Analysts
Building a Just-in-Time Application Stack for AnalystsAvere Systems
 
Aws re invent 2018 recap
Aws re invent 2018 recapAws re invent 2018 recap
Aws re invent 2018 recapCloudHesive
 
[RightScale Webinar] Architecting Databases in the cloud: How RightScale Doe...
[RightScale Webinar] Architecting Databases in the cloud:  How RightScale Doe...[RightScale Webinar] Architecting Databases in the cloud:  How RightScale Doe...
[RightScale Webinar] Architecting Databases in the cloud: How RightScale Doe...RightScale
 
Cloud Has Become the New Normal: TCS
Cloud Has Become the New Normal: TCS Cloud Has Become the New Normal: TCS
Cloud Has Become the New Normal: TCS Amazon Web Services
 
NWCloud Cloud Track - Best Practices for Architecting in the Cloud
NWCloud Cloud Track - Best Practices for Architecting in the CloudNWCloud Cloud Track - Best Practices for Architecting in the Cloud
NWCloud Cloud Track - Best Practices for Architecting in the Cloudnwcloud
 
Scaling the Platform for Your Startup
Scaling the Platform for Your StartupScaling the Platform for Your Startup
Scaling the Platform for Your StartupAmazon Web Services
 
Cloud computing aws -key services
Cloud computing  aws -key servicesCloud computing  aws -key services
Cloud computing aws -key servicesSelvaraj Kesavan
 
Building RightScale's Globally Distributed Datastore - RightScale Compute 2013
Building RightScale's Globally Distributed Datastore - RightScale Compute 2013Building RightScale's Globally Distributed Datastore - RightScale Compute 2013
Building RightScale's Globally Distributed Datastore - RightScale Compute 2013RightScale
 
Cloud Architecture best practices
Cloud Architecture best practicesCloud Architecture best practices
Cloud Architecture best practicesOmid Vahdaty
 
Estimating the Total Costs of Your Cloud Analytics Platform
Estimating the Total Costs of Your Cloud Analytics PlatformEstimating the Total Costs of Your Cloud Analytics Platform
Estimating the Total Costs of Your Cloud Analytics PlatformDATAVERSITY
 
Building a Big Data & Analytics Platform using AWS
Building a Big Data & Analytics Platform using AWS Building a Big Data & Analytics Platform using AWS
Building a Big Data & Analytics Platform using AWS Amazon Web Services
 
AWS re:Invent 2016: Accenture Cloud Platform Serverless Journey (ARC202)
AWS re:Invent 2016: Accenture Cloud Platform Serverless Journey (ARC202)AWS re:Invent 2016: Accenture Cloud Platform Serverless Journey (ARC202)
AWS re:Invent 2016: Accenture Cloud Platform Serverless Journey (ARC202)Amazon Web Services
 
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 InfrastructureAmazon Web Services
 
Using Data Lakes: Data Analytics Week SF
Using Data Lakes: Data Analytics Week SFUsing Data Lakes: Data Analytics Week SF
Using Data Lakes: Data Analytics Week SFAmazon Web Services
 
Scaling the Platform for Your Startup - Startup Talks June 2015
Scaling the Platform for Your Startup - Startup Talks June 2015Scaling the Platform for Your Startup - Startup Talks June 2015
Scaling the Platform for Your Startup - Startup Talks June 2015Amazon Web Services
 
Lessons from Building Large-Scale, Multi-Cloud, SaaS Software at Databricks
Lessons from Building Large-Scale, Multi-Cloud, SaaS Software at DatabricksLessons from Building Large-Scale, Multi-Cloud, SaaS Software at Databricks
Lessons from Building Large-Scale, Multi-Cloud, SaaS Software at DatabricksDatabricks
 
AWS Cloud Kata 2013 | Singapore - Getting to Scale on AWS
AWS Cloud Kata 2013 | Singapore - Getting to Scale on AWSAWS Cloud Kata 2013 | Singapore - Getting to Scale on AWS
AWS Cloud Kata 2013 | Singapore - Getting to Scale on AWSAmazon Web Services
 
Managing application & instance state on AWS
Managing application & instance state on AWSManaging application & instance state on AWS
Managing application & instance state on AWSDavid Mat
 

Similar to Architecting applications in the AWS cloud (20)

Building a Just-in-Time Application Stack for Analysts
Building a Just-in-Time Application Stack for AnalystsBuilding a Just-in-Time Application Stack for Analysts
Building a Just-in-Time Application Stack for Analysts
 
Create cloud service on AWS
Create cloud service on AWSCreate cloud service on AWS
Create cloud service on AWS
 
Aws re invent 2018 recap
Aws re invent 2018 recapAws re invent 2018 recap
Aws re invent 2018 recap
 
[RightScale Webinar] Architecting Databases in the cloud: How RightScale Doe...
[RightScale Webinar] Architecting Databases in the cloud:  How RightScale Doe...[RightScale Webinar] Architecting Databases in the cloud:  How RightScale Doe...
[RightScale Webinar] Architecting Databases in the cloud: How RightScale Doe...
 
Cloud Has Become the New Normal: TCS
Cloud Has Become the New Normal: TCS Cloud Has Become the New Normal: TCS
Cloud Has Become the New Normal: TCS
 
Using Data Lakes
Using Data LakesUsing Data Lakes
Using Data Lakes
 
NWCloud Cloud Track - Best Practices for Architecting in the Cloud
NWCloud Cloud Track - Best Practices for Architecting in the CloudNWCloud Cloud Track - Best Practices for Architecting in the Cloud
NWCloud Cloud Track - Best Practices for Architecting in the Cloud
 
Scaling the Platform for Your Startup
Scaling the Platform for Your StartupScaling the Platform for Your Startup
Scaling the Platform for Your Startup
 
Cloud computing aws -key services
Cloud computing  aws -key servicesCloud computing  aws -key services
Cloud computing aws -key services
 
Building RightScale's Globally Distributed Datastore - RightScale Compute 2013
Building RightScale's Globally Distributed Datastore - RightScale Compute 2013Building RightScale's Globally Distributed Datastore - RightScale Compute 2013
Building RightScale's Globally Distributed Datastore - RightScale Compute 2013
 
Cloud Architecture best practices
Cloud Architecture best practicesCloud Architecture best practices
Cloud Architecture best practices
 
Estimating the Total Costs of Your Cloud Analytics Platform
Estimating the Total Costs of Your Cloud Analytics PlatformEstimating the Total Costs of Your Cloud Analytics Platform
Estimating the Total Costs of Your Cloud Analytics Platform
 
Building a Big Data & Analytics Platform using AWS
Building a Big Data & Analytics Platform using AWS Building a Big Data & Analytics Platform using AWS
Building a Big Data & Analytics Platform using AWS
 
AWS re:Invent 2016: Accenture Cloud Platform Serverless Journey (ARC202)
AWS re:Invent 2016: Accenture Cloud Platform Serverless Journey (ARC202)AWS re:Invent 2016: Accenture Cloud Platform Serverless Journey (ARC202)
AWS re:Invent 2016: Accenture Cloud Platform Serverless Journey (ARC202)
 
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
 
Using Data Lakes: Data Analytics Week SF
Using Data Lakes: Data Analytics Week SFUsing Data Lakes: Data Analytics Week SF
Using Data Lakes: Data Analytics Week SF
 
Scaling the Platform for Your Startup - Startup Talks June 2015
Scaling the Platform for Your Startup - Startup Talks June 2015Scaling the Platform for Your Startup - Startup Talks June 2015
Scaling the Platform for Your Startup - Startup Talks June 2015
 
Lessons from Building Large-Scale, Multi-Cloud, SaaS Software at Databricks
Lessons from Building Large-Scale, Multi-Cloud, SaaS Software at DatabricksLessons from Building Large-Scale, Multi-Cloud, SaaS Software at Databricks
Lessons from Building Large-Scale, Multi-Cloud, SaaS Software at Databricks
 
AWS Cloud Kata 2013 | Singapore - Getting to Scale on AWS
AWS Cloud Kata 2013 | Singapore - Getting to Scale on AWSAWS Cloud Kata 2013 | Singapore - Getting to Scale on AWS
AWS Cloud Kata 2013 | Singapore - Getting to Scale on AWS
 
Managing application & instance state on AWS
Managing application & instance state on AWSManaging application & instance state on AWS
Managing application & instance state on AWS
 

More from Cloud Genius

Cloud computing Security
Cloud computing SecurityCloud computing Security
Cloud computing SecurityCloud Genius
 
From DVD in the mail to Streaming from the Cloud
From DVD in the mail to Streaming from the CloudFrom DVD in the mail to Streaming from the Cloud
From DVD in the mail to Streaming from the CloudCloud Genius
 
Network characteristics of the cloud
Network characteristics of the cloudNetwork characteristics of the cloud
Network characteristics of the cloudCloud Genius
 
Meeting application performance needs: Scaling up versus scaling out
Meeting application performance needs: Scaling up versus scaling outMeeting application performance needs: Scaling up versus scaling out
Meeting application performance needs: Scaling up versus scaling outCloud Genius
 
Understanding application requirements
Understanding application requirementsUnderstanding application requirements
Understanding application requirementsCloud Genius
 
Understanding business_requirements: Security_legal_compliance_budgets
Understanding business_requirements: Security_legal_compliance_budgetsUnderstanding business_requirements: Security_legal_compliance_budgets
Understanding business_requirements: Security_legal_compliance_budgetsCloud Genius
 
1. introduction to_cloud_services_architecture
1. introduction to_cloud_services_architecture1. introduction to_cloud_services_architecture
1. introduction to_cloud_services_architectureCloud Genius
 

More from Cloud Genius (7)

Cloud computing Security
Cloud computing SecurityCloud computing Security
Cloud computing Security
 
From DVD in the mail to Streaming from the Cloud
From DVD in the mail to Streaming from the CloudFrom DVD in the mail to Streaming from the Cloud
From DVD in the mail to Streaming from the Cloud
 
Network characteristics of the cloud
Network characteristics of the cloudNetwork characteristics of the cloud
Network characteristics of the cloud
 
Meeting application performance needs: Scaling up versus scaling out
Meeting application performance needs: Scaling up versus scaling outMeeting application performance needs: Scaling up versus scaling out
Meeting application performance needs: Scaling up versus scaling out
 
Understanding application requirements
Understanding application requirementsUnderstanding application requirements
Understanding application requirements
 
Understanding business_requirements: Security_legal_compliance_budgets
Understanding business_requirements: Security_legal_compliance_budgetsUnderstanding business_requirements: Security_legal_compliance_budgets
Understanding business_requirements: Security_legal_compliance_budgets
 
1. introduction to_cloud_services_architecture
1. introduction to_cloud_services_architecture1. introduction to_cloud_services_architecture
1. introduction to_cloud_services_architecture
 

Recently uploaded

Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Bluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfBluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfngoud9212
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDGMarianaLemus7
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024BookNet Canada
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraDeakin University
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 

Recently uploaded (20)

Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Bluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfBluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdf
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDG
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort ServiceHot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
 
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning era
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 

Architecting applications in the AWS cloud

  • 2. Help business apps move to the cloud 2 Problems facing Enterprise IT ¨  ever-growing datasets ¨  unpredictable traffic patterns ¨  demand for faster response times ¨  budget constraints
  • 3. Business Benefits of Cloud 3 ¨  With utility-style pricing - no fixed cost ¨  Just-in-Time Infrastructure ¨  More Efficient Resource Use ¨  Usage-Based Costing ¨  Reduced Time to Market
  • 4. Technical Benefits of Cloud Computing 4 ¨  Scriptable Infrastructure ¨  Auto-scaling ¨  Proactive Scaling ¨  More Efficient Development Life Cycle ¨  Improved Testability ¨  Disaster Recovery and Business Continuity ¨  "Overflow" the Traffic to the Cloud
  • 5. Understanding AWS Terminology 5 Your Application Payment AWS Worldwide Physical infrastructure (Geo Regions with multiple Availability Zones, Edge Locations) SimpleDBDomains SNSTopics SQSQueues CloudFront Simple Storage Service Objects and Buckets EC2 Instances (On-Demand, Spot, Reserved) Auto-scaling, Elastic LB, Cloud Watch SnapshotsEBS VolumesVPC RDS Elastic MapReduce JobFlows
  • 7. IaaS Scalable Hardware Layer Software Infrastructure Layer Grid Service Storage Service Queue Service
  • 8. Example: Storage Service Storage Service Storage Service Storage Service Storage Service New Server The data is automatically re-partitioned/re-balanced to take advantage of the new server added
  • 9. EC2 Machine Image (OS + Apps) Usage: •  Create Machine Image •  Deploy the image to S3 •  Start 1 or more instances •  Use it as regular machine(s) Main Options: •  Dynamic/Static IP •  Choose cores •  Choose locations •  Persistence via EBS
  • 10. Sample EC2 Use Cases Batch Processing §  All instances are configured with the same code §  Each instance operates on a subset of data §  Partitions are specified in a configuration file Web Service §  All instances are configured with the same code §  One or more instances are configured as load balancers (HAProxy for example) §  DNS Server distributes requests between load balancers
  • 11. EC2 vs. Web Hosting Company Good §  Instantly add new instances §  Full-control over the machines and choice of the environment §  Likely cheaper (but depends on your exact situation) Bad §  Need to put the images together and manage instances §  No dedicated technical support (but there is premium support and RightScale like solutions)
  • 12. S3 in a Nutshell Client Idea: •  Put/Get objects into buckets based on unique keys Main Features: •  Public/Private access •  Support for large objects Amazon S3 Bucket 1 Bucket N … Put object Get object
  • 13. Sample S3 Use Cases Image/Video storage §  Put your media once on S3 and then serve it up §  Reads are 10 times cheaper than writes! Serialize your Java Objects §  Define unique key based on the object attributes §  Write out binary serialized version to a stream §  Write bytes to S3 §  Read them back when needed
  • 14. Simple DB in a Nutshell Client Idea: •  Create flat database with auto-indexed tables Main Features: •  Each attribute is indexed •  Record structure is flexible •  Basic operators in queries •  Supports sorting Simple DB Domain Record 1 Put record Get record Query records Key1 Attributes: A1,A2… Record N Key2 Attributes: A1,A2… …
  • 15. Sample SimpleDB Use Cases Index Media files stored on S3 §  Use the same key as on S3 §  Write the record with each metadata element as attribute Store flat objects §  Use SimpleDB as a storage for non-nested data
  • 16. SQS in a Nutshell Writer Idea: •  Create an infinite asynchronous queue Main Features: •  Multiple queues •  Up to 4K messages •  Message Locking SQS Queue Message 1 Send Message Receive Message Message N … Reader
  • 17. Sample SQS Use Cases Twitter Friend Update §  For each update generate a task to update friends §  Process updates in order Publish/Subscribe §  Post messages to the queue to inform multiple subscribers Process Pipeline §  Use different queues to put, for example, and order through a pipeline
  • 18. One liner Descriptions ¨  Elastic IP: Allocate a static IP and assign to an instance ¨  CloudWatch: Monitor CPU utilization, disk r/w, & network traffic ¨  Auto-scaling group: Auto-scale based on metric from CloudWatch ¨  Elastic Load Balancing: Distribute incoming traffic to web instances ¨  Elastic Block Storage: network-attached persistent storage for EC2 ¨  Point-in-time EBS snapshots can be created and stored in S3 ¨  S3: distributed data store: store and retrieve objects in buckets ¨  Cloud Front: objects distributed & cached at multiple edge locations worldwide ¨  SimpleDB: a database w/ real-time querying of structured data ¨  RDS: a full-featured relational database in the cloud ¨  SQS: a reliable, scalable, hosted distributed queue for storing/retrieving messages ¨  Elastic MapReduce: a hosted Hadoop framework on EC2+S3 enabling custom JobFlows ¨  SNS: a way to notify applications or people from the cloud by creating Topics and using a publish-subscribe protocol ¨  VPC: extend your corporate network into a IPSEC private cloud contained within AWS ¨  Payment services: payment and billing services using Amazon's payment infrastructure. 18
  • 19. Building Scalable Architectures ¨  Cloud is infinitely scalable: Architect for scalability ¨  Identify the monolithic components and bottlenecks in your architecture ¨  Identify the areas where you cannot leverage the on-demand provisioning capabilities in your architecture ¨  Refactor your application in order to leverage the scalable infrastructure and take advantage of the cloud ¨  Characteristics of a truly scalable application ¤  Increasing resources results in a proportional increase in performance ¤  Cost per unit reduces as the number of units increases ¤  Handles heterogeneity ¤  Is operationally efficient and resilient 19
  • 20. Fear No Constraints ¨  Cloud might not have the exact specification of the resource that you have on-premise ¤  e.g., "Cloud does not provide X amount of RAM in a server" or "My database needs to have more IOPS than what I can get in a single instance” ¨  Even though you might not get an exact replica of your hardware in the cloud environment, you have the ability to get more of those resources in the cloud to compensate that need ¤  e.g., if the cloud does not give N GB RAM in a server, n  use a distributed cache like memcached or n  partition your data across multiple servers ¤  e.g., if your database need more read-heavy IOPS than what cloud offers, n  distribute the read load across a fleet of synchronized slaves or n  use a sharding algorithm that routes the data where it needs to be or n  use a database clustering solution ¨  Apparent constraints can be broken in ways that will improve the scalability and performance 20
  • 21. Cloud Administration ¨  SysAdmins/WebMasters transition into CloudMASTERS ¤  Tasks performed become even more interesting as CloudMASTERS learn more about applications and decide what's best for the business ¨  CloudMASTERS don’t need to provision servers and install software and wire up network devices ¤  Cloud infrastructure is programmable and encourages automation ¤  Grunt is replaced by few clicks and command line calls ¨  CloudMASTERS move up the technology stack and learn how to manage abstract cloud resources using scripts ¤  Learn new deployment methods and embrace new models (query parallelization, geo-redundancy, and asynchronous replication), ¤  rethink the architectural approach for data (sharding, horizontal partitioning, federating), and ¤  leverage different storage options available in the cloud for different types of datasets ¨  When architecting applications, businesses encourage more cross-pollination of knowledge between the two 21 ¨  app developers may not work closely with the sysadmin/webmasters who may not have a clue apps ¨  requires close cooperation between app devs and CloudMASTERS Traditional enterprise Cloud enterprise
  • 22. Design for auto recovery from Failure ¨  Failure will happen (period) ¨  Automated recovery from failure ¤  always design, implement, & deploy for auto recovery 22
  • 23. Be a pessimist ¨  Assume that ¤  hardware will fail ¤  outages will occur ¤  some disaster will strike ¤  your app will be slammed with more than expected load some day ¤  with time your application software will fail too ¨  Plan auto-recovery during design time 23
  • 24. Fault-tolerant Cloud Architecture ¨  What if a node in your system fails? ¤  How do you recognize failure? ¤  How do I replace that node? ¨  What are my app’s single points of failure? ¤  what if load balancer fails? n  a load balancer sits in front of an array of application servers ¤  What if the master node fails in a master/slave system? n  How does the failover occur? n  How is a new slave instantiated n  How does new slave sync with the master? 24
  • 25. Fault-tolerant Cloud Architecture ¨  What happens to my app if the dependent services changes its interface? ¨  What if downstream service times out or returns an exception? ¨  What if the cache keys grow beyond memory limit of an instance? 25
  • 26. Mechanism to handle failure ¨  Have a coherent backup and restore strategy for your data and automate it ¨  Build process threads that resume on reboot ¨  Allow the state of the system to re-sync by reloading messages from queues ¨  Keep preconfigured and pre-optimized virtual images to support strategies 2 and 3 on launch/boot ¨  Avoid in-memory sessions or user states; use data stores 26
  • 27. Impervious to reboots/re-launches ¨  If a controller instance dies, ¤  its brought up, and ¤  resumed to previous state ¤  as if no evil had happened 27
  • 30. greptheweb (using SQS and SimpleDB) ¨  greptheweb enables search query that gets Million Search Results (MSR) back as output 30 grep is a unix utility to search patterns hence the name greptheweb Input dataset regex getstatus ¨  output is filtered using regular expressions to narrow based on criteria