Eight Commandments of IoT Integration
October 7, 2016
Launching your first enterprise integrated IoT solution is a monumental moment for any organization. The initiative represents a first step towards an unprecedented level of automated industrial and integrated business processes. We can now create tailored user experiences based on real-time information leveraging the emerging technologies of edge processing and machine learning, along with enhanced strategies for product design and IT digitalization.
IoT integration required
No matter how you run your first IoT project (relying on a service provider, leveraging a software platform or hacking away on your own), the key enterprise success criteria will depend on the ability for your IoT application to integrate with existing business systems. Like a mobile app that doesn’t engage users with push notifications or an e-commerce site that doesn’t have a shopping cart, IoT cannot deliver its promises without integrating with existing and legacy systems.
So how do you start on this IoT integration challenge?
Here are the eight commandments of IoT integration we use to get our hands around the problem and build something amazing!
IoT integration: Thou shalt…
I. Secure everything
It’s tempting to build IoT rapidly and start moving data between systems. A beta version demo showing a connected factory floor immediately sends your boss, marketing team and executives into an excited frenzy of a Jetsons-like future. The last thing anyone wants to think about is the consequences of those devices being compromised, remotely monitored or even captured as part of a botnet. Sadly, this is outcome very likely and proven to be happening all around us. When doing your IoT Integrations, always ask yourself:
- Do I have authenticated trust with this device or user?
- Should the information being transmitted be encrypted?
- Should this trusted device have authority to do what it’s doing?
II. Pick up where the existing system left off
With the mobile app wave, many companies spent years to be mobile ready before attempting to build an app. This was a massive inhibitor and falsely implied that old systems needed to be replaced. Instead, recognize that the vast majority of existing systems already have integration points built into them. There is a method for accessing them even if the method isn’t currently in “tech-vogue.” SOAP is still a viable integration option even if Reddit dismisses the idea. Whether you are integrating with a mainframe database, a Java archive, a massive service-bus or a DLL, understanding the architected communication protocol for your legacy systems is an important place to start.
III. Speak standards
Standard-based protocols aren’t a magic bullet, but they represent advancement when it comes to giving yourself a leg up on integrating and future proofing your enterprise. Choosing MQTT or REST as your IoT standard may still impose challenges as you communicate into MTConnect or OPC-UA, but by picking a standard, you make a whole community of libraries and resources available. Ultimately, the benefit of selecting an open standard for your solution is the ability to leverage the vast number of historic and open projects.
IV. Adapt and advance
The need to use legacy protocols with open standards creates competitive software designs. To overcome this conflict, an adapter layer is critical. This adapter will perform the task of relaying data across one protocol to another as efficiently as possible. This means the adapter shouldn’t perform any complex logic or refactoring. Instead, it should be as lightweight as possible and simply act as a cross channel for communication. There are connector software vendors that can help with this task, especially if your solution is cloud based. Alternatively, if you have a subject matter expert, the adapter can quickly be built in-house.
V. Not duplicate
Over the years, many enterprise integrations have been built by simply copying the database nightly. “DO NOT MAKE COPIES OF YOUR DATA TABLES.” Excuses for this terrible practice are based around security, performance or general lack of skills to do the actual integration. As far as IoT integration goes, this is one of the worst things you can do for several reasons: it immediately creates questions about what is the system of truth, it doubles the work effort to constantly sync conflicting rows, and creates developer confusion. When you’re tempted to copy data, it’s time to review your architecture design and the technical debt you will incur.
VI. Not duplicate
Another temptation every integration author feels is the desire to duplicate business logic. For the enterprise this is terribly risky, as business rules become ingrained into many different code bases and incoherent to understand. Many companies struggle for years to understand how their own processes work and how they can modify them safely going forward. Protect yourself now and approach your IoT with a reusable API focus. A single point of interface into your systems of record will allow you to be sure you know where and what is running your business.
VII. Cache where you can
The biggest argument for duplicating data is performance, and it is a fact that many data stores of the past just aren’t fast enough to handle the IoT workload. Think caching rather than falling prey to duplicating. Caching is the best of both worlds, allowing you to put information in a location that is highly available and scalable, and at the same time does not represent truth in the system. By using middleware like redis or etcd, you can take the read load off the enterprise system and then use well established queuing systems for keeping your cache in sync.
VIII. Hold the refactor
Often, an IoT integration task turns into a system-wide refactor initiative as developers get lost in the rabbit hole of the legacy system. Strategically, if the system was important enough to be refactored before your IoT initiative, the burden of updating it shouldn’t be part your IoT project. Instead of attempting to fix the vast number of other things that are wrong with that system, hold your nose and just get at the information you need. The technical debt of the old system should not impede the success of your IoT.
The internet of things is clearly the most exciting opportunity for enterprises to optimize and grow their business since the inception of the internet itself. To create actionable insights and achieve the expected ROI from IoT, integration will be critical to connect user, machine and device information into the systems our enterprises use every day.
See original post at IoT Agenda.