0

We have a Cloud based (AWS, Spring Boot) event driven architecture based Backend System. We have 3 Front Ends ie Web, iOS and Android. We are a customer facing app/web ie ideally only the latest version of the App to be available for support. We are still trying to figure out a best strategy on rolling this system given Mobile App platforms need almost 72 hour approval cycle where they need to be submitted to App store, ensure the app is working(which connects to backend for transactions) where as the existing app version might depend on previous backend version, whereas the new app version should be functional using the new backend. Given this scenario, whats the best rollout strategy? We are considering making all backend APIs to be versioned and always test for backward compatibility or create blue/green deployment. Any advice on this is greatly appreciated.

luckyMohan
  • 138
  • 2
  • 7

1 Answers1

0

We are considering making all backend APIs to be versioned and always test for backward compatibility

This is pretty much what you need. Essentially, the process is:

  1. Create a new set of clients in dev only, don't roll out yet - let's call their version the future version.
  2. Create new version of backend, which works both with current versions of clients, plus the future version
  3. Deploy new backend and test with both existing and future client versions.
  4. If all is good, proceed with client (including mobile) rollout.

In summary, always have backend deployed first and ready to support new client versions.

taleodor
  • 1,849
  • 1
  • 13
  • 15
  • yes, this is what we decided to do as well. I was wondering if there are any more alternatives than supporting both the versions like blue/green or some other deployment strategies but work with a DB. – luckyMohan Jul 05 '23 at 15:09
  • `but work with a DB` - this part I don't understand. Other than that sure you can use blue/green or canary but on top of the base approach above. You're talking about different things here though - a deployment strategy is not going to help with backward compatibility problem between client and server. – taleodor Jul 05 '23 at 16:13