and created a shared AP storage that could get saturated by a single service... * We are not a db company, so our custom sharing/rou:ng logic wasn’t the best. * Our consistent hashing didn’t spread par::ons enough and created hotspots. * Sharing storage also complicates tracking state changes and makes database migra:ons a nightmare. 10
Services dependencies are ten :mes worse (SLA degrades exponen:ally as your dependencies increase) If you have two services at 99.99% availability now you are down to 99.95% (Note: These numbers are made up, but some:mes it is that bad.) * Graceful degrada:on should not be an aferthought. * We didn’t enforce strict boundaries which created dependencies on their internals. This creates fragile services. 12