We have a requirement for highly available and performant APIs. As a general pattern, all APIs are exposed via API manager which calls another API provider (would it be CPI or another backend system). API manager and CPI are in Neo. EMS, which is we're about to start using are in CF.
What we're currently finding that the level of "declared" availability is not good enough:
What would be a recommended set up/patterns for dealing with these cases?
One way of dealing with this could be to implement EMS messaging to queue incoming requests in case backend systems are not available but EMS is not perfect either and suffers from outages too.
Another option is to move APIM and CPI to CF to achieve zero-downtime upgrades, but maintenance windows and outages are still there.
Third option would be to implement some sort of queueing in the consuming application using a different technology but this defies the purpose of having a single integration platform.
Other options coming to my mind are: possible failover to another region, have two API gateways (SAP and non-SAP) to deal with cases when SAP API manager is not available.
SAP hasn't been very forthcoming in discussing this so I wonder if anyone has worked on something like this before and could share their experience.