Cloud providers put something on the menu for everyone that makes it inherently complicated in both architecture and pricing while IoT platforms focus on just one thing.
IoT (Internet of things) and Cloud Computing are two different concepts playing an important role to make our lives easier and smarter day by day. We often mix up the interdependent relationship between them when it comes to comprehending the difference between the two. When we integrate the services provided by IoT devices and cloud computing platforms and deliver them as an end-to-end service, we call it an IoT cloud platform. Amazon Web Services, Microsoft Azure, and Google Cloud are the top cloud providers, but are they truly serving the purpose for us IoT peeps?
As we’ve argued in our previous article, IoT is used as a market move rather than a core technology. Most IoT solutions are coming in as : "what can we solve with IoT" instead of "what can we solve, only with IoT". What the ecosystem is doing right now is offering IoT as an extension of their product thinking that it’ll give them an edge in the market.
Let us put AWS under the telescope. The giant has been playing it extremely smart. AWS decided that it is McDonald's and put something on the menu for everyone. Kiddy and adult meals both. So the extended menu is there but the quality of the meal is highly compromised.
Want an SMS service? Amazon is there with SNS but it has nothing against Twilio which provides more features, supported development platforms, languages, open protocols and cloud models. So the Filet-o-Fish just became very difficult to swallow with all these thorns.
Not a seafood person? No problemo. Amazon offers you a Cheeseburger in the form of its email service. But food critics here are again unhappy with the amount of cheese in it. They argue that Sendgrid is winning the game with its email services against Amazon which has no proper infrastructure for validation, delegation or spam control. I mean if the food critics are saying that, it must have some weight to it. All I know is that I like my burger with extra cheese.
No cheeseburger? No seafood? Amazon is willing to serve you fries with its Amazon DocumentDB service. But the fries lack seasoning. Anton Ego from Ratatouille said so. (Anyone who gets this reference is my best friend. Those who didn’t , GO WATCH RATATOUILLE). Okay, so how do the fries lack seasoning? Amazon thought of creating a schemaless database for users just like MongoDB and created DocumentDB which emulates the MongoDB API This just created significant architectural constraints, functionality limitations and broken compatibility.
So we learn that cloud platforms are trying to do something we call bundling. Typically bundling suits us well in winters, but not in the IoT world. These cloud platforms do not make things easier for the IoT world which prefers unbundled summertime over winters.
The cloud world is dominated by a shrewd bunch of people who deliberately strategize you getting into a fix. Cloud mainly offers you half baked services so you have to do a lot by yourself. To smoothly manage everything needed for IoT like OTA and real time communication developers have to build a lot of stuff on the existing infrastructure. So you often end up creating your own servers or writing your own API’s. And cloud platforms feast on this. While you do all of this you end up using more of their services, and the more services you use the more they charge you.
Cloud providers give you separate pricing for each service you use and in the end, you have to sum up all the pricing yourself thus complicating the entire process. For example, AWS has separate pricing for each service and when you make something mixing and matching out of all the multiple services, the aggregated pricing can come out to be almost gibberish. Sneaky right?
Cloud providers are essentially IKEA. Once you go there you need to buy more and more stuff to build what you first brought. Or they are Apple. They first create the problem and make you buy the solution. Whatever they’re doing falls under the book of rules we don’t want to conform to.
Additionally, if we look at it from a different perspective, this is just how cloud is designed. It is inherently complicated. Even the most highly experienced cry over its complexity so it becomes even more intricately complicated for IoT noobs. Configuring the most basic of things like the IAM rules is one heck of a job and takes a toll on even the techy guys. Script capital in its article also quotes that in the last decade “the development and infrastructure stack has exploded in complexity”. Summing it up, cloud is complicated and this is an explanation, not an excuse. It was never designed to be simple and the ecosystem compromised on working with the non-optimal solution not getting ahead of the complex architectural decisions.
So now we know what we are facing, but what do we do about it? Remember when I said that IoT is a summer fanboi and likes unbundling, unlike cloud, that is what we need to do and that is what Taylor Clauson also backs up in this article. The software world has already taken lead in this matter and has already unbundled a lot of things. Each new startup or venture targets a new domain and gets it settled. We can see many examples in the form of Vercel unbundling frontend development, Netlify unbundling deployment, Toit unbundling IoT, Edge Impulse unbundling Machine Learning, Heroku unbundling app development and Grandeur unbundling IoT backend. Cloud needs the same treatment. We need to dismantle bigger structures into smaller, innovative ones to address each problem set. That happens and IoT will truly get the level ground it deserves to play.
Complexity of IoT development is one of the reasons why IoT is still not keeping up with its buzz and hype, here are some of the other really major ones!