Running Android in the Cloud with Amazon EC2 A1 instances
Simon Fels
on 29 November 2018
Tags: Amazon Web Services , cloud , containers , Juju , juju resource , LXD , Ubuntu
Amazon Web Services (AWS) announced the availability of their new Amazon EC2 A1 instances powered by custom AWS Graviton processors based on the Arm architecture, which brings Arm to the public cloud as a first class citizen. Arm based processors provide a number of benefits in terms of density and power-consumption which ultimately result in lower ‘per processor cycle’ costs for cloud compute. They also unlock the possibility for optimized execution of workloads which target this architecture directly.
When Amazon approached us to discuss ways in which we could help demonstrate the capabilities of their new instance type, we saw a unique opportunity to bring together our strengths in running workloads both in containerized cloud instances and on devices.
By combining our tools for application modeling and high-density Linux container management we were able to quickly spin up a large number of machines on Amazon EC2 A1 instances running native Android applications. This could have a number of interesting applications in mobile application testing and distribution.
Specifically, at AWS re:Invent, we demonstrated a fully automated solution deployed by Juju to run Android within LXD containers in the cloud and stream out the display of a gaming app from an Amazon EC2 A1 instance to a mobile phone over the internet. We ran 10 containers each providing an individual Android system on the same EC2 instance. As Ubuntu natively supports a wide range of server architectures including x86-64, Arm, POWER and S390X we used the very same technology our users are familiar with.
Running Android inside LXD containers allows running Android-based applications at high density and at an unparalleled scale. A range of Canonical products help deliver an easy, automated setup and clean operations experience. Juju provides all the necessary functionality to get the software stack deployed on AWS with a single command. The machine container hypervisor LXD brings all necessary features to isolate the individual Android systems from each other, manage and distribute containers in a cluster of multiple machines. Snaps provide the underlying packaging format for all the software being deployed via Juju. They provide a secure and easy way to deliver software and keep it up to date.
Streaming a display output is just one of many exciting use cases this technology can support. Ranging from secure application access to fully fledged CI/CD testing pipelines for new application builds running on variety of Android releases, we believe this unique technology will provide value to wide range of customers.
If you’re interested in discussing this amazing new technology do not hesitate to contact us.
Ubuntu cloud
Ubuntu offers all the training, software infrastructure, tools, services and support you need for your public and private clouds.
Newsletter signup
Related posts
What to know when procuring Linux laptops
Technology procurement directly influences business success. The equipment you procure will determine how your teams deliver projects and contribute to your...
Canonical announces public beta of optimized Ubuntu image for Qualcomm IoT platforms
Today Canonical, the publisher of Ubuntu, and Qualcomm® Technologies announce the official beta launch of the very first optimized image of Ubuntu for...
Entra ID authentication on Ubuntu at scale with Landscape
Authd allows Entra ID authentication on both Ubuntu Desktop and Server. Learn how to configure Authd at scale using Landscape and Cloud-init