What is IoT?
The Internet of Things ( IoT ) is the cornerstone of a powerful transformation of digital business that utilizes the fusion of physical and digital worlds.
McKinsey predicts that IoT will generate $ 11.1 trillion of economic value per year by 2025.
Naturally, IT leaders are faced with business pressures to drive business more efficiently and at the same time provide new IoT solutions to further increase revenue through new business-related products and services. It is.
I have recently participated in discussions with customers about what is needed to develop IoT solutions and how to establish the right architecture.
In conclusion, I have rarely found an overall overview of the IoT solution architecture and best practices for getting started with IoT application development.
So, first I drew a picture and found some best practices related to the projects that Mendix customers were doing in this area.
This article begins with an explanation of the structure of an IoT solution and explains the role of the platform in simplifying IoT solution development.
In the last article, we will discuss the architecture and best practice recommendations for defining IoT strategies.
IoT solutions are diverse
What do you need to develop an IoT solution?
How can I establish an appropriate architecture?
IoT solution design is common in that it bridges the physical world of Operations Technology (OT) with the digital world of Information Technology (IT) such as sensors, actuators, communication devices, data, analytics, workflows, and applications. It is very different from IT solutions.
The diversity of use cases and operational requirements creates IoT endpoints, communication protocols, data management, analysis techniques, and corresponding deployment typologies.
But that just establishes the foundation.
The real value of IoT is turning data into insights, driving smarter businesses, and launching new products and services.
This is necessary for IoT applications by allowing users to act based on insights by combining sensor data, data present in enterprise systems such as ERP, CRM, PLM, and third party services such as weather and traffic data. Increases sex.
Appearance of IoT solutions
Despite the diversity, use cases that show anatomical diagrams of IoT solutions have a common level.
Taking a layered approach when describing anatomy helps to identify related services and technologies from the object level to IoT applications.
IoT Endpoints
This layer covers the physical world and operational skills needed to connect and communicate
Thing: Clearly the real endpoint of IoT can connect not only to physical products like cars, jet engines, lighting systems, but also to spaces like livestock, crops, people, rooms and outdoors is
Sensor: Collects and reports data about the state of what is connected. Sensors can be attached to or embedded in things to monitor temperature, pressure, light, movement, position, etc
Actuator: Controls the physical or logical state of the product using signals from IoT apps and other systems, such as opening valves, turning cameras, motors and lights on and off. This includes commands sent to the embedded software (for example, commands to restart or update the configuration).
Agent : A component that mediates a set of IoT devices, acts as a bridge between sensors / actuators and the cloud, and determines the data to send and when to send it. In contrast, it handles commands and updates from the cloud.
Edge computing devices : A distributed architecture where IoT data is processed at the edge of the network. Sending a large amount of raw data over the network puts a heavy load on network resources. In some cases, it is much more efficient to process data close to the source and send only valuable data on the network to the cloud.
Communication: For IoT device communication, the physical layer and communication protocol are distinguished. As far as the physical layer is concerned, communication between gateways, mobile devices, mesh networks, and direct or broadcast devices may or may not be appropriate depending on the use case. The choice of physical layer determines which communication protocol is most suitable (MQTT, COAP, HPPT (S), AMQP, ZigBee, Z-Wave, etc.).
IoT Software
The next layer integrates IoT software services to securely manage IoT endpoints, represents connected ‘digital twins’, processes and analyzes data, and APIs for consuming and publishing services This is a (cloud) platform.
Device management: Simplifies the process of configuring, provisioning, and operating endpoint devices. This supports monitoring, testing, software updates, and troubleshooting connected devices.
Digital twin management: many IoT use cases, especially industrial IoT, it is important to define a connected digital twin. This is as simple as a 1: 1 mapping of the physical and logical identifiers of an IoT platform, but with an engineering view of assets with component / system hierarchies into physical devices that represent instance and class level assets It’s also as sophisticated as mapping.
Event & Data Processing: Event processing handles event streams, filtering, and monitoring from connected devices. In addition, you need services for data aggregation, data storage, and management.
Analytics / machine learning: Analytics services perform statistical analysis and apply machine learning to detect device instance or class-level patterns such as predictive maintenance, recommendation creation, and engineering change triggers.
API management: Provides openness at all layers of the IoT platform for device communication, data, services, backend integration, and application development.
Security management: Prevent IoT endpoints from exposing security threats due to the increasing attack surface of IoT. IoT devices generate sensitive information about operations sent over the Internet. In addition, the device itself is vulnerable to hacking, which can cause serious business damage. Security services should include device authentication (based on certificates), network connectivity, software upgrades, authentication, identity and access management, and data loss prevention.
Open Source Building Management System Software
IoT App
The app layer is where IoT solutions are located, turning data into actionable insights and handing it to business users, customers, and partners. A layer where workflows are defined to be integrated with existing backend and third-party services and to act on insights. The app layer core services include:
Integrated development environment ( IDE ): To develop IoT applications, a design-time environment is required. This could be a traditional IDE for coding in a specific language or model-driven environment for collaborative and visual development of IoT applications. In addition, software configuration management and branch and merge core services are required for the development team to commit work and create builds and application packages. Finally, the IDE needs to guide developers to apply appropriate patterns and best practices for IoT application development.
Multi-channel apps: In today’s world of web and mobile applications, the IDE supports the development of cross-platform, responsive, multi-channel applications optimized for specific form factors and with device capabilities with minimal overhead Ideally use support gestures.
Integration: The lifeline of IoT apps. After receiving an alert or triggering an actuator, the application needs access to an IoT endpoint (via a digital twin) to read the full history of “things”. Utilizing various IoT software services (such as time series data and machine learning algorithms), these services can be incorporated into IoT applications. Finally, enterprise backend integration with third-party services is necessary to align IoT apps with context, such as managing workflows and creating dashboards for service engineers enhanced with engineering and customer support data. is
Test: Test & Quality Assurance is an essential area of IoT application development project. Test automation at different levels (unit test, integration, functional test) helps to minimize test load compared to (repeated) development cycles.
Deployment: DevOps engineers can efficiently manage IoT applications through phased deployment to the target environment and automatic provisioning of application resources (web server, OS, database, file storage). Ideally, you have the flexibility to deploy to your chosen cloud. For example, it is close to where the core IoT service used by the application is operating.
Management: To manage IoT applications, user management, application management, monitoring, and self-service options for horizontal / vertical scaling and high availability configurations are important. Specifically, support for elasticity, backed by a stateless application architecture, is essential for dealing with variable and voluminous volumes