• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Build a Smart App
 

Build a Smart App

on

  • 463 views

Presentation given at DreamIt Fall '11 Philly class. Build a smart at using new technologies that allow you to scale easier down to the road while keeping maintenance and costs low.

Presentation given at DreamIt Fall '11 Philly class. Build a smart at using new technologies that allow you to scale easier down to the road while keeping maintenance and costs low.

Statistics

Views

Total Views
463
Views on SlideShare
461
Embed Views
2

Actions

Likes
1
Downloads
6
Comments
0

2 Embeds 2

https://www.rebelmouse.com 1
https://twitter.com 1

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Build a Smart App Build a Smart App Presentation Transcript

    • Ryan Hubbard
      Build a Smart App
    • Who Am I?
      I Am You!
      Just fast forward 4 yrs, add luck & late nights
      Combination of Biz & Tech
      Worked on high velocity web apps
      2 Startups
      eVariant - MyHealthConnect.com
      Yellow Hammer Media
      Geo Marketing Technology
    • An Archaic Question
      “Build it Fast or Build it to Last?”
      Build it Smart!
    • Build It Smart
      Ingredients
      Low Cost
      Scalable
      Horizontal
      Vertical
      HA (High Availability)
      Maintainable
      GeoSmart or GSLB (Global Server Load Balancing)
      Multiple Layers working Together
      DNS, File Serving, CDN, etc
      Don’t Implement just Plan for it
      (Procrastination can be a good thing)
    • Shiny Balls
      Don’t be Distracted by Shiny Balls
      Don’t use it just because it’s cool
      Focus on what you know
      Leverage Experts
      If all else fails, build it fast
    • Web Servers
      IIS, Apache Rule w/ 80%
      But they are overhead pigs
      c10K Problem
      Event Driven / Newer Web Servers
      Node.js
      Nginx (lighttpd)
      Twisted (Tornedo)
    • Web Servers - Node.js
      Created by Ryan Dahl in 2009 (Sponsored by Joyent)
      Non Blocking, Event Driven (Not just a web server)
      Single Threaded (use Cluster, Monitoring is a pain)
      JavaScript based
      Use Cases
      Push/Streaming Notification Stacks – Socket IO (SocketStream)
      Super Fast Simple Apps
      Ex: Pixel Tracking (Click Redirect, Conversion, UI in Rails/PHP)
      c10K Problem is not a problem
      Don’t Use It For
      Complex Apps
      Regular Web Server
    • Web Servers - Other
      Nginx
      c10k is not a problem, Single Threaded like Node
      Easy to Use 7.65% of the Web
      Great for
      Content Serving (CDNs), Load Balancing
      Alt to Apache to reduce memory and overhead
      Twisted / Tornado
      Event Driven based off of Ruby’s Event Machine
      Great for High
      C10k, Performance Needs
      Long Polling
      HTTP Streaming
    • Databases
      SQL
      MySQL, Postgres, SQL Server, etc
      Big Data
      Vertica, Greenplum, Netezza, Teradata
      NoSQL
      MongoDb, Cassandra, Redis, Riak, etc
      MoSQL
      Cassandra
      NewSQL
      VoltDB
    • Databases - MongoDB
      NoSQL version of MySQL
      Fast, Scalable, HA, MapReduce
      Tons of Community Support
      Use Cases
      Capped Collections – Great for Event logging
      Async Transactions – Great for Analytics
      Don’t Use it For
      Large data sets – 100-200GB+
      Vertica, Greenplum, Netezza, Teradata
    • Databases – Vertica
      Developed by Michael Stonebraker
      Big Data – Tera or Petra
      Use Cases
      Lots of dataneed HA on cheap machines
      Correlation queries (Zynga)
      Swallow vast data sets quickly (5 TB in 1 hour)
      History
      Its Bad At
      OLTP
    • Databases – Cassandra
      Developed by Facebook, No Apache Project
      NoSQL & MoSQL
      CQL
      Use Cases
      Counters
      Advanced Replication (GeoSmart)
      Super Fast Memory to Disk
      Its Bad At
      OLTP Relational Data
    • Databases – VoltDB
      Created by Michael Stronebraker
      NewSQL? – Fast Relational Data
      Relational in Memory lightning fast
      HA, Shared Nothing, Self Healing
      1.6 million transactions /sec on commodity servers
      Use Cases
      Real Time Analytics
      OLTP
      Schemas that don’t change
      Don’t Use It for
      Schemas that change often
      Complicated replicated
      Large data sets
    • Databases – VoltDB
      Created by Michael Stronebraker
      NewSQL? – Fast Relational Data
      Relational in Memory lightning fast
      HA, Shared Nothing, Self Healing
      1.6 million transactions /sec on commodity servers
      Use Cases
      Real Time Analytics
      OLTP
      Schemas that don’t change
      Don’t Use It for
      Schemas that change often
      Complicated replicated
      Large data sets
    • Cloud Serving / DNS
      AWS, Rackspace, Linode, Firehost
      I like AWS
      EC2 (Auto Scaling)
      ElisticMap Reduce
      S3, CloudFront
      Databases – RDS, SimpleDB
      ElastiCache
      ElasticBeanstalk & CloudFormation
      Route 53 (not UltraDNS)
      Dyn
      $30 - $200 / month
      GSLB
      Round Robin / Fail Over
    • GeoMarketing App w/ Real Time Reports
      1 Ad can produce 130 Million Inserts / day
      Running on EC2
      Poor I/O & Network
      Tried
      MySQL (NDB), Cassandra, Redis, Riak
      Solution
      VoltDB stores 2 hours of data
      Dump stats to MySQL
      Dump rows out to Vertica (BigData)
      Reporting – Aggregate query of Volt & MySQL
    • Thank You !
      Questions?