Canonical is best known for Ubuntu Linux, followed by Ubuntu's dominance on the cloud as the virtual machine (VM) operating system of choice. Now, Canonical is taking a new angle. It's building an Android app platform on top of an Ubuntu-based cloud: The Anbox Cloud.
Why? After all, when you think Android, you're thinking of the operating system on your phone, not a cloud. The reason: Users and ISVs alike want more demanding Android applications, like high-end games, on their even bigger smartphones. Google, with its new Stadia game streaming platform, is offering a similar approach.
This new way of approaching gaming and other demanding apps depends on 4G LTE being widely available, 5G finally taking off, and edge computing gaining traction. Together these developments are making it possible to deliver rich gaming and vertical manufacturing, retail, logistics, transportation, and healthcare applications to smartphones. Tablets and smartphones have one major shortcoming for these apps, they don't have the processor or graphics horsepower to run high-end applications. That's where the Anbox Cloud comes in.
Anbox Cloud enables developers to create graphic and memory intensive mobile games and other applications. These can be scaled to numerous users while providing the responsiveness and ultra-low latency gamers demand. Instead of downloading a game, they run the Android game in a Software-as-a-Service (SaaS) mode. For ISVs, it also provides a protected content distribution channel.
This new cloud service also makes game streaming services scalable and provides better automation. Gamers get better performance and gaming companies make the most of their cloud resources. It's a win-win.
How does this work? Canonical explained that it's built on a range of Canonical technologies. For starters, Anbox runs containerized Android apps on the Ubuntu 18.04 LTS kernel. Containerization is provided by secure and isolated LXD system containers. These containers are much lighter than VMs. For Anbox service providers this means they get at least twice the application density compared to running Android apps in VMs.
These containerized Android instances work with mobile devices via a local client application. A custom plugin is optimized to deal with the signals and data exchanges between the client applications and the Android instances. Device inputs are forwarded to the emulated Android instance, and graphical output is returned to the client to be displayed on the device.
At the same time, the higher container density drives scalability up and unit economics down. Metal-as-a-Service (MAAS) is used for remote infrastructure provisioning. Juju, Canonical's open-source DevOps tool, provides automation tooling for easy deployment, management and reduced operational costs. If your company needs technical support to run Anbox and its components, the Anbox Cloud comes with Ubuntu Advantage support. This provides continuous support and security updates for up to ten years.
You can run Anbox on the public or private cloud or on cloud edge infrastructure. Public and private cloud service providers can integrate Anbox Cloud into their offering to enable the delivery of mobile applications in a Platform-as-a-Service (PaaS) or SaaS-model. Telecommunications providers can create value-added services based on virtualized mobile devices for their 4G LTE and 5G mobile network customers.
If you're an ISV and you want to make the most from Anbox, you'll want to run it on your own hardware or work with a provider that fully supports it. Specifically, as Lynn Comp, Intel's VP of Data Platforms Group and General Manager of the Visual Cloud Division, says, Anbox uses the Intel Visual Cloud Accelerator Card – Render (VCAC-R). This enables "the delivery of enhanced cloud and mobile gaming experiences on Android devices, supporting an emerging industry opportunity today, and for the upcoming 5G era."
An Anbox VCAC-R card contains two Intel Core i7-8709G processors, and each system on a chip (SoC) integrates two graphics subsystems: Intel UltraHigh-Definition (UHD) graphics for low-power, premium media encoding and Radeon RX Vega M graphics for rendering gaming and content creation. Both GPUs work together to lower the latency as the rendered frames are transferred from the Radeon GPU to the media-optimized Intel GPU for high-quality encoding and streaming. Rendering uses the Mesa driver stack and OpenGL ES 3.1. The Intel Media Driver for Video Acceleration API (VAAPI) is used for encoding the video stream.
Not every cloud provider has this kind of hardware ready for deployment. Canonical is partnering with Packet, the bare-metal cloud infrastructure provider for developers. Together they can help you deploy Anbox Cloud on-premise or at target edge locations. To provide the best experience, Canonical also works with Ampere (ARM) and Intel (x86) as silicon partners. These hardware options are optimized to provide the best density, GPU models and cost efficiency to shorten the time to market for Anbox Cloud customers.
Anbox is priced yearly on a per node basis, per compute instance per year. Support is included and the service comes with Service Level Agreements (SLAs).
"Driven by emerging 5G networks and edge computing, millions of users will benefit from access to ultra-rich, on-demand Android applications on a platform of their choice," hopes Stephan Fabel, Canonical's Director of Product.
I think there's a good chance Canonical's hopes will be realized. According to Newzoo's 2019 Global Mobile Market Report, Android games are now more popular than iOS's games and accounted for $35-billion in revenue. With mobile games growing ever more popular, Anbox may give the ISVs which adopt it a critical advantage by helping them deliver faster, richer games.