Академический Документы
Профессиональный Документы
Культура Документы
Modul 1
You have probably read many different descriptions and definitions for the Internet of
Things, but with so many different sources of information, do you have a clear idea of what
the IoT is?
Those are interesting statements but they're not very descriptive. So what is the Internet of
Things (IoT)? Common definitions go something like the following:
The Internet of Things is the network of physical devices that combine IP connectivity with
software, sensors, actuators, and other electronics to directly integrate the physical world into
our computer-based systems, resulting in efficiency improvements and economic benefits
Again, that sounds amazing. Many definitions even take this a bit further to add something
about making everyone's life easier as well as more efficient and more cost effective.
Although these types of definitions do provide us with some specifics, they often try to
encompass all possibilities within a single sentence, which can make them somewhat
convoluted and confusing. Here is a simpler version of the definition above:
Okay, that gets more to the essence of what IoT is but probably doesn't give us enough
nuance to really understand the space. In fact, coming up with a definition is pretty
challenging even though the core concepts are fairly straightforward. The international
organization Institute of Electrical and Electronics Engineers (IEEE) has been developing a
white paper just on a definition of IoT. Their paper is 75 pages long (86 with glossary and
notes) so far (it's not final) and the definition alone at the end of the paper is roughly four
pages long (pages 70-73). If you want a comprehensive overview of the technology, this is
the place to start.
Thankfully, we don't have to go as deep as the IEEE to get a good overview of the
technology. Put simply, IoT involves two essential components:
Of course, once we dig in we will find that both the device-side and the cloud-side involve
complex implementations that provide hundreds of required features, and even the
communication between the device and cloud requires secure communication protocols. But
at least we have something simple that can get us started.
An Example
Perhaps the best way to understand an IoT solution is to look at how one might be used in a
true-to-life scenario. The specifics of this example are fictional but it should illustrate how
the technology could be used. For more scenarios,see the list the IEEE is compiling here.
The Scenario
Suppose a small town is trying to figure out how to price water during the summer months.
They want the town to look nice and enable people to keep their lawns green but they also
don't want people wasting water which is in shorter supply during the summer. The town's
officials need data to determine how often people actually need to water their lawns to keep
them green and will use those data to help inform what price they should put on water usage
during the summer.
The Devices
In order to collect they data they need, the town's officials select 100 houses at random across
the town and ask them to install a small water sensor in their lawns that will detect the
amount of moisture in the soil and send that data over the home's Wi-Fi connection to a
central cloud service that will collect and store the data. The devices have the following
requirements:
There could be a lot of other device requirements but these are the basics the device must
contain. City engineers visit each house that has agreed to install the sensor, places the device
in the yard at an optimal location, connects the device to the home's Wi-Fi router, and tests
the connection with the cloud service.
The Data
The devices are programmed to collect moisture data every hour for a 24 hour period and
average the readings to form a single number that is sent to the cloud service for storage. The
dataset includes the device ID, the GPS location, a time/date stamp, and other relevant
metadata.
City engineers developed a cloud-based solution to listen for incoming data from each device
and collect that data in a database. The cloud service also listens for failure signals and can
alert city engineers of an actual or pending device failure. The cloud services include an IoT
gateway that handles communication with the devices, a storage solution to store the data,
stream analytics service to manage the data coming in from the devices and an analytic
services to analyze the data and inform decision making.
Here is a simple diagram that shows how the solution could work for this scenario:
In our scenario, the town officials may use this data to understand better how often people
actually are watering their lawns, how much they need to and make recommendations both to
homeowners as well as policy makers about water usage and costs. Since weather is variable,
the city engineers may need to collect data for many months to get accurate and actionable
data. But the first step always is to collect the data in the first place and that's the power of
IoT.
1. “Maker” IoT. The term "maker" has come to be equated with “hobbyist” and refers
to those who like to build things to experiment or for personal use out of electronic
components. When it comes to IoT, the idea of building unpolished but functional
devices that collect data, using cloud services to gather and store that data, and maybe
even doing analytics on the data collected all is a part of what is included in this
category. But a commercial business may employ a maker's approach to experiment
with ideas, create proof-of-concept devices, do costing, and other planning exercises.
So "maker" need not be limited to hobbyists but describes an approach to
development.
2. Consumer IoT. As we'll see in the next topic, consumer IoT largely consists of
commercial devices and associated services that are geared towards home or personal
use such as connected thermostats or appliances. While the basic IoT concepts apply,
the scope of what the devices collect, how they manage and store data, and how the
data is used may be much more limited than what you'd find in an enterprise
environment.
3. Enterprise IoT. Whereas Consumer IoT is focused on “turnkey” device solutions that
solve specific problems or enable new scenarios for individuals or homes, enterprise-
class IoT is focused on solving specific business problems like efficiency, reducing
waste, increasing speed to market or of production, and providing intelligence on how
business systems are running. A single enterprise may deploy dozens of devices that
work in concert to give a business a single view of a factory or fleet of planes or gas
pipeline. Enterprises also may require real-time data and real-time analysis of those
data in order to make just-in-time adjustments or prevent disastrous consequences
from a failed system. Consumer-grade IoT products rarely require this so the type of
architecture needed in an enterprise will be more involved and require more services
than a consumer solution requires.
---------------------------------------------------------------------------------------------------------------
IoT revolution
In some ways, the core value proposition of IoT has been around for centuries. Even before
the advent of the Internet, people have been, out of necessity, using data to make decisions. A
shop owner keeps an eye on inventory to determine what people tend to buy and ensures her
shop is well stocked with those items. Engineers examine bridges or dams for early signs of
failure and use that information to anticipate upcoming repairs and budgets for those repairs.
A commuter watches the morning news for information about which route to work might be
the quickest.
We saw in the first lesson that IoT is a term being used for a collection of devices and
services that has the power to transform the way we work and live in ways that are similar to
the Internet itself. In this lesson, we'll begin looking at the business and social impact IoT can
have and look at ways the technology is being and can be used.
As the market becomes more mature, these figures will no doubt change but the current trend
looks as if IoT is not only here to stay but positioned to make a substantial impact both
socially, in business, and economically.
Of course, the success of IoT will not rely solely on advances in device technology or even
cloud services (though advances in both are essential). Omar Valdez-de-Leon, in a 2017
article[^3] for the IEEE focuses on 6 areas that will require investment as IoT technology
advances:
1. Platforms. Platform development will enable developing solutions easier and enable
both market verticals and a marketplace.
2. APIs (application programming interfaces). Valdez-de-Leon claims that, “APIs are
the basic building blocks of an IoT ecosystem” and argues that building robust and
market-friendly APIs will help create or ultimately destroy the market effects that will
be essential for IoT adoption.
3. Communities Strong partner communities will enable IoT systems to inter-operate
and that will create a true ecosystem around the technology. Proprietary and isolated
systems will stifle growth.
4. Branded Services True to the open source model, some companies can demonstrate a
commitment to the technology and find ways to make money by branding products
(sometimes called “white labeling”) using partner technology.
5. Revenue Models Generating revenue for IoT products and services will involve
thinking differently about how to work with partners and pricing.
6. Support Often overlooked, ongoing maintenance of partner relationships, updating
aging models, and ensuring partners support their products and services will be key to
ensuring IoT moves beyond an interesting idea to becoming a part of the
technological ecosystem.
Business Opportunities
When you hear IoT described, you might be inclined to think about the products and services
you interact with on a daily basis–what business people call “consumer products.” The Nest
thermostat might come to mind because it is a product that is regularly held up as a paradigm
case of an Internet-connected device. The hardware uses data to make decisions about how
you want your home heated or cooled, gives you reports on how you're using energy, and
interacts with other services to report on the weather outside your home.
But IoT is being adopted by businesses of all sizes to enable a host of productivity gains,
make products safer and less prone to error, and build more efficient machines. Microsoft has
highlighted specific use cases to illustrate how the technology is being adopted to enable
companies to run their businesses. The German company Bosch describes IoT in terms of
outcome–what connected devices can produce.
Here is a sample of how IoT can benefit businesses and create new opportunities for
companies adopting the technology.
Each of these items can enable a manufacturer to improve efficiency and reduce waste,
increase safety (for both workers and customers), help drive profitability by using real-time
data to make decisions and, with automation, make real-time adjustments to processes.
Telecom company AT&T describes the following benefits of a city fitted with smart devices
that provide real-time data on things like parking, traffic, violent activities, and air quality:
Businesses can use data from these systems to improve products, innovate on new products to
meet needs that may have been hidden or unknown without the data, and help cities solve
seemingly intractable problems.
Here's an example. The popular traffic app Waze enables users to report on road situations in
real-time like the existence of a dangerous pothole or other hazardous conditions. That data
could be used by city officials to develop maintenance plans to address issues like these in
more efficient ways that improve public safety. While this does involve some user
interaction, it's easy to see how cars or street lamps could be fitted with artificial intelligence
systems to detect conditions like these and report them in an automated way.
IoT-enabled Retail
Analytics company SAS reports that IoT is starting to find its way into the retail experience.
Using devices like RFID tags, mobile devices, and even digital signs, retail is embracing the
advantages IoT can provide. The SAS report highlights five places where retail is using IoT
to enhance their business and customer's experience:
IoT Adoption
In the previous section, we talked about the opportunities business can take advantage of by
adopting IoT solutions. While much of that is forward-looking, you may have come to see
that IoT already is being adopted by many businesses and consumers.
In a 2018 blog post, Microsoft gave an overview of companies that are starting to use
IoT solutions (specifically built on Azure IoT) in what they call “Smart Buildings.”
These companies are using IoT technology to help people navigate buildings, trigger
maintenance requests, help engineers design better buildings and help property
managers oversee their properties in a more efficient and effective way.
Technology company Intel is working with many companies to enable IoT solutions.
Intel describes solutions that range from building smarter trains to smarter roads.
They've helped a plastics company determine inefficiencies in their control system as
well as improve their product cycle and reduce inventory risks. Intel's “wearables”
solutions "improve worker efficiency and safety, including hands-free operations of
industrial equipment."
Opportunities Abound
Whether its connecting a thermostat in your home or improving the efficiency of a jet engine,
IoT solutions are the next big wave in technological advancement. Businesses already have
begun to adopt IoT technology and the need for IoT architects and engineers will be growing
over the next decade. Come join the revolution!
In the previous topic, we took a high-level view at how IoT solutions are being used in the
near term to how they might evolve in the long term. In this topic we'll take a closer look at
business and consumer scenarios and sort out the similarities and differences between the
two.
Consider how you might answer the following questions:
Let's take a look a the first question - what is the difference between a connected device and
an IoT device? For example, a personal computer generally is connected to the Internet. Does
that make it an IoT device? Is a smartwatch or door lock that both have internet connectivity
IoT devices? As we saw in a previous lesson, definitions can be hard to come by but its
possible to put some boundaries around devices that should be included under the umbrella of
IoT and those that should not.
An IoT Device
Here are some criteria that a device should meet to be considered an IoT device. Many of
these properties are defined in the IEEE white paper on IoT and confirmed from other
sources.
1. Connected to the Internet. The most obvious criterion is that the device has a
connection to the internet with a unique identifier, and two-way communication. Both
of these properties are important for a device to be considered a part of an IoT system.
The device has to be unique to ensure secure communications with both the server
and with other devices and the device has to be able to consume and deliver data. A
primary value proposition for IoT is data collection as well as consumption.
2. Secure. Being able to uniquely identify a device on the internet or within an IoT
ecosystem is one aspect of security but making a device secure also means it's
resistant to being hacked (both the hardware and software), uses encrypted
communication protocols, and is immune to mimicry either by an alternate hardware
device or a virtual device.
3. Smart Features. This simply means that the device must have sensors or hardware
that enable it to collect specific data based on events (like smoke in the air or a light
being switched on or a key being turned). There is an implication that the device
should be able to do this without user interaction so it has an “embedded
intelligence.”
4. Communication Capabilities. The device should have the capability to communicate
not only with cloud-based services but with other devices.
5. Configurable. The device should be remotely configurable or have the ability to self-
adjust its configuration based on changes in the ecosystem. This includes the ability to
automatically install updates, modify sensor receptivity, repair problems, and modify
energy consumption among others.
6. Programmable. Like connectivity to the Internet, this should be a basic function of
any connected device but certainly is true of IoT devices. The main idea here is that
the function of the device should be able to be modified without having to make
changes to its hardware. This may mean that a device has a number of sensors that
could be activated or deactivated by software or, if a single-purpose device, the
features should be able to be modified by software to accomplish a different task (for
example, a thermostat that can deliver outside temperature readings from a service vs.
taking the internal temperature readings from a sensor).
These probably wouldn't be considered “core” features but here are other properties to
consider when defining a device as an "IoT device."
Replaceable. In many scenarios, when an IoT device fails (for example, a sensor on
an airplane engine or wind turbine), the device should be able to be replaced and it's
entire firmware and software settings loaded onto the device quickly and easily. This
could mean that every programmable feature of the device should be able to be stored
in the cloud and downloaded to a replacement device.
Environmentally Flexible. Depending on the scenario, the device should be able to
maintain power, collect and store data, and smartly upload stored data in the event of
a power outage, and/or loss of Internet connectivity.
When we consider the features of IoT devices above, some may be more important in
business scenarios and others take more prominence in consumer scenarios. For example,
designing a device so it can easily be replaced may be more important in mission-critical
business scenarios than it would be for a consumer device that checks the weather or turns on
your lights.
Let's take a look at a couple of scenarios and how they might differ. Microsoft created a case
study for an IoT implementation for BaxEnergy–a company that supplies analytic and
optimization solutions for energy companies. While this white paper largely is about data
ingestion and processing, it illustrates features of an IoT solution that is relevant for this
business but may not be relevant for a consumer device. Microsoft outlines the following
benefits of IoT in three distinct areas.
Data Ingestion
This area defines how sensors collect and queue data for deliver to the database. Specifically,
the Microsoft solution:
Data in Motion
This category defines how the solution improves real-time monitoring of the energy plant.
The article notes the following improvements:
Visualizing real-time monitoring without accessing the database
Presenting the data in nearly real time
Portal still allowing for execution of queries on historical data
Immediate notification as soon as the device is not sending any data
This category describes how incoming data is analyzed workflows are triggered based on
certain event parameters.
The advantages provided to BaxEnergy from this particular IoT implementation may be true
of many business scenarios. Real time monitoring and reporting, real-time analytics, problem
reporting, and asynchronous data communication are essential in many business contexts.
These probably wouldn't be true in most consumer contexts.
For example, taking the paradigm case of a connected thermostat, getting real-time
information about energy usage may not be that important. A customer may only need (and
actually prefer) weekly or monthly reports so the data the device is collecting doesn't need to
be analyzed in real time or available immediately after it's collected. Similarly, the home
thermostat may not need to be able to initiate additional workflows when specific events
occur or queue data if the power goes out.
While IoT in the consumer space is still fairly nascent, there regularly are new examples of
the technology being used to improve customer experiences and expand product features.
Here are a few scenarios (some with which you may already be familar):
There are many other connected devices coming to market, that range from practical to weird.
But the possibilities are nearly endless. Consumers are moving from a mindset of
experimentation to anticipation that will soon evolve into expectation as connected devices
enable customers to do more.
In a way, business goals for IoT are simple compared with consumer goals. Businesses tend
to implement IoT solutions in order to be more profitable, to increase safety for their work
force, and to more easily comply with government regulations in order to create a better
business environment. Profitability can be realized either directly through cost reductions or
indirectly through competitive advantage. For example, businesses can use IoT to reduce
their manufacturing or operating costs, which increase profits directly. Or, a business could
use IoT to provide customers with improved service, resulting in increased market share (and
overall profits). In most cases both the business and their customer benefit.
Business goals for IoT focus on improvement in one or more of the following areas:
We've been looking at specific business-focused scenarios for IoT solutions but you can read
more at the Microsoft IoT site to see examples of how industry and vertical lines of business
are using the technology.
Getting Started
As with most technology, an enterprise may adopt IoT to solve specific business problems or
to take advantage of new opportunities. In either case, the process starts with a project plan
that defines how the technology will be used to meet the goals of the business.
Stephanie Jernigan and Sam Ransbotham in an article for MITSloan Management Review
offer the following guidance for getting an IoT solution off the ground.
1. Keep the initial scope small. Since an IoT solution involves devices as well as cloud
services, doing small experiments with an initially low-cost investment gives business
the ability to try things and adjust quickly without spending too much capital on the
front side. They write, “The result of such an approach is that future phases aren’t
saddled with large compatibility requirements from the first phase. Low investments
mean lower sunk costs for replacement (if necessary). And fewer relationships mean
fewer affected systems in other organizations.”
2. Think about the short- and long-term value of IoT. Companies may have an initial
set of metrics they want to meet or goals they want to achieve with an IoT solution.
But the authors advise that businesses should stay open to possibilities that they may
not conceive of at the beginning of a project. In other words, it may be best to think of
implementing an IoT solution and think of IoT as an on-going experiment.
3. Consider Alternatives. A good way to figure out what an IoT implementation ought
to do is to think about other ways you might get the data you need. If implementing
IoT is the best way to get that data, then its more likely that the project will be
successful.
IoT Governance
As you plan an IoT solution, engineering and deploying the solution are just the beginning of
the solution as a whole. Given the complexities of an IoT solution, planning for how an IoT
solution will be maintained and monitored is essential to make the project successful. This
topic is often referred to as IoT Governance, and is a topic that Microsoft and others have
worked on to provide guidance.
Microsoft's cloud offering, Azure, has been built from the ground up to align with the needs
of the Enterprise and has created a documentation hub, the Azure Architecture Center, which
provides access to resources that provide general guidelines and best practices for governance
strategies.
Microsoft's guidance stresses the importance of identifying the key stakeholders and
managing cross-team buy-in at this early stage. This helps to ensure that the essential
business goals are identified and on-going sponsorship is maintained though the project
lifecycle. Of course, prototyping and experimentation are important in this “Proof of Value”
phase as are the operational aspects of the deployment including automation and fine-tuning
the solution.
In order to accelerate the Proof of Value phase, Microsoft has provided Azure IoT Central - a
“Software as a Service” IoT Offering, as well as a number of preconfigured solution
accelerators that can be used as the basis of custom solutions:
Remote Monitoring
Connected Factory
Predictive Maintenance
Device Simulation
A reference architecture is a guide against which all IoT implementations will be based. By
using a reference architecture, you can ensure that when an IoT solution is being developed
for your organization, each implementation is doing things in generally the same way. It also
helps ensure that best practices are being followed and that reusable elements are being
shared across implementations. The governance policy should enforce that the reference
architecture includes all the elements and best practices that you want to be used across IoT
implementations. To support the development of a governance strategy, Microsoft has a
dedicated documentation hub for governance that provides a collection of concepts and
services that are designed to enable management of various Azure resources at scale.
Throughout this course, we'll be referring to Microsoft's own reference architecture document
as a guide for how to implement an IoT solution based on Microsoft's software and services.
As the Azure IoT Reference Architecture document states:
Every organization has unique skills and experience and every IoT application has unique
needs and considerations.
So while the reference document can be a good start for your own reference architecture
document, the reference architecture and technology choices recommended should be
modified as needed for each.
When designing a system, it is important to understand the potential threats to that system,
and add appropriate defenses accordingly, as the system is designed and architected. It is
important to design the product from the start with security in mind because understanding
how an attacker might be able to compromise a system helps make sure appropriate
mitigations are in place from the beginning.
The Azure IoT Reference Architecture has been designed to incorporate many of the
foundational governance and security guiding principals:
Governance Design
Prescriptive subscription governance
Internet of Things (IoT) security architecture
Because of the complexity of developing and maintaining IoT solutions, IBM recommends
specific roles for building the team you'll need for the entire development and support life
cycle of the solution. Specifically, they recommend the solution include:
IoT architect role that defines the entire solution including the strategy, integration
approach, and best practices.
IoT developer who is focused on implementation and definition for the technical
implementation of the solution.
Data analyst role which focuses on all aspects of the data collection, modeling, and
analysis and reporting strategy.
IoT tester who manages quality control for the entire solution and ensures the system
is secure.
Device SME (subject matter expert) who defines the device specifications and works
with the other roles to ensure the right devices are in place and how those devices
should be managed over the life cycle of the solution.
Security Architect. IBM calls this out as a distinct role for good reason. Security
should be thought of as a solution, according to IBM, and not merely a feature of the
system. The security architect defines all aspects of the security of the solution
including data collection and analysis, network operation, and governance practices
(among others).
All of the above would fall under IoT governance and requires written policies and processes
that should be “followed, applied, and enforced” to make the IoT solution successful and
secure.
Do you want upfront revenue or a continuous revenue stream? Can you charge more for your
product because it’s highly differentiated? Knowing the answers to these and other questions
will help you determine which business model is right for your IoT solution.
In this task, you will investigate the different approaches your business can take in the
transition to IoT. You will be working through a guide that Microsoft has assembled that will
help you understand how IoT can benefit your business. If you're not an active participant in
a business, think about a business you regularly engage with like a postal service or a utilities
company. You'll use this company or business as you work through the exercise below.
Note: As a part of the capstone for this course, you will be required to write a business model
for your solution. This topic will help you think through key aspects of a business model and
will help you as you work on the capstone.
We'll walk through this guide step-by-step and then give you questions to consider as you
think about a business model for your IoT solution.
Now consider the following as you think about a business model for your solution. As you
think about these questions, keep the three aspects of a good business model your read about
in step 4 above in mind.
When you think about your business which of the four pillars would be most relevant?
Based on your answer to question 1, in what ways could you implement that pillar to
improve your business? Think specifically of goals an IoT solution could help you
reach or problems it could help you solve in that specific area.
Now click Continue to the Next Section at the bottom of the page.
Now read each of the sections under the topic titled, Which IoT-enabled business model is
right for you? These section define each of the models in the chart and describe their pros
and cons. As your read through the sections, think about what you decided about how you
want to improve your business from the first section and use those goals or problems to solve
as a way to filter the business models in this section. Ideally, you'll want to focus on one or
two of the models described on the page. It's generally not possible to do everything
described there all at once.
When you're done working through each of the sections, consider the following questions as
you develop your business model:
Which business model best applied to the goals you want to reach or problems you
want to solve for your business? Why did you choose that model? Be as specific as
you can as you can use your answer to define how you will implement an IoT solution
to address your business needs.
Would more than one model work for your business? If so, in what order would you
implement the model for your business and why? Answering these questions can help
you develop a long-term approach to your IoT solution. You may want to implement
more than one business model in stages depending on the needs of your business.
Are there business models described on the page that would be out of scope for your
IoT solution? If so, why wouldn't you include them? Answering these questions will
help refine what architects call “non-goals”–things you want to make sure don't
distract you from focusing on what is important.
Now click Continue to the next section at the bottom of the page.
1. The goals you want to achieve and the problems you want to solve with IoT as it
relates to your specific business.
2. The relationship between cost and benefit in implementing an IoT solution. This will
involve analyzing all the resources and expenditures you'll need for an IoT solution
and whether the benefits your business will derive from implementing the solution
will offset those costs. (You'll be working through a couple of laps in upcoming
lessons where you'll have an opportunity to practice this.)
3. How you will “sell” an IoT solution to business stakeholders and partners. While an
IoT-enabled business may sound "modern" in theory, a solid business model will have
to show why an IoT solution makes sense for your business. This is related to the
previous consideration on cost but this consideration goes beyond cost and involves
things like company culture, core values and priorities, and similar aspects. Your
business model should address these considerations.
4. How your IoT solution will be perceived by your customers. You may have to
consider if an IoT solution is good for your business overall even if it makes financial
sense. For example, some businesses may work with customers who are unfamiliar
with or skeptical of using devices that collect data. You may have to consider if
implementing IoT for your customers would be perceived as a security or privacy risk
even if no real risk is involved. You'll have to consider how to message this.
5. What you need to get started. A solid business model will address the specific steps
involved in getting an IoT solution off the ground. As we saw in earlier lessons in this
module, this will involve a prototyping and testing phase as well as a full analysis of
the costs, the team needed, and how the project will progress once the initial stage is
complete.
6. How you maintain the solution over the long term. We studied this in previous lessons
in the course and this consideration involves taking a long-term approach to an IoT
solution. A business model should not only address the immediate concerns of getting
a solution implemented but how the business will maintain and operationalize the
solution over the long term.
As you might imagine, IoT can be implemented in both small and large businesses, and in
nearly any type of business as well. Some of the industry verticals that have a high adoption
rate are listed below. We won't be exploring all of theses verticals during this course, but we
have selected a few that demonstrate the different approaches that may be applied by
businesses within a vertical during the design and implementation of an IoT solution.
Manufacturing
Smart City
Smart Building
Healthcare
Energy
Transportation and Smart Vehicles
Logistics and Inventory Management
Retail
Agriculture
We saw in the previous topic that instrumenting a factory floor with IoT devices can enable
factory managers and line workers to better anticipate problems, understand where critical
systems are failing and improve the overall operation of a single factory or a network of
factories around the world. In this topic, we'll take a closer look at what IoT can do for the
manufacturing industry and how you can get started building a connected factory solution.
More importantly, insight from this data helps manufacturers identify new revenue streams
by developing high-value service offerings focused on how products and customers interact
in the real world.
This transformation is changing the landscape for manufacturers, enabling them to
differentiate themselves, achieve operational excellence and disrupt markets.
Put simply, this means that an IoT-enabled factory will use devices that communicate with
each other and the cloud to capture and collect real-time data to enable a more efficient and
productive factory. This is the promise of IoT that we've been reinforcing throughout this
course and applied to this particular scenario.
At a very high level, a connected factory will use IoT devices to communicate machine
information with other machines as well as cloud services, collect and store data from those
machines, and enable the creation of reports and alerts.
To get started with an IoT manufacturing solution, explore the resources below.
Further Resources for Getting Started
An e-book, infographic, and more on the factory of the future: Azure IoT Connected
Factory solution
How IoT can impact both the healthcare provider's ability to provide care and help
patients take more control over their care
Ways to implement an IoT solution for this vertical
How healthcare providers are using IoT today to impact their work
In a 2014 article, Forbes quotes McKinsey & Company who predicted that by 2020,
healthcare spending will surpass 1 trillion USD – in China alone. It can be difficult to think of
healthcare as an industry since it's in the “business” of dealing with life and death. But the
reality is that there is a lot of money involved in providing healthcare so finding ways to do
more with less is a constant goal. But IoT has the potential for impacting much more than the
economics of healthcare. IoT has the potential to be a disrupter in this vertical by providing
better optimization of equipment and personnel, enable non-traditional options for self care,
and help monitor and maintain essential equipment used in providing care.
Healthcare: Personalized
While there are many potential applications for IoT in the healthcare industry, applying
solutions can be tricky as concerns about patient privacy, misdiagnoses, security breaches,
and malfunctioning equipment can make patients and doctors hesitant about adopting the
technology. When architecting an IoT solution for healthcare that involves direct patient
interaction, special care has to be taken to account for these factors.
Still, when taking these concerns into consideration, IoT has the power to provide better care
in real-time and lower costs. In a 2015 report prepared by the consulting firm Deloitte, the
authors write,
In striving to improve outcomes and reduce costs, health care providers have long struggled
with several nagging problems—most notably, their interactions with their patients are
sporadic, giving them little insight into the daily decisions and activities that have a huge
impact on patient health. Providers could be much more effective in supporting their patients’
health if it was easy, or even automatic, for information and feedback to flow between
patients, providers, and caregivers.
Some of these scenarios involve critical care such as alerts being sent to caregivers for remote
patients that are experiencing an issue with their health or a device intended to address their
health.
But not all IoT healthcare applications need to focus on critical situations. As with other
verticals, the primary value of IoT as it applies to healthcare is in the data generated by the
devices and services in the ecosystem. Deloitte agrees,
Where data about consumers have been critical to the transformation in retail, in health care
the key is patient-generated data (PGD), defined as ‘health-related data created, recorded,
gathered, or inferred by or from patients or their designees to help address a health concern.’
Areas of Opportunity
Deloitte outlines three primary areas for growth and adoption of IoT technologies in
heathcare. Some of these opportunities overlap with other verticals we're looking at but
healthcare is unique in specific ways.
Providing patients with a plan for self care once they leave a medical facility as well as
reminding patients of their plan and monitoring how well they're following that plan is one
scenario the reports calls out as an area ripe for IoT solutions. For example, an app on a
mobile device or wearable that can help remind patients to take medication or follow a
physical therapy routine and monitor how often they follow those instructions can help
healthcare providers understand challenges, prepare for follow up visits, and create
modifications to a plan that may be more effective for specific patients.
The authors point out that much of the current use of data has been used for risk analysis and
health underwriting. But big data collected by IoT systems can help healthcare providers
better understand health trends across populations and be used to prevent disease rather than
merely manage it. Here's an example cited by the authors:
IoT solutions will enable significant advances in healthcare over the next decade. While there
are many challenges to overcome–some technical, others social–this vertical is primed for
disruption and innovation.
How IoT can be used for a better retail experience for both retailers and their
customers.
Ways to implement an IoT solution for this vertical
How retailers are using IoT today to impact their businesses
When people mention or hear about IoT, it's likely that the idea of a smart thermostat comes
to mind or the term evokes thoughts of connected stores that use RFID tags to monitor
inventory and enable a cashless payment system. Retail has the potential to offer the easiest
entry point for an IoT developer since the vertical is so massive in both scope and
opportunity. From vending machines to signage, the potential for IoT to disrupt the retail
experience–for sellers and consumers–is massive.
While there are others, we can define four main benefits that IoT solutions offer to retailers
and customers as illustrated in this graphic:
Operational Efficiency: As we saw with IoT for Manufacturing, in the retail space,
IoT can enable retailers to optimize their staff, delivery, security, and other parts of
their supply chain. This can ensure the right products are on the shelf at the right time,
that customers are kept safe at all hours of the day or night, and that theft and loss are
kept to a minimum. Equipping shipping containers that enable stores to track product
availability, using cloud-enabled web cameras and using mobile devices to enable
easier communication with staff and track their hours can reduce the overall load
retailers are burdened with.
Inventory Management: In a paper outlining the benefits of IoT for the retail
experience, Intel makes the claim that IoT can help retailers “achieve near-100-
percent inventory accuracy.” And this isn't merely about preventing lossUsing big
data, retailers can ensure that products customers want and care about are always on
the shelf and items purchased less often don't consume valuable shelf space.
Improved Customer Experience: As we saw above with the Amazon Go store
experience, customers can benefit from IoT solutions in retail by being able to
purchase the products they want with less friction. By eliminating checkout lines and
eliminating the need for customers to carry cash or credit cards, customers get more
time back and can be safer shopping. Of course, privacy is always a concern in these
scenarios so IoT architects need to take great care to find the right balance between
technical advances and privacy concerns.
Cost Efficiency and Savings: All of the above items should result in more efficient
operations and reduce costs in terms of both running the business and supporting
customers. Intel goes further and says IoT can be used to “lower energy usage by
powering down lighting, POS, and HVAC systems” as well as "reduce POS [point of
sale] repair costs and downtime." The idea is that retailers can not only outfit the retail
experience with an IoT architecture but outfit the stores themselves to make retail
operations “smart.”
See Module 4 for more examples and details on how actual retailers are using IoT to enhance
their businesses.
IoT For Smart Cities and Buildings
In this topic, you'll learn:
How IoT can be used to create smarter cities that optimize safety and efficiency.
Ways to implement an IoT solution for this vertical
How cities are using IoT today to impact their citizens
If you've installed and use any one of the many “smart home” devices on the market today,
you are becoming familiar with the value of a smart home: improved safety through lock
monitoring, automatic lighting, and security cameras and increased productivity and
efficiency through home automation. These consumer examples of IoT, when extrapolated to
the scale of a town or city, show us what can be possible in making where we live safer, more
efficient, and better places to work and play.
As we saw with the healthcare vertical, when many people talk about “smart cities” dystopic
images of "Big Brother" watching our every move are painted and many have concerns about
invasions of privacy and too much central control. While many of these concerns are valid,
and architects of IoT solutions need to consider the right balance between innovation and
personal privacy, the opportunities to improve civic life through IoT are enormous and, with
proper controls and privacy considerations in place, can make communities safer, more
efficient, and easier to live in.
Let's look at some ways “smart cities” can improve life for communities of people. Microsoft
has outlined four primary ways IoT can transform this vertical and we'll look at each in turn.
As we'll see in the next topic on transportation, city life is a buzzing array of complex
variables that are under continual change. While cities to have a “heartbeat” and rhythm, the
regularity is a product of a variety of individual activities all occurring at the same time.
From an IoT perspective, this can create a data management and analytics challenge. But it
also creates a lot of problems for city managers:
How does a city ensure emergency services have enough resources to meet the
demands of the city?
How do managers of those emergency resources deploy the resources in the most
efficient ways to keep citizens safe?
How does a city manage high demand (say for a significant weather event)?
Does demand vary based on the time of the day or the time of the year?
To be sure, city and services managers have gotten very good at managing many of these
scenarios. But IoT solutions can refine these abilities and provide more powerful tools to help
those responsible for keeping citizens safe.
These are a couple of examples of how IoT can be used in intelligent city scenarios. There are
many more opportunities to innovate in this vertical.
Here is a list of some of the top initiatives being driven by industry leaders in this space.
For more stories and ideas, check out Microsoft's IoT site for smart cities.
How IoT can be used to create smarter roadways with improved traffic flow and
transportation options.
Ways to implement an IoT solution for this vertical
How transportation providers are using IoT today to impact their customers
Transportation advances are perhaps the most exciting area where IoT solutions are being
developed. Getting from one place to another can be an arduous, frustrating, and sometimes
dangerous thing to do. Anyone who has spent more than an hour sitting in traffic has said to
themselves, “There has to be a better way.” What makes this vertical so exciting is the many
opportunities for improvement and innovation it presents.[^1]
[^1]: In many ways, IoT for transportation is a sub-category of the previous topic, IoT for
smart cities. But the space is so large and there are so many unique opportunities for
innovation that it warrants its own topic. But in terms of learning, it can be helpful to
consider this topic together with the previous one.
In 2012, Google created a video that demonstrates their early thinking into autonomous
vehicles. Part of their vision is that each vehicle is connected to a central service (a cloud
service) and to each other enabling the system and each vehicle know where all other
vehicles are at any given time.
https://www.youtube.com/watch?v=4pbAI40dK0A&feature=youtu.be
This would enable intersections without traffic lights and minimize the need for vehicles to
stop or even slow down as they entered the intersection. Using predictive analytics and
location awareness, vehicles would know where they are in the “swarm” of vehicles and
navigate appropriately. The video shows computer models that demonstrate this ability (the
model illustration starts at the 55 second mark).
While their application isn't in the transportation vertical specifically, General Electric is
attempting to solve complex problems by processing large amounts of data (called “Big
Data” by industry professionals). In an article for the MIT Sloan Review, the author describes
how GE has developed an analytics engine to process "50 million data variables from 10
million sensors" to do more robust predictive analytics which increases it's ability to find the
cause of problems and not merely get alerted when a problem exists.
The problem space is similar to what we find in a complex system like transportation and any
IoT solution or set of solutions will have to deal with the problem of big data. Bill Ruh, the
chief digital officer at GE describes the problem his team faces as if they were dealing with
an organic life form:
Machines generate time-series data, which is very different than social or transactional data.
We had to optimize for the kinds of analytics that would help us understand the behavior of
machines. (p. 5)
This accurately describes the problem of transportation even in a localized scenario like a
city. Vehicles, people, pets, and other objects move–they have behaviors. Any IoT
transportation solution has to account for those behaviors and orchestrate whatever variables
are under its control (the vehicle itself, traffic lights, lighting systems, road or track
modification systems) appropriately. This will involve analyzing enormous amounts of data
in real time and creating a decision engine that can set a large number of variables in a
productive, efficient, and safe way.
1. Cloud Gateway: The Cloud Gateway provides a cloud hub for secure connectivity,
telemetry and event ingestion and device management (including command and
control) capabilities.
2. Stream Processing: Processes large streams of data records and evaluates rules for
those streams.
3. Business Process Integration: Facilitates executing actions based on insights
garnered from device telemetry data during stream processing. Integration could
include storage of informational messages, alarms, sending email or SMS, integration
with CRM, and more.
4. Storage: Storage can be divided into warm path (data that is required to be available
for reporting and visualization immediately from devices), and cold path (data that is
stored longer term and used for batch processing).
5. User Interface: The user interface for an IoT application can be delivered on a wide
array of device types, in native applications, and browsers.
As data is delivered to the IoT, it is important to understand how the flow of data processing
may vary. Depending on scenarios and applications, data records can flow through different
stages, combined in different order, and often processed by concurrent, parallel tasks.
These stages can be classified in four categories - storage, routing, analysis and
action/display:
Storage includes in-memory caches, temporary queues and permanent archives (e.g. a
database).
Routing allows sending data records to one or more storage endpoints, analysis
processes, and actions. Routing makes decisions on what data should go which target
and when.
Analysis is used to run data records through a set of conditions and can produce
different output data records. For instance, input telemetry data encoded in one format
may return output telemetry encoded in another format.
Original input data records and analysis output records are typically stored and
available to display, and may trigger actions such as emails, instant messages,
incident tickets, CRM tasks, device commands, etc.
These processes can be combined in simple graphs, for instance to display raw telemetry
received in real time, or more complex graphs executing multiple and advanced tasks, for
example updating dashboards, triggering alarms, and starting business integration processes,
etc.
For example, the following graph represents a simple scenario in which devices send
telemetry records which are temporarily stored in Azure IoT Hub, and then are immediately
displayed on graph on screen for visualization:
The following graph represents another common scenario, in which devices send telemetry,
store it short term in Azure IoT Hub, shortly after analyzing the data to detect anomalies, then
trigger actions such as an email, SMS text, instant message, etc.:
IoT architectures can also support multiple systems that can accept and do something with
data. For instance, some telemetry storage and/or analysis may occur on premise, within
devices and field/edge gateways. In other scenarios, protocol translations may be required to
connect constrained devices to the cloud. While the resulting graph is more complex, the
logical building blocks are the same:
Then, there’s the issue of privacy. Companies want transparency concerning data collection,
as in what’s being collected and why, who can see it, who controls access, and so on. Finally,
there are general safety issues of the equipment along with the people operating them, and
issues of maintaining industry standards of compliance.
Given the security, privacy, transparency, and compliance concerns, choosing the right IoT
solution provider remains a challenge. Stitching together individual pieces of IoT software
and services provided by a variety of vendors introduces gaps in security, privacy,
transparency, and compliance, which may be hard to detect, let alone fix. The choice of the
right IoT software and service provider is based on finding providers that have extensive
experience running services, which span across verticals and geographies, but are also able to
scale in a secure and transparent fashion. Similarly, it helps for the selected provider to have
decades of experience with developing secure software running on billions of machines
worldwide, and have the ability to appreciate the threat landscape posed by this new world of
the Internet of Things.
Protecting IoT solutions requires that businesses ensure each of the following:
https://docs.microsoft.com/en-us/azure/iot-fundamentals/iot-security-ground-up
https://www.microsoft.com/en-us/internet-of-things/security
https://docs.microsoft.com/en-us/azure/iot-fundamentals/iot-security-architecture
https://docs.microsoft.com/en-us/azure/iot-fundamentals/iot-security-best-practices
IoT Security
As we've seen in previous lessons, planning for security in an IoT solution is not only
essential but it can get complicated very quickly. IoT solutions involve data-collecting
devices, cloud services (which includes storage and analytics), and can involve personal or
sensitive data (a lot of it). Each of these can represent “soft targets” for hackers or others with
malicious intent so understanding how a solution can be vulnerable should be an integral part
of any IoT architecture.
Intel, in their IoT Platform Reference Architecture document what they refer to as the
“security layer” in their architecture. They describe it this way:
Robust hardware- and software-level protection are essential for ensuring world-class
security, which is a foundational IoT tenet. Security is more like a process than a product
because it depends upon evaluating the threat model for specific use cases and addressing
each possible threat. A layered security approach is highly recommended since it establishes
multiple defense mechanisms against hackers.
Let's look more specifically at how this layered approach to security works in an IoT
architecture.
Threat Modeling
When designing a system, it is important to understand the potential threats to that system,
and add appropriate defenses accordingly, as the system is designed and architected. The
objective of threat modeling is to understand how an attacker might be able to compromise a
system and then make sure appropriate responses and repairs are in place.
The movie The Big Short includes a quote (falsely attributed to Mark Twain) states, “It ain’t
what you don’t know that gets you into trouble. It’s what you know for sure that just ain’t
so.” In the context of IoT security, this means that we can get in the most trouble when we
confidently assert that something won't (or will) happen. Part of threat modelling is planning
for the things you can't plan for or anticipate. This might be as radical as taking a server
offline or sending technicians to collect devices from the field if there's a breach. But it could
include a lot of much less dramatic measures to ensure that data is safe and hackers are
thwarted.
You should threat model the solution as a whole and also focus in the following areas:
Microsoft's guidance on threat modeling includes four main areas of focus. Each of these will
have specific needs and involve particular “threat vectors” (ways the area can be attacked).
They include:
The diagram below illustrates an IoT architecture with each of these areas designated. The
blue arrows indicate paths the data can take through the system. While this looks complex,
it's important in a threat model to understand where your data is coming from and every
possible place it can go. Missing just one path can create a serious vulnerability.
Attack Vectors to Consider
Again, an attack vector is simply a particular way that a hacker or person with malicious
intent could compromise your IoT system. Microsoft documentation lists many possible
options and we'll summarize a few of the most important here.
1. Spoofing. Device spoofing takes place when an analogous device or virtual device
takes the place of an intended device without the system knowing a switch was made.
Spoofing can happen with services, APIs and other parts of an IoT system.
Certificates can help reduce spoofing but an IoT architecture should have mechanisms
in place to ensure that the devices and services deployed to the solution are the ones
you intend to be there.
2. Denial of Service. Denial of Service (DOS) attacks are something we hear about in
the news every so often because they can negatively affect our ability to reach a web
site or service provider. One type of DOS attack involves overwhelming a service or
device with garbage data or requests so the service or device can't operate normally.
General a DOS attack is any hack where the device or service designed to perform a
particular function is rendered useless. These types of attacks (besides being
annoying) can prevent critical data from reaching a destination or enable hackers to
attack other parts of an IoT installation.
3. Elevation of Privilege. This type of attack causes a device or service that has a set of
capabilities that are limited by permissions or function (e.g. an automobile accelerator
that has a mechanism that prevents the car from exceeding a certain speed) to function
beyond their imposed limitations. You can imagine an API or device that has
permission to collect or store impersonal data being tricked into collecting or storing
personal data that could cause harm if it got into the wrong hands (e.g. credit card
information).
As mentioned above, there are many other attack vectors to consider and a threat model
should include mitigations for as many as possible.
A Secure Ecosystem
As you think about the security of an IoT solution, it can help to break down each aspect of
the problem into functional categories. In the threat model we considered above, we saw four
areas of focus. We can abstract these even more to help us build a threat model. In an article
for Network World, author Dean Hamilton echos the guidance that we'll be looking at in this
module. He recommends that IoT architects focus on securing devices, the network, and data.
We'll talk about security in three primary areas: devices, connection and communication,
and cloud services. We'll call this our secure IoT Ecosystem.
In the next three lessons, we'll look at each of these categories in turn.
Device Security
In this topic, you'll learn:
Device security includes primarily device provisioning and authentication. But a threat model
for devices should also include how data is stored and transmitted as well as how to protect
devices from spoofing and DOS attacks.
Protect device and user identities, ensure device integrity, and protect operational and
personal data on every device. Each device should guarantee authentication without
jeopardizing individual privacy and have the ability to automatically self-assess and resolve
any situation.
That's a tall order but this level of device security should be considered essential for a secure
IoT ecosystem. Similarly Microsoft recommends IoT architects focus on the physical security
of devices and sensors.
Sensors and devices can and must often be placed in public areas, where anyone may
potentially have physical access to them. Also, tampering with the device is not just the act of
manipulating the device hardware or software. A digitally trustworthy sensor may be tricked
into reporting misleading data by dismounting and relocating it. Or an attacker could impact
the environment around the device, creating misleading physical conditions in the immediate
proximity of the device, pushing the overall system into an erroneous reaction. A lit lighter
held near a smoke or temperature sensor might, for instance, trick a digital building control
system into flooding a hotel hallway with the sprinkler system.
As the IoT space blurs digital and physical concerns, it also blurs security with safety.
Suddenly, security threats become safety threats. If something “goes wrong” with automated
or remote controllable devices—from physical defects to control logic defects to willful
unauthorized intrusion and manipulation—production lots may be destroyed, buildings may
be looted or burned down, and people may be injured or die. That is a different class of
damage than someone maxing out a stolen credit card limit. The security bar for commands
that make things move, and also for sensor data that eventually results in commands that
cause things to move, must be higher than in any e-commerce or banking scenario.
Some exemplary measures that can be taken to improve the security of the physical device
are:
[^1]: For more information on how the Azure IoT framework can help keep devices secure,
see the Azure IoT Reference Architecture.
Device IDs can be associated with a device during manufacturing (that is, flashed in a
hardware trust module) or can use an existing fixed identity as a proxy (for example CPU
serial numbers). Since changing this identifying information in the device is not simple, it is
important to introduce logical device IDs in case the underlying device hardware changes but
the logical device remains the same. In some cases, the association of a device identity can
happen at device deployment time (for example, an authenticated field engineer physically
configures a new device while communicating with the solution backend). The Azure IoT
Hub identity registry provides secure storage of device identities and security keys for a
solution. Individual or groups of device identities can be added to an allow list, or a block list,
enabling complete control over device access.
Azure IoT Hub access control policies in the cloud enable activation and disabling any device
identity, providing a way to disassociate a device from an IoT deployment when required.
This association and disassociation of devices is based on each device identity.
To support these features, the Azure IoT framework supports the following features through
the device identity store:
Device identity authority. The device identity store is the authority for all device
identity information. It also stores and allows for validation of cryptographic secrets
for the purposes of device client authentication. The identity store typically does not
provide any indexing or search facility beyond direct lookup by the device identifier;
that functional role is taken on by another store that keeps the application specific
domain model. These stores are primarily separated for security reasons; lookups on
devices should not allow disclosing cryptographic material.
Provisioning. Device provisioning uses the identity store to create identities for new
devices in the scope of the system or to remove devices from the system. Devices can
also be enabled or disabled. When they are disabled, they cannot connect to the
system, but all access rules, keys, and metadata stay in place. A solution’s
provisioning workflow takes care of processing individual and bulk requests for
registering new devices and updating or removing existing devices. It will also handle
the activation, and potentially the temporary access suspension and eventual access
resumption.The provisioning workflow ensures, that the device is registered with all
backend systems that need to know about its identity and additional metadata
attributes as needed.[^2]
[^2]: See the Azure reference architecture document for more details on this.
These features help ensure that device identity is securely managed and that onboarding or
suspending a device from the solution can be managed centrally which can help ensure that
only secure devices are included in the ecosystem when a threat has been detected.
Device security is a logical first step as you consider how to secure your IoT solution. Using
a centrally managed framework like the Azure IoT hub can help make the complicated task
of device deployment and management simpler.
Connection Security
In this topic, you'll learn:
Durability of messaging is an important feature of any IoT solution. The need to durably
deliver commands and/or receive data from devices is underlined by the fact that IoT devices
are connected over the Internet, or other similar networks that can be unreliable.
Referring again to the Intel IoT Reference Architecture, the document describes connection
security (their term is “network level” security), as an IoT solution's ability to:
Ensure secure application, traffic, and data security in transit through every type of wired and
wireless network connection.
The Microsoft reference architecture adopts the following principles of Clement Vasters's
Service Assisted Communication model:
Devices do not accept unsolicited network connections. All connections and routes
are established in an outbound-only fashion.
Devices generally only connect to or establish routes to well-known service gateways
that they are peered with. In case they need to feed information to or receive
commands from a multitude of services, devices are peered with a gateway that takes
care of routing information downstream and ensures that commands are only accepted
from authorized parties before routing them to the device.
The communication path between device and service or device and gateway is
secured at the transport and application protocol layers, mutually authenticating the
device to the service or gateway and vice versa. Device applications do not trust the
link-layer network.
System-level authorization and authentication should be based on per-device
identities, and access credentials and permissions should be near-instantly revocable
in case of device abuse.
Bidirectional communication for devices that are connected sporadically due to power
or connectivity concerns may be facilitated through holding commands and
notifications to the devices until they connect to pick those up.
Application payload data may be separately secured for protected transit through
gateways to a particular service.
Even telemetry from a simple sensor that reports a room’s temperature every five minutes
should not be left unsecured. If any control system reacts to this input, or draws any other
conclusions from it, the device and the communication paths from and to it must be
trustworthy.
Unless a device can support the following key cryptographic capabilities, its use should be
constrained to local networks and all inter-network communication should be facilitated
through a field gateway:
Data encryption with a provably secure, publicly analyzed, and broadly implemented
symmetric-key encryption algorithm, such as AES with at least 128-bit key length.
Digital signature with a provably secure, publicly analyzed, and broadly implemented
symmetric-key signature algorithm, such as SHA-2 with at least 128-bit key length.
Support for either TLS 1.2 for TCP or other stream-based communication paths or
DTLS 1.2 for datagram-based communication paths.
Updateable key-store and per-device keys. Each device must have unique key
material or tokens that identify it toward the system. The devices should be able to
store the key securely on the device (for example, using a secure key-store). The
device should be able to update the keys or tokens periodically, or reactively in
emergency situations in case of system breach. Key update might occur over the air or
through some other means, but updateability is required.
The firmware and application software on the device must allow for updates to enable
the repair of discovered security vulnerabilities.
Legacy Devices. If (legacy) devices must use insecure or nonstandard and proprietary
communication paths into the cloud system, they should be connected through a separately
hosted custom protocol gateway or a local field gateway.[^1]
[^1]: For more information on how the Azure IoT framework can enable secure
communication, see the Azure IoT Reference Architecture.
Azure IoT Hub offers durability of messaging between cloud and devices through a system of
acknowledgments in response to messages. Additional durability for messaging is achieved
by caching messages in the IoT Hub for up to seven days for telemetry and two days for
commands.
Scalability requires the ability to securely interoperate with a wide range of devices. Azure
IoT hub enables secure connection to both IP-enabled and non-IP-enabled devices. IP-
enabled devices are able to directly connect and communicate with the IoT Hub over a secure
connection. Non-IP-enabled devices are resource-constrained and connect only over short
distance communication protocols, such as Zwave, ZigBee, and Bluetooth. A field gateway is
used to aggregate these devices and performs protocol translation to enable secure bi-
directional communication with the cloud.
The communication path between devices and Azure IoT Hub, or between gateways
and Azure IoT Hub, is secured using industry-standard Transport Layer Security
(TLS) with Azure IoT Hub authenticated using X.509 protocol.
In order to protect devices from unsolicited inbound connections, Azure IoT Hub does
not open any connection to the device. The device initiates all connections.
Azure IoT Hub durably stores messages for devices and waits for the device to
connect. These commands are stored for two days, enabling devices connecting
sporadically, due to power or connectivity concerns, to receive these commands.
Azure IoT Hub maintains a per-device queue for each device.
https://docs.microsoft.com/en-us/azure/iot-fundamentals/iot-security-ground-up
Cloud Security
In this topic, you'll learn:
Cloud security involves secure storage and processing of information as well as device
management.
Once again, Intel in their IoT Reference Architecture includes this component in their model.
The “cloud level” of an IoT is secure according to Intel when it can:
Deliver the necessary trust for data centers and multi-tenant public cloud environments to
unleash powerful IoT services and analytics while protecting data and ensuring privacy.
The previous two topics address some of the cloud services that can be used to secure an IoT
system. In what follows, we'll look at other cloud services that can be used to secure an IoT
architecture.
Using Azure Active Directory (AAD) for user authentication and authorization provides a
policy-based authorization model for data in the cloud, enabling easy access management that
can be audited and reviewed. This model also enables near-instant revocation of access to
data in the cloud, and of devices connected to the Azure IoT solution accelerators.
Once data is in the cloud, it can be processed and stored in any user-defined workflow.
Access to each part of the data is controlled with Azure Active Directory, depending on the
storage service used.
All keys used by the IoT infrastructure are stored in the cloud in secure storage, with the
ability to roll over in case keys need to be re-provisioned. Data can be stored in Azure
Cosmos DB or in SQL databases, enabling definition of the level of security desired.
Additionally, Azure provides a way to monitor and audit all access to your data to alert you
of any intrusion or unauthorized access.
Virtual private network (VPN) technology allows for integrating and isolating a network,
creating a single address space functionally equivalent to a local network, while in reality
spanning multiple underlying networks. It provides mechanisms to securely join and
participate in an isolated network but does not secure the traffic inside the network. Without
further components like per-endpoint firewalls, it intentionally does not limit how the
participants of the virtual network can communicate with each other. In scenarios where
devices participating in a VPN are in physical control of users or potentially unknown
intruders, the virtual network environment must be considered as hostile as the Internet
environment.
The Cloud Gateway (e.g. Azure IoT Hub service) provides a cloud hub for secure
connectivity, telemetry and event ingestion and device management (including command and
control) capabilities. The IoT Hub offers built-in secure connectivity, telemetry and event
ingestion, and bi-directional communication with devices including device management with
command and control capabilities. In addition, the IoT Hub offers an entity store that can be
used to store device metadata.
Cloud gateway is a system that enables remote communication from and to devices or field
gateways from several different sites across public network space, typically towards a cloud-
based control and data analysis system, a federation of such systems. In some cases, a cloud
gateway may immediately facilitate access to special-purpose devices from terminals such as
tablets or phones. In the context discussed here, “cloud” is meant to refer to a dedicated data
processing system that is not bound to the same site as the attached devices or field gateways.
Also in a Cloud Zone, operational measures prevent targeted physical access and are not
necessarily exposed to a “public cloud” infrastructure.
A cloud gateway may potentially be mapped into a network virtualization overlay to insulate
the cloud gateway and all of its attached devices or field gateways from any other network
traffic. The cloud gateway itself is not a device control system or a processing or storage
facility for device data; those facilities interface with the cloud gateway. The cloud gateway
zone includes the cloud gateway itself along with all field gateways and devices directly or
indirectly attached to it. The edge of the zone is a distinct surface area where all external
parties communicate through.
Services
In modern IoT solutions, most services used for an IoT solution are run from the cloud
though some services can be run from a field gateway[^1] or even on devices itself.
A “service” is defined for this context as any software component or module that is
interfacing with devices through a for data collection and analysis, as well as for command
and control. Services are mediators. They act under their identity towards gateways and other
subsystems, store and analyze data, autonomously issue commands to devices based on data
insights or schedules and expose information and control capabilities to authorized end users.
As we've been discussing in this module, any service used in an IoT solution should be fully
secure and risks should be considered in any threat model. Modern cloud services like Azure
are built with security in mind but architects still need to evaluate how data flows through any
service. Data is the responsibility of the data owner and not of the service itself.
This security-in-depth strategy can be developed and executed with active participation of
various players involved with the manufacturing, development, and deployment of IoT
devices and infrastructure. Following is a high-level description of these players.
See Microsoft's document on IoT best practices for more detail on each of these.
Areas of Focus
In this module, we've categorized security considerations into three main areas: devices,
communication, and cloud services. The IEEE focuses their “best practices” guidance on two
areas: securing devices and securing networks. As a standards body, this makes sense since
they wouldn't focus on specific technologies but on high-level categories. Much of the
guidance here amplifies what we've already seen in this module but we'll briefly cover some
of the salient points here for easy reference and to provide a wrap up summary for the
module.
Securing Devices
This guidance focuses on the ensuring the physical device is secure. Since devices
exist in the public domain and can be vulnerable to manipulation, protecting the
device is critical for ensuring a safe IoT deployment. Specifically the IEEE
recommends (as examples):
o Use tamper-resistant packaging when transporting devices (to ensure the
device is not manipulated during transit)
o Using small plastic containers with a lock to keep ports and apertures from
casual manipulation
o Using port locks (a small device that keeps the physical network port on a
device from being manipulated)
o Setting the device so it automatically is disabled if certain types of tampering
occurs
o Using strong boot-level passwords on the device itself or requiring the device
to boot from local storage
o Close unused TCP/UDP and serial ports
o Disabling open password prompts
2. Provide for firmware updates/patches
As the title implies, IoT architects must ensure that devices are easily patchable and
updatable when vulnerabilities are found. This becomes more challenging when you
consider that hardware vendors may have little incentive (legal and financial) to keep
devices up to date. It is up to the IoT architect to ensure that solid relationships exist
with device manufacturers and agreements (preferably written) are in place to keep
devices updated with the latest firmware and that vulnerabilities are patched as soon
as possible after one is discovered.
This is an item that may be an after-thought to IoT architects but the reality is that
devices do fail and most have an end-of-life date when it becomes unfeasible to
update, repair, or maintain the device. Ensuring that the device contains no on-board
data, passwords, or other information that could compromise security when the device
is discarded is an important part of an overall security plan.
Securing Networks
While it may seem obvious, ensuring network resources don't use simple passwords,
duplicate credentials, or include “back doors” are fundamentals of a secure system.
According to the IEEE,
Each device should have a unique default username/password, perhaps printed on its
casing, and preferably resettable by the user. Passwords should be sophisticated
enough to resist educated guessing and so-called brute force methods.
There is no substitute for using encrypted communication over secure protocols when
building an IoT solution. As with device patching, the ability of a device or network
to use encryption and communicate over a particular protocol may be a function of the
device or network itself so architects have to ensure, up front, that the components
they're working with will support the type of security they desire. Committing to a
particular device family or cloud solution and learning after commitments have been
made that the component doesn't meet the required security level can have monetary
and scheduling consequences.
IEEE's guidance on this area focuses on reducing the attack surface area for denial-of-
service attacks (a subject we touched on in the topic on threat modeling). The
document includes an intimidating future scenario: if 1.1% of 50 billion IoT devices
became compromised in a coordinated attack, they could generate 55 petabytes of
data per second overwhelming the current fastest network interface by a factor of
183,333 to 1. To secure devices against these types of attacks, hard vendors should
include limiters to throttle network transmissions to the task at hand. They conclude,
Additional kernel-level controls within devices that notice and attenuate large
amounts of uploaded traffic or stop other unexpected behavior could further
reduce the destructive capabilities of compromised devices without requiring
heroic efforts by network defenders. Thus, we recommend serious
consideration of the performance requirements of each device and that modest
limitations be emplaced that are difficult to circumvent. This will greatly
increase the safety of IoT devices and make it possible to safely field many
more of them in the future.
We've seen this guidance repeated often in other material. By using network “zones”,
architects can provide more localized firewalls, security gates, and secure interfaces to
ensure attacks can be stopped before compromising an entire system. While
segmentation can make management more complex, it can reduce the attack surface
area by restricting access to other segments of the system if a single segment becomes
compromised.The Azure IoT framework provides tools for working with network
segments making management easier for engineers.
Conclusion
These are just some recommendations for securing an IoT solution. Based on threat
modeling, architects should design a security plan that fits the needs of their solution.
Security should be a primary consideration when developing an IoT solution. Thankfully, IoT
services offer like those offered through Azure are build with security as a “first-class
citizen” making building secure systems easier. Even so, security is always the responsibility
of the engineers that build the system so making it an integral part of the design from day one
can help mitigate problems later in development and deployment.
----------------------------------------------------------------------------------------------------------------
IoT Hardware
In this topic, you'll learn:
When thinking about building an IoT solution, perhaps the first area of consideration is what
hardware you will need. This partly is driven by the fact that data is the main driver behind
implementing many IoT solutions so figuring out what data you want to collect and how you
want to collect it has a primary place in your architecture.
The hardware implemented in an IoT solution often includes a network infrastructure that is
used to connect devices. Still, some devices could be stand-alone. How would this work? A
sensor, for example, could collect temperature data or collect data about how a bridge is
being stressed but not deliver those data immediately to a network database. A technician
could come by on a regular schedule, collect the data from the device using an internet-
connected tool which then delivers the data to the database.[^1]
[^1]: Though some argue that when a device no longer is able to connect to the internet, the
“Internet” part of IoT no longer applies so the device shouldn't be considered an IoT device.
Other hardware involved in a broad IoT solution don't collect data at all but broker
communication with other hardware and cloud services. In the following, we'll look at
various types of hardware used in IoT solutions and talk about the role they might play.
IP-enabled Devices
An IP-enabled device is, simply, a device that can establish a a connection to a network (for
many IoT devices, this means the internet) and have a unique identity on that network. “IP”
stands for "internet protocol" and defines the way messages are delivered over a network. A
message in networking terms is just a packet of information and single packet could deliver
part of a text message or a video file. Most data that is transferred over the internet uses this
communication protocol.
Examples
In terms of IoT, an IP-enabled device is one that can connect directly to a network like the
internet and transmit or receive data. Examples we commonly think of are the home
automation devices like doorbells and thermostats that use an internet connection to
communicate with a central server. But industrial-grade IoT devices can be IP-enabled as
well. IP-enabled devices require special hardware to enable this functionality.
Usage
As you might expect, people deploy IP-enabled devices in scenarios where data needs to be
collected, delivered, and analyzed in real-time or near real-time. IP-enabled devices enable
live connections to the other networked devices or services so data can be transmitted without
interaction from a technician.
Data collection isn't the only reason to use an IP-enabled device. If transmitted data over the
internet is particularly risky, your device may not have “outbound” ability enabled but the
device still can receive messages (inbound) from the network so its firmware or software can
be updated. Or it may have the ability only to send status messages but not any data it has
collected.
While it's possible that a device may have only outbound communication abilities over IP, it's
not typical since when delivering messages, it is important that the device knows if the
receiving node has an error or if messages did not transmit for some reason. So some inbound
communication typically is needed.
Examples
For example, when setting up an internet connected lock, you may need first to connect the
lock to your phone using Bluetooth in order to set up a relationship with a cloud service.
While this is a temporary situation, you can imagine a scenario where the device can only
connect to a local device using Bluetooth and the secondary device brokers all the
communication with the cloud service.
Usage
Devices of this type can be useful in scenarios where data from a number of devices needs to
be aggregated, cleaned-up, and possibly even analyzed before being sent to a cloud service.
Since IP-enabled devices typically take more resources, low-powered or resource- (or space-)
constrained devices can use protocols with lower resource consumption requirements that
transmit to a device that doesn't have these constraints.
Sensors
We can break this category into two subcategories: sensors and smart sensors.
The IEEE, in their definition paper on IoT, writes this about sensors:
Sensors are one of the key building blocks of IoT. As ubiquitous systems, they can be
deployed everywhere – from military battlefields to vineyards and redwoods and on the
Golden Gate Bridge. They can also be implanted under human skin, in a purse or on a t-shirt.
Some can be as small as four millimeters in size, but the data they collect can be received
hundreds of miles away. They complement human senses and have become indispensable in
a large number of industries, from health care to construction. Sensors have a key advantage
in that they can anticipate human needs based on information collected about their context.
Their intelligence, “multiplied” by numerous networks, allows them not only to report about
the external environment, but also to take action without human intervention.
Within an intelligent networked system, sensors perform the functions of input devices – they
serve as “eyes,” collecting information about their environment.
We can define a sensor, then, as a device that collects a specific type of data about the
physical environment. As IoT as a technology grows, the list of available sensors most likely
will grow with it. There also are communities that will help you build your own sensors if the
one you need doesn't exist.
A smart sensor according to the website IoT Agenda is “a device that takes input from the
physical environment and uses built-in compute resources to perform predefined functions
upon detection of specific input and then process data before passing it on.” That is, the
device itself processes the data to some degree before sending it to the next node in the IoT
architecture.
Sensors of both types can be embedded on other devices which manages communication with
a network or stand alone and handle all the necessary functions needed to collect and
communicate data.
Examples
Sensors that can collect data on a wide variety of things actively are being developed. Intel
has compiled a list of some sensors currently available. Examples include:
Temperature
Humidity
Energy
Compass
Pressure
Sonar
Light and UV
Usage
As should be clear from the above, sensors are used whenever a discrete bit of information
needs to be collected about something in the physical environment.
A field gateway is different from a mere traffic router in that it has an active role in managing
access and information flow. It is an application-addressed entity and network connection or
session terminal. For example, gateways in this context may assist in device provisioning,
data filtering, batching and aggregation, buffering of data, protocol translation, and event
rules processing. NAT devices or firewalls, in contrast, do not qualify as field gateways since
they are not explicit connection or session terminals, but rather route (or deny) connections or
sessions made through them.
Like any piece of complex hardware, IoT devices need an operating system in order to be
useful. But because IoT devices tend to be small and resource-constrained, operating systems
will vary in functionality, memory footprint, and feature set. Devices also need to be
programmed–given the instructions they need to do the tasks that engineers need them to do.
There are many vendors developing operating systems and programming tools and the choice
you make for any given solution will be the product of a number of factors including:
Of course, your solution may involve devices with a variety of operating systems and
development environments. But the more you add to your solution, the more complex
development and maintenance becomes so it pays to be mindful of the software choices you
make and the implications of each one during the architectural phase of the project.
Device Operating Systems
As we mentioned above, there are a lot of options for device operating systems. In this
section, we'll survey a few of the more popular onces to get a sense of the features and
options available on them.
OS Type Description
Windows IoT Core is a version of Windows 10 that is
Windows IoT Core Managed optimized for smaller devices with or without a display
that run on both ARM and x86/x64 devices.
"Ubuntu Core uses the same kernel, libraries and system
software as classic Ubuntu. You can develop snaps on your
Ubuntu Core Open Source
Ubuntu PC just like any other application. The difference
is that it’s been built for the Internet of Things."
“RIOT supports most low-power IoT devices and
microcontroller architectures (32-bit, 16-bit, 8-bit). RIOT
Riot Open Source aims to implement all relevant open standards supporting
an Internet of Things that is connected, secure, durable &
privacy-friendly.”
And there are many others. Which OS you choose will largely depend on what you need to
accomplish, your architectural design, development tools and developer resources and similar
considerations. Most vendors and organizations (even if they're not open source) provide free
“trial” options so you can spend some time with the software and tools as you work through
the options. Be sure to look at development tools as well as being able to write software for
your devices should be as much of a consideration as the operating system itself. Let's look at
the development environments next.
Programming Languages
When it comes to programming devices, the operating system running on the device may
determine what languages can be used to program it. Many modern hardware devices can
support multiple languages and board engineers may develop specific flavors of hardware to
support various languages. Microsoft's IoT core, for example, supports most languages that
Windows develop in general supports including C#, C++, and JavaScript. Ubuntu Core, on
the other hand, supports Python, Ruby, and Node.js.
This makes choosing a programming platform complex and attempting to even outline the
matrix of options here would not present an adequate picture. Instead, we can suggest how to
approach the decision-making process when it comes to a programming platform. These
suggestions build upon the strategies we've been seeing throughout this course so some items
will be familiar and other items will be new.
1. Determine what data you want to collect. As we've seen throughout the course,
your IoT architecture generally will begin by figuring out what problems you're
solving and this, most times, will be characterized in terms of the data you want to
collect. This relates to programming languages because the data you want to collect
will impact the devices you choose and the programming language(s) you choose will
have to work with the device infrastructure you deploy.
2. Think about your development team. When considering the programming
languages you want to use in your solution, you will need to consider whether you
want to use talent you already have at your disposal, bring on new resources, or use a
blend of both. If your current software development team knows C# but doesn't know
Python, choosing a platform that supports C# as a programming language will most
likely enable you to get to market quicker than having either to train existing talent in
another language or bring on new talent that knows an alternate language.
3. Think about your broader software environment. Similar to item 2 above, when
you think about what software platform you want to use, it can be helpful to think
about the development environment across your business group or enterprise. By
using a language that already is deployed in other areas of your business can make
tasks like resource balancing, code sharing, source control, hiring, and similar factors
more efficient.
4. Choose a device or devices platform. Once you've figured out what data you want to
collect and have thought about your larger ecosystem, you'll be better informed when
it comes to choosing a device platform. As we've said in other lessons, you may need
more than one device platform so choosing platforms that are the most compatible
with items 1-4 above will give you a more efficient overall environment in which to
develop your solution.
These are not the only factors to consider of course. Items like cost can have a big impact on
choices but sometimes using a device platform that is slightly higher in cost per item can pay
off in the long run if the platform supports a language platform that will mean more
efficiency in the long run.
What about the cloud? It may go without saying we'll say it: an essential component of the
software platform when making a platform decision is the cloud services you'll use to support
your software and hardware. We'll talk a bit more about this in the next topic but we think it's
important to call out here as an essential aspect of the decision-making process.
There are many IoT SDKs you can review and we'll survey a couple here.
Microsoft provides a number of IoT SDKs that range across a variety of languages and
devices and are designed to provide the software and services needed to accelerate your
solution development. The company breaks down their SDKs into three categories:
Device SDKs enable you to build apps that run on your IoT devices using device
client or module client. These apps send telemetry to your IoT hub, and optionally
receive messages, job, method, or twin updates from your IoT hub. You can also use
module client to author modules for Azure IoT Edge runtime. The device SDK comes
in the following platform flavors: .NET, C, Java, Node.js, Python, and iOS
Service SDKs enable you to manage your IoT hub, and optionally send messages,
schedule jobs, invoke direct methods, or send desired property updates to your IoT
devices or modules.
Device Provisioning SDKs enable you to provision devices to your IoT Hub using
the Device Provisioning Service.
Amazon's IoT device SDKs cover a variety of platforms and languages including, Embedded
C, JavaScript, Arduino Yun, Python, Java, C++, and iOS.
The SDK provides developers with the ability to work with Amazon's “Thing Shadows”
which are virtual versions of physical devices, as well as interacting with the MQTT
messaging protocol which is used by AWS services. Similar to Microsoft's offering, each of
the various SDKs implement specific features not necessarily shared by other SDKs in the
same family. As with all SDKs, architects and developers should examine the SDK they're
interested in to ensure it supports the features they'll need for their solution.
There are other SDKs available and, many times, hardware vendors will provide their own
SDKs to make development on their platform easier. Once you've chosen a hardware and
software platform, investigate the SDKs available for those platforms. You may want to use
the availability of an SDK as a part of the decision-making process when evaluating hardware
and software platforms.
As we noted in the last topic, the cloud services you choose is an essential part of your
overall solution. In fact, the cloud services used in your solution constitutes the ‘I’ in IoT.
There are options from many of the larger companies participating in this space as well as
offerings from startups and medium-sized businesses. You can explore the individual
offerings on your own. In this topic, we'll look at categories of services these companies offer
to give you an idea of how cloud services fit into an overall IoT architecture.
Cloud Gateways
In an earlier topic in this lesson, we looked at, briefly, the concept of a field gateway–a piece
of hardware that brokers communication between IoT devices and cloud services. Cloud
gateways do more than broker communication. They provide a set of services that devices
can run either locally or in the cloud. Cloud gateways can provide workloads such as (among
others):
Cloud service providers are continually updating their data services to make it easier and
more cost-effective for organizations to store, manage,and analyze data. Even so, a thorough
analysis of cloud storage technical options and prices should be a fundamental part of any
IoT architecture. For example, some architectures may demand a multi-tiered approach with
some data being stored on the device, other stored in on-premise databases and other data
stored in the cloud. Depending on the needed architecture, you should be sure the cloud
services you choose supports your needs.
Here are some other concepts to be aware of when considering cloud storage.
Data is often time series data and is required to be stored where it can be used in visualization
and reporting as well as later accessed for additional processing. It is common to have data
split into “warm” and “cold” data stores. The warm data store holds recent data that needs
to be accessed with low latency. Data stored in cold storage is typically historical data. Most
often the cold storage database solution chosen will be cheaper in cost but offer fewer query
and reporting features than the warm database solution.
A common implementation for storage is to keep a recent range (e.g. the last day, week, or
month) of telemetry data in warm storage and to store historical data in cold storage. With
this implementation, the application has access to the most recent data and can quickly
observe recent telemetry data and trends. Retrieving historical information for devices can be
accomplished using cold storage, generally with higher latency than if the data were in warm
storage.
Cloud service providers may provide services to support both types of storage and make
managing data across these types easier.[^1]
[^1]: You can read more about warm and cold storage different technologies Microsoft Azure
provides for managing these storage options in section 3.5 of the Azure Reference
Architecure document.
Once data is captured and stored, it only becomes useful when it provides insights into the
physical world from which your IoT devices have captured the data. This is where analytic
services come into play.
Azure Analysis Services, for example, enable architects to use advanced mashup and
modeling features to combine data from multiple data sources, define metrics, and secure
data in a single, trusted tabular semantic data model. The data model provides an easier and
faster way for users to browse massive amounts of data for ad-hoc data analysis.
Without analytics, data collected from IoT would be too voluminous and unstructured to
visualize or gain insights. Analytic services enable architects to build meaningful
relationships between sets of data in order to make it easier to manage. For example, Azure
Stream Analytics can take stream data from IoT devices and engineers can specify a
transformation query that defines how to look for data, patterns, or relationships. The
transformation query leverages a SQL-like query language that is used to filter, sort,
aggregate, and join streaming data over a period of time.
Data Visualization
Stream analytics can help condition data so its easier to manage and provides models that
give insight into what you need to understand or learn. Once the data is conditioned and
you've created the right models, the data can be visualized using tools like Microsoft's
PowerBI or Tableau so it can be acted upon.
Data visualization tools can take input from various data streams and combine them into
“dashboards” that can be used to tell a story about the data that was collected. Ultimately, this
is the goal of IoT.
Machine Learning
Machine Learning (ML) is one of the more exiting developments in modern computer
science. It's a complex field but one that is producing significant positive results with large
datasets. As we've said throughout this course, IoT devices produces large large volumes of
data. Analytic systems help engineers to model the existing data in meaningful ways.
Machine learning takes this a step further and can actually make predictions about what new
data will show and provide insights that would not be possible without the machine learning
algorithms.
As the name states, the technology gives computers the ability to “learn” (predict) from data
by expressing trends or a direction future data will take. This can provide engineers with a
powerful mechanism for enabling a wide variety of scenarios.
Using big data and machine learning to predict purchasing decisions is one simple example.
Suppose a retailer has warehouse space in various cities and needs to determine which items
to stock in those cities in order to be able to get products to customers in the most efficient
and timely way. Using machine learning the retailer can predict, for example, that a given set
of users that purchase a specific television tend to buy a particular type of cable and other
accessories like tv stands and audio equipment. This would allow the retailer to keep those
items in the warehouse near where those television sales are popular so that if a customer
orders the cable or other accessory, the item can be shipped more and get to the customer
more quickly.
Can you think of other, IoT-specific scenarios where machine learning would be help enable
various scenarios that can make the IoT architecture more effective?
Because of the tremendous amount of computer power needed to perform the calculations
needed to do this type of analysis, cloud-based ML technology tends to be the most effective
at providing the type of insights machine learning promises.
Conclusion
In this topic, we've surveyed the various cloud-based services and technologies that make IoT
possible. Below, you can try your hand at using the Azure cloud to model IoT scenarios.
While these exercises are just an introduction to the space, they can give you a good feel for
how the technology works together and how it can be used in an IoT architecture.
Using Azure IoT Solution Accelerators to get started with your IoT implementation
Device and cloud implementations focusing on Azure IoT Hub
Messaging in IoT Hub
How to configure devices using IoT Hub
Data Analytics services in Azure
Using business intelligence and machine learning services in Azure to enhance
reporting for your IoT solution
While this material will be introductory, you can explore these concepts more deeply in other
courses in this series. These topics will give you a good overview of how these services work
and what options are available to you using Microsoft's robust and growing IoT platform.
[^1]: A pattern in software and hardware design is a model or template for a way to build a
software architecture or hardware component in part or in whole. A pattern can describe a
specific way to do something or can be as general as a best practice. Take software security
as an example. A pattern can describe all the component pieces of a secure system like the
type of hardware that should be in place, the protocols that should be used to send and receive
data. This would be an implementation-specific example of a pattern. A pattern also can
describe best practices like a software design should include security considerations as core
part of the software architecture. See this Wikipedia Article for more information.
[^1]: Note: In order to use the solution accelerators, you will need to have or sign up for an
Azure account and deploying an accelerator will incur charges on Azure.
These accelerators have been developed my Microsoft and are built on Azure IoT services.
As of this writing, the following Solution Accelerators are available:
1. Remote Monitoring: Use this solution accelerator to collect telemetry from multiple
remote devices and to control them. Example devices include cooling systems
installed on your customers' premises or valves installed in remote pump stations.
2. Connected Factory: Use this solution accelerator to collect telemetry from industrial
assets with an OPC Unified Architecture (a standards-based, service-oriented
framework) interface and to control them. Industrial assets might include assembly
and test stations on a factory production line.
3. Predictive Maintenance: Use this solution accelerator to predict when a remote
device is expected to fail so you can carry out maintenance before the predicted
failure happens. This solution accelerator uses machine learning algorithms to predict
failures from device telemetry. Example devices might be airplane engines or
elevators.
4. Device Simulation: Use this solution accelerator to run multiple simulated devices
that generate realistic telemetry. You can use this solution accelerator to test the
behavior of the other solution accelerators or to test your own custom IoT solutions.
Each of these accelerators conform to Microsoft's reference architecture (the document we've
been looking at throughout this course) so you know at least the basics of your solution starts
out the way Microsoft recommends.
This model is used in software development. For example, those familiar with Angular
development may have used the Angular CLI (command line interface) command 'ng new'.
This command will install all the files necessary needed to build an Angular application and
can scaffold the application creating a basic Angular app. By using ‘ng new’, developers can
avoid having to figure out which parts of the framework they need to install individually and
get a basic app they can build on for their own solution. IoT Solution Accelerators work in a
similar way for IoT development.
For example, the Remote Monitoring solution accelerator will provision the following
services in Azure:
1 Azure Active Directory application 1 Virtual Machine 1 IoT Hub 1 Cosmos DB Account 1
Storage account 1 Web Application 1 Azure Maps account 1 Azure Stream Analytics 1 Azure
Device Provisioning Service 1 Azure Time Series Insights
These service will provide you with all the basics you will need to to explore a remote
monitoring solution. You can use this basic deployment as a basis for your own solution and
the accelerator helps you get started by taking the guess work out of what you'll need. Of
course you need to first understand how to use all these services and understand how to put
together an architecture for your IoT solution. You can learn more about each of the
architectural areas the four accelerators cover in other courses in this series.
1. They are not a single solution but isolated scenarios designed to provide a primer for a
specific aspect of what could become a solution. Connecting the individual solutions
together to create an overall solution would require development work.
2. The accelerators are not comprehensive. That is, even if you deployed all the
available accelerators, you still would not have everything you'd need for a complete
IoT solution.
3. As the name of the last accelerator in the list indicates, devices are simulated in these
accelerators so you would need to do the work of provisioning physical devices and
managing them on your own. The accelerators do, however, give you the framework
for working with physical devices and the simulated hardware is a good start for
learning how to work with IoT devices.
Despite these limitations, Solution Accelerators are a great way to get started with IoT and
can be a good solution to jump start your own development. they can also be used to develop
cost models and proof-of-concept projects as you work through your own architectural
models.
We encourage you to experiment with the accelerators as you work through the other courses
in this series.
Azure IoT Hub provides the features that, along with an extensibility model, enable device
and back-end developers to build robust device management solutions. Regardless of what
cloud solution you choose, a solution must accommodate devices that range from constrained
sensors and single purpose micro-controllers, to powerful gateways that route
communications for groups of devices. In addition, the use cases and requirements for IoT
operators vary significantly across industries. In this topic we explore how device
management with IoT Hub provides the capabilities, patterns, and code libraries to cater to a
diverse set of devices and end users.
Context awareness: Device management operations must take into account various states a
device can be in to ensure that maintenance downtime doesn't affect critical business
operations or create dangerous conditions.
Service many roles: Operators must work within the constraints of internal IT department
workflows and processes, and they must surface real-time device operations information to
supervisors and other business roles.
Plan: Enable operators to create a device metadata scheme (a way of categorizing and
organizing data across devices) that enables them to easily and accurately query for and target
a group of devices for bulk management operations. You can use the device twin to store this
device metadata in the form of tags and properties. We will look more closely at how device
twins can be used for this purpose in an upcoming topic later in this lesson.
Provision: Securely provision new devices to IoT Hub and enable operators to immediately
discover device capabilities. Use the IoT Hub identity registry to create flexible device
identities and credentials and perform this operation in bulk by using a job. Build devices to
report their capabilities and conditions through device properties in the device twin.
Configure: Facilitate bulk configuration changes and firmware updates to devices while
maintaining both their health and security. Azure IoT Hub enables you to perform these
device management operations in bulk by using desired properties or with direct methods and
broadcast jobs.
Monitor: Monitor overall device collection health, the status of ongoing operations, and alert
operators to issues that might require their attention. Apply the device twin to allow devices
to report real-time operating conditions and status of update operations. Build powerful
dashboard reports that surface the most immediate issues by using device twin queries.
Retire: Replace or decommission devices after a failure, upgrade cycle, or at the end of the
service lifetime. Use the device twin to maintain device info if the physical device is being
replaced, or archived if being retired. Use the IoT Hub identity registry for securely revoking
device identities and credentials.
For more information on these ideas, see Microsoft's device management overview
documentation.
An Implementation Example
Microsoft's Transform blog describes a specific implementation of devices and Azure cloud
services along with HoloLens technology that has enabled elevator manufacturer
thyssenkrupp to monitor the health of elevators they've deployed and use HoloLens to
empower engineers to better service those elevators without having to be on site. While the
article focuses on the solution thyssenkrupp and Microsoft developed together, consider the
implementation details needed to manage the IoT deployment described in the article. Use the
material in the sections above to consider how you might use those services to manage the
deployment and keep the solution running.
In the solution, Microsoft and thyssenkrupp developed a solution, “that securely connects
thyssenkrupp’s thousands of sensors and systems in its elevators to the cloud. With the
Microsoft Azure IoT Suite, thyssenkrupp captures elevator data – such as motor temperature,
shaft alignment, cab speed and door functioning – and transmits it to a single dashboard.”
The implementation enables the company to monitor the health of the elevators and, using
HoloLens allow technicians to remotely troubleshoot and plan for site visits by better
understanding the problem before a truck is deployed. This reduces the on-site time needed to
make repairs and helped them ensure that the right parts are taken to the site reducing the
need for second visits.
While the solution focuses on how IoT helps the company manage their elevators, as an IoT
architect, you would need to be responsible for the IoT devices themselves. Each of the
sensors deployed to the field needs to be monitored, updated, and configured and your IoT
solution would need to account for these activities. This is where Azure IoT hub helps. Any
complex deployment would have the same requirements.
By using the services we describe above, device configuration information (for multiple
devices) can be stored in the device twin, queried for information and updated using jobs or
direct method calls. We'll explore how these services work in an upcoming topic later in this
lesson.
If you're not sure how to answer these questions, work through the rest of the topics in this
lesson to learn more about how IoT Hub works and the services it provides to help with each
of these tasks.
About the benefits of Azure IoT Hub as an IoT cloud service provider
How Azure IoT Hub can help manage device identity
About the Azure IoT Hub messaging and communication services
How Azure IoT Hub keeps your devices connected to the cloud
Azure IoT Hub is a fully managed service that enables secure and reliable bidirectional
communications between the solution back end and a wide variety of devices. In fact, a single
IoT Hub is capable of connecting millions of IoT devices and ingesting high volumes of
telemetry.
Messaging
IoT Hub provides the following messaging primitives to communicate with a device:
See the IoT Hub Messaging resource documentation for a more detailed look at Device-to-
cloud and Cloud-to-device messaging.
Service-Assisted Communication
Azure IoT Hub implements the service-assisted communication pattern to mediate the
interactions between your devices and your solution back end. The goal of service-assisted
communication is to establish trustworthy, bidirectional communication paths between a
control system, such as IoT Hub, and special-purpose devices that are deployed in untrusted
physical space. The pattern establishes the following principles:
Device Connectivity
In addition to a rich set of device-to-cloud and cloud-to-device communication options,
including messaging, file transfers, and request-reply methods, Azure IoT Hub addresses the
device-connectivity challenges in the following ways:
Device twins. Using Device twins, you can store, synchronize, and query device
metadata and state information. Device twins are JSON documents that store device
state information (metadata, configurations, and conditions). IoT Hub creates and
maintains a device twin for each device that you connect to IoT Hub.
Per-device authentication and secure connectivity. You can provision each device
with its own security key to enable it to connect to IoT Hub. The IoT Hub identity
registry stores device identities and keys in a solution. A solution back end can add
individual devices to allow or deny lists to enable complete control over device
access.
Route device-to-cloud messages to Azure services based on declarative rules. IoT
Hub enables you to define message routes based on routing rules to control where
your hub sends device-to-cloud messages. Routing rules do not require you to write
any code, and can take the place of custom post-ingestion message dispatchers.
Monitoring of device connectivity operations. You can receive detailed operation
logs about device identity management operations and device connectivity events.
This monitoring capability enables your IoT solution to identify connectivity issues,
such as devices that try to connect with wrong credentials, send messages too
frequently, or reject all cloud-to-device messages.
An extensive set of device libraries. Azure IoT device SDKs are available and
supported for various languages and platforms–C for many Linux distributions,
Windows, and real-time operating systems. Azure IoT device SDKs also support
managed languages, such as C#, Java, and JavaScript.
IoT protocols and extensibility. If your solution cannot use the device libraries, IoT
Hub exposes a public protocol that enables devices to natively use the MQTT v3.1.1,
HTTP 1.1, or AMQP 1.0 protocols. You can also extend IoT Hub to provide support
for custom protocols by:
o Creating a field gateway with the Azure IoT Gateway SDK that converts your
custom protocol to one of the three protocols understood by IoT Hub.
o Customizing the Azure IoT protocol gateway, an open source component that
runs in the cloud.
Scale. Azure IoT Hub scales to millions of simultaneously connected devices and
millions of events per second.
An Example Implementation
The Microsoft Azure team has put together a demo project you can explore to better
understand how to implement Azure IoT Hub services into your solution. This demo shows
how to use the Azure Service Fabric along with IoT Hub, Event Hubs, OWIN, and Web API.
The application ingest events from the input Event Hub, processes sensor readings and
generates an alert whenever a value outside of the tolerance range is received.
Working with this demo will require an Azure subscription and some technical proficiency
that may be beyond what you're ready for at this point in your coursework. However, it will
be beneficial for you to review the implementation to see what is possible using Azure IoT
Hub. As you move into more advanced topics in the rest of the courses in this series, you can
revisit this demo to test your skills and further lock in the concepts you're learning. You can
also check out a more advanced IoT demo that uses the Observer design pattern to show how
changes in one part of an implementation can be broadcast and inform changes to other parts
of an implementation.
How Azure IoT Hub manages messages going deeper on this topic
How device-to-cloud and cloud-to-device messaging works
How to manage the messaging life cycle using Azure IoT Hub
As we noted in the previous topic, IoT Hub provides the following messaging primitives to
communicate with a device:
Device-to-cloud from a device to a back-end app.
Cloud-to-device from a back-end app (service or cloud).
Core properties of IoT Hub messaging functionality are the reliability and durability of
messages. These properties enable resilience to intermittent connectivity on the device side,
and to load spikes in event processing on the cloud side. IoT Hub implements at least once
delivery guarantees for both device-to-cloud and cloud-to-device messaging.
IoT Hub supports multiple device-facing protocols (such as MQTT, AMQP, and HTTP). To
support seamless interoperability across protocols, IoT Hub defines a common message
format that all device-facing protocols support.
IoT Hub exposes a built-in Event Hub-compatible endpoint to enable back-end apps to read
the device-to-cloud messages received by the hub. You can also create custom endpoints in
your IoT hub by linking other services in your subscription to the hub.
Use device-to-cloud messages for sending time series telemetry and alerts from your device
app, and cloud-to-device messages for one-way notifications to the device app.
Device-To-Cloud
IoT Hub implements device-to-cloud messaging using a streaming messaging pattern. IoT
Hub's device-to-cloud messages are more like Event Hubs events than Service Bus messages
in that there is a high volume of events passing through the service that can be read by
multiple readers.
Like Event Hubs events, device-to-cloud messages are durable and retained in an IoT
hub's default messages/events endpoint for up to seven days.
Like Event Hubs events, device-to-cloud messages can be at most 256 KB, and can be
grouped in batches to optimize sends. Batches can be at most 256 KB.
There are, however, a few important distinctions between IoT Hub device-to-cloud
messaging and Event Hubs:
Message Lifecycle
To guarantee at least once message delivery, IoT Hub persists cloud-to-device messages in
per-device queues. Devices must explicitly acknowledge completion for IoT Hub to remove
them from the queue. This guarantees resiliency against connectivity and device failures.
The following diagram shows the lifecycle state graph for a cloud-to-device message.
CloudToDeviceMessaging
When the service sends a message, it is considered Enqueued. When a device wants to
receive a message, IoT Hub locks the message (sets the state to Invisible) allowing other
threads on the same device to start receiving other messages. When a device thread completes
the processing of a message, it notifies IoT Hub by completing the message.
Reject the message, which causes IoT Hub to set it to the Deadlettered state. Note:
devices connecting with MQTT cannot reject cloud-to-device messages.
Abandon the message, which causes IoT Hub to put the message back in the queue,
with the state set to Enqueued.
A thread could fail to process a message without notifying IoT Hub. In this case, messages
automatically transition from the Invisible state back to the Enqueued state after a visibility
(or lock) timeout. The default value of this timeout is one minute.
A message can transition between the Enqueued and Invisible states for, at most, the number
of times specified in the max delivery count property on IoT Hub. After that number of
transitions, IoT Hub sets the state of the message to Deadlettered. Similarly, IoT Hub sets the
state of a message to Deadlettered after its expiration time (see Time to live).
Remote Operations
In many (perhaps most) IoT solutions, devices are deployed “in the field” which means they
are placed in areas distinct from those where the engineers and operators who need to manage
those devices are located. Because of this, most of the operations that need to be performed
on these devices will need to be done remotely. When a solution includes dozens or hundreds
of devices, monitoring, updating, and managing the configuration of those devices can
present significant operational and logistical challenges. Azure IoT Hub was designed with
this scenario in mind and can make remote device operations much more manageable.
Remote operations that target IoT devices can be divided into three implementation
categories: Direct Methods, Device Twins, and Device Management. Let's look at each of
these in turn.
Direct Methods
IoT Hub gives you ability to run programs on devices from the cloud. Direct methods
represent a request-reply operation with a device similar to an HTTP call in that they succeed
or fail immediately (after a user-specified timeout). This is useful for scenarios where the
course of immediate action is different depending on whether the device was able to respond,
such as sending an SMS wake-up to a device if a device is offline.
Each direct method targets a single device. Jobs provide a way to invoke direct methods on
multiple devices, and schedule operations on disconnected devices.
For example, you may want to update the firmware on a set of devices deployed to turbines in
a wind farm. You can use the Jobs feature to push the update to all devices that are online and
schedule the update for devices that currently are offline (perhaps some turbines go into a
“sleep mode” for a period of time each day to reduce wear) so that the update is pushed the
next time the device comes back online.
Each IoT hub has an identity registry that you can use to create per-device resources in the
service, such as a queue that contains cloud-to-device messages. The identity registry also
enables you to control access to the device-facing endpoints (like a field gateway).
Jobs manage import and export operations like transferring data collected from an IoT device
(or set of devices) or pushing a settings file to the device. These enable you to execute bulk
service operations using the IoT hub.
Identity registry operations use the Job system when the operation:
Device Twins
Device twins are JSON documents that store device state information (metadata,
configurations, and conditions). IoT Hub persists a device twin for each device that you
connect to IoT Hub.
Device and back ends can use to synchronize device conditions and configuration.
The solution back end can use to query and target long-running operations.
The lifecycle of a device twin is linked to the corresponding device identity. Device
twins are created and deleted when a new device identity is created or deleted in IoT
Hub.
Store device-specific metadata in the cloud. For example, the deployment location of
a vending machine is metadata about the physical vending machine.
Report current state information such as available capabilities and conditions from
your device app. For example, whether a device is connected to your IoT hub over
cellular or WiFi.
Synchronize the state of long-running workflows (operations or running programs)
between device app and back-end app. For example, when the solution back end
specifies the new firmware version to install, and the device app reports the various
stages of the update process.
Query your device metadata, configuration, or state.
Reboot - The back-end app informs the device through a direct method that it has initiated a
reboot. The device uses the reported properties to update the reboot status of the device.
Factory Reset - The back-end app informs the device through a direct method that it has
initiated a factory reset. The device uses the reported properties to update the factory reset
status of the device.
Configuration - The back-end app uses the desired properties to configure software running
on the device. The device uses the reported properties to update configuration status of the
device.
Firmware Update - The back-end app informs the device through a direct method that it has
initiated a firmware update. The device initiates a multistep process to download the
firmware image, apply the firmware image, and finally reconnect to the IoT Hub service.
Throughout the multistep process, the device uses the reported properties to update the
progress and status of the device.
Reporting progress and status - The solution back end runs device twin queries, across a set
of devices, to report on the status and progress of actions running on the devices.
Introduction to IoT Data Analytics and Storage
In this topic, you'll learn:
Azure Cosmos DB
Azure Cosmos DB is a multi-model (e.g. document, relational, key-value pair) storage option
that includes a fully managed NoSQL database service that provides rich and familiar SQL
query capabilities with consistent low latencies on JSON data. Cosmos DB is a great fit for
IoT solutions and many other types of applications that need seamless scale and global
replication.
SQL Database
SQL Database is a relational database service in the Microsoft cloud based on the Microsoft
SQL Server engine and capable of handling mission-critical workloads. SQL Database
delivers predictable performance at multiple service levels, dynamic scalability with no
downtime, built-in business continuity, and data protection — all with near-zero
administration. These capabilities allow you to focus on rapid app development and
accelerating your time to market, rather than allocating precious time and resources to
managing virtual machines and infrastructure. Because SQL Database is based on the SQL
Server engine, SQL Database supports existing SQL Server tools, libraries, and APIs.
Azure Storage
Azure storage provides the following services that can be used in your IoT solutions: Blob
storage, Table storage, Queue storage.
Blob Storage stores unstructured object data. A blob can be any type of text or binary data,
such as a document, media file, or application installer. Blob storage is also referred to as
Object storage.
Table Storage stores structured datasets. Table storage is a NoSQL key-attribute data store,
which allows for rapid development and fast access to large quantities of data.
Queue Storage provides reliable messaging for workflow processing and for communication
between components of cloud services.
Azure Data Lake Store is an enterprise-wide hyper-scale repository for big data analytic
workloads. Azure Data Lake enables you to capture data of any size, type, and ingestion
speed in one single place for operational and exploratory analytics.
Azure Data Lake Store provides unlimited storage and is suitable for storing a variety of data
for analytics. It does not impose any limits on account sizes, file sizes, or the amount of data
that can be stored in a data lake. Individual files can range from kilobyte to petabytes in size
making it a great choice to store any type of data. Data is stored durably by making multiple
copies and there is no limit on the duration of time for which the data can be stored in the
data lake.
The Azure portal enables you to create a Stream Analytics job using the same methods that
you would use to add any other service. Once the service is deployed to your resource group,
you are presented with a blade that can be used to specify the input source of the streaming
data, the output sink for the results of your job, and a SQL-like query expression that can be
modified to transform your data. You can monitor and adjust the scale/speed of your job in
the Azure portal to scale from a few kilobytes to a gigabyte or more of events processed per
second. Your Stream Analytics jobs are backed by highly tuned streaming engines for time-
sensitive processing.
Scenarios of real-time streaming analytics can be found across all industries: personalized,
real-time stock-trading analysis and alerts offered by financial services companies; real-time
fraud detection; data and identity protection services; reliable ingestion and analysis of data
generated by sensors and actuators embedded in physical objects (Internet of Things, or IoT);
web clickstream analytics; and customer relationship management (CRM) applications
issuing alerts when customer experience within a time frame is degraded.
Configuring Inputs
The data connection to Stream Analytics is a data stream of events from a data source. This is
called an “input.” Stream Analytics has first-class integration with Azure data stream sources
Event Hub, IoT Hub, and Blob storage that can be from the same or different Azure
subscription as your analytics job.
As data is pushed to a data source, it is consumed by the Stream Analytics job and processed
in real time. Inputs are divided into two distinct types: data stream inputs and reference data
inputs.
Data stream inputs: A data stream is unbounded sequence of events coming over
time. Stream Analytics jobs must include at least one data stream input to be
consumed and transformed by the job. Blob storage, Event Hubs, and IoT Hubs are
supported as data stream input sources. Event Hubs are used to collect event streams
from multiple devices and services, such as social media activity feeds, stock trade
information or data from sensors. IoT Hubs are optimized to collect data from
connected devices in Internet of Things (IoT) scenarios. Blob storage can be used as
an input source for ingesting bulk data as a stream.
Reference data: Stream Analytics supports a second type of input known as reference
data. This is auxiliary data which is either static or slowly changing over time and is
typically used for performing correlation and look-ups. Azure Blob storage is
currently the only supported input source for reference data. Reference data source
blobs are limited to 100MB in size.
Configuring Outputs
When authoring a Stream Analytics job, consider how the resulting data will be consumed.
How will you view the results of the Stream Analytics job and where will you store it?
In order to enable a variety of application patterns, Azure Stream Analytics has different
options for storing output and viewing analysis results. This makes it easy to view job output
and gives you flexibility in the consumption and storage of the job output for data
warehousing and other purposes. Any output configured in the job must exist before the job is
started and events start flowing. For example, if you use Blob storage as an output, the job
will not create a storage account automatically. It needs to be created by the user before the
ASA job is started.
We looked at various storage options above so refer to that content for your options.
Configuring Queries
Queries in Azure Stream Analytics are expressed in a SQL-like query language, which is
documented in the Stream Analytics Query Language Reference guide. Using the Stream
Analytics query language in the in-browser query editor, you get intellisense auto-complete
to help you can quickly and easily implement time series queries, including temporal-based
joins, windowed aggregates, temporal filters, and other common operations such as joins,
aggregates, projections, and filters. In addition, in-browser query testing against a sample
data file enables quick, iterative development.
For an explanation of how to implement Query patterns that support the real-world scenarios
listed below, review Query examples for common Stream Analytics usage patterns
Conclusion
In this topic, we provided an overview of the many data storage options available for your
IoT solution. Each has a specific purpose and you may use one or many of these options
depending on the needs of your architecture. We also covered ways in which you can process
data coming from your devices. Well talk more about how to present the data you've
collected and stored in the next topic.
You can learn more about how to work with data in a course devoted to this topic in this
series. So while this gives you a taste of what is available, you'll need to explore the topic
more deeply in the other course in order to learn how to use these tools and services in your
implementation.
Power BI[^1] is a collection of software services, apps, and connectors that work together to
turn your unrelated sources of data into coherent, visually immersive, and interactive insights.
Whether your data is a simple Excel spreadsheet, or a collection of cloud-based and on-
premises hybrid data warehouses, Power BI lets you connect to your data sources, visualize
(or discover) what’s important, and share that with anyone or everyone you want.
[^1]: While this topic covers PowerBI as a tool for presenting your data in a meaningful way,
be aware that Azure data services can be used with other data analytics tools like Tableau.
Power BI can be simple and fast – capable of creating quick insights from an Excel
spreadsheet or a local database. But Power BI is also robust and enterprise-grade, ready for
extensive modeling and real-time analytics, as well as custom development. So it can be your
personal report and visualization tool, and can also serve as the analytics and decision engine
behind group projects, divisions, or entire corporations.
These three elements – the Desktop, the service, and Mobile – are designed to let people
create, share, and consume business insights in the way that serves them, or their role, most
effectively.
Power BI Workflow
The common flow of activity in Power BI is the following:
When the steps are completed to your satisfaction – connect, shape, and report – you can save
that work in Power BI Desktop file format, which is the .pbix extension. Power BI Desktop
files can be shared like any other file, but the most compelling way to share Power BI
Desktop files is to upload them (share them) on the Power BI service.
Power BI Desktop centralizes, simplifies, and streamlines what can otherwise be a scattered,
disconnected, and arduous process of designing and creating business intelligence
repositories and reports.
----------------------------------------------------------------------------------------------------------------
-
IoT Scenarios for Manufacturing
We saw in Module 1 that IoT is transforming manufacturing and industry in general. In this
topic, we'll survey some specific examples of how IoT is being used in real-world situations
and how companies are using IoT to transform their business.
Rolls-Royce
Rolls-Royce has more than 13,000 engines for commercial aircraft in service around the
world, and for the past 20 years, it has offered customers comprehensive engine maintenance
services that help keep aircraft available and efficient. As the rapidly increasing volume of
data coming from many different types of aircraft equipment overtakes the airlines’ ability to
analyze and gain insight from it, Rolls-Royce is using the Microsoft Azure platform to
fundamentally transform how it uses data to better serve its customers.
To bring its vision of a powerful and scalable data analytics system to life, Rolls-Royce chose
to build it on the Microsoft Azure platform. “We realized early on, as customer and engine
data volumes increased, that we were looking at a big-data problem,” says Richard Beesley,
Senior Enterprise Architect Data Services, Rolls-Royce. “We quickly concluded that a cloud
platform like Azure was a ready-made solution for us.”
Beesley explains, “With Microsoft, it isn’t just about the infrastructure, it’s end-to-end and
global. There are the skills, the capabilities, the service offering, the development
environment, the security. It all just fit together.” Once Rolls-Royce started to collaborate
with Microsoft, it began to develop a number of new capabilities using an expansive set of
Azure platform services.
Starting with Azure IoT solution accelerators, Rolls-Royce will be able to collect and
aggregate data from disparate and geographically distributed sources at an unprecedented
scale. “With the increase in the volume and velocity of data that we’re looking at, Microsoft
Azure IoT solution accelerators will have a key part to play in our ability to reliably
aggregate data across our customers’ fleets,” Beesley says. Initially, the types of data being
processed include snapshots of engine performance that the planes send wirelessly during a
flight, massive downloads of comprehensive “black box”–type data, technical logs, and flight
plans as well as forecast and actual weather data provided by third parties.
OSIsoft
The Industrial Internet of Things (IIoT) - harnessing data produced by connected industrial
sensors and devices - is predicted to have a larger impact on global economic output than any
of the other big data sources. IIoT data also promises to help solve complex problems that
have far-reaching impacts, but deriving the value from that data is going to require the use of
sophisticated analytics. For more than 35 years, OSIsoft has been a leader in helping
organizations capture operational data from industrial equipment. Today, the company is on
the front lines of helping businesses use highly advanced analytics to gain valuable
operational intelligence from their sensor-based data.
Long before people were talking about the IIoT, OSIsoft was capturing, processing, and
sharing data from industrial sensors and equipment to help its customers optimize their
operations. The company’s PI System provides data infrastructure for organizations in several
key industrial sectors, including oil and gas, utilities, pharmaceuticals, food and beverage,
water, metals and mining, pulp and paper, and chemicals. It collects data from more than 1.5
billion sensor-based data streams at over 19,000 sites in more than 125 countries.
By consolidating and visualizing massive volumes of high-fidelity, time-series data & events
from disparate sources, OSIsoft helps businesses improve efficiency, sustainability, quality,
and safety. Whether it’s saving an energy company millions of dollars a year through better
wind forecasting or helping a mining company better organize its supply chain to boost iron
ore production by millions of tons annually, OSIsoft enables organizations to use their data to
improve their operations and make better decisions.
This study illustrates that the architecture for an IoT manufacturing solution must go beyond
merely collecting data to ensuring that the way the data is collected and stored to how it is
analyzed must be architected properly to provide reporting models that are effective at
addressing the business problems the solution aims to solve.
One option for experimenting with the right data solution is to model the IoT solution in a
simulated environment so various approaches can be tested, modified, and enhanced. By
exploring simulated interfaces and dashboards, you can get a sense of how equipment all over
the world can be viewed holistically, including both an overall view of performance and
detailed insight into the status of individual machines. Even if connecting operations around
the globe is a much later step, seeing the results of a simulation firsthand can help you refine
your objectives and get a better sense of what’s possible. Cloud solutions like Microsoft's
Azure IoT can make this modeling easier and faster.
Jabil
Established in 1966, Jabil is one of the world’s largest and most innovative providers of
manufacturing, design engineering, and supply chain management technologies and services.
With global operations spanning 102 locations and 28 countries, Jabil helps leading
companies in a diverse range of industries become more competitive.
And in recent years, staying competitive requires more than just offering newer, better
products. “One of the biggest industry trends we’re seeing is the desire for flexibility and
independence,” says Matt Behringer, Chief Information Officer, Enterprise Operations and
Quality Systems at Jabil. “We feel a continuous pull that says we want to have things the way
we want them, and we want them quicker.” Behringer says that the modern consumer’s
expectation of faster, more personalized services has permeated the industrial world, bringing
a “whole new level of complexity to organizations.”
For Jabil, an Internet of Things (IoT) approach based on the Microsoft Azure Cortana
Intelligence Suite was the only solution that made sense. Behringer says, “If you think about
the IoT mindset, and the ability to connect equipment, sensors, people, and whatever else you
can think of, we had to look at our factory from the viewpoint of system capability, and then
see what we could do to move forward in a way that enables us to be competitive and
differentiated.”
Safer Cities
Peter O'Dell of Swan Island Networks in an article for Microsoft relates the following, simple
example of how IoT can be deployed to make the transportation of hazardous materials a bit
safer. He writes,
Take a simple example of an inexpensive sensor that can replace the current signs and decals
that appear on hazardous materials containers, particularly tanker trucks. This sensor
transmits its status and identity every 60 seconds, but it can also be activated by readers at
electronic toll-collection points. The city can collect and process data from the readers in real
time to gain a highly accurate understanding of where hazardous materials are located
throughout the city—particularly on transit points like major bridges.
In critical scenarios like a major storm or police action, having this data can help emergency
services respond in a way that keeps more people safe.
The Economist Magazine created what they call a Safe Cities Index which
attempts to define how 60 cities across the world define security. One segment of this feature
titled, “Unlocking the potential of Iot” which covers everything from data management to
applications of IoT in the security space. The segment includes a white paper titled, "A City
Planner's Handbook to Public Safety" in which they attempt to define how tradition methods
along with digitization can help rapidly growing urban areas maintain high safety standards.
The executive summary outlines the following key areas of focus–many of them involving
IoT technology:
Biometric identification systems, which have the potential to reduce human error and
processing time at borders, will enhance citizen services and immigration control.
Facial recognition systems and other predictive technologies will shift law
enforcement from reactive to proactive.
Automated surveillance systems will reduce the dependence on human labor and
provide round-the-clock monitoring of critical infrastructure such as power, water and
telecommunications services.
Electronic security measures will protect sensitive public administration services from
virtual risks, while data analytical tools can predict disease outbreaks.
Strong information management, through enhanced security measures and data
protection schemes, will help institutions and corporations defend against cyber-
attacks.
On-demand systems that integrate information, analyze the data and communicate
with first responders and the public will help governments respond to emergencies
and disasters.
Technology platforms will facilitate efficient collaboration between different branches
of the government, enhancing inter-agency collaboration.
Many of these types of systems are being deployed in cities around the world and as the
technology advances and IoT services become more readily available, more city planners will
be looking to IoT to help them manage their responsibilities. You can read more on each of
these items by downloading the whitepaper here.
In this simple example, drivers using their phones as the “IoT device” to send
data, can alert the municipality of Selangor in Malaysia of a problem and the city uses the
information to address roadway problems.
The popular driving app Waze enables drivers to report problems like an accident or roadway
issues. Selangor is using Waze data to learn about potholes and fix them. According to an
article in Malaysian technology magazine Vernonchan, when a pothole is reported, “The
Selangor State Local Authority will patch the pothole within five days.” While the reporting
mechanism is is not fully automated at this stage (but still very much IoT), one can imagine
cars fitted with sensors and AI image recognition technology that can detect things like
potholes and automatically report those problems to authorities.
In another example, Microsoft describes how the Miami-Dade County Water and Sewer
Department (WASD) has the task of managing more than 6000 miles of pipes for that region.
The county had a system in place to collect large amounts of data but struggled to analyze it
quickly enough as well as holistically so they could predict problems and address immediate
issues.
The county went from being able to analyze three years of data on one metric of a single
station at a time to being able to analyze 22 years of data from more than 1000 stations in a
few seconds. This provides a much more holistic view of the system as a whole which can
tell the county much more about how things are operating.
ICONICS
No longer must engineers manually inspect and tune buildings to run more efficiently.
ICONICS smart building software collects and analyzes Internet of Things (IoT) sensor data
from building management systems, giving owners visibility into their property’s health,
improved energy efficiency, and lower costs. Based in Foxborough, Massachusetts,
ICONICS relies on Microsoft Azure Digital Twins to boost software scalability and rapidly
deliver innovative capabilities to customers, such as occupancy and spatial analytics.
ICONICS smart building software has run on Microsoft Azure since 2015. ICONICS
software acts as an integration hub to building management systems that control heating,
ventilation, lighting, and more. It also collects and centralizes each system’s sensor data.
ICONICS’ proprietary technology performs visualization and historization of this data while
artificial intelligence rules predict when a machine will fail or use more energy than
necessary. It also predicts which issues will have the most impact on energy usage or cost, so
building managers can prioritize remediation.
"The Microsoft Energy Smart Buildings program has saved Microsoft 20 percent off its
energy bills,” says Russ Agrusa, President and CEO of ICONICS.
thyssenkrupp
Essen, Germany-based thyssenkrupp Elevator is a worldwide leader in elevator technology,
and the company is taking its knowledge of urban mobility to the next level with help from
its partner, Willow. At its Innovation Test Tower in Rottweil, Germany, thyssenkrupp
Elevator is using Willow Twin—a digitalized virtual model of the physical building—to
revolutionize the way buildings are maintained and to enhance the experience of tenants and
visitors. Willow Twin is built on Microsoft Azure, using a wide range of Azure services,
including the recently released Azure Digital Twins.
As today’s cities grow and change, the concept of urban mobility becomes an increasingly
important consideration for the people who plan, design, construct, and run the offices and
residences that make up those cities. Urban mobility isn’t just about the way that people
move around the city—it’s also about the way that people move within and interact with the
buildings where they work and live.
“Real estate owners and managers are always seeking ways to reduce costs and increase
tenant satisfaction,” says Professor Michael Cesarz, Chief Executive Officer for MULTI at
thyssenkrupp Elevator. “We believe that putting intelligence into the building that improves
facilities management and analyzes how occupants and visitors use the building is the best
way to fulfill their needs. We’re employing digitalization, AI, and Internet of Things
technologies to optimize usage at every level and make the building a pleasant place to work,
visit, and live.”
To help develop new solutions, thyssenkrupp partnered with Willow, a member of the
Microsoft Partner Network that is creating a new category of innovation for the built
environment. thyssenkrupp uses the company’s Willow Twin platform, which provides a
“digital twin” of the tower that delivers actionable insights to the building managers.
“A digital twin is a virtual replica of the spaces, devices, and people within a building,”
explains Joshua Ridley, Cofounder and Chief Executive Officer at Willow. “The digital twin
takes in live data from IoT sensors that are monitoring all of the building’s systems—from
lighting and elevators to heating, ventilation, and air conditioning—along with data about the
way space is being used and occupied. It makes all that data available to owners, managers,
and maintenance staff in real time. They can identify problems, track usage patterns, and gain
new insights into the way they operate the building and the way people use it. This opens the
door to new and better experiences for tenants and visitors.”
Further reading
Smart buildings, built on Azure IoT
Willow and thyssenkrupp Elevator take building smarts to a new level
Rigado delivers IoT edge-as-a-service for smart workplace solution
PCL Construction uses IoT with Azure to revolutionize the construction industry
Steelcase Demonstrates the Smart and Connected Workplace with New IoT-Powered
Solutions
Rockwell Automation
Here's an example from a Microsoft customer story of how IoT is being used by Rockwell
Automation to improve how energy is used in a real-world situation.
The story asks us to consider the incredible (and precarious) journey the gasoline in your car
takes from the moment its mined to when it ends up in your vehicle. The journey begins, at a
remote offshore oil well more than 500 feet below the surface, being battered by turbulent
waves in transport across the rugged North Pacific, only to find themselves traveling
hundreds more miles in a pipeline across searing desert terrain. A stop at the refinery and
then they were off again, carried by train and truck until finally arriving at your local filling
station. Along the way, they passed through countless pumps, holding tanks, meters, monitors
and hoses.
With all those myriad systems and variables like weather, corrosion, local transportation
scenarios, and mining and distribution equipment, building systems to ensure timely, safe and
efficient production and delivery of vehicle fuel requires continual monitoring, maintenance,
and adjustments across the entire supply chain.
Rockwell Automation is using IoT to assist engineers in monitoring remote equipment. Using
data collected in sensors in drilling pumps (the failure of single pump can cost between
$100,000 and $300,000 per day in lost productivity according to the article) to build
dashboards that engineers can use to monitor the health of the pumps hundreds of miles
away. The system can also alert engineers about problems in real-time allow for immediate
and more efficient trouble-shooting and minimal down time. According to one engineer, “The
last time we had a well trip offline, within five minutes we had a phone call telling us what
broke, what to look at, and how to test it . . .”
Rockwell's solution extends to the gas pump as well. They're implementing IoT sensors to
enable safer delivery of liquid natural gas which takes up less volume to store and transport
than traditional vehicle fuels and is being used mainly in large trucks used to transport goods.
In order to keep the pumping stations operating efficiently and safely, Rockwell is using IoT
sensors to monitor pumps and predictive analytics to anticipate failures and keep stations well
supplied with the fuel customers need.
Rockwell also is experimenting with machine learning to better analyze the large amount of
data being collected from their sensors. Better data analysis can provide better insights into
how fueling stations are functioning and may foster innovative ways to distribute fuel more
safely and efficiently.
Other IoT Energy Solutions
XTO Energy
XTO Energy is a subsidiary of ExxonMobil and has major holdings in the Permian Basin,
one of the world’s most important oil-producing regions. To overcome the challenges of
monitoring and optimizing a vast number of widely dispersed field assets, XTO Energy has
been digitalizing its Permian operations. By using Microsoft Azure IoT technologies to
electronically collect data and then using Azure solutions to store and analyze it, XTO
Energy gains new insights into well operations and future drilling possibilities.
Emerson
Emerson research found that $1 trillion in value is lost annually across manufacturing
industries to inefficient operations and monitoring of manufacturing processes. That’s
because historically, processing plants have used systems that limit the online monitoring of
second-tier equipment, like heat exchangers, pumps, or valves. This equipment typically is
repaired on a routine maintenance schedule - during which the entire plant is shut down and
taken offline for examination - or as needed, based on manual spot checks. The result: Some
manufacturing companies have faced challenges achieving their production or financial
goals.
In 2016, the company pushed into the digital future by harnessing the power of the Internet of
Things in a Plantweb digital ecosystem. This ecosystem offers manufacturers a scalable IoT
solution using wireless technologies, advanced instrumentation, and data analytics to improve
plant performance.
IoT technologies in the power supply industry are also showing up at the home. Years ago,
technicians had to visit each home on a regular basis to “read the meter” so the power
company would know how much to charge the customer. With IoT, power consumption can
be reported in real-time. This not only benefits the provider but also gives the power
company the means by which to provide better, and more frequent reports to customers so
they have access to the information that can help them conserve or prepare for the bill they
will be getting.
As alternate means of electrical power (wind and solar are two examples) become more
widely available, IoT will also enable customers to make choices about how best to utilize the
options at their disposal. For example, customers who have installed solar panels on their
home and collect energy from the sun can “sell back” excess energy to the power company or
their neighbor. Internet-connected devices along with real-time reporting on energy collected,
usage trends, and available excess power will enable customers to make smart choices about
their usage and distribution.
These are just a few examples of how IoT is transforming energy. We hope these examples
have inspired you to think of more ways IoT can be used to innovate on our ever-pressing
power needs whether it be extending our existing energy sources to get the most out of them
or finding new sources of energy.
Roche
Diagnostic devices play a vital role in helping to improve healthcare delivery. In fact, an
estimated 60 percent of the world’s medical decisions are made with support from in vitro
diagnostics (IVD) solutions, such as those provided by Roche Diagnostics, an industry leader.
To deliver these services cost-effectively, the company explored the use of Internet of Things
(IoT) technologies to address the following requirements:
CHAMP
Children's Mercy Hospital in Kansas City Missouri developed a tool which parents use to
enter vital statistics for a critical-care baby. The system then analyzes the data. “If there are
any measurements outside healthy cardiac parameters, such as oxygen saturation that’s too
low or high, the baby’s medical team is automatically alerted.” They call the tool Cardiac
High Acuity Monitoring Program or CHAMP.
The solution is relatively simple in its architecture. It uses a Windows 10 laptop or tablet
that's connected to a cloud-based database. The data entry is manual–parents enter numbers
into an app that sits on the device.
But this illustrates that IoT solutions can start out relatively simply with data being entered
manually and aggregated and analyzed by cloud services. One easily can imagine subsequent
versions of CHAMP that uses wireless sensors to collect vital statistics securely in real time,
aggregate the data into an app that parents can review and send a various intervals throughout
the day.
Predicting Outbreaks
Medical device manufacturer Becton Dickinson (BD) partnered with Microsoft to build a
cloud-based solution that helps aggregate the results of blood tests to help determine trends
(such as a flu epidemic) in real-time. As with CHAMP, the architecture of this solution is
relatively simple (this is not to downplay the sophistication of the technology itself).
BD builds a device that can offer a quick diagnosis on whether a child has the flu and the data
is sent to a cloud-based database. This data is used by the hospital itself but can be used by
other hospitals or disease control centers to see if trends are emerging and enable them to act
much more quickly to prevent the disease from spreading or develop vaccines.
The company takes its HIPAA responsibilities serious and has built into its architecture
models for keeping private data private. Personal data is removed, leaving aggregate data that
can be used to inform population-based health decisions. Even this “de-identified” data has
restrictions on use based on data rights agreements put in place between BD and their
customers. During a flu outbreak, connected Veritor devices would alert hospitals to consider
the potential need to increase emergency room staffing and order additional medicines to
support the projected influx of patients.
Next-generation Healthcare
These case studies just scratch the surface of what can be done in this vertical to move the
healthcare industry forward. This space, perhaps more than any other vertical we'll study has
the potential to positively impact billions of lives. The space is nascent and emerging. How
will you get involved?
For more information, see: https://www.microsoft.com/en-us/internet-of-things/healthcare
Microsoft has outlined a few specific scenarios where IoT for retail is being used. You can
read about them here but we'll review a couple of them to see how to apply this technology to
this vertical.
As with all IoT solutions, much of the value of these products is in the data they collect and
that can be given to homeowners to build the efficiencies and advantages described in the
bullets above. As we've said for the other verticals, privacy and security is of utmost
importance in these solutions but if those concerns are accounted for properly, the
possibilities are endless.
Intelligent Signage
There's a scene in Steven Speilberg's blockbuster movie Minority Report where the main
character John Anderton (played by Tom Cruise) walks into a Gap store and is greeted by a
“smart sign.” The sign does a retinal scan of each person who walks in and uses the unique
identity of the retina to personalize the shopping experience. Anderton had his eyes replaced
with someone else's so the sign believes he's "Mr. Yokomoto" which makes for an amusing
scene since Anderton didn't know whose eyes he had.
The technology depicted in this scene is an advanced version of the kind of personalization
that IoT for Retail can offer shoppers. Signs like these can show shoppers sale items that
might be of particular interest to him or her based on past shopping patterns (stores may even
wish to do “instant” sale prices available only to that particular shopper to entice him or her
to buy more items). The company XOGO is using IoT technology to create signage that can
turn Windows 10 devices into a digital sign.
While these signs aren't as intelligent as the signs in Miniority Report, the idea is that retailers
can create interactive, flexible signage using a simple IoT device and a Windows 10
computer and monitor. The interactive piece is what makes this an IoT solution: based on
what users click on, spend time on, and search for, the retailer gains insights into what
customers care about and can stock their shelves appropriately, better train sales staff, and
ensure the customer feels included and welcome.
As we've seen with other verticals, this is a relatively simple solution using a lot of off-the-
shelf hardware. Getting into the IoT space does not have to be a months-long project with a
huge capital investment. All it takes is an awareness of problems that need to be solved, some
creativity, and an intelligent use of cloud services.
https://youtu.be/ITjsb22-EwQ
Smart shopping lists: We’ve developed intuitive technology that combines machine
learning and purchase data to auto-fill a member’s shopping list. They can easily add
or remove things, and as items are scanned the list will automatically update and
move the item to their mobile basket.
Wayfinding and navigation: Gone are the days of wondering where something is in
the club. Using voice search capabilities combined with new wayfinding and
navigation features, a map will pop up and take members right to what they need.
Eventually, we’ll be able to use beacon technology and a member’s smart shopping
list to map the best route through the club.
Augmented reality: We’ll bring items to life in the club by sharing new ways to use
them, and we’ll work to integrate stories that highlight cool features, including how
items are sourced. We also have plans to use augmented reality to transform
members’ digital carts into pirate ships. Or maybe you’d prefer a rocket? More on that
soon!
One-hour Club Pickup: Using the app, members can now place and pickup an order
within the hour.
The system will use pavement sensors to detect congestion and the lights will adjust
their timing to the changing conditions
The signals will communicate with one another to better manage the flow of traffic in
specific regions
Signals can be modified 24-hours a day and “adjust on the fly” to the needs of the
area
Plans for these systems are being discussed for many other locations around the world
including a major investment in Nairobi Kenya. Similar systems already have been
implemented in various locations in the United States as well. Notably Las Angeles
California has implemented its ATSAC (Automated Traffic Surveillance and Control) system
which “provides real-time monitoring and adjustment of signal timing for nearly 4600
signalized intersections citywide.” According to the report, the system has reduced travel
times by 12% and increased speeds by 16%.
Like the proposed Maryland solution, the ATSAC system uses large amounts of data to
analyze traffic patterns and make adjustments accordingly. The data is a central part of this
solution which makes it an IoT solution in the strict sense. Specifically the solution:
The results of the program are analyzed (another important piece of an overall IoT solution)
and have shown “that travel times, traffic signal delay, vehicular stops, air emissions and fuel
use are significantly reduced.” As we've seen in all the verticals, the real value of IoT is in the
data and what the data can provide in terms of providing better solutions and validating
expected outcomes.
Konux, the company that supplies the sensors for Deutsche Bahn, describes the system as a
true IoT implementation. Specifically, the system has the following features:
This system embodies everything we'd expect in a true IoT solution. It includes sensors that
collect and processes data, a central data management and analytics component, and real-time
reporting.
The case study quotes Senior Vice President at Rolls Royce Nick Farrant who describes some
of the benefits of the solution as follows:
Microsoft Cortana Intelligence capabilities are helping us filter the signal from the noise
across large data sets so we can focus on finding the real value in the data. Our vision of
future digital capability will need to aggregate many sources of data and provide a platform
for collaboration with customers.
This example is interesting from an IoT perspective because the implementation Microsoft is
providing is helping Rolls Royce with one aspect of their problem space. When we think of
how IoT can help customers or provide solutions, we need not think of an end-to-end
implementation. Aspects of IoT whether it be the devices component, the data collection
component, or the analytics component can be implemented where needed to create a full
solution even if parts already exist.
Where To Next
These are just some examples of how IoT is being used to transform the transportation
industry. Microsoft used to use the slogan “Where do you want to go today?” in some of its
marketing. The question when it comes to IoT and transportation is "How can we improve
the way we get there?" That is the challenge that you as an emerging IoT architect can help
answer.
This article discusses other ways IoT is being use to address traffic challenges.
In fact, farming has been modernizing since it's inception. Modern farms have much more
yield per acre, more efficient use of labor, and better land management techniques than their
predecessors even 50 years prior. As farmers look for the “next big thing” in agriculture, IoT
is at the forefront of innovative opportunities.
Enter FarmBeats
FarmBeats is a multi-dimensional program that is working to provide innovative tools across
the agriculture ecosystem. For example, in a connected world, we tend to forget that internet
access can be spotty to non-existent in rural parts of the world and even in countries that are
able to deploy advanced technology, large farms can be cut off from robust connection
technology. Microsoft is working for over a decade on a project to use TV white space to
deliver data to remote areas (TV signals have a longer range and maintain fidelity over that
range than other types of signals and can be more readily available in remote areas). While
not an IoT solution per se, this program provides the essential infrastructure that can enable
more robust IoT solutions to areas that formerly wouldn't even be able to consider them.
These data are collected analyzed in real-time on these computers so farmers can make
decisions on critical situations as they happen. Some data can then be sent to cloud services
for further analysis to provide more robust and deeper intelligence on how the farm is
operating.
A researcher with Microsoft working on the FarmBeats project says it this way,
You don’t have to send all the data to the cloud; it sits on the farm, and is able to ingest a lot
of the data, apply the intelligence on top of it to generate actionable insights for the farmer.
Another cool innovation is the use of drones to create areal maps of farmland that gives
farmers a different view on their farms. These drones, using specialized software, create
“orthomosaics” (multiple images stitched together to show a single areal view of a farm).
These images can then be analyzed to create heatmaps that, "enable farmers to quickly
identify crop stress and disease, pest infestation or other issues that may reduce yield."
Similar systems can be used with livestock that will enable farmers to get real-time
information on the status of their animals to deal with problems and more efficiently manage
transportation, feeding, and other activities.[^1]
Greenhouse in a Box
Managing existing farms isn't the only area IoT is enabling innovation in agriculture. This
article by Ronald Holden for Forbes magazine highlights a project whereby a large container
(cleverly called “Leafy Green Machine” or LGF) can be delivered just about anywhere there
is space and enables the operator to grow food–"as much food as two acres of rural
farmland"–in the container.
The solution is a true IoT solution in that it uses devices, sensors, and software that “monitors
the plants, controls irrigation, orders supplies, and so on.” The article suggests uses cases
such as farm-to-table restaurants that want to take more control of their supply chain or
schools that want to engage children in agriculture or provide healthier meals.
While the LGF may not be something we immediately think of when we ponder ways to
improve agriculture, it does represent an “outside the box” (pun intended) way to think about
new ways to grow and deliver food powered by IoT devices and data. As IoT devices and
services become more mainstream, solutions like the LGF just scratch the surface of what is
possible.