Cloud computing is not a buzz word, it is real and it is definitely the next big thing as more and more businesses are expected to adopt cloud based technology going forward. Last week’s announcements of price cuts to the cloud services of Google and Amazon — two of the most widely used cloud services — resonated across the Internet. And April 1, 2014 marked the 10th birthday of everyone’s favourite (cloud based) email service: Gmail. Gmail was one of the earliest cloud based apps ever created. You can read about Gmail’s starting point here.
[If you do not know what cloud computing is all about, you should read my piece about it here. ]
I love cloud computing and have built some cloud based apps for clients over the years. The major one being a Dropbox-clone I hacked together. We had to build a Dropbox clone due to privacy and security concerns, these are 2 concerns most people have about the cloud. While we love the ease cloud based tech brings, we cannot help but keep thinking: am I safe?
I was quite disappointed the day I learnt that Dropbox has no cloud infrastructure of theirs and that all our files are actually stored on Amazon’s cloud empire. I think this is a serious flaw in Dropbox’s execution. Dropbox renting their cloud storage is equivalent to a student renting an exercise book for his daily note taking or a programmer renting a work station to work on. I do not think it makes much business sense.
The issue then is trust. Can I trust you with my data? With the NSA spying brouhaha going on, people are becoming much more skeptic about the cloud and the privacy of its content.
A simple solution would be to build a private server. Cloud computing giants like Amazon have long condemned this approach as they claim the main benefits of the cloud come from scale; building one giant cloud platform that serves millions of users will be cheaper and better than building a million private servers. And they are right, certainly. Except your work is super sensitive (like health records), then setting up a private cloud may not be worth it. For the rest of us, we might have a solution.
A solution we could settle for is to properly encrypt all data before storing it on the cloud. We would need to come up with much stronger data encryption methodology and algorithms.
Another problem with cloud computing remains the fact that the clouds themselves are simply out of reach to most of us. The ‘us’ here refers to people without decent internet access, which is actually two-third of the world. To put it in context, 2 in every 3 people do not have internet access.
To work on the cloud requires a decent Internet connection so that data transfer is seamless and there is less risk of data getting corrupted. How then can we walk around this limitation? Perhaps we can engineer a mix of cloud and local storage. The main idea been that I can access my files and apps without any internet connection and the apps synchronize when internet access is restored.
This is not really a revolutionary idea, yet we have numerous cloud apps out there that do not offer this feature. I am not quick to criticise such developers anyway, since most of those apps are not “made from around here” and as such are not optimised for our own use cases.
As “local” developers, we need to rise up to these major challenges and do good stuff!