Your SlideShare is downloading. ×
0
Build a Smart App
Build a Smart App
Build a Smart App
Build a Smart App
Build a Smart App
Build a Smart App
Build a Smart App
Build a Smart App
Build a Smart App
Build a Smart App
Build a Smart App
Build a Smart App
Build a Smart App
Build a Smart App
Build a Smart App
Build a Smart App
Build a Smart App
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Build a Smart App

384

Published on

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.

Published in: Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
384
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
8
Comments
0
Likes
2
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

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

×