Elasticsearch upgrade strategies

Hi,

We have a situation where our application breaks when upgraded to a new minor version. I would like to get the community thoughts on how this can better be solved.

There are some breaking changes documented and undocumented when moving from 7.1 -> 7.9/10
Notably _index, alias change

Even though ES rest client is forward compatible, our application breaks in terms of its behavior when the older version of our app talks to 7.9 ES.

We can't upgrade the app first since Client SDK is not backward compatible. Though we could try testing this combination where we first upgrade the app and then ES (ES SDK 7.9 talks to ES 7.1), but this is not guaranteed to work.

How can we achieve a zero impact, no downtime upgrade easily?
Any thoughts?

Thanks,
Pradeep.