rainforest @rainforestqa
Rainforest QA Lunch talk:!3 Infrastructure + workflow
lessons learned at an early-stage startup
@rainforestqarainforest
Rainforest
Human powered QA SaaS
Designed for ‘Continuous QA’
Built for PMs and Developers
@rainforestqarainforest
Us
Team of 3 in SoMa
All developers
YC S12
@rainforestqarainforest
3 Infrastructure + workflow lessons learned
@rainforestqarainforest
#1: Mongo isn’t right for!early-stage SaaS
@rainforestqarainforest
(Aside: we 💖 Mongo)
@rainforestqarainforest
Why?
@rainforestqarainforest
Transactions
@rainforestqarainforest
Transactions -> Less junk
@rainforestqarainforest
Migrations
@rainforestqarainforest
Adhoc queries
@rainforestqarainforest
<3 window functions
@rainforestqarainforest
@rainforestqarainforest
Joins
@rainforestqarainforest
#2: QueueClassic > Resque!for simplicity
@rainforestqarainforest
Why?
@rainforestqarainforest
Less moving parts
@rainforestqarainforest
Transactions
@rainforestqarainforest
#3: Use your own product!(aka dogfooding)
@rainforestqarainforest
Find your users’ pain!before they do
@rainforestqarainforest
Goal:!Rainforest + Continuous Delivery
@rainforestqarainforest
push
@rainforestqarainforest
push -> circle
@rainforestqarainforest
push -> circle -> rainforest
@rainforestqarainforest
push -> circle -> rainforest -> prod
@rainforestqarainforest
Rainforest tests fail = no deploy
@rainforestqarainforest
Step 1: Built CLI client
@rainforestqarainforest
Step 2: Put in build process
@rainforestqarainforest
#1 - add gem!#2 - add to circle.yml
@rainforestqarainforest
Our Extreme Dogfooding rules
@rainforestqarainforest
#1 Make it disruptive
@rainforestqarainforest
#2 Fix it quickly
@rainforestqarainforest
#3 Don’t cheat
@rainforestqarainforest
Current state:
@rainforestqarainforest
full continuous delivery
@rainforestqarainforest
< 20 mins to test
@rainforestqarainforest
in 5 browsers
@rainforestqarainforest
> 60 people
@rainforestqarainforest
~9.5 hours of testing in ~20 min
@rainforestqarainforest
we run 5-10 x per day
@rainforestqarainforest
Conclusion
Simpler = better
Transactions = better
Use your own product = better product
rainforest @rainforestqa
Questions?@rainforestqa
@rhs