News flash: If you’re building your own IoT infrastructure, you’re wasting time and money, and jeopardizing the quality of your product.
In this post, I discuss how you can reduce cost and boost quality with an IoT platform, how to choose the right platform, and debunk myths about the benefits of building your infrastructure in-house.
You simply don’t need to build the complete IoT infrastructure yourself. There’s no point reinventing the wheel.
By using a platform, you’ll save costs because you’ll have more functionality with less engineering effort, sooner. And you can focus your development efforts on what really matters: your core value proposition.
Think about it. IoT platform vendors have large teams of developers improving features, fixing bugs, and making sure their offering is rock solid. By leveraging their work, the quality and stability of your product will ride the wave of their investment.
Although this post talks about software and hardware platforms, the build vs. buy decision is a business conversation. Therefore, based on my IoT Decision Framework, we are here:
What is an IoT Platform, Anyway?
The goal of any platform is to reduce your development risk, accelerate your product’s time-to-market, and reduce cost. In fact, I recently talked to someone at AWS who said their internal vision is to “take over all the sh*t companies don’t want to deal with.”
There you have it.
When people talk about IoT platforms, they usually launch into technical jargon like transport protocols, rules engines, data lakes, etc. While all that’s important and should be considered at some point, it doesn’t really make clear how a platform can help you.
So let’s break down the key tasks that an IoT product needs to perform, and therefore, highlight the functionality that should be covered by a platform. In general, an IoT product needs to:
- Acquire data from the real world (via sensors)
- Process data locally (edge computing)
- Connect to the cloud to send data / receive commands
- Store data in the cloud
- Analyze data in the cloud
- Command the “things” to perform specific tasks based on insights
- Present insights to users
In addition, there are some “behind-the-scenes” operations you’ll need:
- All operations should be done securely throughout the IoT stack
- You need the ability to identify and manage all of your devices (at scale)
Based on this simplified description, a good IoT platform should provide the tools and infrastructure to cover as many of these tasks as possible. For example, if you select a platform that’s very strong on analytics, but doesn’t help you in getting data from the devices to the cloud, then you’ll have a big gap.
How Do I Select the Right Platform?
As of today, there are hundreds of IoT platforms available in the market, with more coming out every day. In fact, according to IoT Analytics, there are over 360 platforms out there today, so you’ll need to do your research.
Choosing the right vendor can be daunting. To get you started, here are 5 key areas to look for:
- Reputable company. IoT is risky enough as it is. Trusting the core of your product to an unknown company might backfire. Make sure you evaluate their reputation, stability, financials, and track record.
- Large ecosystem. IoT is so big that there’s no way a single company can dominate it all. Looking for a company with a strong app and partner ecosystem will be a good investment in optionality and expansion. Most of the top IoT platform providers don’t do hardware themselves, but they have a strong partner ecosystem to pull from. That is always a good sign.
- Open APIs. Extensibility will be key, so make sure you select a provider that gives you programmatic access to as much of their functionality as possible.
- Vertical focus. Aligning with a vendor that understands your industry is always a plus. Their solution will be designed to handle your type of data, analytics, and even help you comply with industry regulations.
- Strong onboarding. Adopting a new platform is not a trivial thing. Look for companies that have a strong solutions team (or professional services) that can train your team, help you with the architecture, and handhold you through the proof of concept stage.
Here are some of the top IoT platforms in the market today (in no particular order). Their functionality is somewhat similar. Some of the main differences have to do with Industrial vs. Commercial focus. As you start your evaluation, you can’t go wrong with any of these:
- Amazon — AWS IoT
- GE — Predix
- Microsoft — Azure IoT
- IBM — Bluemix
- Oracle Cloud IoT
- Google Cloud Platform
- Samsung — Artik modules & cloud
The beauty of these platforms is that they already did the infrastructure heavy lifting, which allows you to focus on your core application. These companies have spent hundreds of millions of dollars building their products so you don’t have to.
Ultimately, you are looking to build a partnership with one of these companies. It’s a complex decision, and you can’t make it alone. It’ll require you to work closely with various groups in your company including Engineering, UX, Data Science, Finance, and more.
I Get It. But I’d Rather Build My Own Because…
I’ve heard countless arguments about why companies need to build their own <insert technology here>. Too often, companies waste millions of dollars and years of effort reinventing the wheel, instead of pushing their product forward.
So let’s debunk some of the most common arguments against IoT platforms.
1) My Product is Unique
IoT platforms are meant to be generic, so most likely you’ll find some gaps vs. your ideal solution. The key here is to assess how big that gap is and figure out ways you could get around it. Is it a must have? Are there other platforms or software vendors that can cover the gap?
Also ask yourself if that functionality can wait. One of the big advantages of jumping onto a platform is that you piggy-back on their growth. Top companies have hundreds of developers working on enhancements and new functionality.
The gap you are experiencing might be covered in the next release, not to mention all the new functionality, partners, and tools they’ll continue to provide throughout the years.
2) Platforms Are Expensive
Yes, platforms cost money. But in the long run, these costs are small compared to what it’ll cost you to build your own.
Building a functional IoT backbone will take millions of dollars and many man-years of your engineering team. Not to mention QA, UX, Product Managers, etc. On top of all that development cost, you need to add support and maintenance costs. Forever. Instead of creating an asset, you’ve probably created a liability.
Even if you are able to pull off the enormous technical challenge, in the end, you’ll have something that’s not core, is not differentiated, and is probably 2–5 years behind where the industry is today. As a Product Manager, it’d be very hard to justify that investment.
Rich Mironov debunks the “do it yourself illusion” in this great post.
3) Investors Will Give My Company a Lower Valuation
Many folks are worried that investors will see less value in their product if they’re leveraging 3rd party components or platforms. Nothing is farther from the truth.
Investors care about unique value propositions and ROI. How would you explain to them that you spent their money reinventing the wheel? Not a conversation I look forward to.
Let me put it this way: saying that your product loses value if you build it on a platform is like saying Tesla cars have no value because they don’t make their own tires. Or saying Netflix has no value because they build it on top of AWS. I don’t think so.
The Bottom Line
Building an IoT product is very complex. By outsourcing non-core areas of your product to a platform, you’ll reduce risk, minimize cost, improve quality, and accelerate time to market.
Oh, and one last thought. If you aren’t thinking of using an IoT platform, I assure you your competitor is. Don’t be surprised if they beat you to market and are able to provide more value added features faster. Just sayin…