Anand Tamboli
Build Your Own IoT PlatformDevelop a Fully Flexible and Scalable Internet of Things Platform in 24 Hours
Anand Tamboli
Sydney, NSW, Australia
ISBN 978-1-4842-4497-5e-ISBN 978-1-4842-4498-2
© Anand Tamboli 2019
Standard Apress
Trademarked names, logos, and images may appear in this book. Rather than use a trademark symbol with every occurrence of a trademarked name, logo, or image we use the names, logos, and images only in an editorial fashion and to the benefit of the trademark owner, with no intention of infringement of the trademark. The use in this publication of trade names, trademarks, service marks, and similar terms, even if they are not identified as such, is not to be taken as an expression of opinion as to whether or not they are subject to proprietary rights.
While the advice and information in this book are believed to be true and accurate at the date of publication, neither the authors nor the editors nor the publisher can accept any legal responsibility for any errors or omissions that may be made. The publisher makes no warranty, express or implied, with respect to the material contained herein.
Distributed to the book trade worldwide by Springer Science+Business Media New York, 233 Spring Street, 6th Floor, New York, NY 10013. Phone 1-800-SPRINGER, fax (201) 348-4505, e-mail [email protected], or visit www.springeronline.com. Apress Media, LLC is a California LLC and the sole member (owner) is Springer Science + Business Media Finance Inc (SSBM Finance Inc). SSBM Finance Inc is a Delaware corporation.
About the Technical Reviewer

Name: Contributing Editor

Just another geek playing with digital and analog software and hardware toys since the late 1960s.

Introduction

If you search for “IoT platform” on Google, it will return about 190 million results within a second. This is the level of proliferation that IoT has achieved (especially IoT platforms) in recent years. Every solution that is related to the IoT needs a platform.

Whether you develop a custom platform or buy it off the shelf means a lot to your final product. Moreover, the term IoT platform has many connotations, and vendors have overused it to a point where it does not convey anything meaningful.

As businesses and working scenarios are evolving, I am seeing many smaller companies delving into IoT. However, not having your own IoT platform is one of the impediments for such an evolution. The easy/lazy answer, as many would suggest, is to use freemium or free-trial platforms.

What lies ahead is a greater challenge when things scale and costs skyrocket exponentially. When the trial expires or freemium is not enough, users find themselves locked-in, and switching over is neither simpler nor easier.

Additionally, buying off-the-shelf solution often means that you subordinate requirements or retrofit things to suit what is available. You might end up building a subpar solution, if not an outright bad one. If having full flexibility and control means something to you, this book is for you.

I chose to write this book as I saw many of my customers struggling to understand the IoT platform landscape. State of the play has not been balanced with many vendors convoluting the offering to make it look like the greatest thing ever built. For short-term gains, they have raised artificial constraints and showed superficial problems that only their offering can solve. I believe in empowering customers, and this book is a humble attempt to do it.

The book is not about building a full-blown enterprise-grade system. It is about being agile in a true sense and reducing time to the market without breaking the bank. It is about designing something that you can scale incrementally without having to do a lot of rework or disrupting your current state of the work.

If you are a small to medium-sized company, or part of the development team at a non-IT company, you will find this book quite useful. If you are an independent developer, researcher, or learner, you will see the usefulness of the content for your endeavors too. Whether you are new to the programming world or have basic to intermediate programming skills, you will find this hands-on book equally useful.

The book supports the idea of being frugal at the start, and then invests only when and where necessary. It would help you to tap into technology advancements without bank-breaking budgets, and get off the ground quickly, contrary to the longer times required to adapt to the off the shelf or freemium platforms. More importantly, you will be in full control of what you are developing throughout the process.

Throughout 12 chapters of this book, I guide you through the step-by-step process of building your own IoT platform. There are must-haves and there are nice-to-haves; I will distinguish between the two and focus on how to build the must-haves. You will not only save heaps but also enjoy a control-wielding and satisfying learning experience.

In the first chapter, I discuss the necessary and sufficient qualities that any IoT platform must have and why. I also elaborate on the key question of why you should build your own.

Building your own means understanding at the ecosystem level is important; we do that in Chapter 2 , where block diagram–level details of the IoT platform are discussed.

Better planning is a key to success that reduces confusion and agony later on. So, I cover a platform wish list, and the technical and general requirements for the building of our platform in Chapters 3 and 4 .

The rubber actually hits the road in Chapter 5 , where we initialize the cloud instance, install the required software stack, and apply security. If you are eager to jump into the “how” of building things, this is where you might want to start (and read about the “why” later).

One of the core elements of the platform is a two-way messaging system bus, which is explained in Chapter 6 along with the installation of broker software and securing it.

Building critical components of the platform, and the message broker extension with additional functionality, are covered in Chapter 7 . Additional configurations and testing the core built to that point are covered in Chapter 8 .

In Chapter 9 , additional microservices and data access APIs are covered, along with the foundation for the rule engine. Then we build a full rule engine and authentication mechanism in Chapter 10 .

In Chapter 11 , we add documentation and provide the testing facility for developers with interactive API documentation.

Finally, in Chapter 15 , I address a few commonly asked questions in various forums and discuss a few advancements that are in progress, which you might want to add to the platform when you build it. As I conclude, I leave you with a few possibilities to experiment.

Remember that all the code and configuration files discussed in this book are available on GitHub at https://github.com/knewron-technologies/in24hrs . Feel free to star, fork, or download them as you wish, and if you have more to add or suggest, I will be happy to hear from you.

I wish you all the best on this interesting journey and sincerely hope that you will enjoy the book as much as I enjoyed writing it!

Acknowledgments

I am grateful to my entire family: my son, daughter, and wife, who are my daily sources of inspiration and energy. My humble regards to my father, who nurtured my love of books since childhood; my mother, who supported my quests; and my sister and all my in-laws, who have encouraged and supported me for all my endeavors.

My sincere thanks to the Apress team—Nikhil, Divya, and Matthew—for their continued support and helping to bring this book to life.

Special thanks to Frank and Siddhi for their careful review and helpful feedback.

Thanks to my friends who helped in the initial review of a few chapters with their valuable feedback—Peter Vinogradoff, Prof. Pradnya Kulkarni, and Prof. Dipalee Rane. Their input helped with shaping and making this book more suitable to the target audience.

Table of Contents

Index 215

About the Author

Anand Tamboli
../images/474034_1_En_BookFrontmatter_Figb_HTML.jpg

has loved solving problems in smarter ways since his childhood. As life progressed, he started to do that at scale with his entrepreneurial mindset.

Anand is a versatile professional, a seasoned entrepreneur, and creator of many innovative products & services. With his cross-domain and multi-industry experiential knowledge, Anand sees things with a uniquely different lens.

With his profound understanding of disruption and business transformation, Anand concentrates on solving customer problems while utilizing the latest technology advancements. However, he strongly believes that technology is not a panacea; it rather takes the right combination of people, process, technology, and timing to achieve the best results.

With numerous innovative products & services deployed in last 20+ years, Anand has garnered deep expertise in business improvement, business transformation, data science, IoT, cognitive systems, machine learning, artificial intelligence, etc.

Anand helps businesses to improve their key metrics by finding and solving meaningful problems in innovative ways. He constantly evangelizes and inspires people for the emerging future and encourages non-linear thinking. Sane and sensible adoption of technology remains his area of focus. Reach him at https://www.anandtamboli.com/linkedin?9781484244975 .

 
..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
52.14.221.113