Deploy the Remote Monitoring solution accelerator using the CLI

This how-to guide shows you how to deploy the Remote Monitoring solution accelerator. You deploy the solution using the CLI.

Prerequisites

To deploy the Remote Monitoring solution accelerator, you need an active Azure subscription.

If you don’t have an account, you can create a free trial account in just a couple of minutes. For details, see Azure Free Trial.

To run the CLI, you need Node.js installed on your local machine.

Install the CLI

To install the CLI, run the following command in your command-line environment:

npm install iot-solutions -g

Sign in to the CLI

Before you can deploy the solution accelerator, you must sign in to your Azure subscription using the CLI:

pcs login

Follow the on-screen instructions to complete the sign-in process.

Deployment options

When you deploy the solution accelerator, there are several options that configure the deployment process:

Option Values Description
SKU basic, standard, local A basic deployment is intended for test and demonstrations, it deploys all the microservices to a single virtual machine. A standard deployment is intended for production, it deploys the microservices to several virtual machines. A local deployment configures a Docker container to run the microservices on your local machine, and uses Azure cloud services, such as storage and Cosmos DB.
Runtime dotnet, java Selects the language implementation of the microservices.

To learn how to use the local deployment option, see Running the Remote Monitoring solution locally.

Basic and standard deployments

This section summarizes the key differences between a basic and standard deployment.

Basic

You can do a basic deployment using the CLI.

Basic deployment is geared toward showcasing the solution. To reduce costs, all the microservices are deployed in a single virtual machine. This deployment doesn't use a production-ready architecture.

A basic deployment creates the following services in your Azure subscription:

Count Resource Type Used For
1 Linux Virtual Machine Standard D1 V2 Hosting microservices
1 Azure IoT Hub S1 – Standard tier Device management and communication
1 Azure Cosmos DB Standard Storing configuration data, rules, alerts, and other cold storage
1 Azure Storage Account Standard Storage for VM and streaming checkpoints
1 Web Application Hosting front-end web application
1 Azure Active Directory Managing user identities and security
1 Azure Maps Standard Viewing asset locations
1 Azure Stream Analytics 3 units Enabling real-time analytics
1 Azure Device Provisioning Service S1 Provisioning devices at scale
1 Azure Time Series Insights S1 – 1 unit Storage for messages data and enables deep-dive telemetry analysis

Standard

You can do a standard deployment only using the CLI.

A standard deployment is a production-ready deployment that a developer can customize and extend. Use the standard deployment option when you're ready to customize a production-ready architecture, built for scale and extensibility. Application microservices are built as Docker containers and deployed using the Azure Kubernetes Service. The Kubernetes orchestrator deploys, scales, and manages the microservices.

A standard deployment creates the following services in your Azure subscription:

Count Resource SKU / Size Used For
1 Azure Kubernetes Service Use a fully managed Kubernetes container orchestration service, defaults to 3 agents
1 Azure IoT Hub S2 – Standard tier Device management, command and control
1 Azure Cosmos DB Standard Storing configuration data, and device telemetry like rules, alerts, and messages
5 Azure Storage Accounts Standard 4 for VM storage, and 1 for the streaming checkpoints
1 App Service S1 Standard Application gateway over TLS
1 Azure Active Directory Managing user identities and security
1 Azure Maps Standard Viewing asset locations
1 Azure Stream Analytics 3 units Enabling real-time analytics
1 Azure Device Provisioning Service S1 Provisioning devices at scale
1 Azure Time Series Insights S1 – 1 unit Storage for messages data and enables deep-dive telemetry analysis

Note

You can find pricing information for these services at https://azure.microsoft.com/pricing. You can find usage and billing details for your subscription in the Azure Portal.

Deploy the solution accelerator

Deployment examples:

Example: deploy .NET version

The following example shows how to deploy the basic, .NET version of the Remote Monitoring solution accelerator:

pcs -t remotemonitoring -s basic -r dotnet

Example: deploy Java version

The following example shows how to deploy the standard, Java version of the Remote Monitoring solution accelerator:

pcs -t remotemonitoring -s standard -r java

pcs command options

When you run the pcs command to deploy a solution, you're asked for:

  • A name for your solution. This name must be unique.
  • The Azure subscription to use.
  • A location.
  • Credentials for the virtual machines that host the microservices. You can use these credentials to access the virtual machines for troubleshooting.

When the pcs command finishes, it displays the URL of your new solution accelerator. The pcs command also creates a file {deployment-name}-output.json that contains information such as the name of the IoT Hub that it created.

For more information about the command-line parameters, run:

pcs -h

For more information about the CLI, see How to use the CLI.

Next steps

In this how-to guide, you learned how to:

  • Configure the solution accelerator
  • Deploy the solution accelerator
  • Sign in to the solution accelerator

Now that you've deployed the Remote Monitoring solution, the next step is to explore the capabilities of the solution dashboard.