As part of a project during a course in Aalto University we worked in a team of four developers to create an Android app that could run heavy desktop applications.
This was achieved using Google Cloud. In this project, OpenOffice and Inkscape instances were created in Google Cloud.
The backend, done mainly in Python, and also running as an instance in the cloud, was responsible to authorize a user to login into the application, return the list of available instances in the cloud, and start and stop the instances as requested by the user.
The Android app itself, works with several async tasks to sending http requests to authenticate, get the list of apps, and start and stop the instances. When starting an instance, the front-end receives a public IP and can then connect via VNC to the remote application running in the cloud. For making this possible, we have embedded the MultiVNC inside our own. Pretty nifty!