Cover Story A VIRTUAL DESKTOP IN THE CLOUD BY BILL CLAYBROOK Developing mobile applications for the cloud can be tricky work. here's how to choose a platform and decide if your back-end systems are up to the task. What's expanding at the same blistering pace as your company's mobile workforce? How about the demands those users are making for a software experience that rivals the one they get on a desktop? For many companies, a private cloud is the answer. But if you decide to power your mobile workers centrally with a private cloud, your mobile applications need to be developed with that infrastructure in mind. Several factors are in play here, especially if you want applications that can work on all mobile devices, desktops and notebooks. What is required to get existing applications to work with mobile devices when the apps are running remotely on a cloud? How do you resolve the problem of fitting data from an application designed for the desktop onto the smaller mobile device screen? Should you develop for mobile devices first, and port to desktops and laptops later? Tony Iams, an analyst at Ideas International, an IT research firm, says it's important to determine what part of the application's state — the code and/or the data itself — is being moved up to the cloud from the mobile device. “Moving state to the cloud gives you back- end manageability benefits because you do not have to maintain that state on the mobile device,” he says. In other words, all changes or application updates are made centrally. Mobile cloud computing means that the processing of applications — and the storage and retrieval of data — is performed by a cloud- based infrastructure. It results in a total cost of ownership savings because IT staffers don't need to update individual devices — the client software environment is running on a server in the cloud, and changes made there show up on every client. From the user's point of view, there is a convenience benefit, too, because you can now get to your desktop — a virtual desktop in the cloud — no matter where you are, through a browser on a mobile device. “You always have the same desktop environment no matter what remote device you are using,” says Iams. Because there are different types of users and different types of devices, you have to be ready to support multiple versions of your apps. This means being prepared to support different screen sizes and devices made by multiple manufacturers. Get a mobile platform One way to ease the task of providing application support for multiple types of remote devices is with a mobile platform, says Jeff Deacon, director of corporate strategy at Verizon Business. A mobile platform is the software between the mobile device and the app and the data. It runs on the cloud and does some tasks specifically for mobile devices, such as converting data into a user-friendly format and making sure everything fits well on the screen. It also has an authentication mechanism that reaches all the way to the device, so the device can be wiped remotely if it is lost or stolen. With a mobile platform, back-office applications are isolated from unauthorized users who might back into the applications via Multiprotocol Label Switching. The platform secures the mobile device and then does the conversion. These mobile platforms are more formally called mobile enterprise application platforms (MEAP). They allow you to deploy mobile apps across a variety of devices without having to implement an app for a specific device. They also allow you to selectively run applications natively on the device in cases where it's important to take advantage of key features of the device or when it would be difficult to emulate native functionality on a server in the cloud. This is one of the directions that the market is moving toward, but MEAP tools are in the early adoption stage and most enterprises still don't know much about them. Deacon says Verizon uses a multitenant system, the Sybase Unwired Platform, to reduce the complexity of developing mobile apps and deploying them across a variety of devices and back-end enterprise servers. Other MEAP or MEAP-like platforms include WebMobi, AMPchroma from Antenna Software, Agentry Mobile Platform from Syclo and Appcelerator Titanium. Mobile apps come in one of two forms: those native to a specific device, and those accessed through a browser (also known as mobile Web apps). A mobile Web app is usually built with HTML (today this would be with HTML5), Cascading Style Sheets (CSS) and JavaScript. Style sheets provide the look and formatting for documents written in a markup language such as HTML5. A native mobile app, on the other hand, is built specifically for a particular device and its operating system. Mobile Web apps have an advantage over native mobile apps because they offer cross-platform compatibility; on the downside, mobile Web apps aren't always able to take advantage of the latest technology on a specific device. Kamesh Pemmaraju, an analyst at Sand Hill Group, says that in addition to MEAPs, hybrid approaches that make use of HTML5 are emerging as away to develop mobile applications with cross-platform capabilities. Hybrid application development blends the native and mobile Web app approaches. With a hybrid mobile app, most of the user interface — or even the entire thing — is in a browser window with a native app wrapped around it to provide access to native device features not available with the browser. To a user, a hybrid app looks like a native app. But to developers, there's a big difference. Rather than rewriting the entire mobile app for each mobile device, some of the code is written in HTML5, CSS and JavaScript and then reused across different devices. Dealing with Speed and Access One of the downsides of the mobile cloud model is that users can experience latency and intermittent access problems when they try to use applications that reside in the cloud, says Deacon. But this isn't a big problem for many of the applications that businesspeople use in the field. The applications that experience latency problems are usually ones that involve voice and video; they aren't the typical enterprise tools that are designed for reading email or querying databases. “While latency and intermittent access may be bothersome, it is not that big of a deal for many users,” Deacon says. Eric Miller, senior vice president of IT and CIO at Erie Insurance, has had some problems with intermittent access in corporate mobile applications, primarily those used by claims adjusters. For example, one application collects information in the field and executes store and forward routines, but that process can be interrupted if the connection is lost. “We have to be able to interact, and have good functionality and almost seamless interconnectivity once connected,” Miller says. HTML5 can help with intermittent access issues by using something referred to as on-device caching. This feature allows data to be stored offline on the remote device for further processing, reducing the problems created by interruptions in mobile connectivity. The net result of on-device caching is that fewer round-trips are required between the remote device and the mobile cloud server, allowing apps to run effectively on the mobile device even when mobile connectivity is discontinued. One of the best examples of the use of on-device caching is with Google Maps for Android. Map data is preloaded on the remote device for those areas where the user transmits most often, ensuring continuity of use even if the satellite signal is lost. Check the Back End Generally speaking, enterprise clouds are up to the task of handling mobile applications, says Bernard Golden, CEO of consultancy HyperStratus. If you have some sort of cloud-based infrastructure that already has virtualization and automation, you should be able to add services like identity management to handle mobile devices, he says. "Part of your IT strategy should be to extend your core services,” like identity access management, so the services can be used by any application running on any device, he says. “In effect, you need to create APIs that can be called by applications, no matter what form factor they are running on.” The APIs need to be in mobile-ready formats that can be used by both mobile developers — internal and third party — and the apps they create. The goal is not to approach this as, “I need to build a custom extension for the iPad,” Golden says. “The iPad is just one device. There will be dozens, so you need application APIs and components that are portable.” API-as-a-service vendors — including Layer 7 Technolo gies, Apigee and Apiary — can help here, because they offer API management tools. These tools can be implemented in the mobile cloud. Some customers have novel approaches to this issue. Mohawk Fine Papers, for instance, is using the cloud itself as an integration platform. Richard Peltz, CIO at real estate investment service Marcus & Millichap, says his company doesn't build its own mobile apps. It has outsourced this task to AT&T, because AT&T already has the expertise, he explains. Down the road, Peltz sees Oracle and other companies providing portals — private or public —where users with the right credentials can access customized apps that are rendered automatically to various devices, including mobile devices. Marcus & Millichap is currently implementing a content management system (CMS) developed by SiteCore that will automatically render to any mobile device, eliminating the need for Marcus & Millichap to write device-specific native apps, as it has done until now. The company expects to complete the CMS deployment by early 2013 in its VMware-based private cloud, at which point the corporate website as well as the intranet will migrate to the new CMS platform. End users will manage the content. Think Mobile First Miller says Erie Insurance thinks mobile first for all of its applications and then ports them to PCs when possible and when it makes sense. Erie is moving strongly toward the use of mobile devices, so developing for mobile first is a good strategy, he says. But that strategy does present challenges. A mobile device generally has much less memory, processing power and other resources than a PC does, meaning mobile developers face design constraints that aren't present in other platforms. In addition, mobile apps are often designed to take advantage of hardware features on mobile devices that may not be readily available on PCs. Miller says that one of the questions that Erie's usability group has to wrestle with is, “Do we build a Web portal that adapts itself based on the device that is coming into it, or is it a specific app?” Most mobile app use at Erie involves submitting data to a back-end application that just collects it. The company has only a few back-end applications that let mobile users access data and then send the data out to the user's device and maybe store it there temporarily. Data downloaded to a mobile device is encrypted and a certificate is downloaded to the device that authenticates the user. Some service providers, such as Google, already offer mobile cloud services, which are accessed through a browser running on a smart-phone or tablet. But most mobile apps are downloaded from a vendor's app store and run in native mode on the device. This requires a separate development effort for each type of mobile device. A mobile cloud infrastructure enables users to work directly from the cloud, viewing the client interface through their device browsers. But the use of a mobile cloud doesn't eliminate the need for in-house development. Each app still has to be developed; the difference is that only one development project is required to build an app that can be accessed by many kinds of devices. New development tools, including HTML5, help with those efforts. And though there are still some smartphones that don't support HTML5, it's only a matter of time before all of them do. As more and more mobile apps and data are stored in the cloud and run on cloud servers, it's likely that less powerful, less expensive smartphones will begin to hit the market and gain acceptance among users. Stay tuned. Claybrook is an analyst with more than 30 years’ experience in the IT industry. He can be reached at bclaybrook@comcast.net.
No comments:
Post a Comment