Plain English "Internet of Things" architecture - Part 2

In the Part 1 we examined how "Connected devices" can send data via the internet. Now, let's take a look at how a "Machine cloud" facilitates receiving it.

2. Machine Cloud: Baby, don't forget my number

Our connected devices is now ready to send and receive a lot of data via the web, and it needs to connect to an internet accessible infrastructure (typically cloud based). This tier serves as the initial landing area for machine data.

This tier also determines how this data is filtered based on some basic business rules, routed for aggregation, diagnostics, analytics or some other type of further processing. We can think of this tier as a conduit between the "Connected device" and the "Business cloud".

For example, in this illustration from Etherios, the "Machine cloud" is represented by the "Device cloud", and all the four tiers are visible.

Since the main "users" connecting to this layer are machines, there are some interesting challenges around device activation (machine user provisioning), authentication and connectivity, as well as performance and scaling up for the massive machine generated data.

It should be noted that the "Machine cloud" and the "Business cloud" separation is fundamentally a logical one i.e. they can be implemented within the same software tier, or as two independent tiers running on potentially different infrastructure.

This next image from Axeda illustrates the value of machine cloud.

The reason to have these separated out is to keep business logic and machine related customizations abstracted away from each other. Also, different kind of security, performance SLA, and uptimes can be maintained on individual tiers.

Implementing this tier is not significantly different from any large scale cloud based business app deployment, other than the few key areas mentioned earlier, esp. authentication and security.

Pre-built solutions for the "Machine cloud" include vendors such as Axeda and Etherios, as well as application platforms such as Database.com, Heroku for custom development.

Screenshot of a sample IoT App that can be deployed on Heroku

This tier marks the technology transition from a hardcore machine level integration (Tier 1) to a more software based one. Let's review how this data is surfaced up to users, and how business logic is applied on this in part 3.