28,99 €
Edge computing holds vast potential to revolutionize industries, yet its implementation poses unique challenges. Written by industry veterans Rob High and Sanjeev Gupta, this comprehensive guide bridges the gap between theory and practice. Distilling expertise from their combined decades of experience in edge computing and hybrid cloud mesh solutions, this book equips software developers and DevOps teams with the knowledge and skills needed to deploy edge solutions at scale in production environments. It also explores foundational standards and introduces key factors that may impede the scaling of edge solutions.
While edge computing draws from the successes of cloud computing, crucial distinctions separate the two. High and Gupta elucidate these distinctions, helping you grasp the nuanced dynamics of edge-computing ecosystems. With a focus on leveraging Open Horizon to overcome pitfalls and optimize performance, this book will help you confidently navigate the intricacies of constructing and deploying resilient edge solutions in real-world production settings.
By the end of this book, you’ll have acquired a deep understanding of essential success factors for building and deploying robust edge solutions in real-world production settings, leveraging Open Horizon for scalable edge deployments.
Das E-Book können Sie in Legimi-Apps oder einer beliebigen App lesen, die das folgende Format unterstützen:
Seitenzahl: 381
Veröffentlichungsjahr: 2024
Real-World Edge Computing
Scale, secure, and succeed in the realm of edge computing with Open Horizon
Robert High
Sanjeev Gupta
Copyright © 2024 Packt Publishing
All rights reserved. No part of this book may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written permission of the publisher, except in the case of brief quotations embedded in critical articles or reviews.
Every effort has been made in the preparation of this book to ensure the accuracy of the information presented. However, the information contained in this book is sold without warranty, either express or implied. Neither the authors, nor Packt Publishing or its dealers and distributors, will be held liable for any damages caused or alleged to have been caused directly or indirectly by this book.
Packt Publishing has endeavored to provide trademark information about all of the companies and products mentioned in this book by the appropriate use of capitals. However, Packt Publishing cannot guarantee the accuracy of this information.
Group Product Manager: Kunal Sawant
Publishing Product Manager: Samriddhi Murarka
Book Project Manager: Prajakta Naik
Senior Editor: Kinnari Chohan
Technical Editor: Vidhisha Patidar
Copy Editor: Safis Editing
Proofreader: Kinnari Chohan
Indexer: Manju Arasan
Production Designer: Joshua Misquitta
DevRel Marketing Coordinator: Shrinidhi Manoharan
First published: June 2024
Production reference: 1131015
Published by Packt Publishing Ltd.
Grosvenor House
11 St Paul’s Square
Birmingham
B3 1RB, UK
ISBN 978-1-83588-584-0
www.packtpub.com
To my wife, Cindy, for all the years she has put up with, and even encouraged, my passions. And to my kids, for turning out great despite my many distractions. I love you all.
– Rob High
This book would not have been possible without encouragement and sacrifice from my loving wife, Alka, who tirelessly let me pursue my dream and passion for building amazing things. And, of course, my two loving kids, who tinkered with me on my projects and, on occasion, lent a patient ear to my crazy ideas.
– Sanjeev Gupta
Robert High retired in 2023, after 42 years at IBM. He is currently doing independent freelancing. Prior to his retirement, Rob was IBM Fellow, Vice President, and Chief Technology Officer (CTO) for IBM’s Edge Computing and Networking business. He had architecture and technical strategy responsibility for offerings that will enable a new generation of edge computing – where work is placed close to where data is produced, and actions are performed – and enterprise networking for connecting edge and hybrid Cloud locations. Prior to that assignment, he was the CTO for IBM Watson, responsible for setting the technical strategy and vision for IBM’s leadership in AI computing. High is recognized as a global technical leader, author, and evangelist, and was named an IBM Fellow in 2008 for his pioneering work in the field of SOA and his leadership on WebSphere.
Shout out to Egan Ford, David Booz, Bruce Potter, and the whole team that conceived and shepherded the idea that managing Edge computing deployments was going to be critical to the success of this emerging enterprise architecture.
Sanjeev Gupta, currently edge computing lead for IBM’s Software Networking division, commands a holistic view of why edge computing is needed and how a practical scalable edge solution can be put together with modern container technologies. Having spent nearly four decades in diverse industries ranging from semiconductor, networking, application business process development and automation, and his own multiple start-ups for mobile and IoT applications, he understands the cycle of the ever-evolving technological landscape. He has always been an engineer focused on turning hype into reality. Along the way, he has been encouraged by many colleagues and friends – in particular, Glen Darling, Joe Pearson, Dave Booz, and Carl Girouard, who entrusted him to make significant contributions to the Open Horizon edge computing platform and related networking products.
Ryan Anderson is IBM’s Architect in Residence in San Francisco and Principal for IBM Global Industries - focused on Aviation and Telecommunications.
He attended Cambridge University, Judge Business School, earning an MBA focused on technology strategy, and previously served on the Linux Foundation Edge (LFEdge) Governing Board. His experience includes electrical engineering for tactical VHF communication systems; work in the energy sector on seismic telemetry equipment for oil exploration; and data science for highly secure unified communications systems. He holds more than 20 patents related to edge computing and other technologies.
Outside of work he enjoys running, orchard gardening, old cars, and is active in startup and VC communities.
David Booz is a software engineer with over 35 years of experience in commercial IT systems and is a founder of the LF Edge Open Horizon project. He has worked on operating systems up through middleware platforms like Websphere, databases and business process applications, and is currently working on simplifying network connectivity through IBM Hybrid Cloud Mesh.
Edge computing is a burgeoning field with vast potential to revolutionize industries, but its implementation still poses unique challenges. Authored by industry veterans Rob High and Sanjeev Gupta, this comprehensive guide bridges the gap between theory and practice, leveraging their combined many years of experience in Edge computing and hybrid cloud mesh solutions. Equipping software developers and DevOps teams with the knowledge and skills needed to navigate the complexities of deploying Edge solutions at scale in production environments, this book explores the foundational standards and introduces key factors that may impede scaling Edge solutions.
While Edge computing draws from the successes of cloud computing, crucial distinctions separate the two. High and Gupta elucidate these distinctions, empowering you to grasp the nuanced dynamics of Edge computing ecosystems. With a focus on leveraging LF Edge Open Horizon to overcome pitfalls and optimize performance, this book will help you confidently navigate the intricacies of constructing and deploying resilient Edge solutions in real-world production settings. We will round out your understanding by highlighting the distinction between the LF Edge Open Horizon open source project and the IBM Edge Application Manager product distribution of Open Horizon.
By the end of this book, you’ll understand essential success factors for building and deploying robust Edge solutions in real-world production settings, leveraging Open Horizon for scalable Edge deployments.
You will learn how to do the following:
Identify common challenges in Edge projectsUtilize LF Edge Open Horizon to address project issuesDesign and build Edge software using containerization platformsDeploy Edge services using pattern-based and policy-based approachesLeverage the Model Management Service for AI/ML workload deploymentIntegrate Edge computing with enterprise network connectivityImplement security best practices, including workload signing and secrets managementEnhance team productivity in Edge project managementThis book is for software engineers and DevOps teams aiming to optimize their Edge solutions. Whether you’re already developing Edge solutions or planning to do so, this book equips you with insights to reduce risks and enhance viability, catering to various experience levels, and offering valuable guidance on the nuances between cloud and Edge computing.
Chapter 1, Fundamentals of Edge Computing, lays out the context and establishes the assumptions we make about its utility in commercial settings.
Chapter 2, Practicalities of Edge Computing, delves deeper into the architecture of Edge computing by focusing on the practical issues that have the potential to derail your Edge project and outlines the best practices for dealing with them.
Chapter 3, Designing and Building Edge Software, explores a sample Edge computing infrastructure, the roles and responsibilities for successful production deployments, and the best-practices architecture for Edge-native solutions.
Chapter 4, Edge Container Platforms, takes a closer look at the container platforms that are fundamental to hosting an Edge computing solution.
Chapter 5, Application Placement and Lifecycle Management, examines the practice of application placement and lifecycle management – arguably one of the most important issues in scaling a production Edge solution.
Chapter 6, Installing an Edge Agent on an Edge Node, gets your hands dirty installing an Open Horizon Management Hub and agent that are core to the autonomous management system key to production deployment.
Chapter 7, Register an Edge Node, takes you through the steps of registering your Edge node with the Open Horizon Management Hub.
Chapter 8, Using the Open Horizon CLI and API, takes a step back to provide guidance on the general use of the Open Horizon CLI and APIs.
Chapter 9, Autonomous and Flexible Management of Edge Services, dives into the details for developing and publishing an Edge service, creating a pattern, and then using that pattern to deploy your Edge service to your edge node.
Chapter 10, Managing Edge Scale with Policy-Based Workload Placement, transitions your focus to policy-based deployment – offering even greater flexibility and autonomy in deploying your solution at scale.
Chapter 11, Machine Learning Workload and Model Deployment, steps through the use of the Open Horizon Model Management System to control the deployment of your models for any AI/ML-based services that make up your Edge solution.
Chapter 12, Security at the Edge, explores the security challenges that can occur with Edge solutions, and how to leverage Open Horizon to address those concerns.
Chapter 13, Network Connectivity at the Edge, introduces the symbiotic relationship between Edge computing and network connectivity, and the emerging paradigm shift to DevSecNetOps.
Chapter 14, Building a Real-World Example Application, uses a single real-world example application to help tie together and cement the several capabilities that have been instructed in this book.
Chapter 15, Troubleshooting at the Edge, provides best practice guidance on testing and debugging production software at the Edge.
Chapter 16, Follow-On Topics, summarizes several topics that could not be covered in the scope of this book that you are encouraged to explore further on your own.
Chapter 17, Using the IBM Edge Application Manager Web UI, segues to IBM’s Edge Application Manager – product distribution of the LF Edge Open Horizon project – to detail the Web User Interface (UI) that it provides above and beyond the open source project on which it’s based.
This book is geared to software practitioners who intend, or may have already started, to build and deploy production-ready Edge solutions. It is a good idea to have that solution in mind when reading this book. And, as software developers, we assume you understand the basics of writing and building software – that is, the use of common general-purpose languages, the use of the Make tool, and how to submit your software to a build pipeline.
We highly recommend reading, Edge Computing Patterns for Solution Architects by Joseph Pearson and Ashok Iyengar (ISBN 978-1805124061, Packt Publishing, Jan-2024) to gain more insight into the architecture patterns for a successful Edge computing solution.
Given their importance to production Edge solutions, we will be leveraging Docker and Linux in this book. There is little substitute for knowing Linux, but if you do not know Docker, it may be sufficient to know Podman or Kubernetes.
Software/hardware covered in the book
Operating system requirements
Docker (or Podman or Kubernetes)
Linux
Make
bash
Linux Foundation’s LF Edge Open Horizon
TensorFlow Lite (or PyTorch or OpenVino)
OpenCV
Python
You will be installing the Linux Foundation LF Edge Open Horizon project from https://github.com/open-horizon. Confirm that you have access to this site.
Ideally, you will install the Open Horizon Management Hub on one machine (representing your central point of control in your enterprise or cloud data center), and the Open Horizon agent on another machine (representing your Edge device).
For the Management Hub, you will need an x86 machine with at least 4 GB of RAM and 20 GB of storage space.
For the agent (Edge device), you will need an x86, ARM, PowerPC (ppc64le), or Mac (Intel or Silicon) with a minimum of 200 MB of RAM and 400 MB of storage space – plus whatever additional space your Edge application will require on that device.
If you are using the digital version of this book, we advise you to type the code yourself or access the code from the book’s GitHub repository (a link is available in the next section). Doing so will help you avoid any potential errors related to the copying and pasting of code.
You can download the example code files for this book from GitHub at https://github.com/PacktPublishing/Real-World-Edge-Computing. If there’s an update to the code, it will be updated in the GitHub repository.
We also have other code bundles from our rich catalog of books and videos available at https://github.com/PacktPublishing/. Check them out!
There are a number of text conventions used throughout this book.
Code in text: 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 configstate field can be in three different states.”
A block of code is set as follows:
{ "name": "", "label": "", "type": "", "defaultValue": "" }Any command-line input or output is written as follows:
hzn key create <organisation-name> <your-email-id>Bold: Indicates a new term, an important word, or words that you see onscreen. For instance, words in menus or dialog boxes appear in bold. Here is an example: “The Agent must be run as a Container on Docker when running on macOS.”
Tips or important notes
Appear like this.
Feedback from our readers is always welcome.
General feedback: If you have questions about any aspect of this book, email us at [email protected] and mention the book title in the subject of your message.
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/support/errata and fill in the form.
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.
Once you’ve read Real-World Edge Computing, we’d love to hear your thoughts! Please click here to go straight to the Amazon review page for this book and share your feedback.
Your review is important to us and the tech community and will help us make sure we’re delivering excellent quality content.
Thanks for purchasing this book!
Do you like to read on the go but are unable to carry your print books everywhere?
Is your eBook purchase not compatible with the device of your choice?
Don’t worry, now with every Packt book you get a DRM-free PDF version of that book at no cost.
Read anywhere, any place, on any device. Search, copy, and paste code from your favorite technical books directly into your application.
The perks don’t stop there, you can get exclusive access to discounts, newsletters, and great free content in your inbox daily
Follow these simple steps to get the benefits:
Scan the QR code or visit the link belowhttps://packt.link/free-ebook/9781835885840
2. Submit your proof of purchase
3. That’s it! We’ll send your free PDF and other benefits to your email directly
Building a successful production-quality Edge solution begins with an understanding of the fundamentals of the architecture and its purpose, the practical issues you must be aware of, and the best practices for how to organize and structure your project. Part 1 of this book will focus on the foundational considerations, including how to prepare the infrastructure of your Edge solution, and introduce you to the Linux Foundation LF Edge Open Horizon open source project for managing application placement and the lifecycle of your Edge services.
This part has the following chapters:
Chapter 1, Fundamentals of Edge ComputingChapter 2, Practicalities of Edge ComputingChapter 3, Designing and Building Edge SoftwareChapter 4, Edge Container PlatformsChapter 5, Application Placement and Lifecycle ManagementIf you’ve chosen this book, chances are you already know what Edge computing is and why it’s important. That’s good because this book is about taking you to the next step – building and deploying an Edge project.
However, if you need a quick refresher on this, we’ll get you up to speed on that in a minute. Regardless, with some 15 billion connected devices already in place, and potentially growing to 35 billion or more over the next few years1, what is clear is that Edge computing is here and, for fundamental reasons that we will discuss throughout this book, is here to stay.
1 https://www.statista.com/statistics/1183457/iot-connected-devices-worldwide/
https://www.techtarget.com/searchcio/tip/Top-edge-computing-trends-to-watch-in-2020
To make a finer point on this, consider what is going on in the automotive industry. The car in your garage already likely has around 100 computer chips in it (plus or minus 50, depending on the age and model). Each chip is dedicated to a specific function in your car – one for controlling your windows, one for your anti-lock braking system, one for your transmission, and so forth. Many of these chips are based on custom application-specific integrated circuits (ASICs). There is virtually no resource sharing, little in the way of interconnectivity between them, and each has its own set of tools for programming them. It is difficult to update these systems, expensive to build them, and almost impossible to introduce new functionality without introducing even more chips and their corresponding modules.
With things such as vehicle safety and autonomous driving features, a new paradigm is needed. Many manufacturers are rethinking the architecture of the car by creating a centralized, general-purpose (but road-safe) computing complex in which many of these individual functions can be converged – sharing resources, creating stronger interconnectivity, and generalizing the approach to software updates and maintenance. Tesla is a prime example of this paradigm shift – enabling features to be fixed and improved, and new features to be introduced over the air.
These vehicles are transforming into Edge devices. Literally, hundreds of millions of Edge devices will be rolling down our roads in the next few years. This is just one of thousands of examples of the transformations that are occurring across virtually every industry sector.
The question isn’t whether to pursue Edge computing, but rather where and how to implement it. That is what this book is about.
In some respects, building out the infrastructure and applications for Edge computing will seem familiar. However, Edge computing can be different than what you’re used to in important ways. It is those differences that create stumbling blocks to achieving the benefits of Edge computing – that either stall Edge computing projects or create uncertainty about whether to implement it at all.
Our goal in this book is to walk you through the process of building Edge computing while pointing out the key challenges to be aware of and providing reliable methods for overcoming them consistently. We will reference key contemporary technologies, tools, and techniques for Edge construction.
As indicated previously, we need to ensure everyone is on the same page regarding what Edge computing is, and why it is important.
In this chapter, we’re going to cover the following main topics:
A primer on Edge computingThe application of Edge computingThe Edge computing ecosystemTo use this book, it will be helpful for you to be familiar with Linux, Docker, and optionally Kubernetes, as well as how to write software. Ideally, you should already have an Edge project in mind or perhaps one underway. If you need a refresher on what Edge computing is and why it’s important, we’ll provide that in the primer to follow. Otherwise, we presume you appreciate the importance of Edge computing in the modern commercial world. The rest of this book will rely on that appreciation.
Edge computing was born from the realization that compute capacity is distributed everywhere. It is in our cameras, monitors, cars, automated teller machines (ATMs), cash registers, the equipment on our factory floors and the back of the store, transformers and power switches in the utilities infrastructure, aircraft, rail infrastructure, oil and chemical refineries, drilling platforms, and office systems. Almost any equipment being used in the commercial realm is likely to have compute capacity built into its core, and even consumer products have increasingly incorporated some type of general-purpose CPU and possibly a GPU.
Driving this is the fact that any device whose core functionality is controlled by software is much more flexible and cheaper to improve. Classic products (before the introduction of software-enabled computing in their design) provided a certain function, but that functionality was fixed. You bought it, it did its job, and over time the value of that product diminished as new technologies and competing features evolved in other products.
Now, you can update how a cash register computes sales tax or what offers to present during check-out, when programmed with software. We’ve traditionally referred to these as embedded systems – products typically built with custom ASICs to enable just that level of flexibility.
When these products are connected over the internet, we refer to them as the Internet of Things (IoT). With embedded systems connected over the internet, we can update those devices to fix bugs, improve their performance, introduce new features, and increase their capabilities. In essence, we can future-proof equipment – enhancing their value over time simply by updating the software on the device.
However, more recently, the trend toward IoT has gotten a boost as low-cost, low-power, general-purpose computer chips have become available based on commodity x86, ARM, and, more recently, RISC-V architectures, and running the Linux operating system. The programming of this computing capacity can now tap into the broad ecosystem of software developers. You no longer need to hire and train software engineers with specialized knowledge of a proprietary chip, confined to using highly specialized programming languages and arcane software management tools. Developers can now program any of this modern equipment in C, Python, Golang, or any number of generally available and broadly known programming languages using common developer toolchains, all while employing the latest Agile development practices. Further, Linux has become the de facto and ubiquitous industrial-strength operating system that’s used in the Cloud-native computing world, making it ideally suited for use in Edge computing.
On top of that, irrespective of computerized, purpose-built devices found on the factory floor or in a retail store, it is also common to find general-purpose IT servers in data rooms in a factory or at the back of a store. Again, this general-purpose compute has enabled the exploitation of common software engineering techniques for programming these servers.
By some estimates, there are 7.1 million Cloud-native and 10.4 million container developers2 in the industry. When devices and servers at the Edge are built with general-purpose commodity processors and host the Linux operating system, we can tap into a robust community of engineers to create software for the Edge. This dramatically decreases the cost of designing and building this equipment, enhancing it with valuable functionality, and improves quality by leveraging the wealth of seasoned engineers in the software market.
2 https://www.cncf.io/blog/2022/05/18/slashdata-cloud-native-continues-to-grow-with-more-than-7-million-developers-worldwide/#:~:text=The%20global%20cloud%20native%20developer,million%20cloud%20native%20developers%20worldwide
Moreover, this generalization of the underlying infrastructure for devices and servers at the Edge enables enterprise organizations to have more direct control over how software running on this equipment should be implemented. You no longer need to rely on your equipment supplier to fix bugs or program the functionality you need to run your business.
So, what is Edge computing? Simply put, Edge computing is any compute that is available outside of traditional data centers or hyperscale Cloud centers. Edge computing exploits general-purpose computer architectures virtually always hosting the Linux operating system. Furthermore, Edge computing leverages Cloud-native developer skills, tools, and experiences to build application workloads for commercial (or consumer, although we won’t focus on that as much in this book) purposes. Finally, Edge computing is dominated by the use of hybrid-Cloud technologies such as Docker containers3 and Kubernetes. We’ll get into the rationale and implications of that later.
3 More accurately, we mean Open Container Initiative (OCI)-compliant containers, but Docker was the original provider of that standard, and the industry largely refers to this as “Docker containers.”
Edge computing is motivated foremost by locality – enabling workloads to be distributed to where the actual work of industry is performed. This means in our factories, distribution centers, retail stores, offices, bank branches, farms, chemical and gas refineries, electrical utilities, mining, care delivery, and more – wherever business workers reside to perform their work. Consider that it is in these environments that most data is generated, whether that is from worker input, sensor data from the machines they work with, or other data collected from the work site itself. Furthermore, consider that it is in these locations that we act on that data – or more accurately, operate on the results of any data processing that is done on that data – and where we make decisions about what we’re doing or need to do next.
In a factory, sensor data is taken from digital gauges, cameras, counters, thermometers, pressure readers, RFID sensors, microphones (for audio data), GPS trackers, and quality-control measures. In a retail store, data is collected from scanners, refrigerator door sensors, ovens, HVAC systems, security cameras, and point-of-sale (POS) terminals. In distribution centers, data is collected from conveyors, stackers, sorters, materials handling carts, and docking stations. In agriculture, data is collected about ground moisture, pesticide and herbicide use, feed and fertilizer, and crop yield. These are just a few examples.
Workers are guided through the next steps in their processes, quality issues, capacity constraints, equipment failures, shift transitions, remediation activities, notifications, and thousands of other signals that inform their working decisions by processing that data.
Furthermore, automated processes, such as those you might find in a production line, can be equally dependent on this data processing. Traditionally, this type of automation was handled with Operations Technology (OT). For decades, equipment manufacturers such as Siemens, ABB, Nixdorf, Schneider, and others have built this type of processing into their OT equipment – their own proprietary embedded systems. As with other forms of legacy embedded systems, the underlying processing architecture, programming languages, and tools for controlling the OT logic were proprietary to the individual manufacturing equipment, or at least to a sub-genre of the industry. This led to what has classically been known as the OT-IT debate.
However, and especially due to the inclusion of more and more advanced analytics in this OT equipment, these manufacturers have begun to embrace modern IT technologies – even if they’re embedded under their OT covers. Doing so helps them tap into the broader pool of data scientists who have grown up using modern IT tools and techniques for building analytical algorithms. Now, it’s less about OT versus IT and more about how to use OT and IT together.
Localizing software workload that processes that data and generates input for work processes has several advantages, including the following:
Reduced latency: Some processes require that you act very quickly. If you’re visually inspecting the quality of a part being stamped at 200 parts per minute, whether a weld has been performed properly, or detecting whether a person has gotten too close to an active robot, you only have a few milliseconds to do that analysis before you must decide whether to reject it or shut down the robot arm before it hits the person, or any other decision that needs to be made in real time. The round-trip time for a request to be transmitted to the Cloud and back is, on average, 100-500 milliseconds. The defective part will already be on to the next station before you know it is wrong. This latency is not an artifact of bad or inefficient networking infrastructure – it is simply that electrons travel at a finite speed and the distance between the work and the Cloud is too far. That type of processing must be performed locally, where the data is collected and decisions are carried out.Transmission costs: Some analytics, such as AI, require an enormous amount of data. For example, using visual inspection to assess the quality of a weld with a high-resolution camera can generate a 15 Mbps video stream. If you have hundreds of these cameras across a production line, you can easily saturate the network. This will result in either losing important information for that analysis or dramatically increasing your cost of networking to transmit all that data back up to the Cloud for analysis. In reality, you only need the one frame that indicates a poor weld contact, so all of that other network traffic is superfluous and an unnecessary overhead.Privacy: Some of the data that you collect to do analysis may inadvertently capture private or confidential information. For example, a camera being used to inspect a production step can also pick up background imagery of people walking by, or inventory being handled. This data can be very sensitive to either the person captured in the image or to the business if that knowledge can be used by competitors. Transmitting that data to the Cloud can increase the risk of it being subverted and used for nefarious purposes, and in some cases may even violate certain regulations.Resilience: Some processes are critical to the business. For example, if a grocery store in the United States is unable to process Electronic Benefits Transfer (EBT – also known as food stamps) transactions, they may be required to give that food away for free. Even though networking has gotten increasingly more reliable, outages do still occur on occasion. Sometimes, the street repair work being done in front of the store accidentally cuts the telecommunications line, or a tree falls on a telephone pole. If your POS transactions rely on the Cloud for completion, your business could be at risk in the rare case that such an outage does occur.For all these reasons, Edge computing is an important element of any operating business. It enables your remote and distributed business locations to continue to operate autonomously, even when connectivity to your central or Cloud data center is disconnected for a certain period.
That does not mean that Cloud computing is going away. Just as we saw with mobile computing, the growth of Edge computing will drive more demand for cloud computing. The difference is that with Edge computing, business becomes more effective, safe, and reliable, and the use of cloud resources becomes more efficient. Edge and Cloud computing are symbiotic and enable a better balance of resources and business considerations.
Edge computing should not be an afterthought for any compute-oriented business. Any business undergoing digital transformation must architect and invest now to future-proof itself to avoid the aforementioned issues when it scales its business. A lesson learned from the past is when businesses regarded cybersecurity as an afterthought and hesitated to invest in it initially. We’re all aware of the consequences, with businesses ending up reacting to cyber threats rather than proactively addressing them.
To gain a better sense of why Edge computing is important, let’s examine a few of the use cases for where Edge computing is beneficial. These examples are all drawn from real-world experiences that we’ve been involved in with enterprise organizations.
Production quality is traditionally performed randomly, and it’s checked by sampling a small portion of the manufactured product. Typically, inspecting everything is too time-consuming and costly. Performing periodic checks helps find a balance between the cost of inspection versus the cost of remediating an entire batch of quality issues that may creep into the production process.
However, computer vision has improved to the point that we can inspect every single item at every step of the process. A camera can be mounted on the production line, and a visual recognition model can be trained to see the difference between a good part and a problem, potentially rejecting the bad parts. The camera can be attached to a local server, or in many cases an intelligent camera can be loaded with that analytic directly, to perform quality recognition.
Typically, testing the quality of a weld is destructive. You must take the product off the line and either cut it open (and then later repair that cut) or put it in an X-ray machine to determine whether the weld was good. If you do find a problem, you need to backtrack to all the items since the last inspection to identify those affected by the same issue.
In one project, we connected an infrared (IR) camera to the arm of a welding robot. We trained the analytic to recognize the difference between a good weld and one with about 75 weld issues. We were able to determine whether a weld would be good in real time for every single weld. This dramatically reduced the cost of identifying weld problems, enabled real-time remediation, and increased overall quality.
Historically, checking out of a store is mundane and routine. You read a barcode (or in the old days, the price tag) to get the cost of the product, bag the good, tally the total purchase, and collect the payment. However, retailers have come to understand the potential importance of this one reliable point of contact with clients to either promote other offers or engage them in other concerns.
Furthermore, as society has evolved to take on cashless transactions (a trend that was further accelerated by the COVID-19 pandemic) and a blend of in-person and online shopping, the need to perform the check-out process at dedicated points of sales (cash registers) in stores is lessening. Consequently, the distinction between a store associate who might help you with product selection and the cashier responsible for completing your purchase transaction is blurring.
The same tablet a clerk might carry to help you find a product or get more product information can also be used to check out your purchase. Even in a more traditional store setting, the POS interaction is evolving to become more self-service and to take place virtually anywhere in the store that is convenient for customers. In either case, the POS device is getting more intelligent and adaptable to a variety of changing conditions.
We have been involved in a project where we had to automate the drive-through order kiosk at a fast-food restaurant. Using voice recognition and sophisticated conversation models, we programmed the kiosk to interact with drivers in a noisy (roadside) environment, take their orders from the entire menu of products offered by that restaurant, and do so entirely verbally, with a high degree of accuracy. Given the interaction between the conversational system and the person placing the order, it is critical that the processing be performed locally to reduce latency and improve reliability.
Most commercial operations involve some level of hazard. Factories are full of robots and machines running at high speeds. Distribution centers have materials in constant motion. Retail stores have storage rooms with tall stacks of products, and replenishment tasks that involve lots of heavy lifting. Mines have explosives, drills, diggers, and haulers operating in confined spaces. Chemicals and utilities work with highly volatile, caustic, flammable, and even radioactive materials.
Workers are expected to wear personal protective equipment (PPE) such as bright vests, safety aprons, hardhats, fall protection harnesses, and exposure sensors to protect them from some of these hazards. In some operations, access to certain highly dangerous spaces is restricted to authorized personnel. Operating certain machinery is limited to only those who have been trained and certified with that equipment.
In the past, compliance with these expectations has often been left to supervisors to manage against Federal and State regulations. Mistakes are made and regulations are missed – often leading to accidents, injury, and even death.
IoT sensors, when combined with Edge computing, can be used to monitor workers to ensure they are wearing appropriate PPE, are not accessing unauthorized or restricted areas of the site, are warned of impending collisions, have vacated the blast zone of a mine, or even driving machine operations autonomously to limit the proximity of humans to those dangers.
Retail stores have transitioned from mere places of purchase to places of experience. You don’t simply visit the grocery store to buy oranges; you go to touch the fruit, examine the fish, pair the wine and cheese, and bask in the smell of fresh-baked bread. You go to clothing stores to discover the latest fashions, feel the fabrics, see the colors, and test the fit. You go to hardware stores to learn about the latest home maintenance tips, materials, and tools. Retailers continue to seek out new ways of engaging their clients – to bring them deeper into the store, and to keep them coming back.
More often, retailers are supplementing these experiences with various forms of automation. Of course, price tags have been replaced with barcodes. But now, the shelf labels are being digitized. Digital displays draw your attention, sometimes personalized to your particular interests or past buying habits. Store aisles are monitored by cameras for spills, produce and other perishables are monitored for spoilage, and store shelves are monitored for stock outages.
All of these activities make heavy use of video recognition – cameras arrayed across the store coupled with computer vision to recognize buyer foot traffic, dwell time, inventory location, misplaced items, spillage, and spoilage – along with other sensor data for monitoring lighting, temperature, doors being left open, and produce misters.
All of this automation not only improves the efficiency of the store but frees store associates to do what they do best – engage their customers. However, that automation also requires localized compute capacity to reduce the amount of data being networked to the Cloud and to protect the privacy of all the customer imagery being picked up in that video data, not to mention providing real-time responsiveness and continuous operations in the case of a network outage.
ATMs (also known as self-service terminals) have employed embedded computing since their inception in the 1960s. By the 1980s, IBM, NCR, and Diebold machines all used an early version of the x86 architecture. However, more recently, these machines have been updated to host the Linux operating system and Docker containers. This trend is being extended into other self-service machines, such as ticketing machines at subway and train stations and boarding pass readers in airports. These machines have graduated to the world of Edge devices.
With containerized workloads, it is now easier than ever to keep these machines up to date with the latest versions of software, as well as to enhance the functionality of these machines to offer other services. For example, ATMs have been adapted to exchange cryptocurrencies, enable utility bill paying, as well as to provide offers for local entertainment venues.
One of