Book Image

Designing Production-Grade and Large-Scale IoT Solutions

By : Mohamed Abdelaziz
Book Image

Designing Production-Grade and Large-Scale IoT Solutions

By: Mohamed Abdelaziz

Overview of this book

With the rising demand for and recent enhancements in IoT, a developer with sound knowledge of IoT is the need of the hour. This book will help you design, build, and operate large-scale E2E IoT solutions to transform your business and products, increase revenue, and reduce operational costs. Starting with an overview of how IoT technologies can help you solve your business problems, this book will be a useful guide to helping you implement end-to-end IoT solution architecture. You'll learn to select IoT devices; real-time operating systems; IoT Edge covering Edge location, software, and hardware; and the best IoT connectivity for your IoT solution. As you progress, you'll work with IoT device management, IoT data analytics, IoT platforms, and put these components to work as part of your IoT solution. You'll also be able to build IoT backend cloud from scratch by leveraging the modern app architecture paradigms and cloud-native technologies such as containers and microservices. Finally, you'll discover best practices for different operational excellence pillars, including high availability, resiliency, reliability, security, cost optimization, and high performance, which should be applied for large-scale production-grade IoT solutions. By the end of this IoT book, you'll be confident in designing, building, and operating IoT solutions.
Table of Contents (15 chapters)
1
Section 1: Anatomy of IoT
5
Section 2: The IoT Backend (aka the IoT Cloud)
10
Section 3: IoT Application Architecture Paradigms and IoT Operational Excellence

An RTOS

Before we talk about an RTOS, let's talk briefly about embedded software in the next section.

Embedded software

Enterprise or traditional software applications are usually written in a high-level programming language (human-readable languages) such as C, C++, Java, and C#. Then, these high-level programming languages are converted into a low-level machine-readable language, or in short, they are converted into a series of 0s and 1s at the end. Computers understand only binary data (0s and 1s).

When it comes to embedded software that runs on a microcontroller, it is the same. You need IoT device application code to be converted into 0s and 1s, and then the microcontroller or the microprocessor of the microcontroller will load that program into the memory of the microcontroller and start executing it.

If you have played around with the Arduino microcontroller before, I am sure you realize how it is easy to write software that runs on it and interacts with different...