Working in a corporate enterprise type environment. Very crufty. Unfortunately my application environment, which is very modern, relies on an old, old corporate DB. I have spoken with the dbadmins and they are not willing to help out to make things more reliable, they're pretty siloed off from everything else and don't answer to anyone to help. The team has no SLOs and the best I can see is about 90% uptime. In the end this may be a policy question, but for the short term I need to manage reliability of my applications so I can hit my SLOs.
So from my perspective, how do I manage this? Back up the DBs in my environment as best as possible and serve traffic from there, or cache everything? Data is constantly being added to the old DB, which holds user data. I was thinking about creating a bunch of DB shards in my environment with LBs in front of them with long-lived connections to the old DB, and if the user makes a request, if the old DB is down, serve from the backup shard. Maybe sharding is too complicated for this scenario. Advice?
1) When the system is down and you're asked for an explanation. You deliver a post mortem putting the responsibility on the database. The database is down. The database team is working on it.
2) If you are facing repeated major downtime. You keep track of failures caused by the database. You make a chart with a health check to the database every minute.
3) You report to your management that the database service doesn't meet expectations and it's affecting your services, supported by the previous reports you just created. It's the responsibility of the database and the management to run their services and decide where to allocate resources.
4) Make it clear that your service depends on its database. Any question about downtime or better SLA should be replied with the postmortem from 1 and/or the improvement plan from 3.
All you can do is report. You probably don't have a say. Your manager probably doesn't have a say. Maybe the database team doesn't have the power to fix anything either.