Rapidly Building & Deploying ScalableWeb ProductsKeith Fitzgerald2001 University of ScrantonCTO TicketLeap.com@ghostrocket
Quick History 2001-2006: Primarily Java Development for DoD. RIA Development in JS/HTML/CSS/Flash 2006-2009: Mixed Language Development. Java & .NET. Architected Production Stack for NFL.com Team Web Properties 2009-Present: Technical Lead on TicketLeap.com. Python/Django running on AWS. Featured in AWS Case Study and various PR efforts.
Goal of this TalkArchitectures Scale, not Prorgramming Languages/Frameworks.Scale slides both ways. We can run a replica of the TicketLeap stackat $100/mo.Launching a product that can scale upon traction has never beeneasier.Whoever iterates the fastest wins.
TicketLeap Story Team of 4 Developers and 1 QA vs our competitors teams of 40+ devs. Hobby projects gave me the knowledge/comfort to roll this architecture. We don’t own a single server (everything hosted) Spent the time upfront to standup a Continuous Deployment system and process. Major releases every month and minor releases a few times a week. Can scale on demand or automatically.
Source Control / Bug Tracking What is Git? http://github.com offers hosted revision control, bug tracking, wikis, and a great workﬂow for integrating/patching open source libraries. Pricing Starts at $7/mo. Free for open source projects.
Continuous Integration What is Continuous Integration? http://integrityapp.com/ Cost $0 (open source and can be hosted for free.)
HerokuThink of Heroku as Cloud Middleware.Great place to get started without having to deal with the complexitiesof AWS EC2.Easy integration with Git/GitHub.Dead Simple Deployment/ScalingCost $0 for prototypes, $15/mo per background worker
Persistence PostGres/MySQL -> available via Heroku or AWS NoSQL -> many products/providers. MongoHQ for MongoDB, Cloudant for Couchdb, Cassandra.IO for Cassandra, etc $20-$60/mo
S3/CloudFront Never ever ever serve static ﬁles out of your application S3 is priced at $0.125/mo per GB CloudFront is $0.0075 per 10k HTTP/S requests
Scaling Databases can be sized vertically with a few commands. Partitioning schemes or horizontal scaling techniques are up to you. Dynos/Workers on heroku are one command. No Vendor lock in with Heroku. Easy drop into AWS, Joyent, or your own servers