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.