Sunday, September 18, 2011

Cloud Computing and Mobile Application Development

By: Mina Samy

Cloud computing has been in use for sometime cause it’s a better solution to traditional software solution as it provides Software-as-a-Service (SaaS), Platform-as-a-Service(PaaS) and Infrastructure-as-a-Service(IaaS).

For an enterprise, Cloud Computing removes the burden of constructing its IT infrastructure by depending on a third-party service provider that owns and manages the enterprise resources and allowing the enterprise users to access these resources on the Internet.

 So cloud computing offers the following:
  1. Saving hardware infrastructure costs: by paying only for the actual usage of resources.
  2. Automation: by saving the effort and time that IT personnel take in updating and maintaining software.
  3. Troubleshooting: cloud computing users will avoid time-consuming troubleshooting and problem solving as software is deployed to a stable environment.
  4. Mobility: as software and resources are available on the internet, users can access information wherever they are rather than having to stick to their desks.

Mobile application developers can benefit greatly from cloud computing as cloud computing can simplify application development. Developers need not to worry about where to store the application’s data: it can be stored on a cloud and retrieved on demand. The application can perform memory consuming calculations on the cloud and retrieve the results on the device.

 Some of the typical services needed by a mobile cloud server:
  1. Push Notifications: the cloud notifies the device with a new update thus the device can connect to the server to retrieve the updates.
  2. Sync: the device can sync documents, contacts and application data with the cloud.
  3. Security: providing authentication/authorization components to manage access to the cloud
Mobile Cloud computing also gives developers the choice either to develop:
  1. Native apps: developing a platform specific version of the app.
  2. Cross platform apps: the app. Runs in the device browser, developed in HTML5, Phone Gap…
 Examples of Mobile Cloud Computing:
  1. Apple iCloud: with the introduction of iOS 5 and iCloud APIs any iOS device can make use of the iCloud to store and sync documents and data.
  2. Google App Engine: Google provides the tools to connect Android apps to the App Engine server by means of Cloud to Device Messaging (C2DM).
  3. Amazon Web Service (AWS) Mobile SDK: providing storage of data, media, and database and messaging systems.
  4. Microsoft Windows Azure: provides SDKs to several mobile platforms to access Windows Azure platform features.

About Mina Samy:
Mobile Software Engineer at Symbyo Technologies

No comments:

Post a Comment