SlideShare ist ein Scribd-Unternehmen logo
1 von 55
Distributed-ness




            Robert Coup, Koordinates
                          http://rob.coup.net.nz/
                    robert.coup@koordinates.com
Me
What is it?


 “Distributed computing deals with hardware and
 software systems containing more than one processing
 element or storage element, concurrent processes, or
 multiple programs, running under a loosely or tightly
 controlled regime.” - Wikipedia




                                    http://en.wikipedia.org/wiki/Distributed_computing
What is it?


 Application architecture
 Independent components
 Dynamic resourcing
What is it?


 Distributed computing is not scaling
 Distributed computing can help you scale
 There are easier ways to scale short-term
Easier ways
Distributed problems



Break up my big problem into small chunks which can
be worked on in parallel or asynchronously.
Distributed applications


 Single application with a bunch of components
 Inter-dependency
 Components “load-up” differently
catinthehat.biz



 “great hats for your cats”
Little catinthehat.biz

     Load balancer

Cache            Media
         App

                 Storage
          DB
Worker
Bigger catinthehat.biz
             Load balancer

   Cache                                    Media
            App    App        App   +
   Cache                                    Media

                  DB     DB
   Worker

                                Storage +
   Worker
     +
Talking
Talking

 Components of a distributed app need to talk
Talking

 Components of a distributed app need to talk
 But should have minimal knowledge of each other
Talking

 Components of a distributed app need to talk
 But should have minimal knowledge of each other
Talking

 Components of a distributed app need to talk
 But should have minimal knowledge of each other


 Just like in code modules! “Decoupling”
Messaging


Point to point:
  Needs configuration
  Web services
Messaging

Queues:
 Publish-subscribe
 Amazon SQS
 Lots of others



                     http://aws.amazon.com/sqs/
Messaging

Peer-to-peer
  Jabber / XMPP
  Persistent
  connections
  Presence
Jabber at Koordinates

Brainz
  manages the work
Korrew
  does the work
Jabber @ Koordinates

Data imports have
20-25 inter-related
tasks
“Package” defines the
dependencies and
input data
Task Packages
Task Packages

Kerrows & Brainzs connect via XMPP
Task Packages

Kerrows & Brainzs connect via XMPP
Brainz publishes tasks via PubSub
Task Packages

Kerrows & Brainzs connect via XMPP
Brainz publishes tasks via PubSub
Kerrow negotiates for tasks, then does them
Task Packages

Kerrows & Brainzs connect via XMPP
Brainz publishes tasks via PubSub
Kerrow negotiates for tasks, then does them
Brainz notified on task completion/error
Task Packages

Kerrows & Brainzs connect via XMPP
Brainz publishes tasks via PubSub
Kerrow negotiates for tasks, then does them
Brainz notified on task completion/error
If Kerrows go offline, tasks are re-assigned
Bots

Via IM, we can connect to
Brainz/Kerrow
Ask for status, cancel,
new tasks, …
And it can message us:
errors, info
Live Status

 Keep a live eye on whats
 going on
 Danga apps have
 terminal consoles (telnet)
 Otherwise you’re
 debugging via logs
Bigger catinthehat.biz
             Load balancer

   Cache                                      Media
            App    App        App   +
   Cache                                      Media

                  DB     DB
   Worker

                                Storage
   Worker                                 +
     +
Storage
Dump files
Get them back
Reliably
Quickly
In bulk
Backups
Amazon S3
- Simple Storage Service

Unlimited storage
Cheap!
  US$0.15 / GB / month
  US$0.10 / GB in & US$0.17 / GB out



                                       http://aws.amazon.com/s3/
Amazon S3
Not a hard disk or filesystem
Data is organised into namespaces (buckets)
  hatdesigns.catinthehat.biz
Within that: key-value pairs
Access via HTTP
Authentication / access-control
Open source version - mogilefs
                                          http://www.danga.com/mogilefs/
Amazon S3 - downsides


Eventual consistency
99.99% reliable = 1/10K requests fail
Will return errors
Amazon S3 - uses
Uses for catinthehat.biz?
  Customer photos of hats on cats
  Customer hat designs
  Story videos
  Manufacturing design files
  Backups
Bigger catinthehat.biz
             Load balancer

   Cache                                      Media
            App    App        App   +
   Cache                                      Media

                  DB     DB
   Worker

                                Storage
   Worker                                 +
                                    S3
     +
Compute power

Supply & demand


Supply costs
Demand is hard to
manage
Amazon EC2
- Elastic Compute Cloud

Virtual servers on demand
From US$0.10 - US$0.80 / hour
Linux & Windows, 1-8 cores, 1.7-15GB memory,
160GB-1.7TB local storage, 32/64bit
Permanent storage from US$0.10 / GB / month



                                        http://aws.amazon.com/ec2/
Amazon EC2


Turn capacity on & off at will
Ideal for batch processing
Ideal for dynamic loads
Amazon EC2

Not cheapest - US$70+/month for static server
Instances can be terminated at any time!
Organise configuration - Puppet, RightScale, Scalr
Need an app that is architected to handle it


                                                          http://slicehost.com/
                                               http://puppet.reductivelabs.com/
                                                   http://www.rightscale.com/
                                                http://code.google.com/p/scalr/
Amazon EC2 - uses

Uses for catinthehat.biz?
  converting customer designs
  creating story videos
  application servers
Bigger catinthehat.biz
                Load balancer

   Cache                                         Media
               App    App        App   +
                          EC2
   Cache                                         Media

                     DB     DB
   Worker

                                   Storage
   Worker                                    +
         EC2                           S3
     +
Google AppEngine

Auto-scaling web applications
Google hosts and runs
Access to BigTable, Image/Email/Cache/HTTP APIs
Restricted Python environment
Free to get started



                                       http://code.google.com/appengine/
Google AppEngine
Still in beta, no way of buying “extra” capacity
No offline/background processing
Time limits on requests
No file storage
Datastore isn’t SQL
Lock-in
Google AppEngine


Uses at catinthehat.biz?
  Facebook application?
  Prototypes?
MapReduce
Map Phase                 Reduce Phase
 Take a problem            Combine all the
                           answers to the chunk
 Chop it up into chunks
                           to get the real answer
 Distribute chunks to
 lots of workers to do




                                   http://en.wikipedia.org/wiki/MapReduce
MapReduce
Small atomic chunks of work
Run across acres of machines on masses of data
Easy to write (although problems need to “fit”)
Can be chained together


Open source versions - Hadoop, others

                                         http://en.wikipedia.org/wiki/MapReduce
                                                        http://hadoop.apache.org/
MapReduce
Use at catinthehat.biz?
  Find most popular non-English words in user stories:
MapReduce
Use at catinthehat.biz?
  Find most popular non-English words in user stories:
 def map(document):
   for word in document:
     if not isEnglishWord(word):
       yield (word,1)
MapReduce
Use at catinthehat.biz?
  Find most popular non-English words in user stories:
 def map(document):
   for word in document:
     if not isEnglishWord(word):
       yield (word,1)

 def reduce(word, partialCounts):
   return sum(partialCounts)
So

De-couple application components
Figure out a messaging strategy
Monitor your apps live
Vertical scaling is cheaper short-term
So


On demand storage (S3) & compute power (EC2)
Google App Engine for simple apps
Lots of tools available
“If you never did, you
should. These things
are fun, and fun is
good.” - Dr. Seuss

Weitere ähnliche Inhalte

Was ist angesagt?

Cloud computing infrastructure
Cloud computing infrastructureCloud computing infrastructure
Cloud computing infrastructuresinhhn
 
ThreeBase: Firebase in 3 minutes or less
ThreeBase: Firebase in 3 minutes or lessThreeBase: Firebase in 3 minutes or less
ThreeBase: Firebase in 3 minutes or lessMayank Mohan Upadhyay
 
2011 aug-gdd-mexico-city-high-replication-datastore
2011 aug-gdd-mexico-city-high-replication-datastore2011 aug-gdd-mexico-city-high-replication-datastore
2011 aug-gdd-mexico-city-high-replication-datastoreikailan
 
Firebase - realtime backend for mobile app and IoT
Firebase - realtime backend for mobile app and IoTFirebase - realtime backend for mobile app and IoT
Firebase - realtime backend for mobile app and IoTAndri Yadi
 
What is App Engine? O
What is App Engine? OWhat is App Engine? O
What is App Engine? Oikailan
 
Waking the Data Scientist at 2am: Detect Model Degradation on Production Mod...
Waking the Data Scientist at 2am:  Detect Model Degradation on Production Mod...Waking the Data Scientist at 2am:  Detect Model Degradation on Production Mod...
Waking the Data Scientist at 2am: Detect Model Degradation on Production Mod...Chris Fregly
 
Firebase Dev Day Bangkok: Keynote
Firebase Dev Day Bangkok: KeynoteFirebase Dev Day Bangkok: Keynote
Firebase Dev Day Bangkok: KeynoteSittiphol Phanvilai
 
Scaling on AWS for the First 10 Million Users
Scaling on AWS for the First 10 Million Users Scaling on AWS for the First 10 Million Users
Scaling on AWS for the First 10 Million Users Amazon Web Services
 
Best Practices for Using Apache Spark on AWS
Best Practices for Using Apache Spark on AWSBest Practices for Using Apache Spark on AWS
Best Practices for Using Apache Spark on AWSAmazon Web Services
 
Data normalization across API interactions
Data normalization across API interactionsData normalization across API interactions
Data normalization across API interactionsCloud Elements
 
Deep Learning on AWS (November 2016)
Deep Learning on AWS (November 2016)Deep Learning on AWS (November 2016)
Deep Learning on AWS (November 2016)Julien SIMON
 
Data Replication Options in AWS (ARC302) | AWS re:Invent 2013
Data Replication Options in AWS (ARC302) | AWS re:Invent 2013Data Replication Options in AWS (ARC302) | AWS re:Invent 2013
Data Replication Options in AWS (ARC302) | AWS re:Invent 2013Amazon Web Services
 
Big data - Apache Hadoop for Beginner's
Big data - Apache Hadoop for Beginner'sBig data - Apache Hadoop for Beginner's
Big data - Apache Hadoop for Beginner'ssenthil0809
 
Google Cloud Platform - Cloud-Native Roadshow Stuttgart
Google Cloud Platform - Cloud-Native Roadshow StuttgartGoogle Cloud Platform - Cloud-Native Roadshow Stuttgart
Google Cloud Platform - Cloud-Native Roadshow StuttgartVMware Tanzu
 
Boot camp 2010_app_engine_101
Boot camp 2010_app_engine_101Boot camp 2010_app_engine_101
Boot camp 2010_app_engine_101ikailan
 
Adopting Java for the Serverless world at Serverless Meetup New York and Boston
Adopting Java for the Serverless world at Serverless Meetup New York and BostonAdopting Java for the Serverless world at Serverless Meetup New York and Boston
Adopting Java for the Serverless world at Serverless Meetup New York and BostonVadym Kazulkin
 
Automate Your Big Data Workflows (SVC201) | AWS re:Invent 2013
Automate Your Big Data Workflows (SVC201) | AWS re:Invent 2013Automate Your Big Data Workflows (SVC201) | AWS re:Invent 2013
Automate Your Big Data Workflows (SVC201) | AWS re:Invent 2013Amazon Web Services
 
Building Rich Mobile Apps with HTML5, CSS3 and JavaScript
Building Rich Mobile Apps with HTML5, CSS3 and JavaScriptBuilding Rich Mobile Apps with HTML5, CSS3 and JavaScript
Building Rich Mobile Apps with HTML5, CSS3 and JavaScriptSencha
 

Was ist angesagt? (20)

Cloud computing infrastructure
Cloud computing infrastructureCloud computing infrastructure
Cloud computing infrastructure
 
ThreeBase: Firebase in 3 minutes or less
ThreeBase: Firebase in 3 minutes or lessThreeBase: Firebase in 3 minutes or less
ThreeBase: Firebase in 3 minutes or less
 
2011 aug-gdd-mexico-city-high-replication-datastore
2011 aug-gdd-mexico-city-high-replication-datastore2011 aug-gdd-mexico-city-high-replication-datastore
2011 aug-gdd-mexico-city-high-replication-datastore
 
Firebase - realtime backend for mobile app and IoT
Firebase - realtime backend for mobile app and IoTFirebase - realtime backend for mobile app and IoT
Firebase - realtime backend for mobile app and IoT
 
What is App Engine? O
What is App Engine? OWhat is App Engine? O
What is App Engine? O
 
Waking the Data Scientist at 2am: Detect Model Degradation on Production Mod...
Waking the Data Scientist at 2am:  Detect Model Degradation on Production Mod...Waking the Data Scientist at 2am:  Detect Model Degradation on Production Mod...
Waking the Data Scientist at 2am: Detect Model Degradation on Production Mod...
 
Firebase Tech Talk By Atlogys
Firebase Tech Talk By AtlogysFirebase Tech Talk By Atlogys
Firebase Tech Talk By Atlogys
 
Firebase Dev Day Bangkok: Keynote
Firebase Dev Day Bangkok: KeynoteFirebase Dev Day Bangkok: Keynote
Firebase Dev Day Bangkok: Keynote
 
Scaling on AWS for the First 10 Million Users
Scaling on AWS for the First 10 Million Users Scaling on AWS for the First 10 Million Users
Scaling on AWS for the First 10 Million Users
 
Best Practices for Using Apache Spark on AWS
Best Practices for Using Apache Spark on AWSBest Practices for Using Apache Spark on AWS
Best Practices for Using Apache Spark on AWS
 
Data normalization across API interactions
Data normalization across API interactionsData normalization across API interactions
Data normalization across API interactions
 
AI on a PI
AI on a PIAI on a PI
AI on a PI
 
Deep Learning on AWS (November 2016)
Deep Learning on AWS (November 2016)Deep Learning on AWS (November 2016)
Deep Learning on AWS (November 2016)
 
Data Replication Options in AWS (ARC302) | AWS re:Invent 2013
Data Replication Options in AWS (ARC302) | AWS re:Invent 2013Data Replication Options in AWS (ARC302) | AWS re:Invent 2013
Data Replication Options in AWS (ARC302) | AWS re:Invent 2013
 
Big data - Apache Hadoop for Beginner's
Big data - Apache Hadoop for Beginner'sBig data - Apache Hadoop for Beginner's
Big data - Apache Hadoop for Beginner's
 
Google Cloud Platform - Cloud-Native Roadshow Stuttgart
Google Cloud Platform - Cloud-Native Roadshow StuttgartGoogle Cloud Platform - Cloud-Native Roadshow Stuttgart
Google Cloud Platform - Cloud-Native Roadshow Stuttgart
 
Boot camp 2010_app_engine_101
Boot camp 2010_app_engine_101Boot camp 2010_app_engine_101
Boot camp 2010_app_engine_101
 
Adopting Java for the Serverless world at Serverless Meetup New York and Boston
Adopting Java for the Serverless world at Serverless Meetup New York and BostonAdopting Java for the Serverless world at Serverless Meetup New York and Boston
Adopting Java for the Serverless world at Serverless Meetup New York and Boston
 
Automate Your Big Data Workflows (SVC201) | AWS re:Invent 2013
Automate Your Big Data Workflows (SVC201) | AWS re:Invent 2013Automate Your Big Data Workflows (SVC201) | AWS re:Invent 2013
Automate Your Big Data Workflows (SVC201) | AWS re:Invent 2013
 
Building Rich Mobile Apps with HTML5, CSS3 and JavaScript
Building Rich Mobile Apps with HTML5, CSS3 and JavaScriptBuilding Rich Mobile Apps with HTML5, CSS3 and JavaScript
Building Rich Mobile Apps with HTML5, CSS3 and JavaScript
 

Andere mochten auch

Grid'5000: Running a Large Instrument for Parallel and Distributed Computing ...
Grid'5000: Running a Large Instrument for Parallel and Distributed Computing ...Grid'5000: Running a Large Instrument for Parallel and Distributed Computing ...
Grid'5000: Running a Large Instrument for Parallel and Distributed Computing ...Frederic Desprez
 
International Journal of Distributed Computing and Technology vol 2 issue 1
International Journal of Distributed Computing and Technology vol 2 issue 1International Journal of Distributed Computing and Technology vol 2 issue 1
International Journal of Distributed Computing and Technology vol 2 issue 1JournalsPub www.journalspub.com
 
Grid – Distributed Computing at Scale
Grid – Distributed Computing at ScaleGrid – Distributed Computing at Scale
Grid – Distributed Computing at Scaleroyans
 
Distributed Computing & MapReduce
Distributed Computing & MapReduceDistributed Computing & MapReduce
Distributed Computing & MapReducecoolmirza143
 
Consensus in distributed computing
Consensus in distributed computingConsensus in distributed computing
Consensus in distributed computingRuben Tan
 
Distributed computing the Google way
Distributed computing the Google wayDistributed computing the Google way
Distributed computing the Google wayEduard Hildebrandt
 
High performance data center computing using manageable distributed computing
High performance data center computing using manageable distributed computingHigh performance data center computing using manageable distributed computing
High performance data center computing using manageable distributed computingJuniper Networks
 
Introduction to OpenDaylight & Application Development
Introduction to OpenDaylight & Application DevelopmentIntroduction to OpenDaylight & Application Development
Introduction to OpenDaylight & Application DevelopmentMichelle Holley
 
Concepts of Distributed Computing & Cloud Computing
Concepts of Distributed Computing & Cloud Computing Concepts of Distributed Computing & Cloud Computing
Concepts of Distributed Computing & Cloud Computing Hitesh Kumar Markam
 
Load Balancing In Distributed Computing
Load Balancing In Distributed ComputingLoad Balancing In Distributed Computing
Load Balancing In Distributed ComputingRicha Singh
 
Grid computing notes
Grid computing notesGrid computing notes
Grid computing notesSyed Mustafa
 
OpenStack and OpenDaylight: An Integrated IaaS for SDN/NFV
OpenStack and OpenDaylight: An Integrated IaaS for SDN/NFVOpenStack and OpenDaylight: An Integrated IaaS for SDN/NFV
OpenStack and OpenDaylight: An Integrated IaaS for SDN/NFVCloud Native Day Tel Aviv
 

Andere mochten auch (15)

Grid'5000: Running a Large Instrument for Parallel and Distributed Computing ...
Grid'5000: Running a Large Instrument for Parallel and Distributed Computing ...Grid'5000: Running a Large Instrument for Parallel and Distributed Computing ...
Grid'5000: Running a Large Instrument for Parallel and Distributed Computing ...
 
International Journal of Distributed Computing and Technology vol 2 issue 1
International Journal of Distributed Computing and Technology vol 2 issue 1International Journal of Distributed Computing and Technology vol 2 issue 1
International Journal of Distributed Computing and Technology vol 2 issue 1
 
Grid – Distributed Computing at Scale
Grid – Distributed Computing at ScaleGrid – Distributed Computing at Scale
Grid – Distributed Computing at Scale
 
Distributed Computing & MapReduce
Distributed Computing & MapReduceDistributed Computing & MapReduce
Distributed Computing & MapReduce
 
Consensus in distributed computing
Consensus in distributed computingConsensus in distributed computing
Consensus in distributed computing
 
Distributed computing the Google way
Distributed computing the Google wayDistributed computing the Google way
Distributed computing the Google way
 
BitCoin, P2P, Distributed Computing
BitCoin, P2P, Distributed ComputingBitCoin, P2P, Distributed Computing
BitCoin, P2P, Distributed Computing
 
High performance data center computing using manageable distributed computing
High performance data center computing using manageable distributed computingHigh performance data center computing using manageable distributed computing
High performance data center computing using manageable distributed computing
 
Introduction to OpenDaylight & Application Development
Introduction to OpenDaylight & Application DevelopmentIntroduction to OpenDaylight & Application Development
Introduction to OpenDaylight & Application Development
 
Concepts of Distributed Computing & Cloud Computing
Concepts of Distributed Computing & Cloud Computing Concepts of Distributed Computing & Cloud Computing
Concepts of Distributed Computing & Cloud Computing
 
Load Balancing In Distributed Computing
Load Balancing In Distributed ComputingLoad Balancing In Distributed Computing
Load Balancing In Distributed Computing
 
Grid computing notes
Grid computing notesGrid computing notes
Grid computing notes
 
Distributed Computing
Distributed ComputingDistributed Computing
Distributed Computing
 
OpenStack and OpenDaylight: An Integrated IaaS for SDN/NFV
OpenStack and OpenDaylight: An Integrated IaaS for SDN/NFVOpenStack and OpenDaylight: An Integrated IaaS for SDN/NFV
OpenStack and OpenDaylight: An Integrated IaaS for SDN/NFV
 
Distributed Computing
Distributed ComputingDistributed Computing
Distributed Computing
 

Ähnlich wie Distributed-ness: Distributed computing & the clouds

10 Pro Tips for scaling your startup from 0-10M users
10 Pro Tips for scaling your startup from 0-10M users10 Pro Tips for scaling your startup from 0-10M users
10 Pro Tips for scaling your startup from 0-10M usersAmazon Web Services
 
Front Range PHP NoSQL Databases
Front Range PHP NoSQL DatabasesFront Range PHP NoSQL Databases
Front Range PHP NoSQL DatabasesJon Meredith
 
Ch-ch-ch-ch-changes....Stitch Triggers - Andrew Morgan
Ch-ch-ch-ch-changes....Stitch Triggers - Andrew MorganCh-ch-ch-ch-changes....Stitch Triggers - Andrew Morgan
Ch-ch-ch-ch-changes....Stitch Triggers - Andrew MorganMongoDB
 
Big Data Goes Airborne. Propelling Your Big Data Initiative with Ironcluster ...
Big Data Goes Airborne. Propelling Your Big Data Initiative with Ironcluster ...Big Data Goes Airborne. Propelling Your Big Data Initiative with Ironcluster ...
Big Data Goes Airborne. Propelling Your Big Data Initiative with Ironcluster ...Precisely
 
Cloud Computing Bootcamp On The Google App Engine [v1.1]
Cloud Computing Bootcamp On The Google App Engine [v1.1]Cloud Computing Bootcamp On The Google App Engine [v1.1]
Cloud Computing Bootcamp On The Google App Engine [v1.1]Matthew McCullough
 
Serverless by Example: Building a Real-Time Chat System
Serverless by Example: Building a Real-Time Chat SystemServerless by Example: Building a Real-Time Chat System
Serverless by Example: Building a Real-Time Chat SystemAmazon Web Services
 
B3 - Business intelligence apps on aws
B3 - Business intelligence apps on awsB3 - Business intelligence apps on aws
B3 - Business intelligence apps on awsAmazon Web Services
 
UnConference for Georgia Southern Computer Science March 31, 2015
UnConference for Georgia Southern Computer Science March 31, 2015UnConference for Georgia Southern Computer Science March 31, 2015
UnConference for Georgia Southern Computer Science March 31, 2015Christopher Curtin
 
Hw09 Making Hadoop Easy On Amazon Web Services
Hw09   Making Hadoop Easy On Amazon Web ServicesHw09   Making Hadoop Easy On Amazon Web Services
Hw09 Making Hadoop Easy On Amazon Web ServicesCloudera, Inc.
 
Cloud Computing Primer: Using cloud computing tools in your museum
Cloud Computing Primer: Using cloud computing tools in your museumCloud Computing Primer: Using cloud computing tools in your museum
Cloud Computing Primer: Using cloud computing tools in your museumRobert J. Stein
 
Cloud Computing Workshop
Cloud Computing WorkshopCloud Computing Workshop
Cloud Computing WorkshopCharlie Moad
 
Interstella GTC: Monolith to Microservices with ECS
Interstella GTC: Monolith to Microservices with ECSInterstella GTC: Monolith to Microservices with ECS
Interstella GTC: Monolith to Microservices with ECSAmazon Web Services
 
AWS re:Invent 2016 recap (part 1)
AWS re:Invent 2016 recap (part 1)AWS re:Invent 2016 recap (part 1)
AWS re:Invent 2016 recap (part 1)Julien SIMON
 
AWS Summit Stockholm 2014 – B4 – Business intelligence on AWS
AWS Summit Stockholm 2014 – B4 – Business intelligence on AWSAWS Summit Stockholm 2014 – B4 – Business intelligence on AWS
AWS Summit Stockholm 2014 – B4 – Business intelligence on AWSAmazon Web Services
 
Advanced Serverless Apps With Step Functions
Advanced Serverless Apps With Step FunctionsAdvanced Serverless Apps With Step Functions
Advanced Serverless Apps With Step FunctionsAmazon Web Services
 
Advanced Serverless Apps With Step Functions
Advanced Serverless Apps With Step FunctionsAdvanced Serverless Apps With Step Functions
Advanced Serverless Apps With Step FunctionsAmazon Web Services
 

Ähnlich wie Distributed-ness: Distributed computing & the clouds (20)

10 Pro Tips for scaling your startup from 0-10M users
10 Pro Tips for scaling your startup from 0-10M users10 Pro Tips for scaling your startup from 0-10M users
10 Pro Tips for scaling your startup from 0-10M users
 
Front Range PHP NoSQL Databases
Front Range PHP NoSQL DatabasesFront Range PHP NoSQL Databases
Front Range PHP NoSQL Databases
 
Ch-ch-ch-ch-changes....Stitch Triggers - Andrew Morgan
Ch-ch-ch-ch-changes....Stitch Triggers - Andrew MorganCh-ch-ch-ch-changes....Stitch Triggers - Andrew Morgan
Ch-ch-ch-ch-changes....Stitch Triggers - Andrew Morgan
 
Big Data Goes Airborne. Propelling Your Big Data Initiative with Ironcluster ...
Big Data Goes Airborne. Propelling Your Big Data Initiative with Ironcluster ...Big Data Goes Airborne. Propelling Your Big Data Initiative with Ironcluster ...
Big Data Goes Airborne. Propelling Your Big Data Initiative with Ironcluster ...
 
Cloud Computing Bootcamp On The Google App Engine [v1.1]
Cloud Computing Bootcamp On The Google App Engine [v1.1]Cloud Computing Bootcamp On The Google App Engine [v1.1]
Cloud Computing Bootcamp On The Google App Engine [v1.1]
 
4K Media Workflows on AWS
4K Media Workflows on AWS4K Media Workflows on AWS
4K Media Workflows on AWS
 
Serverless by Example: Building a Real-Time Chat System
Serverless by Example: Building a Real-Time Chat SystemServerless by Example: Building a Real-Time Chat System
Serverless by Example: Building a Real-Time Chat System
 
B3 - Business intelligence apps on aws
B3 - Business intelligence apps on awsB3 - Business intelligence apps on aws
B3 - Business intelligence apps on aws
 
UnConference for Georgia Southern Computer Science March 31, 2015
UnConference for Georgia Southern Computer Science March 31, 2015UnConference for Georgia Southern Computer Science March 31, 2015
UnConference for Georgia Southern Computer Science March 31, 2015
 
Hw09 Making Hadoop Easy On Amazon Web Services
Hw09   Making Hadoop Easy On Amazon Web ServicesHw09   Making Hadoop Easy On Amazon Web Services
Hw09 Making Hadoop Easy On Amazon Web Services
 
Cloud Computing Primer: Using cloud computing tools in your museum
Cloud Computing Primer: Using cloud computing tools in your museumCloud Computing Primer: Using cloud computing tools in your museum
Cloud Computing Primer: Using cloud computing tools in your museum
 
Cloud Computing Workshop
Cloud Computing WorkshopCloud Computing Workshop
Cloud Computing Workshop
 
Interstella GTC: Monolith to Microservices with ECS
Interstella GTC: Monolith to Microservices with ECSInterstella GTC: Monolith to Microservices with ECS
Interstella GTC: Monolith to Microservices with ECS
 
AWS re:Invent 2016 recap (part 1)
AWS re:Invent 2016 recap (part 1)AWS re:Invent 2016 recap (part 1)
AWS re:Invent 2016 recap (part 1)
 
AWS Summit Stockholm 2014 – B4 – Business intelligence on AWS
AWS Summit Stockholm 2014 – B4 – Business intelligence on AWSAWS Summit Stockholm 2014 – B4 – Business intelligence on AWS
AWS Summit Stockholm 2014 – B4 – Business intelligence on AWS
 
Advanced Serverless Apps With Step Functions
Advanced Serverless Apps With Step FunctionsAdvanced Serverless Apps With Step Functions
Advanced Serverless Apps With Step Functions
 
Advanced Serverless Apps With Step Functions
Advanced Serverless Apps With Step FunctionsAdvanced Serverless Apps With Step Functions
Advanced Serverless Apps With Step Functions
 
CouchDB
CouchDBCouchDB
CouchDB
 
Serverless: State Of the Union
Serverless: State Of the UnionServerless: State Of the Union
Serverless: State Of the Union
 
Serverless - State Of the Union
Serverless - State Of the UnionServerless - State Of the Union
Serverless - State Of the Union
 

Mehr von Robert Coup

Curtailing Crustaceans with Geeky Enthusiasm
Curtailing Crustaceans with Geeky EnthusiasmCurtailing Crustaceans with Geeky Enthusiasm
Curtailing Crustaceans with Geeky EnthusiasmRobert Coup
 
Monitoring and Debugging your Live Applications
Monitoring and Debugging your Live ApplicationsMonitoring and Debugging your Live Applications
Monitoring and Debugging your Live ApplicationsRobert Coup
 
/me wants it. Scraping sites to get data.
/me wants it. Scraping sites to get data./me wants it. Scraping sites to get data.
/me wants it. Scraping sites to get data.Robert Coup
 
Map Analytics - Ignite Spatial
Map Analytics - Ignite SpatialMap Analytics - Ignite Spatial
Map Analytics - Ignite SpatialRobert Coup
 
Twisted: a quick introduction
Twisted: a quick introductionTwisted: a quick introduction
Twisted: a quick introductionRobert Coup
 
Geo-Processing in the Clouds
Geo-Processing in the CloudsGeo-Processing in the Clouds
Geo-Processing in the CloudsRobert Coup
 
Maps are Fun - Why not on the web?
Maps are Fun - Why not on the web?Maps are Fun - Why not on the web?
Maps are Fun - Why not on the web?Robert Coup
 
Fame and Fortune from Open Source
Fame and Fortune from Open SourceFame and Fortune from Open Source
Fame and Fortune from Open SourceRobert Coup
 

Mehr von Robert Coup (9)

Curtailing Crustaceans with Geeky Enthusiasm
Curtailing Crustaceans with Geeky EnthusiasmCurtailing Crustaceans with Geeky Enthusiasm
Curtailing Crustaceans with Geeky Enthusiasm
 
Monitoring and Debugging your Live Applications
Monitoring and Debugging your Live ApplicationsMonitoring and Debugging your Live Applications
Monitoring and Debugging your Live Applications
 
/me wants it. Scraping sites to get data.
/me wants it. Scraping sites to get data./me wants it. Scraping sites to get data.
/me wants it. Scraping sites to get data.
 
Map Analytics - Ignite Spatial
Map Analytics - Ignite SpatialMap Analytics - Ignite Spatial
Map Analytics - Ignite Spatial
 
Twisted: a quick introduction
Twisted: a quick introductionTwisted: a quick introduction
Twisted: a quick introduction
 
Django 101
Django 101Django 101
Django 101
 
Geo-Processing in the Clouds
Geo-Processing in the CloudsGeo-Processing in the Clouds
Geo-Processing in the Clouds
 
Maps are Fun - Why not on the web?
Maps are Fun - Why not on the web?Maps are Fun - Why not on the web?
Maps are Fun - Why not on the web?
 
Fame and Fortune from Open Source
Fame and Fortune from Open SourceFame and Fortune from Open Source
Fame and Fortune from Open Source
 

Kürzlich hochgeladen

Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
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
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
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
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 

Kürzlich hochgeladen (20)

Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
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
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
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...
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 

Distributed-ness: Distributed computing & the clouds

  • 1. Distributed-ness Robert Coup, Koordinates http://rob.coup.net.nz/ robert.coup@koordinates.com
  • 2. Me
  • 3. What is it? “Distributed computing deals with hardware and software systems containing more than one processing element or storage element, concurrent processes, or multiple programs, running under a loosely or tightly controlled regime.” - Wikipedia http://en.wikipedia.org/wiki/Distributed_computing
  • 4.
  • 5. What is it? Application architecture Independent components Dynamic resourcing
  • 6. What is it? Distributed computing is not scaling Distributed computing can help you scale There are easier ways to scale short-term
  • 8. Distributed problems Break up my big problem into small chunks which can be worked on in parallel or asynchronously.
  • 9. Distributed applications Single application with a bunch of components Inter-dependency Components “load-up” differently
  • 10. catinthehat.biz “great hats for your cats”
  • 11.
  • 12. Little catinthehat.biz Load balancer Cache Media App Storage DB Worker
  • 13. Bigger catinthehat.biz Load balancer Cache Media App App App + Cache Media DB DB Worker Storage + Worker +
  • 15. Talking Components of a distributed app need to talk
  • 16. Talking Components of a distributed app need to talk But should have minimal knowledge of each other
  • 17. Talking Components of a distributed app need to talk But should have minimal knowledge of each other
  • 18. Talking Components of a distributed app need to talk But should have minimal knowledge of each other Just like in code modules! “Decoupling”
  • 19. Messaging Point to point: Needs configuration Web services
  • 20. Messaging Queues: Publish-subscribe Amazon SQS Lots of others http://aws.amazon.com/sqs/
  • 21. Messaging Peer-to-peer Jabber / XMPP Persistent connections Presence
  • 22. Jabber at Koordinates Brainz manages the work Korrew does the work
  • 23. Jabber @ Koordinates Data imports have 20-25 inter-related tasks “Package” defines the dependencies and input data
  • 25. Task Packages Kerrows & Brainzs connect via XMPP
  • 26. Task Packages Kerrows & Brainzs connect via XMPP Brainz publishes tasks via PubSub
  • 27. Task Packages Kerrows & Brainzs connect via XMPP Brainz publishes tasks via PubSub Kerrow negotiates for tasks, then does them
  • 28. Task Packages Kerrows & Brainzs connect via XMPP Brainz publishes tasks via PubSub Kerrow negotiates for tasks, then does them Brainz notified on task completion/error
  • 29. Task Packages Kerrows & Brainzs connect via XMPP Brainz publishes tasks via PubSub Kerrow negotiates for tasks, then does them Brainz notified on task completion/error If Kerrows go offline, tasks are re-assigned
  • 30. Bots Via IM, we can connect to Brainz/Kerrow Ask for status, cancel, new tasks, … And it can message us: errors, info
  • 31. Live Status Keep a live eye on whats going on Danga apps have terminal consoles (telnet) Otherwise you’re debugging via logs
  • 32. Bigger catinthehat.biz Load balancer Cache Media App App App + Cache Media DB DB Worker Storage Worker + +
  • 33. Storage Dump files Get them back Reliably Quickly In bulk Backups
  • 34. Amazon S3 - Simple Storage Service Unlimited storage Cheap! US$0.15 / GB / month US$0.10 / GB in & US$0.17 / GB out http://aws.amazon.com/s3/
  • 35. Amazon S3 Not a hard disk or filesystem Data is organised into namespaces (buckets) hatdesigns.catinthehat.biz Within that: key-value pairs Access via HTTP Authentication / access-control Open source version - mogilefs http://www.danga.com/mogilefs/
  • 36. Amazon S3 - downsides Eventual consistency 99.99% reliable = 1/10K requests fail Will return errors
  • 37. Amazon S3 - uses Uses for catinthehat.biz? Customer photos of hats on cats Customer hat designs Story videos Manufacturing design files Backups
  • 38. Bigger catinthehat.biz Load balancer Cache Media App App App + Cache Media DB DB Worker Storage Worker + S3 +
  • 39. Compute power Supply & demand Supply costs Demand is hard to manage
  • 40. Amazon EC2 - Elastic Compute Cloud Virtual servers on demand From US$0.10 - US$0.80 / hour Linux & Windows, 1-8 cores, 1.7-15GB memory, 160GB-1.7TB local storage, 32/64bit Permanent storage from US$0.10 / GB / month http://aws.amazon.com/ec2/
  • 41. Amazon EC2 Turn capacity on & off at will Ideal for batch processing Ideal for dynamic loads
  • 42. Amazon EC2 Not cheapest - US$70+/month for static server Instances can be terminated at any time! Organise configuration - Puppet, RightScale, Scalr Need an app that is architected to handle it http://slicehost.com/ http://puppet.reductivelabs.com/ http://www.rightscale.com/ http://code.google.com/p/scalr/
  • 43. Amazon EC2 - uses Uses for catinthehat.biz? converting customer designs creating story videos application servers
  • 44. Bigger catinthehat.biz Load balancer Cache Media App App App + EC2 Cache Media DB DB Worker Storage Worker + EC2 S3 +
  • 45. Google AppEngine Auto-scaling web applications Google hosts and runs Access to BigTable, Image/Email/Cache/HTTP APIs Restricted Python environment Free to get started http://code.google.com/appengine/
  • 46. Google AppEngine Still in beta, no way of buying “extra” capacity No offline/background processing Time limits on requests No file storage Datastore isn’t SQL Lock-in
  • 47. Google AppEngine Uses at catinthehat.biz? Facebook application? Prototypes?
  • 48. MapReduce Map Phase Reduce Phase Take a problem Combine all the answers to the chunk Chop it up into chunks to get the real answer Distribute chunks to lots of workers to do http://en.wikipedia.org/wiki/MapReduce
  • 49. MapReduce Small atomic chunks of work Run across acres of machines on masses of data Easy to write (although problems need to “fit”) Can be chained together Open source versions - Hadoop, others http://en.wikipedia.org/wiki/MapReduce http://hadoop.apache.org/
  • 50. MapReduce Use at catinthehat.biz? Find most popular non-English words in user stories:
  • 51. MapReduce Use at catinthehat.biz? Find most popular non-English words in user stories: def map(document): for word in document: if not isEnglishWord(word): yield (word,1)
  • 52. MapReduce Use at catinthehat.biz? Find most popular non-English words in user stories: def map(document): for word in document: if not isEnglishWord(word): yield (word,1) def reduce(word, partialCounts): return sum(partialCounts)
  • 53. So De-couple application components Figure out a messaging strategy Monitor your apps live Vertical scaling is cheaper short-term
  • 54. So On demand storage (S3) & compute power (EC2) Google App Engine for simple apps Lots of tools available
  • 55. “If you never did, you should. These things are fun, and fun is good.” - Dr. Seuss

Hinweis der Redaktion

  1. image: http://www.flickr.com/photos/erichews/2639564244/
  2. image: http://www.flickr.com/photos/anshul/2313406717/
  3. image: http://www.flickr.com/photos/sarkasmo/428860683/
  4. Awesome Web 2.0 site selling hats for cats. In addition to the store...
  5. Facebook app, online games, design-your-own hats, story writing with automatic creation of cat videos from your story, forums, blogs - you name it…
  6. image: http://www.bride.net/wp-content/uploads/2008/02/cat-in-the-hat.gif
  7. image: http://www.flickr.com/photos/abear23/1444321123/
  8. What happens when we get a bit bigger, and we start wanting more than one of anything? When we get load spikes and need 6 or 12 App servers, or 10 Workers rather than 2?
  9. 1 worker or 20 workers should be the same to the client, and it should just work if the worker dies mid-process.
  10. What components? background tasks, sessions,
  11. REST services are a great example here - search
  12. image: http://www.flickr.com/photos/ysgellery/3103708893/
  13. Polling is a concern with many systems
  14. image: http://www.flickr.com/photos/90001203@N00/172506278/
  15. image: http://www.flickr.com/photos/75166820@N00/221373872/
  16. image: http://www.flickr.com/photos/livinginmonrovia/85868861/
  17. image: http://www.businessballs.com/project.htm
  18. image: http://www.flickr.com/photos/donsolo/166981992/
  19. Really easy with Twisted to add a SSH/Telnet shell
  20. image: http://www.flickr.com/photos/dwstucke/6045801/
  21. What happens when we get a bit bigger, and we start wanting more than one of anything? When we get load spikes and need 6 or 12 App servers, or 10 Workers rather than 2?
  22. image: http://www.flickr.com/photos/whatknot/12974821/
  23. $1.80/GB/year
  24. Keys can be 1KB, and values(objects) can be up to 5GB
  25. APIs for every language means its easy to incorporate into offline applications as well
  26. Clever access control allows you to delegate authorization
  27. Eventual consistency means that when your PUT request returns, it’ll be in at least 2 datacenters. But it might not be replicated across all of S3 yet, so an immediate GET request might return a not-found error. Likewise with 2 concurrent writes, it’ll take a while for (a random) one to win.
  28. What happens when we get a bit bigger, and we start wanting more than one of anything? When we get load spikes and need 6 or 12 App servers, or 10 Workers rather than 2?
  29. image: http://www.flickr.com/photos/phantomkitty/259379993/
  30. Generating 60 million map tiles in a few hours for $40
  31. Video encoding
  32. Facebook apps with 300K users signing up in 24 hours
  33. So now we can have as many App servers as needed, and as many Workers as needed
  34. Used for indexing the web.
  35. Geo-example: finding closest servo for any point on a road network