Looking for a guidance and tips how to start the integration

What product/components do you use and which version/fix level are you on?

It’s a newbie question, I read the docs but still have some doubts how to do a test integration to see Cumulocity potential on a living organism.

Is your question related to the free trial, or to a production (customer) instance?

Free trial

What are you trying to achieve? Please describe it in detail.

I’m part of a team that is building networks that are super fast and of very low latency. We are interested in integrating with CumulocityIOT platform.

To give a little bit of context, our platform consist of:

  • end devices (nodes) equipped in different kind of sensors/control devices, nodes are not connected to the Internet
  • gateways that are connected to the Internet and provide bi-directional communication for nodes and our cloud platform
  • cloud platform that governs the whole network

What we want to achieve is to let our customers to gain powerful control, analysis and automation options, additionally make for them possible to extend their current implementations with our networks in any areas where it’s feasible.

While analyzing various integration options, for now we are leaning towards setting up an agent in our cloud platform, that will act sort of like a proxy, passing commands from the Cumulocity cloud platform to our end devices and sending back the measurements. We think that it will be more flexible with regards to doing agent upgrades and generally more scalable comparing to setting an agent on a gateway, although we are also interested in hearing other community members advises/experiences in that matter. Because we are using node.js in our ecosystem, ideally we would like to implement the agent using this technology as well, however we will adapt to other options when necessary.

I know that there is also an option to run a service in CumulocityIOT cloud, however if I understood its specifics correctly, this is not for an agent but rather for an already Cumulocity-enabled devices/networks (i.e. for custom data processing), however please correct me if I got this wrong.

Do you get any error messages? Please provide a full error message screenshot and log file.

Not applicable

Have you installed all the latest fixes for the products and systems you are using?

Not applicable

Hi Boguslaw,

welcome to the Tech Community!

Your assumption are going in the right direction. For any device integration we use the word “agent”. Agents could be run on a device, on a gateway on a 3rd Party System or within Cumulocity IoT as a microservice.

All kind of agents have different requirements. While gateways and device need a lean and efficient communication most likely using MQTT as a protocol a Cloud-to-Cloud or 3rd Party Integration must scale to handle thousands of devices at the same time.

Choosing an agent running in your existing cloud is a good approach if you want to have a single point where to monitor the integration and don’t want to touch all the gateways and devices. Here you need to make sure that the authentication & security patterns are correctly implemented e.g. using a service user or technical user for the integration which has the permission to ingest data but not to login to Cumulocity User Interface etc.
You can also implement the bootstrapping process so you don’t need to provide any credentials at all but for each Tenant you’ll fetch a user and need to keep the dynamic credentials stored within your cloud.

Another valid approach would be to run the agent as a microservice within Cumulocity IoT. It is very similar to the approach you’ve chosen with the difference that it is hosted within a tenant and can access 3rd Party APIs. With this approach you can also push data to custom defined REST endpoints in a custom data format and do the data parsing within the microservice. Still the request must be authenticated with a valid Cumulocity User so you need to make sure credentials are provided for external calls.

If you want to call and external API and need to authentication you can store the relevant information in the Tenant Options which will be fetched on start of the microservice.

Have a look in our github Repo where you can find examples for agents https://open-source.softwareag.com/iot-analytics?repository=agent or microservice https://open-source.softwareag.com/iot-analytics?repository=microservice

Let the community know if you need further assistance

Regards
Stefan

Thank you Stefan for your very extended answer. We decided to try setting up an agent in our cloud. As my 2-weeks trial expired, could you tell me what will be the options now for building simple demo integration? Is there a way to extend the trial and if so, will trial version be sufficient for such test integration?

Best Regards,
Boguslaw

@Nadezhda.Rusenova can you check with Boguslaw what options you have to extend the trial tenant?

@boguslaw.parol The trial tenant is sufficient for testing a first integration. The whole API & access is also available for trial tenants.

@Nadezhda.Rusenova kind reminder :pray:

Cheers,
Boguslaw