Reader small image

You're reading from  Arduino IoT Cloud for Developers

Product typeBook
Published inNov 2023
PublisherPackt
ISBN-139781837637171
Edition1st Edition
Right arrow
Author (1)
Muhammad Afzal
Muhammad Afzal
author image
Muhammad Afzal

Muhammad Afzal is a senior software engineer, with more than 14 years of experience working on web-based and IoT systems in multinational organizations. He always enjoys working and solving real-world business problems with technology. He provides freelance services to IoT-based product companies to write technical reviews and projects, and he also provides consultancy to organizations. In his free time, Muhammad creates videos and courses for YouTube and Udemy. He also runs a maker movement in his region for young students to boost their interest in adopting the latest technologies.
Read more about Muhammad Afzal

Right arrow

The architecture of an end-to-end IoT application

Now that we know more about the IoT, we have seen its principles and some examples of different applications, the time is good to dig more into the technical aspects with the analysis of the architecture of an IoT application.

We have already introduced IoT nodes, cloud platforms, and applications. A picture is better than a thousand words to explain how they work together and the following diagram shows the architecture of an IoT solution in its entirety:

Figure 1.3 – High-level architecture of an IoT system

Figure 1.3 – High-level architecture of an IoT system

There is an important difference between cloud platforms and cloud applications. Cloud platforms implement communication, user and device management, data storage and security, and other basic services; cloud applications implement the logic of the application, the dashboards, and all the specific aspects of the application.

In this sense, the Arduino IoT Cloud can be considered a cloud application running on the AWS cloud platform.

Thanks to the connectivity offered by the internet, you may set up even a complex IoT solution that features many different functionalities, just by exploiting multiple cloud applications, frameworks, and services already implemented by third parties and interconnected via the internet. This means that you don’t need to develop or configure everything from scratch and you may save time and headaches; it also explains the reason why multiple cloud platforms and cloud applications are visualized in the preceding figure.

Examples of these functionalities can be Single Sign-On (SSO), a user authentication service that allows a user to use one set of login credentials (e.g., name and password) to access multiple applications – such as social media platforms, and tons of others. You just need to decide what you need, search on the internet for the preferred provider, and easily integrate those features in your application without the need to program them. This is also valid for the Arduino Cloud platform, which offers a couple of different ways to interface with third-party applications, as we’ll see in Chapter 12.

The gateway is the last type of module we need to talk about. Gateways support the connection between nodes and cloud platforms. Or, more precisely, they are the bridge connecting nodes to the internet and allowing the exchange of data between nodes and cloud applications. There are many different types of gateways, characterized by the communication technologies they implement.

Your Wi-Fi router is a perfect example of a gateway: it’s connected to the internet and it accepts connections from other devices via Wi-Fi. It converts the Wi-Fi device into the data transportation technology of your internet provider (landline, Ethernet, or fiber-optic cable).

Gateways may also implement additional functionalities, such as data filtering, protocol conversion, and security. Every IoT application includes gateways in the architecture, even when they are not directly managed by you or the programmer of the solution.

Let’s consider an application with nodes using cellular connectivity. It may look like the nodes are directly connected to the internet, but it’s not the case. In fact, the nodes connect to the cellular network as well as dedicated gateways managed by the network provider. It’s important to clearly understand the presence of all the components in the architecture because each part can be a point of weakness in the case of an issue and can make the troubleshooting longer and more complex.

Previous PageNext Page
You have been reading a chapter from
Arduino IoT Cloud for Developers
Published in: Nov 2023Publisher: PacktISBN-13: 9781837637171
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
undefined
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at $15.99/month. Cancel anytime

Author (1)

author image
Muhammad Afzal

Muhammad Afzal is a senior software engineer, with more than 14 years of experience working on web-based and IoT systems in multinational organizations. He always enjoys working and solving real-world business problems with technology. He provides freelance services to IoT-based product companies to write technical reviews and projects, and he also provides consultancy to organizations. In his free time, Muhammad creates videos and courses for YouTube and Udemy. He also runs a maker movement in his region for young students to boost their interest in adopting the latest technologies.
Read more about Muhammad Afzal