This article was originally published on rmdStudio blog.
Mobile and Cloud apps
Mobile cloud computing is still a mystery to a lot of people in the enterprise and organizations. Here is one one example:
What is cloud? Why do we need to store information in the cloud? Why can't we just store everything on the phone?This was asked by the head of IT department in a prominent medical organization in Vancouver. Valid question actually. A lot of people still don't seem to know what cloud computing is. So:
A good analogy is how we produce electricity. At some point in the history factories and organizations had to buy their own generators and hire teams to maintain them. At some point somebody thought of building an electrical grid and that is why we can all power our homes and offices with a low monthly fee.
When you host a website or web app in the cloud, it isn't necessarily hosted on a specific machine. In fact it could be running on any of the servers in the cluster at any point in time. In fact from the user perspective each dedicated computer or server is virtual and exists somewhere in the cloud.
Cloud also provides a more reliable environment to host your web apps, because if one of the servers break down, the underlying cloud management software will immediately shift to the next available working machine and continues delivering your web app or website to your end users.
Cloud computing can also be elastic. For example you can configure a virtual server to increase its processing power when your website traffic goes up or reduce the processing power when the traffic is low. That way you can optimize your hosting costs.
Cloud computing is used for both computation and storage. In fact, because of cloud computing the cost of file storage has also been reduced dramatically. Two of the famous cloud computing companies in the world are Amazon Web Services, RackSpace, and Google. If you are looking for a Canadian cloud company you can check out CaCloud.
The server side server can be quite complex. For example within your organization it can handle your intranet, products, eCommerce, and CRM all in one. Your mobile app may only access certain aspect of the software in the cloud. For example the app may only access the customer accounts, projects, or portfolio of products. You can actually build different mobile apps that communicate with the same cloud back-end but use different aspects of it.
Also once you have lots of records, maintaining them locally on a mobile device would really slow down the mobile app which is handling that data. On the other hand when you ask for the last 20 records of products or contact information, the cloud software can zip through a large number of record and immediately send you the 20 records which you have requested over the web.
If you save all the data in the cloud, then you can update a record with a click of a button and then the updated information will be instantly available to all the mobile users out there. Also running data migration on your server in the cloud will not only be much faster, but also more reliable too. You need to run one migration successfully and all the mobile users out there will be happy.
Next time that you launch a facebook, twitter, or dropbox app on your smartphone you can appreciate the beauty of the mobile cloud computing architecture and realize that a lot of what the mobile app is doing is actually communicating with a cloud software where all the users are interacting with each other. The brain is on the cloud and your mobile app is merely a transmitter and receiver.