SlideShare a Scribd company logo
1 of 11
Download to read offline
Deploying and Scaling with AWS
Matt Conway, VP Engineering
matt@snapmylife.com
About Us

   Company Profile
   •  Founded 2007                                Key Stats

   •  Tier 1 venture-backed              •  Launched April 2008

   •  Experienced team of eleven in      •  Mobile website (no
      Needham, MA                           download required),
                                            iPhone web/app, Internet
   •  Developer of direct-to-consumer
      mobile services                    •  1.5+ million unique
                                            visitors / month
                                         •  15+ million monthly page

   SnapMyLife Service                      views (Aug 2008)

   •    Mobile photo sharing community   •  Over 90% traffic from
                                            mobile devices
   •    Best mobile user experience
                                         •  Visitors from every
   •    Premium demographic                 country in the world
   •    Rapidly growing local & global   •  400,000+ registered users
        audience

                                                                    2
Screenshots
Mobile         iPhone




              Desktop
Overview


   EC2
   •  Entire web serving stack
   •  Daemons for background/batch processing
   •  Internal infrastructure

   S3
   •  Cheap CDN
   •  Backups for EC2

   Mechanical Turk
   •  Content filtering
   •  Content classification

                                                4
EC2 Costs


   Xen based cluster on leased hardware
  •    Time sink
  •    Not as flexible
  •    Slow to provision (Days vs Minutes)
  •    More expensive (~$1.8K/month)

   EC2/S3
  •    We hardly ever think about it, just use it
  •    Unlimited playground without fear of breakage
  •    Clone your entire production stack in minutes
  •    Works out cheaper (~$1.2K/month)

                                                       5
EC2/S3 Architecture


   Fairly standard architecture

   DNS – Web – App – Memcached - Mysql

   Assume and plan for failure

   Use a role based architecture to easily scale
    roles independently of each other (e.g. add
    an app server or db slave)

   Roles scale in as well as out – incredibly
    useful to have production cloned to a single
    instance for testing new features.


                                                   6
EC2 Instance Allocation

   Static Vs Dynamic instance allocation
   •  We went static route
   •  Our traffic graph pretty flat due to global nature
   •  Easier, dynamic cost savings not worth the extra
      complexity for us
   •  We watch our load carefully, given a critical alert, we
      can scale up in a matter of minutes by increasing the
      instance count for the impacted roles.

   All instance configuration lives in our source tree.
    New instances to handle any combination of roles is
    only a couple of commands and a few minutes away

   We open sourced our framework for doing so: The
    rubber project on github -
    http://github.com/wr0ngway/rubber/wikis

                                                                7
Mechanical Turk


   All of our content gets classified through turk

   Some of our content gets tagged

   We interact with turk solely through
    automation – large quantities preclude use
    of web interface

   Results were better than anticipated

   Incredibly quick turnaround, 24x7

   Very hard to match this performance given
    the hiring constraints of a startup

                                                  8
Mturk costs


   Depends a lot on how you do it

   Keep questions simple, pay less

   Multiple questions, better result

   Example of a months usage
   •  ~64K picture moderations (x3)
   •  ~28K pictures tagged
   •  Total Cost ~$3.3K (AWS commission $1.1K)




                                                 9
Things we’d like to see


   A reliable way to send mail from EC2

   Faster S3 response - New AWS CDN
    should address this

   Automatic billing for Mturk

   A better plan for large volume mturk usage –
    commission is normally 10%, but the half
    cent minimum makes it 50% if all you do
    are 1c HITs



                                               10
Questions?



   Contact
   Matthew Conway
   VP Engineering
   matt@snapmylife.com




                             11

More Related Content

What's hot

Amazon S3 storage engine plugin for MySQL
Amazon S3 storage engine plugin for MySQLAmazon S3 storage engine plugin for MySQL
Amazon S3 storage engine plugin for MySQL
Kapil Mohan
 
J&Js adventures with agency best practice & the hybrid MVC framework - Umbrac...
J&Js adventures with agency best practice & the hybrid MVC framework - Umbrac...J&Js adventures with agency best practice & the hybrid MVC framework - Umbrac...
J&Js adventures with agency best practice & the hybrid MVC framework - Umbrac...
Jeavon Leopold
 

What's hot (18)

Node.JS: Do you know the dependency of your dependencies dependency
Node.JS: Do you know the dependency of your dependencies dependencyNode.JS: Do you know the dependency of your dependencies dependency
Node.JS: Do you know the dependency of your dependencies dependency
 
WordCamp RVA 2011 - Performance & Tuning
WordCamp RVA 2011 - Performance & TuningWordCamp RVA 2011 - Performance & Tuning
WordCamp RVA 2011 - Performance & Tuning
 
Drupal 8 and NGINX
Drupal 8 and NGINX Drupal 8 and NGINX
Drupal 8 and NGINX
 
Presentation1
Presentation1Presentation1
Presentation1
 
109. Arquitecturas Escalables con GX
109. Arquitecturas Escalables con GX109. Arquitecturas Escalables con GX
109. Arquitecturas Escalables con GX
 
The MEAN stack - SoCalCodeCamp - june 29th 2014
The MEAN stack - SoCalCodeCamp - june 29th 2014The MEAN stack - SoCalCodeCamp - june 29th 2014
The MEAN stack - SoCalCodeCamp - june 29th 2014
 
Server-Side JavaScript with jQuery and AOLserver
Server-Side JavaScript with jQuery and AOLserverServer-Side JavaScript with jQuery and AOLserver
Server-Side JavaScript with jQuery and AOLserver
 
WordPress + NGINX Best Practices with EasyEngine
WordPress + NGINX Best Practices with EasyEngineWordPress + NGINX Best Practices with EasyEngine
WordPress + NGINX Best Practices with EasyEngine
 
Page Performance
Page PerformancePage Performance
Page Performance
 
005. a React project structure
005. a React project structure005. a React project structure
005. a React project structure
 
Rapid Application Development with MEAN Stack
Rapid Application Development with MEAN StackRapid Application Development with MEAN Stack
Rapid Application Development with MEAN Stack
 
High Performance - Joomla!Days NL 2009 #jd09nl
High Performance - Joomla!Days NL 2009 #jd09nlHigh Performance - Joomla!Days NL 2009 #jd09nl
High Performance - Joomla!Days NL 2009 #jd09nl
 
Understanding Page Load / Ziling Zhao (Google)
Understanding Page Load / Ziling Zhao (Google)Understanding Page Load / Ziling Zhao (Google)
Understanding Page Load / Ziling Zhao (Google)
 
More efficient, usable web
More efficient, usable webMore efficient, usable web
More efficient, usable web
 
PAC 2019 virtual Mark Tomlinson
PAC 2019 virtual Mark TomlinsonPAC 2019 virtual Mark Tomlinson
PAC 2019 virtual Mark Tomlinson
 
Amazon S3 storage engine plugin for MySQL
Amazon S3 storage engine plugin for MySQLAmazon S3 storage engine plugin for MySQL
Amazon S3 storage engine plugin for MySQL
 
002. Working with Webpack
002. Working with Webpack002. Working with Webpack
002. Working with Webpack
 
J&Js adventures with agency best practice & the hybrid MVC framework - Umbrac...
J&Js adventures with agency best practice & the hybrid MVC framework - Umbrac...J&Js adventures with agency best practice & the hybrid MVC framework - Umbrac...
J&Js adventures with agency best practice & the hybrid MVC framework - Umbrac...
 

Viewers also liked

Viewers also liked (15)

Pemrograman Komputer - 2
Pemrograman Komputer - 2Pemrograman Komputer - 2
Pemrograman Komputer - 2
 
Peluang bisnis internet
Peluang bisnis internetPeluang bisnis internet
Peluang bisnis internet
 
Collaboration in the Cloud (1)Software and the Next web
Collaboration in the Cloud (1)Software and the Next webCollaboration in the Cloud (1)Software and the Next web
Collaboration in the Cloud (1)Software and the Next web
 
Pengajuan model pengambilan data pada sistem pemilu di indonesia
Pengajuan model pengambilan data pada sistem pemilu di indonesiaPengajuan model pengambilan data pada sistem pemilu di indonesia
Pengajuan model pengambilan data pada sistem pemilu di indonesia
 
Komputasi Hijau Indonesia core concept
Komputasi Hijau Indonesia core conceptKomputasi Hijau Indonesia core concept
Komputasi Hijau Indonesia core concept
 
Pemrograman Komputer - Pertemuan 1
Pemrograman Komputer - Pertemuan 1Pemrograman Komputer - Pertemuan 1
Pemrograman Komputer - Pertemuan 1
 
ArabNet 2010 Pre-Conference Workshop in Cairo
ArabNet 2010 Pre-Conference Workshop in CairoArabNet 2010 Pre-Conference Workshop in Cairo
ArabNet 2010 Pre-Conference Workshop in Cairo
 
Deploying Rails on EC2 using Rubber (Slides Only)
Deploying Rails on EC2 using Rubber (Slides Only)Deploying Rails on EC2 using Rubber (Slides Only)
Deploying Rails on EC2 using Rubber (Slides Only)
 
Community marketing
Community marketingCommunity marketing
Community marketing
 
Cloud collaboration trends(3) strategy
Cloud collaboration trends(3) strategyCloud collaboration trends(3) strategy
Cloud collaboration trends(3) strategy
 
A push for g+
A push for g+A push for g+
A push for g+
 
Pembuatan materi ajar berbasis multimedia
Pembuatan materi ajar berbasis multimediaPembuatan materi ajar berbasis multimedia
Pembuatan materi ajar berbasis multimedia
 
Garuda Indonesia Airlines Acquisition Strategy
Garuda Indonesia Airlines Acquisition StrategyGaruda Indonesia Airlines Acquisition Strategy
Garuda Indonesia Airlines Acquisition Strategy
 
Referensi Jurnal IEEE untuk kepentingan penelitian pencarian orang berpengaru...
Referensi Jurnal IEEE untuk kepentingan penelitian pencarian orang berpengaru...Referensi Jurnal IEEE untuk kepentingan penelitian pencarian orang berpengaru...
Referensi Jurnal IEEE untuk kepentingan penelitian pencarian orang berpengaru...
 
Deploying Rails on EC2 using Rubber (Slides and Notes)
Deploying Rails on EC2 using Rubber (Slides and Notes)Deploying Rails on EC2 using Rubber (Slides and Notes)
Deploying Rails on EC2 using Rubber (Slides and Notes)
 

Similar to Deploying and Scaling using AWS

Tricks And Tradeoffs Of Deploying My Sql Clusters In The Cloud
Tricks And Tradeoffs Of Deploying My Sql Clusters In The CloudTricks And Tradeoffs Of Deploying My Sql Clusters In The Cloud
Tricks And Tradeoffs Of Deploying My Sql Clusters In The Cloud
MySQLConference
 
Rails Conf Europe 2007 Notes
Rails Conf  Europe 2007  NotesRails Conf  Europe 2007  Notes
Rails Conf Europe 2007 Notes
Ross Lawley
 
Inside Picnik: How We Built Picnik (and What We Learned Along the Way)
Inside Picnik: How We Built Picnik (and What We Learned Along the Way)Inside Picnik: How We Built Picnik (and What We Learned Along the Way)
Inside Picnik: How We Built Picnik (and What We Learned Along the Way)
jjhuff
 
From One to a Cluster
From One to a ClusterFrom One to a Cluster
From One to a Cluster
guestd34230
 
Peak Web Intro Deck W Colo Detail
Peak Web Intro Deck W  Colo DetailPeak Web Intro Deck W  Colo Detail
Peak Web Intro Deck W Colo Detail
slwelch
 
Peak Web Intro Deck W Colo Detail
Peak Web Intro Deck W  Colo DetailPeak Web Intro Deck W  Colo Detail
Peak Web Intro Deck W Colo Detail
slwelch
 
Coates bosc2010 clouds-fluff-and-no-substance
Coates bosc2010 clouds-fluff-and-no-substanceCoates bosc2010 clouds-fluff-and-no-substance
Coates bosc2010 clouds-fluff-and-no-substance
BOSC 2010
 

Similar to Deploying and Scaling using AWS (20)

Cloud Time
Cloud TimeCloud Time
Cloud Time
 
Magee Dday2 Fixing App Performance Italiano
Magee Dday2 Fixing App Performance ItalianoMagee Dday2 Fixing App Performance Italiano
Magee Dday2 Fixing App Performance Italiano
 
Tricks And Tradeoffs Of Deploying My Sql Clusters In The Cloud
Tricks And Tradeoffs Of Deploying My Sql Clusters In The CloudTricks And Tradeoffs Of Deploying My Sql Clusters In The Cloud
Tricks And Tradeoffs Of Deploying My Sql Clusters In The Cloud
 
Solaris Linux Performance, Tools and Tuning
Solaris Linux Performance, Tools and TuningSolaris Linux Performance, Tools and Tuning
Solaris Linux Performance, Tools and Tuning
 
Castles in the Cloud: Developing with Google App Engine
Castles in the Cloud: Developing with Google App EngineCastles in the Cloud: Developing with Google App Engine
Castles in the Cloud: Developing with Google App Engine
 
Rails Conf Europe 2007 Notes
Rails Conf  Europe 2007  NotesRails Conf  Europe 2007  Notes
Rails Conf Europe 2007 Notes
 
Scaling the Rails
Scaling the RailsScaling the Rails
Scaling the Rails
 
Yakiniku on the Cloud
Yakiniku on the CloudYakiniku on the Cloud
Yakiniku on the Cloud
 
Total Cost Of Ownership For ECM - Compares Documentum, SharePoint, OpenText a...
Total Cost Of Ownership For ECM - Compares Documentum, SharePoint, OpenText a...Total Cost Of Ownership For ECM - Compares Documentum, SharePoint, OpenText a...
Total Cost Of Ownership For ECM - Compares Documentum, SharePoint, OpenText a...
 
Web 2.0 101
Web 2.0 101Web 2.0 101
Web 2.0 101
 
Inside Picnik: How We Built Picnik (and What We Learned Along the Way)
Inside Picnik: How We Built Picnik (and What We Learned Along the Way)Inside Picnik: How We Built Picnik (and What We Learned Along the Way)
Inside Picnik: How We Built Picnik (and What We Learned Along the Way)
 
From One to a Cluster
From One to a ClusterFrom One to a Cluster
From One to a Cluster
 
Peak Web Intro Deck W Colo Detail
Peak Web Intro Deck W  Colo DetailPeak Web Intro Deck W  Colo Detail
Peak Web Intro Deck W Colo Detail
 
Peak Web Intro Deck W Colo Detail
Peak Web Intro Deck W  Colo DetailPeak Web Intro Deck W  Colo Detail
Peak Web Intro Deck W Colo Detail
 
Rails in the Cloud
Rails in the CloudRails in the Cloud
Rails in the Cloud
 
Coates bosc2010 clouds-fluff-and-no-substance
Coates bosc2010 clouds-fluff-and-no-substanceCoates bosc2010 clouds-fluff-and-no-substance
Coates bosc2010 clouds-fluff-and-no-substance
 
Java For The Cloud Presentation @ AlphaCSP's JavaEdge 2008
Java For The Cloud Presentation @ AlphaCSP's JavaEdge 2008Java For The Cloud Presentation @ AlphaCSP's JavaEdge 2008
Java For The Cloud Presentation @ AlphaCSP's JavaEdge 2008
 
MySQL Aquarium Paris
MySQL Aquarium ParisMySQL Aquarium Paris
MySQL Aquarium Paris
 
My Web Performance Dirty Secrets
My Web Performance Dirty SecretsMy Web Performance Dirty Secrets
My Web Performance Dirty Secrets
 
Abusing the Cloud for Fun and Profit
Abusing the Cloud for Fun and ProfitAbusing the Cloud for Fun and Profit
Abusing the Cloud for Fun and Profit
 

Recently uploaded

Recently uploaded (20)

Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 

Deploying and Scaling using AWS

  • 1. Deploying and Scaling with AWS Matt Conway, VP Engineering matt@snapmylife.com
  • 2. About Us   Company Profile •  Founded 2007 Key Stats •  Tier 1 venture-backed •  Launched April 2008 •  Experienced team of eleven in •  Mobile website (no Needham, MA download required), iPhone web/app, Internet •  Developer of direct-to-consumer mobile services •  1.5+ million unique visitors / month •  15+ million monthly page   SnapMyLife Service views (Aug 2008) •  Mobile photo sharing community •  Over 90% traffic from mobile devices •  Best mobile user experience •  Visitors from every •  Premium demographic country in the world •  Rapidly growing local & global •  400,000+ registered users audience 2
  • 3. Screenshots Mobile iPhone Desktop
  • 4. Overview   EC2 •  Entire web serving stack •  Daemons for background/batch processing •  Internal infrastructure   S3 •  Cheap CDN •  Backups for EC2   Mechanical Turk •  Content filtering •  Content classification 4
  • 5. EC2 Costs   Xen based cluster on leased hardware •  Time sink •  Not as flexible •  Slow to provision (Days vs Minutes) •  More expensive (~$1.8K/month)   EC2/S3 •  We hardly ever think about it, just use it •  Unlimited playground without fear of breakage •  Clone your entire production stack in minutes •  Works out cheaper (~$1.2K/month) 5
  • 6. EC2/S3 Architecture   Fairly standard architecture   DNS – Web – App – Memcached - Mysql   Assume and plan for failure   Use a role based architecture to easily scale roles independently of each other (e.g. add an app server or db slave)   Roles scale in as well as out – incredibly useful to have production cloned to a single instance for testing new features. 6
  • 7. EC2 Instance Allocation   Static Vs Dynamic instance allocation •  We went static route •  Our traffic graph pretty flat due to global nature •  Easier, dynamic cost savings not worth the extra complexity for us •  We watch our load carefully, given a critical alert, we can scale up in a matter of minutes by increasing the instance count for the impacted roles.   All instance configuration lives in our source tree. New instances to handle any combination of roles is only a couple of commands and a few minutes away   We open sourced our framework for doing so: The rubber project on github - http://github.com/wr0ngway/rubber/wikis 7
  • 8. Mechanical Turk   All of our content gets classified through turk   Some of our content gets tagged   We interact with turk solely through automation – large quantities preclude use of web interface   Results were better than anticipated   Incredibly quick turnaround, 24x7   Very hard to match this performance given the hiring constraints of a startup 8
  • 9. Mturk costs   Depends a lot on how you do it   Keep questions simple, pay less   Multiple questions, better result   Example of a months usage •  ~64K picture moderations (x3) •  ~28K pictures tagged •  Total Cost ~$3.3K (AWS commission $1.1K) 9
  • 10. Things we’d like to see   A reliable way to send mail from EC2   Faster S3 response - New AWS CDN should address this   Automatic billing for Mturk   A better plan for large volume mturk usage – commission is normally 10%, but the half cent minimum makes it 50% if all you do are 1c HITs 10
  • 11. Questions?   Contact Matthew Conway VP Engineering matt@snapmylife.com 11