Democratizing Enterprise Mobility
Introducing the Enterprise Mobile Platform as a Service
Jun. 25, 2012 06:00 AM
For the last two years, enterprise mobility has had a high place on the technology agenda of most companies. However, the mobile enterprise remains a highly complex and expensive endeavor that can only be afforded by a small group of organizations. Even more importantly, the enterprise mobility stacks are technologically archaic compared to the equivalent consumer market technology which is causing companies to start embracing open, consumer-based technologies as part of the enterprise mobile applications.
If you agree that connected devices are becoming a predominant force in the enterprise, then you can also agree that the industry is in desperate need for technologies that provide simple, open and yet robust mechanisms to develop enterprise applications that can run on these devices.
Mobile Enterprise Is About the Back End not the Front End
Looking at the current enterprise mobility technology ecosystem, we can quickly notice a heavy emphasis on development tools and technologies that allow developers to build applications that can run on a diverse number of devices. While that type of technologies is certainly welcome, this is far from being a problem in the enterprise. The market is full of mobile frontend technologies that support multi-device applications which are very viable solutions in an enterprise environment. PhoneGap, AppAccelerator's Titanium, Xamarin's Monotouch and Mono for Android, Sencha Touch are just some of the examples of technologies that enable a cross-device experience and, what is more important, provide a far superior experience than the equivalent SAP, IBM or Antenna software technologies.
Based on the rapid evolution of the mobile technology landscape, enterprise developers have a very broad spectrum of technology options when it comes to implementing mobile client frontend interfaces. The challenge, however, remains in the backend infrastructure. Aspects such as security, identity management, storage, messaging, media exchange, and content management are among many some of the most important backend capabilities that are required by most enterprise mobile applications. Enabling these and many other backend features represent, by enlarge, the most important challenge in the current spectrum of enterprise mobile applications.
When designing an enterprise mobility strategy, the emphasis should not be on the client development technologies and tools and, instead, it should be focused on the backend services and management experience to enable enterprise-ready mobile applications.
Anatomy of an Enterprise Mobile Platform in 2012
Looking at the current enterprise mobility market, we can find a group of "platforms" that can serve as the foundation of an enterprise mobile infrastructure. Sadly, all these technologies look incredibly similar and mysteriously resemble the models pioneered by Research in Motion a few years ago. Without exception, the current generation of enterprise mobility platforms provides a series of components that compose the complete mobile application lifecycle from development to operational management. The following figure depicts the fundamental elements of a mobile enterprise platform in the current market.
As illustrated in the above figure, the DNA of a traditional enterprise mobile platform is based on the following components.
- Cross Platform Mobile Application Development Tool: This component of an enterprise mobility platform enables a developer to implement mobile applications that can be deployed to multiple devices.
- Mobile Application Server: Traditional enterprise mobility platforms include a server side infrastructure that serves as the fundamental gateway to abstract the interaction between mobile applications and the datacenter infrastructure.
- Mobile Line of Business Adapters: Some enterprise mobility platforms include out of the box connectors to traditional line of business systems such as ERP or CRM applications. These components intend to streamline the integration of these platforms into enterprise mobile applications
- Mobile Application Manager: Every enterprise mobility platform provides a component to manage and monitor the different applications running in the mobile application server.
- Mobile Device Manager: Device management has been a traditional component of traditional enterprise mobility platforms since the early years. This component is typically responsible for managing the mobile devices running specific enterprise applications.
The components listed above represent the foundation of the current ecosystem of enterprise mobility platforms. Some of the characteristics of these components combined with the constraints of an on-premise delivery model introduce a series of challenges for organizations when embracing these platforms as the core of an enterprise mobility infrastructure.
The technical complexity and expensive delivery model of traditional enterprise mobile platforms combined with the novel and rapid evolving nature of mobile technologies makes enterprise mobility a really challenging experience for most organizations. Without getting into the specifics of any particular technology, we can refer to a number of challenges that are common across most enterprise mobile platforms.
- High learning curve: By not relying on popular and open technologies, traditional enterprise mobility platforms require that most companies train their developers and IT professionals in the usage of the proprietary development tools and frameworks required by the platform.
- On-premise infrastructure: Most enterprise mobility platforms require expensive on-premise infrastructures in order to host and manage the applications developed on the platform.
- Lack of developer community: The closed nature of traditional enterprise mobile platforms has impeded the growth of developer communities around these technologies. This fact has reflected in a lack of tools, frameworks and even accessible talent around those platforms which directly translates into high implementation and maintenance costs for most companies.
- Technology debt: The rapid evolution of mobile development technologies has made it impossible for most enterprise mobile platforms to keep up with the latest mobile trends. To cite an example, it took nearly a year after HTML5 became one of the most popular mechanisms for the implementation of mobile application before any of the major enterprise mobility platforms announced the native support for HTML5 applications.
- Professional services: The complexity and lack of developer communities for most enterprise mobility frequently platforms requires the use of professional services when implementing solutions on these platforms.
The aforementioned challenges are just some the roadblocks encountered by organizations when implementing enterprise mobility solutions based on traditional platforms. Given the growing importance of connected devices, the industry is in a desperate need of simpler, open, rapidly growing platforms that can help to democratize the enterprise mobility ecosystem.
The Time for an Enterprise Mobile Platform as a Service
As mentioned in the previous section, the current technology models for enterprise mobility has proven to be highly inefficient to address the challenges in this rapidly growing space. As an alternative, we need new enterprise mobile technologies that embrace modern computing paradigms and a simple delivery model that enables organizations to easily embrace enterprise mobility initiatives. In a nutshell, here are some of the primary elements we believe a modern enterprise mobility platform should provide:
- Freedom of tools and frameworks: A modern enterprise mobility platform should enable developers to use their favorite development tools and frameworks when it comes to implementing mobile applications.
- Open and simple to use backend capabilities: Forget the frontend capabilities, a modern enterprise mobile platform should enable open, service-enabled and simple to use backend features that allow developers to build enterprise-ready mobile applications.
- Cloud based delivery model: The on-premise model in enterprise mobile platforms have proven to be highly inefficient and cost prohibitive for most organizations. As an alternative, a modern enterprise mobility platform should leverage cloud computing as the fundamental mechanism to enable the backend and management capabilities of the platform.
- Managed mobile web hosting and provisioning capabilities: As HTML5 and mobile web techniques become increasingly important in enterprise mobile applications, the ability of hosting, provisioning and managing mobile web applications should be a key component of the next generation enterprise mobile platforms.
- Elastic and scalable computing model: While is true that user behavior is more predictable in enterprise mobile applications compared to consumer applications, the sole nature of mobile applications demands an elastically scalable hosting model in which infrastructure can be dynamically allocated based on user demands.
- Open, Open, Open: Finally, a modern enterprise mobility platform must be open enough to nurture a developer community around it and to keep up with the rapid evolution of mobile technologies.
An almost axiomatic truth in software development is the fact that most software platforms are just a realignment of well-established computing paradigms. In that sense, we should look for well-established software models that can enable the next generation of enterprise mobile platforms. We can quickly find the answer in one of the fastest growing technology movements of the last few years: Platform as a Service (PaaS)
A Platform as a Service for Enterprise Mobile Applications
At a high level, an enterprise mobile platform as a service is a cloud platform that provides elements of the enterprise mobile application development lifecycle as multi-tenant services. Specifically, an enterprise mobile application provides enterprise-ready backend capabilities as cloud services and it facilitates the hosting, provisioning and management of mobile applications that use those services. As other technology movements, an enterprise mobile platform as a service can be seen as a combination of existing technology movements such as mobile Backend as a Service (BaaS), mobile enterprise application stores, and a few other emerging areas in mobile technologies.
Expanding beyond the conceptual level, we think of the first generation of enterprise mobile PaaS as three fundamental components: a series of enterprise cloud APIs, a mobile enterprise application store and an environment to deploy, provision and manage enterprise mobile applications. The following figure illustrates this concept.
One of the most important aspects of an enterprise mobile platform is its application centric nature. Different from traditional platform as a service model, the application is the center of the enterprise mobile PaaS model and resources and services are provisioned and managed within the context of an application. The following figure illustrates that concept:
In addition to its numerous advantages from the technology standpoint, an enterprise mobile PaaS embraces the commercial SaaS model in which customers pay a subscription fee based on the usage of the platform. These models allow organizations to start relatively small and scale organically their enterprise mobility initiatives. Also, the cloud delivery model of the enterprise mobile cloud APIs allows organizations to immediately take advantage of new services as soon as they become available in the platform.
Even though it is not a key characteristic of the model, it is very important to highlight the tool agnostic nature of Enterprise Mobile Platform as a Service. Different from traditional enterprise mobile platforms in which development tools are at the center of the stack, an Enterprise Mobile PaaS focuses on the backend, hosting, provisioning and management aspects of enterprise mobile applications and delivers those in a model that can be used from any development tool or framework. To make the experience even simpler, Enterprise Mobile PaaS typically include SDKs for some of the major mobile platforms.
The Inevitability of the Enterprise Mobile PaaS
Based on some of the arguments expressed in the previous section, we can easily conclude that Enterprise Mobile PaaS are an inevitable evolution of the existing unsustainable enterprise mobility models. At a high level, Enterprise Mobile PaaS offers significant advantages over traditional models:
- Tool agnostic: Different from traditional enterprise mobile platforms, Enterprise Mobile PaaS allow organizations to build enterprise mobile applications using their favorite tools and frameworks.
- No on-premise setup: Enterprise Mobile PaaS are delivered as a cloud based solution that requires no on-premise infrastructure.
- No learning curve: The open nature of Enterprise Mobile PaaS makes it accessible to any developer with basic knowledge of mobile platforms.
- Continuous upgrades: Like any good cloud citizen, Enterprise Mobile PaaS make the continuous release of new and upgraded features a key element of the platform.
- Elastically scalable: An Enterprise Mobile PaaS allows organizations to scale organically based on the user demand of their enterprise mobile applications.
- Cost: The pay as you go model of Enterprise Mobile PaaS allows organizations to quickly ramp up and organically scale enterprise mobility initiatives without incurring major costs.
Finally and more importantly, the Enterprise Mobile PaaS represents the only model in which organizations can practically keep up with the fast evolving pace of the mobile technology world without sacrificing the policies of enterprise applications.
Enterprise Mobile Platform as a Service represents the natural evolution of enterprise mobility platforms. Traditional enterprise mobility platforms have proven to be highly inefficient, hard to scale, slow to evolve models that impose a high technologically and financial cost to most organizations. An Enterprise Mobile PaaS combines emerging technology models such as mobile Backend as a Service with creative application delivery models like application stores to simplify and democratize enterprise mobility.