Skip to main content
main-content

Über dieses Buch

Use a step-by-step process to create and deploy your first Azure IoT Edge solution.

Modern day developers and architects in today’s cloud-focused world must understand when it makes sense to leverage the cloud. Computing on the edge is a new paradigm for most people. The Azure IoT Edge platform uses many existing technologies that may be familiar to developers, but understanding how to leverage those technologies in an edge computing scenario can be challenging.

Beginning Azure IoT Edge Computing demystifies computing on the edge and explains, through concrete examples and exercises, how and when to leverage the power of intelligent edge computing. It introduces the possibilities of intelligent edge computing using the Azure IoT Edge platform, and guides you through hands-on exercises to make edge computing approachable, understandable, and highly useful.

Through user-friendlydiscussion you will not only understand how to build edge solutions, but also when to build them. By explaining some common solution patterns, the decision on when to use the cloud and when to avoid the cloud will become much clearer.

What You'll Learn

Create and deploy Azure IoT Edge solutions

Recognize when to leverage the intelligent edge pattern and when to avoid it

Leverage the available developer tooling to develop and debug IoT Edge solutions

Know which off-the-shelf edge computing modules are available

Become familiar with some of the lesser-known device protocols used in conjunction with edge computing

Understand how to securely deploy and bootstrap an IoT Edge deviceExplore related topics such as containers and secure device provisioning

Who This Book Is For

Developers or architects who want to understand edge computing and when and where to use it. Readers should be familiar with C# or Python and have a high-level understanding of the Azure IoT platform.

Inhaltsverzeichnis

Frontmatter

Chapter 1. Do I Need an Intelligent Edge?

Abstract
Businesses today are faced with an unparalleled number of choices and technology decisions as they try to intelligently evolve their systems. There are decisions about if, how, and when they should virtualize their datacenter, or if they should just continue to leverage the investment in their current physical assets. If they virtualize, should they use their own data center or a cloud provider, or a hybrid of both? If they decide to leverage a cloud platform, which of the hundreds of available service options should they use? How do these services fit together? What is the most cost-efficient option? The decision points and options can be very overwhelming. Cloud platforms have created a culture where the question is not “Is that possible?” but rather “Is that the most efficient way to do that?” In this environment, where so many tools and advanced capabilities are a click away, being innovative is not about having the capabilities but about correctly applying the capabilities to most accurately match the business need. It can be quite confusing if the right decision factors are not identified. Busyness does not equal productivity. In technical terms, having a fault-tolerant, highly available, cost-optimized, cloud-native architecture is still the wrong architecture if it does not correctly meet the needs of the business.
David Jensen

Chapter 2. Azure IoT Edge Core Concepts

Abstract
The Azure IoT Edge platform is an extension of the Azure IoT suite of services and, consequently, leverages the same Azure platform services. There are some differences between a canonical IoT solution and an IoT Edge solution in the IoT Hub service and I will highlight those differences where appropriate. To begin your journey toward using and benefiting from the Azure IoT Edge computing platform, you must understand the basic concepts of Azure IoT, Azure IoT Edge, and some of the related technologies. Azure IoT Edge makes use of some existing technologies, like containers, and therefore requires at least a basic understanding of those as well. If you are new to building Azure IoT solutions, this chapter will help you understand the basics of IoT in Azure and catch you up on the changes that have been added to support the IoT Edge platform.
David Jensen

Chapter 3. Azure IoT Edge Development Environment

Abstract
The Azure IoT Edge platform has a robust set of tools that provides developers with a similar development experience to what they are used to, in spite of the more complicated configuration of an edge solution. The Azure IoT Edge development toolchain is based on Visual Studio or VS Code, Docker/Moby, .Net Core (for .Net apps), Azure IoT Hub, and a container registry, usually either DockerHub or Azure Container Registry (ACR). This chapter will walk you through how to set up, configure, and connect all of these separate technologies to create a cohesive development experience. For examples, we will use a Windows 10 machine, but you can use a Windows Server machine as well if needed.
David Jensen

Chapter 4. Hello Edge

Abstract
At this point in your edge computing journey, you have learned what it takes for your organization to start entertaining the edge computing paradigm, you have learned about the core concepts that enable and support the Azure IoT Edge platform, and you have configured your own development environment to begin building and deploying your edge solutions. But you have not actually built any code yet. In this chapter, we will walk through how to build your first edge solution, how to deploy it to your local development machine (which should be configured as an edge device at this point), and the iterative development process required to update the edge solution configuration. If you have not configured your development machine using the instructions in Chapter 3, this would be a good time to take care of that.
David Jensen

Chapter 5. Developing and Debugging Edge Modules

Abstract
Hopefully, you’re starting to feel more comfortable understanding IoT Edge solutions, modules, and their related code and configuration files. Last chapter, we took a detailed look at how Azure IoT Edge solutions are structured, along with much of the tooling involved to develop, build, and deploy edge solutions and modules. In this chapter we will further examine the development and debugging experience, using the tooling in VS Code and Visual Studio and some command line utilities. The tooling we looked at last chapter is a great start for creating, building, and deploying your edge solutions, but there’s more to the development process than that. As an edge solution developer, you need to be able to add additional modules and debug your solution. Fortunately, there are some great tools we can leverage to help us with this process.
David Jensen

Chapter 6. Analytics on the Edge

Abstract
One of the driving forces for edge computing is the ability to run analytics on edge devices. Companies who have spent years creating and improving their algorithms or machine learning models that are used in their backed batch processing workflows are trying to understand how they can leverage that existing intellectual property in new ways and in new areas using the edge. In many cases, the batch processing paradigm imposes intolerable delays throughout the rest of the dependent systems, which motivates companies to look for ways to speed up the path to get the answers they want. The faster the results (results, not just data) are generated, the faster the business can react. So, companies have started introducing edge solutions that place this advanced logic (algorithms and models) as close to the source of the data as possible, which enables decisions to be made in real time, rather than having to wait on decisions until the data has been processed by backed batch processes.
David Jensen

Chapter 7. Device Provisioning Service

Abstract
In this chapter, we shift our focus away from the edge platform and processing and take a look at one of the cloud services that supports any production-scale IoT scenario in Azure. This service is the Device Provisioning Service (DPS). The DPS is a service that connects to the IoT Hub service and the goal of the DPS is to validate the security information on a device and connect the device to the correct IoT Hub instance automatically. When dealing with hundreds or thousands of devices, it is not practical to manually configure them. The DPS exists to automate the device provisioning (bootstrapping) process and it is compatible with IoT and IoT Edge devices. Here are a few scenarios where using the DPS can be extremely useful:
David Jensen

Chapter 8. Azure IoT Edge Security

Abstract
Don’t be misled by this chapter. You might be tempted to think that because this chapter is one of the last chapters in the book, it’s an add-on topic to the Azure IoT Edge platform. That couldn’t be further from the truth. In fact, many of the other chapters provide the context necessary to properly understand the way Azure IoT Edge is secured. Security is the core of Azure IoT Edge. All of the edge runtime components we have discussed previously are all managed by the edge security service. No code is installed or started on an edge device without first being initiated by the security service. But, to be truly secure, the edge device hardware must also be secure. It is not enough for the software to be secure. If the hardware can’t enforce the requirements, then all the security baked into the edge runtime will still not yield a secure solution.
David Jensen

Chapter 9. Azure DevOps for IoT Edge Solutions

Abstract
Now that we have built a good foundational understanding of Azure IoT Edge solutions, understanding how to automate the build and deployment processes for those solutions is extremely helpful as you’re getting ready to deploy your solutions to production. You may already be familiar with the Azure DevOps service, but if not, in this chapter you will see how to use Azure DevOps to build and deploy IoT Edge solutions. Azure DevOps is the latest evolution in Microsoft’s hosted development team management environment. It enables teams to collaborate on project work, develop and track the project deliverables like code. and build scripts as well as track the release and deployment of the project artifacts. One of the reasons Azure DevOps is a great choice for managing your IoT Edge deployments is the integration it provides with Docker and the support it provides for containers in general. Additionally, there are tailored workflows for IoT Edge development that simplify much of the build and release process. Azure DevOps is a large topic. In this chapter, after we establish some of the basic concepts, we will focus our attention on the workflows and processes required to develop and deploy Azure IoT Edge solutions.
David Jensen

Backmatter

Weitere Informationen

Premium Partner

    Bildnachweise