Ein (natürlich sehr technischer) Bericht über die “Lessons learned” bei der Programmierung von Posterous:
There are a bunch of basic functional elements to building out a popular Rails app that I’ve never really seen explained in one place, but we had to learn the hard way while building Posterous. Here’s a rundown of what we’ve learned [...]
Die Erfahrungen der Macher kurz zusammengefasst:
- Amazon S3 zum Speichern von user-generated-content verwenden
- Cache-Control für statische Inhalte einsetzen und mit YSlow testen
- Zur Volltextsuche die eigene DB benutzen, anstatt externer Lösungen
- InnoDB beim Lesen langsamer, aber crash resistenter als MyISAM
- Queries sind die Schwachpunkte der Applikation
- Du bist nur so gut, wie dein langsamster Query
- Setz memcache erst ein, wenn es nötig ist
- Bestimmte, arbeitsintensive Jobs aus der App auslagern
(Resizen von Bildern, Kodieren von Video, o.ä.) - Erreichbarkeit ist das A und O -> Monitoring!
- Vorsichtig sein mit veralteten Rails-Plugins
- Fehler selber fixen und daraus lernen, ist schließlich Open-Source
(anstatt bei Twitter rumzujammern)
Mehr im Originalartikel auf Axon Flux.