avatarDr Mehmet Yildiz

Summarize

Internet of Things

An Introduction to IoT Ecosystem for Beginners and Aspiring Entrepreneurs

A technical, architectural, and solution design overview of the Internet of Things (IoT) based on the experience of the author

Image by Tumisu from Pixabay

Purpose of the Article

My aim in this article is to introduce the IoT (Internet of Things) ecosystem based on a model that I developed as part of my solution architecture engagements in multiple successful projects in large business organizations.

In this article, I set the IoT solution context at a high level, as understanding the solution context can help us delve into architectural and design topics in a methodical way.

Every solution requires following a method to leverage prior experience in the field. This also helps us ensure that nothing falls into the cracks during the solution lifecycle.

From a contextual perspective, IoT solutions require consideration of several designs and implementation factors. I introduce these factors in component formats. Using a component model can help architects to see the big picture and understand the underlying details.

The key factors that I introduce in this article are Things (devices) with sensors, gateways, the Internet, the Cloud, the Edge, communications, patterns, processes, applications, APIs, tools, and end-users.

Solution Context

A combination of the Things and the Internet include wireless technologies, micro-controllers, and services. The Internet connects these devices to enable them to communicate with each other to exchange data and information.

IoT devices can have multiple roles. For example, we can plan the devices as either a source or a destination for the data and information in the network. Interestingly, some devices can be a source, a destination or both at the same time.

One of the most prominent parts of IoT systems is the control mechanism. IoT systems can control or be controlled at the same time. At the highest level, the ultimate goal (functional requirement) is that the system must take action and produce the desired results.

In simplified terms, an IoT device can control other devices in the system, and it can be controlled by other devices in the network. The reason for emphasizing this point is that these two-way control-based interactions can pose an enormous challenge to the security, performance, availability, and cost factors of the solutions.

It can be possible to store IoT-related data in sensors, gateways, local devices in the network, and the Cloud systems at different amounts. For example, sensors may hold very little (bare minimum data), while a Cloud-based storage device may hold terabytes of data for analytics and data visualization. Gateways and Edge servers also store a certain amount of data to provide necessary calculations that improve the performance and availability requirements of a system.

Based on several well-known performance and availability challenges in the field, it is clear that the IoT control mechanisms need to be well-understood, well-structured, and designed in the most granular way possible to ensure the interactions are based on the intended security objectives.

In this economic climate, from an architectural and a business standpoint, we also need to add agility to this context due to growing consumer demands.

A methodical solution design approach is essential to overcome these challenges and produce the desired business results.

To produce and support these devices on an ongoing basis, we must keep these control mechanisms highly available, well-performing, and cost-effective at all times. This is a primary business requirement for typical IoT solutions created in large business organizations.

Let me introduce the IoT ecosystem so that you understand the key players in this complex and dynamic environment.

The IoT Ecosystem Players

A typical IoT ecosystem is made of simple or complex multiple systems, components, sub-components, and integrated, single-tasking, or multitasking elements.

These components and elements need to work coherently and in harmony. Therefore, the environment is called the ecosystem. This term is an analogy taken from biology.

In this article, based on my experience, I propose a new architectural approach to the IoT ecosystem. To be able to create sustainable architectures and designs, it is essential to create and understand the ecosystem, its components, and the underlying mechanism.

The approach I propose factors in the metaphorical survival mechanisms and integration requirements similar to biological ecosystems. In my method, I called this “the fundamental ecosystem architecture approach”.

The aim of this approach is to extend and enhance the ingredients of an electronic ecosystem. This approach can resemble a biological ecosystem model. My architectural goal in using this approach is to make the solution sustainable as a fundamental business requirement.

This approach includes a strong, agile architectural focus on IoT solutions without compromising the quality of architectural deliverables, such as security, privacy, performance, scalability, availability, and cost-effectiveness.

Let me introduce the key players involved in a typical IoT ecosystem, starting with the fundamental “Things”.

The Things of IoT

A crucial player in the IoT ecosystem regards the ‘things’, which are intelligent hardware devices, such as sensors and actuators. We can categorize “Things” under three main topics.

The first one concerns the smallest devices with embedded 8-bit systems, which are also known as System on Chips (SOCs) devices. SoCs have given rise to many commercial devices. Some SoCs can run full operating systems and calculate complex algorithms.

The second ones are the 32-bit systems based on Atheros or ARM Chips which can run a cut-down version of open-source operating systems such as Linux.

The third one is the 64-bit computing platforms running full versions of operating systems such as Linux, Windows, or Android.

The ‘Things’ can function as converters or can talk to a separate device that plays the role of an additional converter. The function of these ‘Things’ is to convert the physical signals to digital signals.

IoT devices require microcontrollers and microprocessors with a chipset to enable wireless connections and communications. These chipsets can be made up of some commercially available boards that we can use for prototyping an IoT solution component.

Prototyping Boards

Prototyping is the process of building IoT systems enhanced with sensors and embedded systems using off-the-shelf components. Many inexpensive, off-the-shelf components, such as microcontrollers, sensors, and circuit boards, are available in the market for consumption.

IoT prototyping boards are microcontrollers or micro-processors with chipsets to handle wireless connections. These development boards, when used with the IoT Cloud platform, can enable a fast prototyping process.

These boards typically include components, such as a battery, power supply, reset button, on/off button, LEDs, gyroscope, Wi-Fi, USB interface, Camera, I2C Connector, Ethernet connector, Micro HDMI connector, and an LVDS display.

There are numerous prototyping boards available on the market. We can spec these boards in our solutions as they are inexpensive and can speed up the prototyping process considerably to develop a quick IoT solution in our agile delivery project.

In my solutions, I used popular boards such as Intel Edison, Arduino, BeagleBone, UDOO Neo Photon, Raspberry Pi, and ESP8266.

During the earlier phase of the solution lifecycle, the use of prototyping boards can be useful and cost-effective for analyzing availability and performance concerns in an agile way. We must make architectural and design decisions to include prototyping boards in our IoT solutions.

IoT Gateways

The IoT Gateways can be seen as the raw data processing and transmission devices. These gateways can be the communication points between sensors and the Cloud. Data coming from the sensors pass through the gateways to reach the Cloud systems.

In the IoT technical literature, particularly in architectural artifacts, the IoT gateways are also known as ‘control tiers’. These devices can be implemented as hardware or software solutions.

The primary purpose of these gateways is to minimize the high volume of data generated by the sensors. Some IoT gateways can have additional intelligence for analyzing data and can only send the relevant data to the Cloud storage units.

Some IoT gateways also provide additional security mechanisms, such as adding encrypted transmissions. IoT solution architects need to pay special attention to these devices and factor in the performance, availability, security, and cost-effectiveness criteria captured in their solution requirements.

In terms of streaming data performance requirements, considering smarter gateways in IoT solutions is vital. These gateways can perform tasks such as averaging data and making more effective calculations, especially before the data sets are transferred to the analytics servers.

Gateways can connect to the Internet directly or via edge devices. However, as an architectural principle, processing raw data should be performed by the edge devices to improve performance efficiency and in particular, prevent network latency and data transmission delays in the ecosystem.

It can be useful to make an architectural decision in the solution document to find out why the Internet can sometimes be either directly accessed by the gateway or only through the edge device.

There can be specific considerations for each use case, and they need to be articulated in the solution document as an architectural decision. Determining such a decision upfront and obtaining consensus on these decisions from the technical governance teams can yield many benefits when the solution goes to production support.

The IoT Cloud

As mentioned in previous articles, Cloud Computing marked a paradigm shift in Information Technology and the Computing field. IoT Cloud is a critical player in the ecosystem. The central role the Cloud system plays in the IoT ecosystem is to facilitate the data integration of the solution components effectively.

IoT solutions are mainly used to provide real-time information to consumers. The data required to generate real-time information can be massive in scale.

Cloud systems, along with computing power, storage, networking, analytics, metering, billing, and other service management components, can make this information effectively available to consumers.

The integration of the Cloud into IoT can create new revenue streams. Integrating the Cloud with the IoT can create new business models enriched by real-time analytics and directly consumed information at the same time.

In other words, without the Cloud in the ecosystem, the IoT can hardly add any value due to its real-time data and information-rich nature.

The addition of the Cloud to the IoT can also contribute to improved security, availability, scalability, and performance of the IoT solutions. Cloud providers have rigorous security, availability, scalability, and performance metrics established based on a service consumption model. In particular, IoT-enabled Cloud systems are embraced in the industry as additional security measures.

When integrated with Edge Computing, Cloud computing can add better value to the IoT ecosystem. The main reason for this is that Edge computing can do the filtering for the Cloud to focus on the usable data.

Therefore, IoT solution architects need to understand the Cloud Computing architecture and service models and how to integrate them into the IoT solutions. Being aware of the capabilities of Cloud technologies and using them effectively in the solution work products can be beneficial in creating large-scale commercial IoT solutions.

IoT Platforms

IoT platforms play a unique and essential role in an IoT ecosystem. IoT platforms consist of multi-layer technology stacks that enable automatic provisioning, system management, and overall automation of connected devices in the ecosystem.

Some IoT platforms aim to fill the space that exists between sensors and networks. Specific platforms can connect the sensors and the network using specifically developed functions or applications.

There are many platforms commercially available on the market. It can be useful for IoT solution architects to familiarize themselves with the offering services of these popular platforms. We can use some of these products in an integrated way in an IoT ecosystem. I provide a list of popular web-based platforms. The list is in alphabetical order to make it easier to remember.

Ayla Network IoT Amazon Web Services IoT ARMmbed IoT Device Artik IoT Bosch IoT Suite Carriots PaaS Cisco IoT Cloud Connect General Electric’s Predix Google Cloud Platform HP Universal of Things IBM Watson IoT Platform Kaa IoT Platform LTI Mosaic Things Microsoft Azure IoT Platform Mindsphere by Siemens Mocana Full-Stack Oracle Integrated Cloud Salesforce IoT Cloud Thingspeak IoT Platform ThingWorx IoT Platform

IoT Systems Layout Thinking Consumers

From an architectural point of view, in IoT systems, embedded objects need to be aligned with the environment. Each object is an essential member of the ecosystem. Therefore, we need to design them with an integrated approach. These objects must work in harmony and must be enabled through a well-architected, well-designed, and coherent approach addressing all requirements.

From the perspective of usability, the IoT system layout needs to be simple. IoT solution architects need to make specific considerations with regard to the layout. For example, we need to ensure that the layout is not cluttered with a myriad of cables and disturbing hardware components.

Modern consumers hate clutter and disturbing objects in their devices. Besides, simplicity is desirable and can be considered an enabling factor for security, performance, availability, and cost reduction.

The simplicity provided in terms of usability can have a favorable effect on users’ senses and prevent any potential damage to their health. This usability factor also can be part of the non-functional requirements (NFRs) and traced to the building.

Edge Devices

Edge Computing is a crucial architectural factor in IoT solutions. Edge devices can have multiple functions in the IoT ecosystem. These devices are instrumental and contribute to performance, availability, and security goals in IoT solutions. Edge devices are useful when integrated with Cloud systems. We can connect the IoT gateways to the edge devices.

Edge devices can play several roles, such as to process data, reducing the amount of data, and optimizing data for better communication on the Internet. Edge devices can process and upload the data to the Internet (preferably to a Cloud system) via the TCP/IP; that is, the significant and native protocol of the Internet.

Using Edge Computing architecture, we can ensure that an application can process sensitive data on-site. Then, the application, for further analysis, can only send the privacy-compliant data to the Cloud. Edge computing has a favorable impact on IoT security and privacy solutions.

There is also an important architecture related to Edge Computing that IoT solution architects need to know — Fog Computing or Fog Networking.

Fog Computing architecture uses edge devices to maintain a large amount of computation, storage, and communication processes locally and then route them over the Internet.

The critical strength of Fog Computing is its proximity to consumers. This proximity can constitute enormous performance implications in IoT solutions.

For the IoT solution architects, it is fundamental to understand the Fog Computing architecture as it has a favorable impact on the availability and performance of IoT solutions, primarily via a reduction in latency and by improving the quality of services concerning network requirements.

IoT Storage

In IoT solutions, storage devices can be placed either on the Edge or in the Cloud systems. Due to performance considerations, the storage function can usually be performed by the Edge devices, as mentioned in the previous section.

Our IoT solution may need several architectural decisions as far as IoT storage is concerned. For example, we can make an architectural decision on whether to have additional storage devices at the back end before the data is sent to the Cloud.

Other architectural decisions can be related to a high ratio of storage capacity to the physical footprint, speed, reliability, and data security.

IoT Analytics Computation

We use IoT analytics to make sense of massive data; for example, depicting key performance indicators in the visualization application in a dashboard. These dashboards can include risk management views, errors, and bottlenecks and view the “Things” in real time.

IoT solutions need computers to perform analytics and intelligence activities. Such tasks are hosted by Cloud platforms, such as analytics applications in which computation performance is important.

We also need to consider storage, as mentioned in the previous section. For analytics storage, we need to make an architectural decision as to whether local storage or cloud-based storage is better. This architectural decision is necessary to address cost and performance concerns in the solution.

IoT Analytics can also be provided as a consumption-based service. For example, AWS IoT Analytics is a fully managed IoT analytics service that collects, pre-processes, enriches, stores, and analyses IoT device data. AWS customers can also bring their own custom analysis packaged in a container to execute AWS IoT Analytics.

See my article on BDaaS for further details.

End-user Devices and Communication

End-user devices are sensors that are used to communicate with end-users, systems, or platforms. There is a growing amount of research on direct end-user interaction with and via IoT devices.

The interactions are usually accomplished via a wide variety of smartphones, tablets, and laptop machines connected to the Internet.

For example, some users can access their home automation devices, such as security cameras, remotely via their smartphones and interact with the home automation systems at their convenience when they are away from home.

There are also other popular user devices, such as wearable fitness watches. These watches collect data from human body motions and send them to the analytics machines in the Cloud, which could be hosted in any part of the globe.

APIs for IoT

APIs (Application Programming Interfaces) are part of the IoT ecosystem to allow secure connections to consumers, channels, and other IoT applications.

We can use APIs to integrate devices, applications, data, and Cloud systems quickly and effectively.

Further, APIs can contribute to the performance, availability, and security goals. APIs also help the production of solutions in an agile and cost-effective manner.

Considering APIs cover the main architectural objectives mentioned in this article, they are highly recommended to be understood and included in the IoT solution process.

Overall, APIs can be compelling components of the IoT ecosystem when we use them correctly in our solutions. APIs can provide fast and effective automation. We know that we can reduce any human errors and increase the speed of throughput using automation.

IoT Applications

Many applications form a part of the IoT ecosystem. These applications can offer various use cases for different consumer types.

Some common IoT Application types are smart homes, wearables, smart cities, smart grids, industrial internet, connected cars, connected health, smart retail, smart supply chain, and smart farming.

Our solution architecture may need to implement one or more of these applications in an integrated way. As IoT solution architects, we may also design solutions for new IoT applications rather than using commercially available applications.

To start with, understanding the business requirements and use cases can help us choose an application or make an architectural decision to create an in-house IoT application.

We can also obtain use case ideas from IoTONE that offer 54 high-level use cases, such as Building Energy Management Systems, Continuous Emission Monitoring Systems, Fleet Management, Indoor Air Quality Monitoring, and the Last Mile Delivery.

To learn more about various IoT applications and relevant IoT technologies in the industry, you can review the top 500 Industrial IoT companies listed by IoTOne.

IoT Communication Patterns

It can be useful for IoT solution architects to be familiar with IoT communication patterns. These patterns can simplify the solution progress by providing established resolutions to a communication problem.

These patterns can be categorized based on their functions under the names of Information Flows, Queries, Commands, and Notifications. I have given a brief explanation of the flow in the following list:

1. Information Flows depict the information going through the devices and the systems carrying out the status of the device or the system.

2. Queries are for requests to initiate communication activities.

3. Commands are the instructions used to perform specific communication activities.

4. Notifications depict changes in status.

Several communication patterns can be used for IoT Solutions. We need to understand the content of a pattern that may suit a specific IoT communication solution building block.

I don’t want to go into the details of each pattern here due to the scope of this article; however, it can be useful to at least be aware of the names of the commonly used communication patterns in IoT solutions that can be obtained from various reference sources in the IoT literature. Here’s the list to help your search.

Request and Response Event Subscription Asynchronous Messaging Reliable Messaging Multicasting Publish and Subscribe Queues Message Brokers Federation Discovery Delegation of Trust

IoT End-Users

IoT end-users are usually remote to the Things or the technical back-end systems. In some cases, users can be part of them or close to them.

These end-users are also known as consumers from a service management perspective. In general, these end-users do not have direct access to or have a view of the back-end systems.

The users send commands (from their input devices) via the Internet to the analytics servers. It is challenging to set the proximity for the end-users unless we know the use cases for the applications they use.

For example, for an application sensing a user’s heart rate and sleep patterns, the user generally carries the device in their arms. In this case, the proximity is close, almost embedded.

However, if they obtain information about the weather conditions on a remote farm, they can view this information on a smartphone, even if the farm is kilometers away.

Conclusions

In this article, I provided an overview of the IoT ecosystem to create awareness for aspiring IoT solution architects.

Considering the architectural and design factors mentioned in the article can also be useful for experienced architects as a checklist for their solution planning.

Thank you for reading my perspective. I hope you find this post helpful.

Here is an interesting IoT-related article by one of the editors Aiden (Illumination Gaming), supporting my publications on Medium.

Reference

A Practical Guide for IoT Solution Architects by Dr Mehmet Yildiz

Related Articles on Medium

Power of the Edge Computing

What’s the Big Deal for IoT

Architectural Implications of IoT Data

Security and Privacy for IoT Solutions

Effective Solutions Combining IoT, Big Data, and Cloud

Agility for IoT Solutions

IoT Cloud Integrated with Edge Computing

Standards & Protocols for IoT Solutions

Why Do We Need to Use Cases for IoT Solutions?

Solution Considerations for IoT Gateways

Non-Functional Challenges of IoT

The First Australian IoT Code of Practice

If you are a new reader and find this article valuable, you might check my holistic health and well-being stories reflecting on my reviews, observations, and decades of sensible experiments.

Sample Health Improvement Articles for New Readers

I write about various hormones and neurotransmitters such as dopamine, serotonin, oxytocin, GABA, acetylcholine, norepinephrine, adrenaline, glutamate, and histamine.

One of my goals as a writer is to raise awareness about the causes and risk factors of prevalent diseases that can lead to suffering and death for a large portion of the population.

To raise awareness about health issues, I have written several articles that present my holistic health findings from research, personal observations, and unique experiences. Below are links to these articles for easy access.

Metabolic Syndrome, Type II Diabetes, Fatty Liver Disease, Heart Disease, Strokes, Obesity, Liver Cancer, Autoimmune Disorders, Homocysteine, Lungs Health, Pancreas Health, Kidneys Health, NCDs, Infectious Diseases, Brain Health, Dementia, Depression, Brain Atrophy, Neonatal Disorders, Skin Health, Dental Health, Bone Health, Leaky Gut, Leaky Brain, Brain Fog, Chronic Inflammation, Insulin Resistance, Elevated Cortisol, Leptin Resistance, Anabolic Resistance, Cholesterol, High Triglycerides, Metabolic Disorders, Gastrointestinal Disorders, Thyroid Disorder, and Major Diseases.

I also wrote about valuable nutrients. Here are the links for easy access:

Lutein/Zeaxanthin, Phosphatidylserine, Boron, Urolithin, taurine, citrulline malate, biotin, lithium orotate, alpha-lipoic acid, n-acetyl-cysteine, acetyl-l-carnitine, CoQ10, PQQ, NADH, TMG, creatine, choline, digestive enzymes, magnesium, zinc, hydrolyzed collagen, nootropics, pure nicotine, activated charcoal, Vitamin B12, Vitamin B1, Vitamin D, Vitamin K2, Omega-3 Fatty Acids, N-Acetyl L-Tyrosine, Cod Liver Oil, and other nutrients to improve metabolism and mental health.

Disclaimer: Please note that my posts do not include professional or health advice. I document my reviews, observations, experience, and perspectives only to provide information and create awareness.

I publish my lifestyle, health, and well-being stories on EUPHORIA. My focus is on metabolic, cellular, mitochondrial, and mental health. Here is my collection of Insightful Life Lessons from Personal Stories.

If you enjoy writing and storytelling, you can join Medium, NewsBreak, and Vocal as a creator to find your voice, reach out to a broad audience, and monetize your content.

You may also check my blog posts about my articles and articles of other writers contributing to my publications on Medium. I share them on my website digitalmehmet.com. Here is my professional bio. You can contact me via weblink.

As a writer, blogger, content developer, and reader, you might join Medium, Vocal Media, NewsBreak, Medium Writing Superstars, Writing Paychecks, WordPress, and Thinkers360 with my referral links. These affiliate links will not cost you extra to join the services.

You might join my six publications on Medium as a writer by sending a request via this link. 22K+ writers contribute to my publications. You might find more information about my professional background.

If you enjoy reading, you may join Medium with my referral link for limitless access to my stories and other writers.

IoT
Technology
Business
Self Improvement
Entrepreneurship
Recommended from ReadMedium