Why and How to Apply DevOps Principles to Mobile Device Management
The terms “DevOps” and “mobile device” are not typically used in the same sentence. When people talk about DevOps, they’re usually discussing the development and deployment of software that will be hosted on servers, not mobile devices.
Yet DevOps stands to offer just as many lessons for mobile device management as it does for conventional software delivery. The challenges surrounding mobile device management resemble those of software delivery surprisingly closely, and the DevOps processes that make software delivery faster and more reliable can also improve mobile device management.
Mobile Device Management Challenges
Organizations face several key challenges in managing their fleets of mobile devices.
Perhaps the greatest challenge is the fact that the teams responsible for managing devices are siloed. Typically, one team configures mobile devices, while another team handles support requests and other operations.
And if you develop custom mobile applications, developers represent a third team. They may not be involved in mobile device management directly, but they still have a stake in it.
When each of these teams operates independently and without understanding each other’s goals and priorities, the device management process becomes inefficient and error-prone.
These silos are very similar to the silos between development and IT operations teams in traditional IT organizations – and DevOps aims to solve them.
Multiple Devices and Configurations
Organizations often have to manage multiple types of hardware devices, as well as varying configurations on each device. Having more variables means that teams must work harder to find an efficient and reliable way to keep track of all of their devices and configurations, and also to ensure that software is deployed and updated on them as needed.
This variability is comparable to the multiple application versions and deployments that DevOps teams must manage as part of their software delivery processes.
The number of mobile devices in a fleet could easily reach into the thousands or even hundreds of thousands. This leaves mobile device management teams with an infrastructure that is comparable in scale to a large data center or public cloud environment.
Faced with this level of scale, finding ways to automate device provisioning, deployment, and monitoring is just as critical when dealing with mobile devices as it is when handling the types of server environments that DevOps teams manage.
Last but not least, mobile device management teams must cope with constant change. Not only do devices and configurations change, but so does the location of devices. Devices may also come online and go offline with little predictability.
In many respects, this continuous change is similar to the constant fluctuations in configuration that DevOps teams face within the environments into which they deploy software. Like DevOps teams, mobile device management teams need to be able to ensure a smooth end-user experience even if they don’t know what their infrastructure or configurations will look like from one hour to the next.
Leveraging DevOps Principles for Mobile Device Management
DevOps offers solutions to the challenges described above. By treating mobile devices in the same way that DevOps software delivery teams treat infrastructure and application code, organizations can achieve greater stability and automation within large-scale mobile fleets.
Specifically, DevOps principles can be applied to mobile devices in the following ways:
- Continuous delivery: Just as DevOps teams aim to deliver application updates continuously rather than according to a “waterfall” schedule, organizations should strive to make changes to their mobile device hardware and software configurations continuously. Don’t try to roll out a whole new sub-fleet of devices or a new set of changes periodically and all at once. Embrace incremental but continuous updates.
- Infrastructure automation: DevOps teams use Infrastructure-as-Code tools, which automate the configuration and management of hundreds of servers. Businesses can take a similar approach to mobile device management by using centralized policies to govern how devices are configured and which software runs on them.
- Treat devices as cattle: DevOps practitioners often talk about treating servers as “cattle” rather than “pets.” They mean that individual servers should simply be replaced when something goes wrong. (Perhaps the metaphor is a little crude from the perspective of cows, but it makes sense.) The same principle can be applied to mobile device management: instead of fretting over minor issues with individual devices, treat them as cattle and replace them quickly when needed. If you can automate device configuration and deployment, replacement is much easier than trying to update each device on an individual basis whenever something needs to change.
- Portability: DevOps processes are designed to work on any server, any cloud, and any operating system. In other words, they’re portable. Mobile device management tools should work across different device form factors and performance levels without the need for code change. This way you can upgrade devices or launch a new product form factor without modifying your app.
Organizations should be able to deploy, manage, and update their mobile devices as continuously as they deploy software using DevOps delivery principles. By embracing the concepts at the core of DevOps, teams responsible for mobile management can collaborate more efficiently while also handling the large scale of the fleets they oversee.
This thinking forms part of the foundation of Mason’s approach to mobile device management. Mason believes that businesses should think in terms of DeviceOps by deploying a scalable, automated, device-agnostic strategy to managing mobile devices and the software that runs on them. By giving all stakeholders – configuration managers, operations teams, and developers – the ability to collaborate using Mason’s platform and API, Mason is bringing the efficiency of DevOps to the world of mobile devices.