Pivotal Labs Lunch Talk; 3 Infrastructure and workflow lessons learned at an early stage startup

  • 236 views
Uploaded on

 

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
236
On Slideshare
0
From Embeds
0
Number of Embeds
1

Actions

Shares
Downloads
3
Comments
0
Likes
1

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
  • - Master
    - Run SF Mongo meetup
  • - No support in mongo
  • - Inconsistent data in db due to our code breaking
    - We fixed with helper scripts. Slow and sucked.
  • - No formal or standard way of doing them
    - All complex or slow if large
    - Schema design suffers as a result
  • - Non-trivial reporting queries require code
    - Great if you know what you’re after when you design your schema
    - Ours is evolving
  • - We especially love window functions in PG
  • - wanted to know how much each client costed us per week
    - this joins 4 tables, partitions by week and sorts by most expensive first
  • - Don’t exist
    - Fix by de normalizing data
    - Usually results in-consistent data without transactions
  • - No redis
  • - We sent emails and enqueued jobs before things were consistent

Transcript

  • 1. Rainforest QA Lunch talk:! 3 Infrastructure + workflow lessons learned at an early-stage startup rainforest @rainforestqa
  • 2. Rainforest Human powered QA SaaS Designed for ‘Continuous QA’ Built for PMs and Developers rainforest @rainforestqa
  • 3. Us Team of 3 in SoMa All developers YC S12 rainforest @rainforestqa
  • 4. 3 Infrastructure + workflow lessons learned rainforest @rainforestqa
  • 5. #1: Mongo isn’t right for! early-stage SaaS rainforest @rainforestqa
  • 6. (Aside: we 💖 Mongo) rainforest @rainforestqa
  • 7. Why? rainforest @rainforestqa
  • 8. Transactions rainforest @rainforestqa
  • 9. Transactions -> Less junk rainforest @rainforestqa
  • 10. Migrations rainforest @rainforestqa
  • 11. Adhoc queries rainforest @rainforestqa
  • 12. <3 window functions rainforest @rainforestqa
  • 13. rainforest @rainforestqa
  • 14. Joins rainforest @rainforestqa
  • 15. #2: QueueClassic > Resque! for simplicity rainforest @rainforestqa
  • 16. Why? rainforest @rainforestqa
  • 17. Less moving parts rainforest @rainforestqa
  • 18. Transactions rainforest @rainforestqa
  • 19. #3: Use your own product! (aka dogfooding) rainforest @rainforestqa
  • 20. Find your users’ pain! before they do rainforest @rainforestqa
  • 21. Goal:! Rainforest + Continuous Delivery rainforest @rainforestqa
  • 22. push rainforest @rainforestqa
  • 23. push -> circle rainforest @rainforestqa
  • 24. push -> circle -> rainforest rainforest @rainforestqa
  • 25. push -> circle -> rainforest -> prod rainforest @rainforestqa
  • 26. Rainforest tests fail = no deploy rainforest @rainforestqa
  • 27. Step 1: Built CLI client rainforest @rainforestqa
  • 28. Step 2: Put in build process rainforest @rainforestqa
  • 29. #1 - add gem! #2 - add to circle.yml rainforest @rainforestqa
  • 30. Our Extreme Dogfooding rules rainforest @rainforestqa
  • 31. #1 Make it disruptive rainforest @rainforestqa
  • 32. #2 Fix it quickly rainforest @rainforestqa
  • 33. #3 Don’t cheat rainforest @rainforestqa
  • 34. Current state: rainforest @rainforestqa
  • 35. full continuous delivery rainforest @rainforestqa
  • 36. < 20 mins to test rainforest @rainforestqa
  • 37. in 5 browsers rainforest @rainforestqa
  • 38. > 60 people rainforest @rainforestqa
  • 39. ~9.5 hours of testing in ~20 min rainforest @rainforestqa
  • 40. we run 5-10 x per day rainforest @rainforestqa
  • 41. Conclusion Simpler = better Transactions = better Use your own product = better product rainforest @rainforestqa
  • 42. Questions? @rainforestqa @rhs rainforest @rainforestqa