It’s one thing to get some devices to work together using APIs in a development shop; it’s an entirely different thing to ship usable, innovative technology to consumers in a $14.4 trillion dollar market.
The explosion of manufacturer and developer interest in IoT-related services definitely means that there is going to be a lot of code and hardware that needs to be properly tested and monitored. Enterprises and startups alike are scrambling to pick up a piece of the action, but big names like IBM, Cisco, and Intel have been preparing for the IoT onslaught for years.
We must learn from our failures…
Many smaller innovators are simply trying to make sure that consumers aren’t disappointed with IoT promises like they were with 3DTV, Google Glass, and drones. These kinds of cool technologies were simply not thought through enough, running into fundamental problems with nausea, privacy, and personal safety.
The IoT and API industries are more than just technological bedfellows, they share common philosophical underpinnings:* Great IoT devices should be secure, much like APIs should consider security throughout their architecture
- Great APIs should be composable with other APIs, just like multi-use IoT devices should be easy to integrate together
- APIs and IoT devices should maintain what industry leaders call “bounded context”, to keep complexity manageable
- Great consumer services integrate IoT devices and external APIs to compound their usefulness to consumers
We must act on what we learn…
Even well thought out solutions that are designed and delivered responsibly can easily fail to stand up to demand. IoT devices and APIs need to be tested for performance characteristics, to understand how the system as a whole behaves under adverse or abnormal conditions.
Load testing your APIs is a solved problem, it’s just a matter of making sure it is a priority and properly scheduled well before release. Load testing exposes problems in latency, concurrency, and reliability of both the code and the infrastructure, so by definition it is something that you want to put your DevOps hat on for. It is not solely a “QA problem”.
Likewise, API virtualization is critical for teams to function autonomously and to see how connected IoT devices function when service behavior becomes less than stellar. We know what it looks like to the service when there are too many devices connected to it, but what does an unreliable API look like to devices and apps? API testing teams now need control over the situations they can simulate to make sure the overall system as a whole is truly ready for production rollout.
When we act on what we learn, things get much better…
IoT is poised to put more new devices and services in play than cloud, hardware virtualization, or mobile initiatives ever did combined. There’s plenty of money to be made, but only by those who are quick to innovate and disciplined enough to test all aspects of their solutions stand to benefit from the IoT wave.
Please for the love of whatever, lets build a connected world that is safe, reliable, resilient to change, and one that ultimately makes us happier people. Let’s be creative and successful, but careful and considerate at the same time.