Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

To talk to an OpenStack cloud from Android you would need to use an SDK like OpenStackIntegration, or write your own message sending with Android's HttpClient or a 3rd party lib like OkHttp.

For your use case, I don't recommend any of them. Allowing users to talk directly to your cloud means they need to have their own credentials for your cloud or you would need to put your credentials in the app for them to use.

If they have their own credentials for your cloud then maybe using your cloud directly would work. But what if you want to change the architecture of the game they launch? You would have to ensure that everyone always has the most up-to-date version of your app and that's not possible. By putting that in your app you're exposing a lot of implementation details to your client.

If you would need to put your credentials in the app then that is something you should never ever do. Your app can be decompiled (pro-guard or not) and your credentials stolen.

My advice for you is to create a simple web service in your OpenStack cloud. Your Android app would then talk to this service (using HttpClient or OkHttp) and it would be your web service that launches instances in your cloud. Your web service could be written in any language and use one of the official OpenStack SDKs. Then you have more control over how games are launched and no security risks.