While there are bunch of readily available cloud solutions available, does it make sense to make your own? I will be giving my own views on this in this very fresh blog post. The opinions might differ person to person but will try to get the very facts straight!
When I started as an hobbyist on IoT development few years back it was dark and cloudy or should I say “non-cloudy”? There were limited resources for hardware and almost no good cloud solution! Things started changing very rapidly as IoT started becoming the buzzword and companies and businesses realized that it is right time to invest in IoT! Since then from big establishments to small start-ups have come up with easy to use, plugin type solutions for internet of things! Few IoT hardware prototype companies are also providing readily available cloud solution, which is easy to setup and code. And then there are big folks like Amazon, Microsoft, Google who are there with their cloud solutions as well. The question still remains that you gotta use these cloud solutions or is it worth enough to develop your own cloud platform?
what is good?
Well, it’s not difficult to answer to this very question! If you are an hobbyist and just want to get your hands on with IoT, it does make sense to use freely available off the shelf cloud solutions. There are many currently such as Thingspeak, Particle Cloud, etc. Just key in the Google search and you would get host of options. These are great solutions to start it. However, many of these cloud platforms provide free usage upto certain number of calls so if you are thinking of deploying it for anything big, you would exhaust out of this free quota very soon. If you are thinking of working it out for your customers then it is recommended that you use off the shelf solutions such as Amazon Web Service (AWS) or Microsoft Azure IoT cloud etc. However they are very very costly! so unless your client covers up the IT cost, you better say Nay for it!
However there’s a balancing solution out there! Instead of using SaaS (Software as a Service) model, use IaaS (Infrastructure as a Service) model and create your own cloud platform for yourself. First look at it will seem it like a gigantic task, however once you are done with the first one, you can package it and deploy for your many clients easily.
How to get started?
So basically what you need is to decide the cloud solution provider such as AWS or Azure. I’d recommend AWS with Linux OS. We have pretty much all the software open source and free for Linux OS. Once you narrow down on your selection, it’s the step to start thinking on what software you need to establish your functional cloud platforms. So if you are thinking of using MQTT then you might need Mosquitto or HiveMQ. You certainly need database to store the data so you have MySQL there or you can even chose from DynamoDB or MongoDB. You might need to create Web services which can be fueled with PHP or Java. You can find all of these and setup as per use. But first what you need is to decide on the architecture. Plan those basic steps already so you don’t end up in reforming them again.
It’s essential that you secure each of the entities in your cloud with the best possible solutions out there! For security you need 2 important things – First Authentication and secondly Encryption! Authentication is required so only relevant users or clients can access the systems on your cloud using right ports or channels. However encryption is required so that all the data streams to and from your cloud are so well encrypted that it is impossible for hacker to decrypt it and get access to. Using TLS/SSL is the best and economical way of ensuring the proper encryption. The SSL certificates used also ensures that the connection from your client to your cloud is trusted and is not routed to some malicious site.
Why do we need own cloud
You don’t need it unless you don’t care on what happens or who may look at your data. With increasing number of IoT applications and even more increasing skills of the hacker community out there, it is becoming essential that you care for it. Otherwise your systems are prone to hacking and your and your clients data is compromised, which I don’t think will be liked by many of us!
IT and IoT Professional
Disclaimer : The opinions expressed in this article are those of the author, and do not reflect in any way those of the organizations or institutions of which he is a member.