Book Image

Internet of Things for Architects

By : Perry Lea
Book Image

Internet of Things for Architects

By: Perry Lea

Overview of this book

The Internet of Things (IoT) is the fastest growing technology market. Industries are embracing IoT technologies to improve operational expenses, product life, and people's well-being. An architectural guide is necessary if you want to traverse the spectrum of technologies needed to build a successful IoT system, whether that's a single device or millions of devices. This book encompasses the entire spectrum of IoT solutions, from sensors to the cloud. We start by examining modern sensor systems and focus on their power and functionality. After that, we dive deep into communication theory, paying close attention to near-range PAN, including the new Bluetooth® 5.0 specification and mesh networks. Then, we explore IP-based communication in LAN and WAN, including 802.11ah, 5G LTE cellular, Sigfox, and LoRaWAN. Next, we cover edge routing and gateways and their role in fog computing, as well as the messaging protocols of MQTT and CoAP. With the data now in internet form, you'll get an understanding of cloud and fog architectures, including the OpenFog standards. We wrap up the analytics portion of the book with the application of statistical analysis, complex event processing, and deep learning models. Finally, we conclude by providing a holistic view of the IoT security stack and the anatomical details of IoT exploits while countering them with software defined perimeters and blockchains.
Table of Contents (18 chapters)
Title Page
Packt Upsell
Contributors
Preface
Free Chapter
1
The IoT Story

Preface

You probably experience the Internet of Things on a daily basis in your personal and work life. Much of the public’s impression of IoT is from their personal interaction with a Fitbit fitness tracker, an Amazon Echo assistant, or a Google thermostat.

A 2017 search for the keyword IoT on LinkedIn reveals 7,189 job postings related to IoT. Glassdoor shows 5,440 and http://monster.com/ shows more than a thousand requisitions. The IoT market is booming for talent as well as solutions. As is often the case, technologists will take a path of least resistance to binding what had been an unconnected object to the internet. That approach certainly works, but it is different than the role of an architect. An architect needs to understand the big picture of disparate technologies, scaling factors, security, and energy to build an IoT solution that not only works but provides value to their company, customers, and shareholders.

Many IoT projects fail or are stuck in R&D for two reasons. First, building a robust system is difficult from a security and robustness perspective. Second, often is the case that an IoT solution technically works, but it is not manageable from the perspective of the purchasing IT manager. As we place more things on the internet, we as architects need to consider the enterprise and industrial IT world is a 50-year-old mature industry. Placing an IP address on a lightbulb is certainly possible, but not necessarily manageable from the customer perspective. This book attempts to address the IoT from an enterprise/industrial/commercial perspective rather than a hobbyist perspective.

This book covers IoT from an architectural and holistic point of view from sensor to cloud including all the physical transports and transformation between the two. Because this book is an architectural guide, it attempts to maintain enough depth to teach another architect the constraints and discipline of an underlying system. There are countless books and tutorials on IoT specifics, such as MQTT protocol, cloud design and DevOps, power and battery design, and RF signal analysis. These are all important components for an IoT system, and a qualified architect should be able to span the breadth to design a robust system. However, the architect must understand when to pull up from design details to continue to provide value as an architect.

It isn't expected that a reader come to this book with an inherent knowledge of every engineering domain. This book touches on radio frequency signaling, power and energy, and circuit theory. On the other side of the aisle, the book goes into internet protocol programming and cloud provisioning. Finally, it will dive deep into machine learning applications such as convolutional neural networks. Having all the skills to bring these technologies together is an architects function. This book helps you get to that level, but it doesn't expect you to come with a deep understanding of each science.

What you can do with IoT is incredible as it will usher in the next major revolution in manufacturing, healthcare, government, and enterprise. It will have major impact, yet inevitable, to the world GDP, employment, and markets. It also poses the greatest challenges and risk in security as you will learn.

Of those thousands of jobs listed, many are for IoT architects, technologists, and principals to build IoT solutions rather than widgets. This book will help you learn and apply technologies for those types of projects.

Additionally, it’s fun. Designing a device for monitoring your home lighting or controlling thousands of streetlights in a city from the other side of the globe or on an airplane is a significantly powerful technology, made for techno-junkies but applied by architects.

Who this book is for

This book is aimed at for architects, system designers, technologists, and technology managers who want to understand the IoT ecosphere, various technologies, and trade-offs and develop a 50,000-foot view of IoT architecture.

What this book covers

Chapter 1, The IoT Story, introduces you to the growth, the importance, and the impact of the IoT from a narrative and historical perspective. You will also learn of use cases in various areas including industrial IoT, smart cities, transportation, and healthcare.

Chapter 2, IoT Architecture and Core IoT Modules, presents the overall picture of the combination of technologies covered in this book. Each segment has a purpose and can unknowingly affect each other. This is an important chapter for an architect to under the “big picture” of inter-related technologies. This chapter also explores the ways to place a value on IoT.

Chapter 3, Sensors, Endpoints, and Power Systems, explores billions of edge endpoints and sensor technologies that will be placed on the internet. Fundamentals of sensor designs, architectures, and power systems are taught.

Chapter 4, Communications and Information Theory, will review important material on the dynamics and mathematical models that define communication systems important to IoT. You will understand the theory behind architectural decisions in selecting the proper forms of telecommunication.

Chapter 5, Non-IP-Based WPAN, discusses all the major non-IP-based protocols and technologies at the IoT Edge. This chapter includes a deep review of the new Bluetooth 5 architecture, Zigbee, Z-Wave, and mesh topologies for sensor networks.

Chapter 6, IP-Based WPAN and WLAN, will complete the near-range communication with a treatment of IP-based communication, including 6LoWPAN, Thread, and IEEE 802.11 standards. This chapter also details new 802.11 protocols such as 802.11p for vehicular communication and 802.11ah for IoT.

Chapter 7, Long-Range Communication Systems and Protocols (WAN), covers wide area network and long-range communication transport data from things to the cloud. This chapter covers in detail all the cellular LTE standards, LoRaWAN, Sigfox, as well as new LTE narrowband and 5G architectures.

Chapter 8, Routers and Gateways, discusses the importance of edge routing and gateway functions. This chapter explores routing systems, gateway functions, VPNs, VLANs, and traffic shaping, and it covers software-defined networking.

Chapter 9, IoT Edge to Cloud Protocols, introduces you to the prevalent IoT to cloud protocols, such as MQTT, MQTT-SN, CoAP, AMQP, and STOMP. You will learn how to use them and, importantly, which to use.

Chapter 10, Cloud and Fog Topologies, explores the fundamentals of cloud architectures using OpenStack as a reference. You will learn of cloud constraints and how fog computing (using frameworks such as the OpenFog standard) seeks to solve these problems.

Chapter 11, Data Analytics and Machine Learning in the Cloud and in the Fog, covers the technologies and use cases for analyzing the myriad of IoT data efficiently using tools, such as rules engines, complex event processing, and lambdas. This chapter also explores machine learning applications for IoT data and where it makes sense to use them.

Chapter 12, IoT Security, covers security from a holistic view for every IoT component covered in this book. You will understand the theory and architecture of protocol, hardware, software-defined perimeter, and block-chain security.

Chapter 13, Consortiums and Communities, details the numerous industrial, academic, and government consortiums defining the standards and rules around the Internet of Things.

To get the most out of this book

There are several examples of hardware design and coding examples in this book. Most of the coding examples are pseudo-code based on Python syntax. Working examples are also based on Python 3.4.3 that is usable on Mac OS X, Linux, and Microsoft. In areas (such as Chapter 9, IoT Edge to Cloud Protocols, libraries such as MQTT (such as Paho) are freely available for use in Python.

Having familiarity with some foundational calculus, information theory, electrical properties, and computer science can only help us gain a deeper insight into IoT from an architectural perspective.

Some examples show scripting within Chapter 10, Cloud and Fog Topologies, use OpenStack or Amazon AWS/Greengrass. In those cases, acquiring a cloud account is helpful but not strictly needed to understand the architectural goals.

Download the color images

We also provide a PDF file that has color images of the screenshots/diagrams used in this book. You can download it from https://www.packtpub.com/sites/default/files/downloads/InternetofThingsforArchitects_ColorImages.pdf.

Conventions used

There are a number of text conventions used throughout this book.

CodeInText: Indicates code words in text, database table names, folder names, filenames, file extensions, pathnames, dummy URLs, user input, and Twitter handles. Here is an example: "The insert operation places a modification in the working memory."

A block of code is set as follows:

rule "Furnace_On"
when
Smoke_Sensor(value > 0) && Heat_Sensor(value > 0)
then
insert(Furnace_On())
end

When we wish to draw your attention to a particular part of a code block, the relevant lines or items are set in bold:

rule "Furnace_On"
when
Smoke_Sensor(value > 0) && Heat_Sensor(value > 0)
then
insert(Furnace_On())
end

Any command-line input or output is written as follows:

aws greengrass create-function-definition --name "sensorDefinition"

Bold: Indicates a new term, an important word, or words that you see onscreen. For example, words in menus or dialog boxes appear in the text like this. Here is an example: "Internet Key Exchange (IKE) is the security protocol in IPsec."

Note

Warnings or important notes appear like this.

Note

Tips and tricks appear like this.

Get in touch

Feedback from our readers is always welcome.

General feedback: Email [email protected] and mention the book title in the subject of your message. If you have questions about any aspect of this book, please email us at [email protected].

Errata: Although we have taken every care to ensure the accuracy of our content, mistakes do happen. If you have found a mistake in this book, we would be grateful if you would report this to us. Please visit www.packtpub.com/submit-errata, selecting your book, clicking on the Errata Submission Form link, and entering the details.

Piracy: If you come across any illegal copies of our works in any form on the Internet, we would be grateful if you would provide us with the location address or website name. Please contact us at [email protected] with a link to the material.

If you are interested in becoming an author: If there is a topic that you have expertise in and you are interested in either writing or contributing to a book, please visit authors.packtpub.com.

Reviews

Please leave a review. Once you have read and used this book, why not leave a review on the site that you purchased it from? Potential readers can then see and use your unbiased opinion to make purchase decisions, we at Packt can understand what you think about our products, and our authors can see your feedback on their book. Thank you!

For more information about Packt, please visit packtpub.com.