An earlier blog described the basics of Building IoT Solutions with AWS IoT Core describing advantages and the LEGO like building blocks but also pointing out that ‘it takes a real effort to build an IoT solution’. So how do you do it and what does it take? Here are some insights and lessons learned by Triotos as we actually built not only a single IoT solution but a platform for simplifying the creation of any IoT solution.

As mentioned in the previous blog the AWS IoT cloud platform has more than 10 LEGO like building blocks. Using each of these requires knowledge and the learning curve can be steep. The good news is that some of the blocks are identical to those used for building web and mobile apps and others identical to any AWS cloud computing implementation so if you have the AWS cloud computing expertise, you are in good shape.

A complete IoT solution always starts with the ‘Front End’, IoT Devices and how they are connected to the IoT ‘platform’. The ‘Back End’ is equally challenging (in this case the Back End is an EC2 instance that hosts all the applications and capabilities that receives/sends IoT data from IoT Devices and turns it into IoT web, mobile, messaging and business/consumer applications).

So, what does it take to put together the ‘Back End’ using AWS and additional LEGO blocks? Here is an initial list:

  • IoT Solution Integration Software
    • Web Framework
    • Micro Services Platform
    • APIs & Inter Process Communications
    • AWS Applications & Services
  • IoT Data Understanding & Planning
    • Model
    • Delivery
    • Processing
    • Sourcing
    • Storage
  • Applications Development
    • Web
    • Mobile
    • Messaging
  • Integrations with External Systems
    • Operational
    • Business
    • Other
  • Business & Technology Operations & Integrations
    • Operational Monitoring – NOC
    • Business Monitoring – Business Applications
    • Digital ‘Transformation’
  • Other
    • Evolving Capabilities
    • Security
    • Knowledge base

Let us look at each:

IoT Solution Integration Software is the software that integrates the individual components and services into the IoT solution. This is the system environment your programmers will use when they develop the platform. The core is a Web Framework and platforms/methods for interacting with all the AWS Applications and Services used in the IoT solution.  Modern designs use micro-services and API platforms as well as messaging applications for internal and external messaging.

IoT Data Understanding & Planning is the core of IoT. After all, IoT is all about connecting devices to the Internet in order to receive data from them or deliver data to them. It all starts with a data model which is a description of all the data that will be flowing though the IoT solution. How is a temperature represented? How is a unique device identified? How is a command delivered to a device?

All IoT devices and gateways have processing. How should this be used to filter out irrelevant information and gain additional knowledge about IoT data. Converting endless data into event reporting is a good start – that is part of Data Understanding. Running lambda functions and machine learning at the edge is part of Data Planning.

The IoT data solution you are designing does not operate in a vacuum – sourcing external data like weather will add value to many applications.

Storage and access to old and ‘other’ data is a key component to any web application. The value of IoT solutions depend on how much data can be made available in a meaningful way. Time Series databases are given, after all, meaningful IoT events are represented by data at a particular time. Structured data lakes are key to machine learning, AI and detailed analysis done by business analysts or ‘data scientists. The right data base selections (with associated tools for these functions, are critical to the long-term value of the IoT solutions you are developing.

Applications Development is the easiest part of IoT because it mostly uses the same software and tools as web and mobile applications. Traditional messaging is solved by messaging apps with the caveat that the right messaging platform will also function for both external and internal IoT solution messaging.

Integrations with External Systems is a critical part of any IoT solution whether these systems are payment, other web applications, management of cellular data access/plans or just integrations with ‘in house external’ meaning old fashion or separate applications. MRP, CRM, ServiceDesk and on-and-on. A well designed IoT solution will support.

Business & Technology Operations & Integrations are what they are. Any well designed IoT solution is that you can monitor from an IoT Network operations Center. Otherwise, how will you know when the IoT infrastructure you have introduced to your customers and in your business is not working? If not from the start, IoT will become part of your overall business operations so you should plan for it. As for ‘Digital Transformation’, beware of the fluff, but think about it and take small steps.

Other – there are always others whether in the details like security or the more general question on which technology horse you have jumped on – make sure it has some reach and that you are not dependent on a possible single point of failure. As you embark on implementing an IoT solution for your business, make sure that you have an engineer and business knowledge base you can depend on.

Building ‘Complete’ IoT Solutions with AWS IoT Core is not as difficult as it may sound. Key is that you know what you are getting into and make proper arrangements and plans so that you will succeed. At Triotos we have addressed most of these issues and made the engineering investments to address them. The Triotos IoT platform complements the AWS IoT/Application cloud platform in order to allow you to create the IoT Solution you need for your business. As to the decisions we made, view our Technology Stack and peruse our web site for more information.

About the Author

Mats Samuelsson

Mats Samuelsson is the Chief Technology Officer for Triotos. In this role, he is responsible for the development, integration, and deployment of Triotos technology initiatives.