In this article

The solution accelerators are all designed according to the same principles and goals.

The following video presents an overview of the Remote Monitoring solution accelerator:

Solution accelerators overview

A solution accelerator is open source implementation of a common IoT solution patterns that you can deploy to Azure using your subscription. Each solution accelerator combines custom code and Azure services to implement a specific IoT scenario or scenarios. You can customize any of the scenarios to meet your specific requirements. These scenarios include:

Visualize data on a rich dashboard for deep insights and solution status.

Configure rules and alarms over live IoT device telemetry.

Schedule device management jobs, such as updates to software and configuration.

Provision your own custom physical or simulated devices.

Troubleshoot and remediate issues within your IoT device groups.

Each solution accelerator is a complete, end-to-end implementation that can use simulated or physical devices to generate telemetry. You can use the solution accelerators as solution accelerators to:

Command and control: To cause the device to take an action, send messages to a device from the cloud.

Rules and actions: To act on specific device-to-cloud data, the solution back end uses rules.

Predictive analytics: The solution back end analyzes device-to-cloud data to predict when specific actions should take place. For example, analyzing aircraft engine telemetry to determine when engine maintenance is due.

Azure services

When you deploy a solution accelerator, the provisioning process configures a number of Azure services. The following table shows the services used in the solution accelerators:

Remote Monitoring

Predictive Maintenance

Connected Factory

IoT Hub

Yes

Yes

Yes

Event Hubs

Yes

Time Series Insights

Yes

Container Services

Yes

Stream Analytics

Yes

Web Apps

Yes

Yes

Yes

Cosmos DB

Yes

Yes

Azure Storage

Yes

Yes

Note

For more information about the resources deployed in the Remote Monitoring solution accelerator, see this article on GitHub.

Azure IoT Hub. This service provides the device-to-cloud and cloud-to-device messaging capabilities and acts as the gateway to the cloud and the other key solution accelerator services. The service enables you to receive messages from your devices at scale, and send commands to your devices. The service also enables you to manage your devices. For example, you can configure, reboot, or perform a factory reset on one or more devices connected to the hub.

What's new in solution accelerators?

Microsoft is updating the solution accelerators to a new microservices-based architecture. The following table shows the current status of the solution accelerators:

Solution accelerator

Architecture

Languages

Remote Monitoring

Microservices

Java and .NET

Predictive Maintenance

MVC

.NET

Connected Factory

MVC

.NET

The following sections describe what's new in the microservices-based solution accelerators:

Microservices

The new version of the Remote Monitoring solution accelerator uses a microservices architecture. This solution accelerator is composed of multiple microservices such as an IoT Hub manager and a Storage manager. Both Java and .NET versions of each microservice are available to download, along with related developer documentation. For more information about the microservices, see Remote Monitoring architecture.

This microservices architecture is a proven pattern for cloud solutions that:

When you deploy the new version of Remote Monitoring, you must select one of the following deployment options:

Basic: Reduced cost version for a demonstration or to test a deployment. All the microservices deploy to a single Azure virtual machine.

Standard: Expanded infrastructure deployment for developing a production deployment. The Azure Container Service deploys the microservices to multiple Azure virtual machines. Kubernetes orchestrates the Docker containers that host the individual microservices.

Language choices: Java and .NET

Implementations of each of the microservices are available in both Java and .NET. Like the .NET code, the Java source code is open source and available for you to customize to your specific requirements: