The IoT platform is the heart of an IoT project, where data (mass or not) is ingested and persisted and then used for multiple purposes.
In summary, the functionalities that this type of platform must have are:
Connectivity: it is convenient to support the main IoT protocols (MQTT, AMQP, HTTPS...), encoding formats (JSON, MessagePack...) and application formats (what fields, what type of data, what do they mean).
Database: a central database engine for relational data and time series is required.
Device management: connect devices/assets to the IoT platform and easily manage them: configuration, firmware versions, events, etc. Send data in real time; and persist, monitor and analyze them with simple tools.
Dashboards: create and manage custom dashboards with a wide range of dashboards/display charts and custom options.
Alerts and events: personalized alerts and events, configurable by each user.
Actionate devices remotely: the ability to send messages to physical devices remotely in order to activate them.
Integrations: easily integrate with third-party devices, services and applications with APIs, business workflows, etc.
Observability: observability is key in the IoT: recording metrics such as elapsed times, status data, and volumes; Set up alerts to notify interested parties.