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

Kubernetes (the container orchestrator)

As stated earlier, from our point of view, Kubernetes is the best compute engine option to run your IoT backend cloud workloads, for many reasons. To mention a few, it is open source (created initially by Google, and then Google open sourced it), it has huge community support, it has massive ecosystems, solutions, and tools built around it, it is widely adopted, tested, and used by so many large organizations across the globe, and it is supported and offered as a managed service by almost all public cloud providers (AWS, Azure, Google, Oracle, and so on).

But what attracts us the most to Kubernetes is its portable nature, which is driven by it being open source . For example, you can have a Kubernetes cluster running on a private cloud on VMs or bare metal, on a public cloud IaaS, or on a public cloud CaaS, you can have many Kubernetes clusters running in different clouds (private or public), and you can control all of those clusters here...