Yipit is the largest daily deal aggregator in the US with 20 employees and 40+ servers hosted on AWS. It was built using Python, Django, Nginx, Gunicorn, Celery, MySQL, MongoDB, Redis and DynamoDB. AWS services currently used include S3, EC2, CloudWatch, CloudFront, RDS, ElastiCache, SQS, IAM, Route53 and DynamoDB. AWS provides benefits like speed of iteration, infrastructure as code, leveraging AWS expertise, and automation which helps Yipit as a startup. Yipit monitors its infrastructure using New Relic, Django Sentry, Papertrail, AppFirst and Stathat.
2. Who is Yipit?
● Largest Daily Deal Aggregator in the US
● Made in New York
● Launched February 2010
● 20+ Employees
○ 12 Developers (who still interact with systems)
○ 1 Sysadmin (who still works with the codebase)
● 40+ Servers (Production and Staging)
● 500,000+ Consumers
3. What is Yipit built on?
Core Technologies:
● Python
● Django
● Nginx/Gunicorn
● Celery (Queues) Data Stores:
● MySQL
○ RDS
● MongoDB
○ Sharded
● Redis
● DynamoDB
4. How do we use AWS?
What we use now What will we try soon
○ S3 ○ More Dynamo
○ EC2 ○ Cloud Search
○ CloudWatch ○ VPC
○ CloudFront ○ Elastic MapReduce
○ RDS
○ ElastiCache
○ SQS
○ IAM
○ Route53
○ DynamoDB
○ Mechanical Turk
■ Via Crowdflower
5. AWS Value for Systems
● Speed of Iteration
● Can A/B test
infrastructure.
○ Low cost of failure.
● Infrastructure as
Code
6. AWS Value for Startups
● Time Management ● Expertise vs Money
○ Management ○ Can't know
overhead everything
○ Best Practices ○ Leverage what
■ Some Secret others know
AWS Sauce in ■ Cheaper than
services spending time on
○ Automation it
7. Perils
● Keep Track of Your Infrastructure
○ Configuration Management
● Optimize Your Costs
○ Reserved/Spot Instances
● Assume Distributed Infrastructure
○ Ok to ignore while only a few servers
○ Use Queues, timeouts, retries
8. Monitoring
● Automate Monitoring
○ Baked in via Chef, runs on all servers
● We use:
○ New Relic (Application Monitoring)
○ Django Sentry / Papertrail (Log Monitoring)
○ AppFirst (Server Monitoring)
○ Stathat (Custom Metrics, StatsD style)
9. Questions?
Get more information: Andrew Gross
andrew@yipit.com
http://tech.yipit.com @flashmanbahadur
@YipitDjango DevOps
Adam Nelson
adam@yipit.com
@varud
CTO
Full Presentation with notes