The DroidDevCast is a new podcast brought to you by the team at Esper, where we’ll explore all things Android, mobile DevOps, and open source software development. On our first episode, Esper Content Marketing Manager and de facto podcast host Rin Oliver is joined by Esper CEO Yadhu Gopalan to learn more about why Esper is uniquely positioned for Android DevOps, and also touch on why DevOps matters for those Android developers working with single-purpose devices.
Android DevOps versus Mobile Device Management
When exploring why Esper doesn’t position itself as a mobile device management solution, or MDM, its first helpful to understand Gopalan’s background in the industry. Gopalan spent over 20 years working on projects such as Sega Dreamcast, Amazon Fire OS, the operating system for the Windows phone, and the Amazon Go project and earned 35 patents along the way.
During these projects, Gopalan initially noticed that engineering teams struggled to leverage the power of the systems, tools, and devices they had at their disposal. “One of the key things I noticed is even while we’re rebuilding, teams would have to wait until these engineering resources could build these systems in order to have a really full functional deployment and monitoring,” says Gopalan. “These were companies with great engineering resources and they can put it to use in this type of way.”
“It dawned on me that DevOps could be a really important enabler for companies who don’t have an engineering team that they can leverage, or companies that want to get going from day one on using some infrastructure like this,” says Gopalan.
The main differentiating factor between an MDM and Android DevOps, notes Gopalan, is focused around the idea that DevOps principles are uniquely suited to supporting single-purpose devices, which are often mission critical to an organization’s success. Single purpose Android devices not only generate revenue, but are often managed and owned by the team that’s building them. MDMs are primarily developed for IT teams to use to manage their devices, often used to do things like control access to email, configure office applications, and access a company-backed VPN.
“A DevOps model informs how [Android] devices are going to be deployed, how the application and the content are going to be managed, and how it’s going to be monitored,” says Gopalan.
A DevOps model also informs how to diagnose and debunk application, device, and configuration failures when things go wrong.
“Without DevOps,” according to Gopalan, “You can’t figure out how an application is going to get deployed, and you can’t tell what version gets deployed. You also can’t really tell what the scaling rollout plan is going to be.”
A “DevOps solution is supposed to help you tightly control [rollouts], reduce the blast radius, and figure out if you need to do rollbacks. It really builds on top of what the best practices are for managing your deployments” says Gopalan. “And this is something that’s available in many forms on cloud services and applications. And it’s really all about bringing that to dedicated devices and Android dedicated devices.”
Why Esper’s Architecture is Uniquely Suited to Android DevOps
Esper is built from the ground up to not only manage the needs of small businesses with Android devices to maintain, but also is uniquely positioned to do so at scale for those enterprise organizations having a full fleet of 1,000 or even 10,000 devices to provision. Many of Esper’s customers will oftentimes undertake a slow rollout of their Android device management changes to system settings, applications, or other changes.
Understanding the state of these rollouts is key to success, Gopalan explained, adding that, “Anytime you have dedicated devices that are geographically distributed and are remote, things go wrong, and you want to be able to do this at the comfort of your desk in your office, or in your home. Esper has infrastructure capability to remotely diagnose and even remotely debug your application.”
For organizations that are having to debug their systems remotely in real-time, doing so can be a damper to achieving a true Continuous Integration or Continuous Deployment solution in their (CI/CD) software delivery lifecycle. For many developers, having an automated CI/CD workflow is key to their success. Gopalan explained that when working with Esper as an Android developer, once you have your application built, that’s where Esper steps in.
Esper puts together the deployment pipeline for your devices, monitoring your application and system telemetry as needed. While a developer may have tested a device locally, there’s often no guarantee that it will work correctly out in the field. This can be due to environmental factors such as environmental changes, or a spotty Wi-Fi connection. Other times, an application may not deploy properly due to a hardware or system revision, or an OS conflict.
Whatever the case may be, Esper developers tools show where in the pipeline the problem occured, isolate it, debug it, fix the issue, and then roll out the update. Esper also allows developers to target specific devices that are operating in that particular environment or on a particular operating system to reduce the potential blast radius of a second update.
“Android DevOps is the power that we kind of give to really accelerate your continuous deployment, continuous integration for devices,” says Gopalan. “It’s something that we’ve taken for granted on the cloud. And it’s really been hard for people to do” with single-purpose Android fleets.
“People end up testing for months, really break that whole model of continuous development and integration,” says Gopalan. “And we want to bring that to these devices.”
In this Episode of The DroidDevCast:
01:22 – Why Esper doesn’t position itself as an MDM
05:12 – Why MDM falls short when it comes to managing dedicated devices
08:21 – What are some of the differences between MDM and Android DevOps?
09:30 – The advantages of DevOps for Android
10:50 – How does Esper’s architecture lend itself to DevOps?
12:36 – What does Esper offer Android developers in terms of creating a CI/CD developer experience when building and deploying applications?
You can read the full transcript of this interview on Simplecast. We’ll be back next week with another exciting episode. In episode two, we’ll be discussing extreme testing methods, and will be joined by Karthik Gaekwad, Head of CloudNative Engineering at Verica. Be sure to like, subscribe, and listen to the DroidDevCast wherever you get your podcasts from.