When trying to kick off an IoT project, even a small-scale experimental one, businesses are faced with a major decision almost right away: are you going to buy it or are you going to build it?
This decision is played out in most technology projects. But with IoT it is uniquely tricky and it’s not a simple yay or nay. Whichever route you choose to follow, there are multiple trade-offs to be made between upfront and long-term costs, device management and maintenance, and even data ownership.
The truth is you need to have both eyes open to these considerations and dozens more — and, as we’ll see, at least one of them firmly on the future too.
The two typical types of IoT use case
Before we get into that, let’s take a high-level look at the two broad types of IoT solutions or projects we tend to see in business settings.
The first are revenue generating products. These are services and solutions in which the connected “thing” itself is the product. Think the smart thermostat in your home.
The second are projects focused on driving operational improvements with insights into your business. This typically involves some kind of monitoring, perhaps helping to understand what's going on in a manufacturing line, or the condition and locations of vehicles in a logistics fleet.
An advance on monitoring is alerting and response. It's great having a live dashboard of your data, but it’s even better to be told when to act on something. Better still — and the Holy Grail of IoT — is to apply machine learning analytics to that data to anticipate issues (versus simply triggering an alert when a threshold gets passed).
An introduction to the (high-level) pros and cons of buying vs. building
The major challenge for most businesses is that IoT is outside of their core competency, even for technology companies. They don’t have electrical engineering — including hardware, connectivity and power management — expertise in-house to design, build and support devices at scale.
And they don't want to invest a whole bunch of time and money to build something that they don't have capability in. So it seems to be a no-brainer that they should buy an IoT solution off the shelf.
But the challenge they soon find is that there aren’t agreed-upon standards in IoT —especially for “IoT in a box.” After choosing a vendor to work with, as the industry evolves or your use case matures, a year or two down the line you’ll find yourself in a situation where you’ve either outgrown that solution or you’ve diverged/specialized in your needs. What now? Do you have to abandon that platform — and more importantly, all the data and insights accrued — and build from scratch?
When it comes to building, you have total control over the solution. But with that comes the responsibility to solve for the hardware, the platform and the data aspects — at scale. (With IoT, we’re not typically talking one or two or a couple dozen devices. We're talking hundreds or thousands.)
For the hardware you have to think about the physical enclosure: what environment is this going to be sitting in and what elements will it be exposed to? You might have to source sensors and apply some electronics engineering expertise to incorporate them into the right form factor. Then there's power — you can’t often plug something in in the middle of the field — and connectivity. WiFi is common in offices, less so in the middle of a farm.
On the software side, there are platform and application considerations.
The platform is the first communication link to the devices. It’s responsible for configuring and managing those devices — collecting the data they generate and exposing it in a way that's useful for your business. The application interacts closely with the platform to take the data and insights coming in and get them back out to users. That could be business users via Business Intelligence (BI) dashboards or it could be customers via web and mobile applications.
All of that feels big, and it can be; but you’re not trying to build your own equivalent of the platforms on the market. They build hundreds of features to serve thousands of companies. You’re only serving yourself.
Our general — but hard-earned — recommendations for buying or building IoT
Even though most companies won’t want to invest time and money to build something they don't have capabilities in, they’ll also look at the market and realize they don't see a lot of options that fit their needs all that well.
In reality — and in our experience — that leads most organizations undertaking IoT projects to build a bit, buy a bit, and then customize a lot.
That journey is going to look different depending on the IoT maturity of your industry and use case. But we have some general and hard-earned recommendations for organizations whether they’re buying or building IoT.
- When buying an off-the-shelf IoT solution, make sure you own or can access the data and insights in their raw form. In the future you’re going to want to be able to build on top of, or integrate, these insights with additional use cases and/or more mature operations. You don't want to find out later on that your data is stuck in a partner’s platform and it's not getting out any time soon.
- Remember that costs come in different forms. To really compare buy-versus-build costs, you need to understand upfront costs versus long-term costs, and how that balance might change as your use case and capabilities evolve. Building has high upfront costs, while a SaaS platform might start at a few dollars a month. But at a certain point you're going to get to a scale where that recurring cost catches up and then overtakes the upfront costs.
- Choose your vendors and partners carefully when buying. Your brand is on the line when your vendors or partners deliver poor performance or instability. And it might be next to impossible to extract yourself from that relationship.
- If you build it, you own it. It’s never too soon to ask yourself what that means for your long-term maintenance commitments, as hardware naturally degrades or technology becomes outdated. On the flip side, you own your solution. It’s your IP and you have the freedom to evolve your solution with your business and choose the platform/cloud provider that fits with your current infrastructure.
The key takeaway: buy off the shelf and customize
This is a lot to figure out and it’s difficult for most companies to get from idea to execution without the help of third-party experts. There are many out there, in the shape of SIs or the right kind of platform provider — that is, one whose business doesn’t depend on locking in you and your data. A great example are the public cloud providers, who offer the building blocks to build bespoke solutions while offloading much of the technical complexity of doing so.
For hardware, my general stance is that — unless you’re a product company — you're better off if you can find solutions off the shelf, or close to off the shelf, that you can then customize.
So your first step is to understand all of the scenarios and constraints impacting your use case, touched upon here. Then figure out how those translate into hardware and software requirements — both now and in the future.
With that information, you then have the basis for a scope of requirements to help find the right off-the-shelf solutions to be integrated into a custom IoT configuration.
Jump-start your IoT journey on AWS with an IoT Assessment & Advisory
About the Authors
VP, AWS Cloud Native Development
As VP of AWS Cloud Native Development, Amir Kashani leads a team focused on building cloud-first software solutions for customers across a wide variety of industries. With over 20 years of technical experience and having led product and engineering teams for over ten years, Amir oversees delivery of solutions that reshape how companies embrace the cloud. As a trailblazer of cloud native development, Amir has helped break barriers to cloud native adoption, including in areas of serverless computing and IoT. Amir previously served a similar role at Onica, which was recently acquired by Rackspace. Prior to that, he was co-founder of Sturdy Networks, overseeing technical delivery through to the acquisition by Onica. Amir holds a B.S. in Information & Computer Science from University of California, Irvine.Read more about Amir Kashani