ul li1 Bits of Experience DB Scaling Cloud Hosting Code Qualityli li2 Hi! Nice to meet youli li3 I want to offer some insights Everythings different theres not one set of rules for everyoneli li4 Small Dev team big system 10 Applications Up to 5 stages 36 machinesli li5 Our main tool is Python Also lots of SQL More JavaScript than wed like Even some Perlli li6 A few Tera Bytes of data Most of it in PostgreSQL We like PostgreSQL a lotli li7 Agenda Things Ill dive into a littleli li8 1 Scaling Data What we do why it worksli li9 2 To cloud or not to cloud Weve mostly run on bare metal but how much longerli li10 3 Complexity and Code Quality A few thoughtsli li11 Theres no universal right or wrong I just want to provide an additional perspectiveli li12 Were storing advertising data Lots of data but not quite Big Datali li13 A SaaS business Isolated customers varying amounts of datali li14 All relational structured data We aggregate and filter data a lot SQL is great for thatli li15 Starting small One database relational model by the bookli li16 Trying built-in PG partitioning Its useful but very limitedli li17 Maybe use schemas Then wed lose other schema use casesli li18 Partition using databases Each customer his own db Scales very wellli li19 Very good tool support DBs can be easily created copied dumped restored droppedli li20 Isolation also benefits security Nothing to rely on but helpful nonethelessli li21 There are downsides of course Overhead connection management no quick global queriesli li22 For us its great Your mileage may varyli li23 Dedicated Hardware Good performance for little moneyli li24 Roots precede AWS Why move a working infrastructureli li25 B2B: growth better predictable Elasticity requirements are limitedli li26 Were missing: Proper Failover Automatic failover of all components is not that trivialli li27 For a while: mixed setup Frontend on AWS Async Backend on our HW IPSEC in betweenli li28 Now: Something different Software development is hardli...