Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
3 Infrastructure + workflow lessons from an ear...
Search
Russell Smith
April 08, 2014
Programming
140
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
3 Infrastructure + workflow lessons from an early stage startup
Russell Smith
April 08, 2014
More Decks by Russell Smith
See All by Russell Smith
Ops Skills and Tools for Beginners [MongoDB World 2014]
ukd1
0
150
Bitcoin Ops & Security Primer
ukd1
1
190
Gearman & Kohana
ukd1
2
1k
Geo & capped collections with MongoDB
ukd1
1
170
Cassandra London UG July 2011 - Riak vs Cassandra
ukd1
1
340
MongoDB - Map Reduce
ukd1
2
270
MongoDB London UG, April 2011 - MongoDB Introduction
ukd1
1
140
MongoDB London 2011 - MongoDB Command Line Tools
ukd1
1
220
Seedhack 2011 - Introducing MongoDB
ukd1
1
160
Other Decks in Programming
See All in Programming
IBM Bob でAI駆動開発『QC-Playbook』
ichirokano2
0
120
設計次第でAIコードの読む量は減らせる / designing-for-code-reading
minodriven
35
17k
現場と育てるRailsモデリング 〜Spreadsheetから始めたモデル設計〜
siroemk
2
700
Simple Storage Service(S3) is not simple
iwatsukayura
0
300
半永久的に提供し続けられるプライベートクラウドを目指して ― 利用者の認知負荷を抑えるAPI抽象化とハードウェア世代交代の基盤設計
tomokon
0
510
phperだってパンチカードでコーディングしたい
o0h
PRO
0
370
Rでドレミ/Do-Re-Mi_with_R
florets1
0
130
複雑なUIコンポーネントとの ⻑い付き合い⽅:波及するバグからテスト戦略を経て、安全な再設計へ
mixplace
0
440
[Rails World 2026] Durable orchestration on Rails: from continuation to workflow
palkan
1
820
IBM Bob Dojo #1 仕様駆動開発入門
oniak3ibm
PRO
0
410
PumaからFalconに移行したRailsアプリケーションでの実践
falcon8823
0
190
作れる、でも消せるか?──安全に「枯らして消す」機能削除術 / Drain, Then Delete
chobishiba
2
850
Featured
See All Featured
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
6.1k
HTML-Aware ERB: The Path to Reactive Rendering @ RubyCon 2026, Rimini, Italy
marcoroth
5
830
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
550
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.6k
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
560
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
530
Java REST API Framework Comparison - PWX 2021
mraible
34
9.8k
Google's AI Overviews - The New Search
badams
0
1.6k
RailsConf 2023
tenderlove
30
1.6k
Odyssey Design
rkendrick25
PRO
2
880
What the history of the web can teach us about the future of AI
inesmontani
PRO
2
740
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
2.2k
Transcript
rainforest @rainforestqa Rainforest QA Lunch talk:! 3 Infrastructure + workflow
lessons learned at an early-stage startup
@rainforestqa rainforest Rainforest Human powered QA SaaS Designed for ‘Continuous
QA’ Built for PMs and Developers
@rainforestqa rainforest Us Team of 3 in SoMa All developers
YC S12
@rainforestqa rainforest 3 Infrastructure + workflow lessons learned
@rainforestqa rainforest #1: Mongo isn’t right for! early-stage SaaS
@rainforestqa rainforest (Aside: we Mongo)
@rainforestqa rainforest Why?
@rainforestqa rainforest Transactions
@rainforestqa rainforest Transactions -> Less junk
@rainforestqa rainforest Migrations
@rainforestqa rainforest Adhoc queries
@rainforestqa rainforest <3 window functions
@rainforestqa rainforest
@rainforestqa rainforest Joins
@rainforestqa rainforest #2: QueueClassic > Resque! for simplicity
@rainforestqa rainforest Why?
@rainforestqa rainforest Less moving parts
@rainforestqa rainforest Transactions
@rainforestqa rainforest #3: Use your own product! (aka dogfooding)
@rainforestqa rainforest Find your users’ pain! before they do
None
@rainforestqa rainforest Goal:! Rainforest + Continuous Delivery
@rainforestqa rainforest push
@rainforestqa rainforest push -> circle
@rainforestqa rainforest push -> circle -> rainforest
@rainforestqa rainforest push -> circle -> rainforest -> prod
@rainforestqa rainforest Rainforest tests fail = no deploy
@rainforestqa rainforest Step 1: Built CLI client
None
@rainforestqa rainforest Step 2: Put in build process
@rainforestqa rainforest #1 - add gem! #2 - add to
circle.yml
@rainforestqa rainforest Our Extreme Dogfooding rules
@rainforestqa rainforest #1 Make it disruptive
@rainforestqa rainforest #2 Fix it quickly
@rainforestqa rainforest #3 Don’t cheat
@rainforestqa rainforest Current state:
@rainforestqa rainforest full continuous delivery
@rainforestqa rainforest < 20 mins to test
@rainforestqa rainforest in 5 browsers
@rainforestqa rainforest > 60 people
@rainforestqa rainforest ~9.5 hours of testing in ~20 min
@rainforestqa rainforest we run 5-10 x per day
@rainforestqa rainforest Conclusion Simpler = better Transactions = better Use
your own product = better product
rainforest @rainforestqa Questions? @rainforestqa @rhs