figure logoascender.png
figure ascender.png
Android In The Cloud:

A New PaaS Computing Platform


Joel Isaacson
joel@ascender.com
+972 50.597.5146
www.ascender.com/remote-graphics


Introduction

Android in the Cloud is a new platform infrastructure which combines cloud and mobile. Powered by Ascender’s novel Remote Android Graphical technology, tableid in the Cloud greatly extends the provider’s PaaS and differentiates their service from the competition.
The two fundamental pillars of modern computing are cloud services and mobile platforms. Industry leaders foresee a strategy based on the unification of mobile and cloud. As the Wintel platform dominance recedes, it is clear that Android has the market share and momentum to dominate app API’s.
The three service models of cloud services as defined by NIST are widely accepted: SaaS, PaaS and IaaS. Platform as a Service (PaaS) allows deployment of consumer-created or acquired applications created using programming languages, libraries, services, and tools supported by the provider.
There currently are many PaaS cloud providers whose services are non-differentiated and compete on cost .

Platform as a Service (PaaS)

PaaS delivers computational resources through a platform provided by the cloud vendor. Many vendors are developing, at great cost, similar functionality using the same Open Source components. Examples of PaaS platforms include AWS Elastic Beanstalk, Windows Azure, Force.com, Google App Engine, Apache Stratos and HP’s Helion.
Typically, PaaS platforms include support for:
Operating systems:
✴ Linux ✴ Windows Server
Source_Programming languages:
✴ Java ✴ Ruby
✴ Python ✴ Node.js
✴ .NET ✴ PHP
Server side services:
✴ Data bases, standard SQL ✴ Data bases, NoSQL technologies
✴ Web service integration ✴ Marshalling
✴ Security ✴ Libraries, API’s
Development and management tools:
✴ Testing ✴ Application development IDE’s
✴ Deployment ✴ Monitoring
✴ Load balancing ✴ Scaling

Mobile Platforms - Android

As seen at Google I/O 2014, the Android API is being pushed on many fronts: Android Auto, Android Wear, Android TV and Android Enterprise. Android has attracted millions of app developers and Google is understandably using this large number of developers to leverage its dominance of the mobile market to conquer other markets. If successful, the Android API will become the standard for app development.
The challenge of running Android apps in the cloud is enormous. The interface is graphically intensive with graphic frames completely re-rendered at a fast (60 fps) rate requiring a GPU to maintain this pace. The trend to ever larger displays makes pixel based approaches more and more difficult to implement over long-haul networks.

Ascender’s new platform infrastructure: - Android Platform as a Service

Adding Android as a new platform for cloud services is a logical next step in the evolution of PaaS functionality.
Operating system:
✴ Linux with Android support
Source_Programming language:
✴ Java ✴ Apk
Server side services:
✴ Graphical User Interface ✴ Audio
✴ Location ✴ Connectivity
✴ Touch and input ✴ Data storage
✴ Device administration ✴ Web apps
✴ Media ✴ Cameras
Development and management tools:
✴ Testing ✴ Application development IDE’s
✴ Deployment ✴ Monitoring
✴ Load balancing ✴ Scaling

Ascender’s Remote Android Graphical User Interface

Ascender’s Remote Android Graphical technology successfully addresses the challenging task of exporting the graphical interface in remote execution of Android apps. The number of pixels on the display and the rate of frame refresh (60 fps) make exporting the graphical stream challenging even if graphical compression codecs are used.
In contrast to the commonly deployed pixel based approaches, Ascender’s Remote Android Graphical technology renders at the client side via remote rendering commands. Transmitting the remote graphics at the rendering level is intrinsically more efficient than transmitting pixels. The resulting data stream is very compressible while using low computational resources.

Benefits of Ascender’s Solution

Android in the Cloud

PaaS is useful for convenient development and deployment of cloud apps. Of course, both IaaS and SaaS are applicable for Cloud execution of Android.
IaaS is useful in situations where the application is already developed for cloud use. The burden of supplying the Android environment is on the cloud user. The user can supply the Android adapted kernel, support programs, libraries and application to run in the cloud of a vendor that offers no Android support.
PaaS is useful for less sophisticated users and in cases where the cloud vendor supports the Android API. This allows the user-developer to concentrate on the app being developed and deployed, and disregard development irrelevant to the specific app.
SaaS is useful for cloud vendors that wants to provide Android apps as a service to customers.

Use Cases of Remote Android Graphical Technology

Non Android Devices Bring Android apps running in the cloud to many platforms, reminiscent of “write once, run anywhere”. Thin-clients can be written for just about any device, desktop, phone, tablet, TV, etc.
BYOD Enterprises are challenged by privately owned mobile devices that are used for work, specifically the difficulty in securing these devices and providing apps for the range of device brought by employees. If, however, the app is in the cloud, it can be viewed on a wide variety of devices and the data remains secure in the cloud data center.
App Library Currently, apps are loaded into the local device - either installed at the time of purchase or added subsequently. A significant market of post-sales installation of apps has developed. If efficient remote execution of apps can be supported, then instead of software purchases, a subscription model becomes possible. A fixed monthly fee would entitle the subscriber to access a large library of applications.
Smart TV’s Most smart TV’s have a good connection to the Internet but are limited in their ability to run apps. They might be running a proprietary OS or an OS with a limited application base such as WebOS. The ability to run Android apps from the cloud is a significant addition to the functionality of the TV.
WebGL Browser Client A browser based client for remote Android apps will allow viewing of Android apps on a wide range of platforms.


Links: