Azure Archives | DMC, Inc. https://www.dmcinfo.com/blog/category/digital-workplace-solutions/azure/ Tue, 23 Dec 2025 14:55:12 +0000 en-US hourly 1 https://wordpress.org/?v=6.8.3 https://cdn.dmcinfo.com/wp-content/uploads/2025/04/17193803/site-icon-150x150.png Azure Archives | DMC, Inc. https://www.dmcinfo.com/blog/category/digital-workplace-solutions/azure/ 32 32 A Complete Guide to Planning Your IIoT Solution https://www.dmcinfo.com/blog/20635/a-complete-guide-to-planning-your-iiot-solution/ Fri, 26 Sep 2025 16:00:00 +0000 https://www.dmcinfo.com/?p=20635 IoT or Internet of Things is a “system of interrelated computing devices, mechanical and digital machines, objects, animals, or people provided with unique identifiers and the ability to transfer data over a network without requiring human-to-human or human-to-computer interaction.” The Internet of Things continues to develop as technology advances, and the need to interact with […]

The post A Complete Guide to Planning Your IIoT Solution appeared first on DMC, Inc..

]]>
IoT or Internet of Things is a “system of interrelated computing devices, mechanical and digital machines, objects, animals, or people provided with unique identifiers and the ability to transfer data over a network without requiring human-to-human or human-to-computer interaction.” The Internet of Things continues to develop as technology advances, and the need to interact with devices in a new way continues to develop.

Out of IoT, IIoT, or the Industrial Internet of Things, is emerging as a common and necessary term. This guide provides insight into IIoT and into DMC’s process for completing successful IIoT projects.


Table of Contents


IIoT Overview

Much like IoT, IIoT uses sensors and other technology but in an industrial setting to leverage real-time data to monitor and control devices in the field and communicate and display that data in a way that allows for better decision making in industrial processes.


Our Five-Step Process

DMC has completed hundreds of projects incorporating a wide range of solutions. Through experience, our engineers have developed a process for implementing IIoT solutions. We begin by starting at the lowest level and then fill in the gaps, going up the stack.

DMC IIoT Five Step Process

Step One: Field Device Platform Selection

Getting reliable, accurate data from the physical system is the primary challenge for any system design and the most important decision you can make. Once you secure the data, you can do anything you want with it. Answer the following questions to select hardware used in the field:

  • What are you trying to measure or control?
  • What does the device in the field need to be able to do on its own? How complex?
  • How many devices do you anticipate on deploying?
  • Are you the end-user and maintainer of this equipment, or are you selling a solution (operated and maintained by others)?
  • What does new device provisioning look like? (the ideal process)
  • How will this device be powered?
Step One

Keep in mind, the software platform is determined by hardware selection. For example, when you pick a particular PLC, you have to use the manufacturer’s software to program it. For an embedded device this will be C++, etc.

Device Hardware: Selecting the Right Parts

Let’s say the average PLC costs $1,000, so every time you put one out in the field, that is another $1,000 of hard costs. PLCs are great for some things while NI has developed expert tech for other uses. DMC engineers can leverage experience from hundreds of completed projects to advise on making the best choice for each project.

0-10 Devices – Small Deployments

10-100 Devices – Larger Deployment, off the shelf products, but start to have cost-optimized decisions

100-1000+ Devices – Discuss an embedded solution because the hardware starts to get expensive

Step Two: Determine Communications

After determining your device platform, deciding how your networking devices are configured is key. Consistent communication between devices is essential. DMC’s engineers help scope what needs to be done. Consider the following:

  • How are you going to communicate with devices?
  • Where is the internet coming from?
    • Cellular, Wi-Fi, from the plant?
  • What happens when the internet is not available?
    • Local caching, buffer and retry, operational impacts
  • What are the protocol security requirements?
    • Encryptions, certificates, secure comm management

Step Three: Determine Cloud Platform

There are a lot of cloud platforms to choose from when you reach this phase of the process. Ask yourself, what out of the box services (provided by these hosting entities) will your application need/or take advantage of? Some cloud platforms include Azure, AWS, and Google.

This phase is when we need to assess how to save on custom development, and where it’s possible to use solid foundational pieces already developed for these types of applications. Ask yourself:

  • Do you need a website?
  • Do you need database(s)?
  • Do you need user management?
  • Do you need integrations to other cloud services?
  • Do you need SMS, e-Mail, or other mass notification capabilities?
  • Do you need an AI engine or advanced analytics support?
  • Do you need a flexible reporting framework (points to things like PowerBI)?
  • What type of data store is needed?
    • How much data?
    • How often will it be sampled?
    • How will the data be used?
  • Where and how will security be enforced for cloud resources?
  • How many monthly active users do you anticipate on this cloud application?
  • What in house cloud/web development resources do you have?
    • What are they comfortable with and willing to maintain?

Step Four: Web Application Development

DMC’s full-stack development team builds custom web applications with intuitive interfaces designed for usability and stable back ends designed for scalability. 

Consider the following during this step:

  • Define the UI/UX experience
  • How are you going to onboard new users?
  • How are you going to onboard new devices?
  • How are you going to manage devices?
  • How are users going to view data?
  • What access restrictions should apply? (user levels)
  • What types of notification and alerts are required?
  • When should devices be alerted to changes?
  • What visualizations for data or information are required?
  • What type of reporting is required? How are users notified of reports?
  • Is a native Mobile App also required?
  • Is a generic API (accessible by third parties) required?
  • Define support plan for end-users of the application

Step Five: Go Live and Maintenance

  • Are you using continuous Integration tools in Development, Staging, and Production environments?
  • Do you have planned downtime for production-level updates?
  • Are database migrations required? Data integrity checks?
  • Deploy and active service health monitors?
  • Are support and service avenues (emails/phone) active and being monitored?

Industry Credentials

DMC holds several key industry credentials with leading technology providers.

Our Work

Ready to take your Automation project to the next level? Contact us today to learn more about our solutions and how we can help you achieve your goals. 

The post A Complete Guide to Planning Your IIoT Solution appeared first on DMC, Inc..

]]>
Enhancing Customer Service with AI: Introducing Sales Buddy at DMC  https://www.dmcinfo.com/blog/16360/enhancing-customer-service-with-ai-introducing-sales-buddy-at-dmc/ Tue, 30 Apr 2024 12:16:14 +0000 https://www.dmcinfo.com/blog/16360/enhancing-customer-service-with-ai-introducing-sales-buddy-at-dmc/ DMC recently identified a critical need to enhance the speed and accuracy with which we handle incoming customer inquiries. Historically, our dedicated team of Project Coordinators managed this process. They played a crucial role in filtering and routing inquiries from potential customers who reached out through our website's contact page. This manual process, while effective, […]

The post Enhancing Customer Service with AI: Introducing Sales Buddy at DMC  appeared first on DMC, Inc..

]]>
DMC recently identified a critical need to enhance the speed and accuracy with which we handle incoming customer inquiries. Historically, our dedicated team of Project Coordinators managed this process. They played a crucial role in filtering and routing inquiries from potential customers who reached out through our website's contact page. This manual process, while effective, posed challenges in scalability and speed as DMC continued to grow.

The Need for Innovation

Our goal has always been to respond to potential clients swiftly, as we believe promptness is key to building trust and demonstrating our dedication to potential customers; however, the manual process required Project Coordinators to:

  1. Continually monitor a shared Outlook inbox for new leads.
  2. Pre-qualify each inquiry to filter out spam and identify legitimate leads.
  3. Determine the most appropriate service area within DMC for the lead.
  4. Assign the lead to the most appropriate engineer and ensure a timely response.
  5. Create a new lead in our Customer Relationship Management (CRM) system.

To streamline these steps and enhance our responsiveness, we introduced Sales Buddy.

How Sales Buddy Works

sales buddy's incoming lead notification in Slack.

Sales Buddy is an AI-powered Slack Bot that automates the initial stages of our customer inquiry handling process. It integrates cutting-edge technology using Azure OpenAI models, Slack's Webhook API, and Microsoft Power Automate. Here’s how it functions:

  • Monitoring and Qualification: Sales Buddy continually monitors our shared Outlook inbox for incoming leads. Utilizing Azure OpenAI, it evaluates each inquiry based on sophisticated criteria to determine its legitimacy and relevance.

  • Intelligent Routing: After qualifying an inquiry, Sales Buddy identifies the most suitable DMC service area to handle the request. This decision is based on predefined logic that understands our service offerings and their alignment with the potential needs of the customer.

  • Seamless Integration: Once an appropriate service area is selected, Sales Buddy communicates this via a message to one of many designated Slack channels, ensuring that the right sales teams are promptly notified about new opportunities.

  • CRM Integration: Finally, Sales Buddy automatically creates a new lead record in our Microsoft Dynamics CRM system. This reduces manual data entry, enabling faster and more efficient follow-ups from the DMC team.

Benefits and Impact

The implementation of Sales Buddy has transformed the way we manage customer inquiries. By automating the pre-qualification and routing processes, we have significantly reduced the response time, allowing our engineering teams to engage with potential clients quicker than ever before. This not only enhances customer satisfaction but also allows our Project Coordinators to focus on more strategic tasks, thereby improving overall productivity.

Furthermore, Sales Buddy serves as a perfect example of how AI and automation can be leveraged in a low-code environment: making advanced technology accessible to non-developers. This accessibility ensures that our teams can easily maintain and adapt the system as our needs evolve.

Looking Forward

The success of Sales Buddy is a steppingstone towards more comprehensive AI integration across various facets of DMC’s operations. We are committed to continuous improvement and innovation, ensuring that we not only meet but exceed the expectations of our clients and stakeholders.

If you’d like to stay informed on how DMC is leveraging the latest technologies to improve our operations, please subscribe to our newsletter.

The post Enhancing Customer Service with AI: Introducing Sales Buddy at DMC  appeared first on DMC, Inc..

]]>
DMC Earns Microsoft Solution Partner Designation for Digital & App Innovation (Azure) https://www.dmcinfo.com/blog/17226/dmc-earns-microsoft-solution-partner-designation-for-digital-app-innovation-azure/ Tue, 12 Sep 2023 07:36:34 +0000 https://www.dmcinfo.com/blog/17226/dmc-earns-microsoft-solution-partner-designation-for-digital-app-innovation-azure/ DMC is proud to announce the successful achievement of a second Microsoft Solution Partner Designation for Digital & App Innovation (Azure) in the all-new Microsoft Cloud Partner Program. The new Solution Partner Designation provides benefits to DMC and its clients through partner-only access to the latest Microsoft offerings, technical & deployment support, and exclusive training opportunities. […]

The post DMC Earns Microsoft Solution Partner Designation for Digital & App Innovation (Azure) appeared first on DMC, Inc..

]]>
DMC is proud to announce the successful achievement of a second Microsoft Solution Partner Designation for Digital & App Innovation (Azure) in the all-new Microsoft Cloud Partner Program. The new Solution Partner Designation provides benefits to DMC and its clients through partner-only access to the latest Microsoft offerings, technical & deployment support, and exclusive training opportunities.

Under Microsoft’s legacy Gold & Silver partner program, DMC earned special recognition for achieving 9 competencies. With Microsoft’s new Solution Partner Designation Program, there are only six possible designations. To earn a designation, DMC had to pass a series of all-new Microsoft certification exams, achieve strict customer success measurements, and meet new sales performance targets. DMC now holds two of the six designations through this new program.

A Solutions Partner for Digital & App Innovation (Azure) demonstrates broad capability to help customers build, run, and manage applications across multiple clouds, on-premises, and at the edge, with the tools and frameworks of a customer’s choice.

Becoming a Solutions Partner for Digital & App Innovation (Azure) gives organizations an easy way to identify partners that have the commitment to training, accreditation, and have delivered solutions that enabled customer success. Examples include:

  • Migrating and deploying production web application workloads, applying DevOps, and managing app services in Azure
  • Managing production workloads in the cloud using containers and managing hosted Kubernetes environments in Azure
  • Implementing secure DevOps practices and driving DevOps adoption while using Azure and GitHub

DMC held the Microsoft Gold Certified Partner status for 19 consecutive years prior to the launch of the new Microsoft Solution Partner Designation Program, and DMC earned nine of the 18 possible Microsoft competencies during this time. We are so proud to have earned our first designation for Data and AI (Azure) in the first few months of the new program’s launch, and our second designation shortly following.

Learn more about DMC’s Digital Workplace Solutions & Application Development offerings, and please contact us if you need assistance with your next project.

The post DMC Earns Microsoft Solution Partner Designation for Digital & App Innovation (Azure) appeared first on DMC, Inc..

]]>
DMC Earns Microsoft Solution Partner Designation for Data and AI in Azure https://www.dmcinfo.com/blog/17796/dmc-earns-microsoft-solution-partner-designation-for-data-and-ai-in-azure/ Wed, 08 Feb 2023 08:00:54 +0000 https://www.dmcinfo.com/blog/17796/dmc-earns-microsoft-solution-partner-designation-for-data-and-ai-in-azure/ DMC is proud to announce the successful achievement of Microsoft’s Solution Partner Designation for Data and AI (Azure) in the all-new Microsoft Cloud Partner Program. The new Solution Partner Designation provides benefits to DMC and its clients through partner-only access to the latest Microsoft offerings, technical & deployment support, and unique training opportunities.    Under […]

The post DMC Earns Microsoft Solution Partner Designation for Data and AI in Azure appeared first on DMC, Inc..

]]>
DMC is proud to announce the successful achievement of Microsoft’s Solution Partner Designation for Data and AI (Azure) in the all-new Microsoft Cloud Partner Program. The new Solution Partner Designation provides benefits to DMC and its clients through partner-only access to the latest Microsoft offerings, technical & deployment support, and unique training opportunities.   

Under Microsoft’s legacy Gold & Silver partner program, DMC earned special recognition for achieving 9 competencies. With Microsoft’s new Solution Partner Designation Program, there are only six possible designations. To earn a designation, DMC had to pass a series of all-new Microsoft certification exams, achieve strict customer success measurements, and meet new sales performance targets.

The Data and AI (Azure) designation recognizes DMC’s success in delivering solutions for clients in the areas of:

  • Modernization of Web Applications
  • Analytics
  • AI and Machine Learning
  • Kubernetes
  • Windows Server/SQL Server Migration to Microsoft Azure.

DMC held the Microsoft Gold Certified Partner status for 19 consecutive years prior to the launch of the new Microsoft Solution Partner Designation Program, and DMC earned nine of the 18 possible Microsoft competencies during this time. We are so proud to have earned our first designation in the first few months of the new program’s launch, and our team is already well on their way to earning a second designation.

Learn more about DMC’s Digital Workplace Solutions & Application Development offerings, and please contact us if you need assistance with your next project.

The post DMC Earns Microsoft Solution Partner Designation for Data and AI in Azure appeared first on DMC, Inc..

]]>
Save Money with Microsoft Azure Reserved Instances https://www.dmcinfo.com/blog/18898/save-money-with-microsoft-azure-reserved-instances/ Wed, 01 Dec 2021 17:00:50 +0000 https://www.dmcinfo.com/blog/18898/save-money-with-microsoft-azure-reserved-instances/ In 2020, many companies were forced to make sudden, dramatic, and enduring changes to their IT environments. A global switch to remote work made On-Premises servers inconvenient to access for users, and even more difficult for IT staff to maintain while working remotely. Many companies found that the best solution for these issues was to […]

The post Save Money with Microsoft Azure Reserved Instances appeared first on DMC, Inc..

]]>
In 2020, many companies were forced to make sudden, dramatic, and enduring changes to their IT environments. A global switch to remote work made On-Premises servers inconvenient to access for users, and even more difficult for IT staff to maintain while working remotely. Many companies found that the best solution for these issues was to move the workload to a cloud platform. However, they soon discovered that the ongoing monthly costs were much higher than expected. Microsoft's Azure cloud platform now offers a way for customers like these to reduce their cloud spend by up to 72%  compared to pay-as-you-go options. 
 

Azure Reserved Instances

Microsoft Azure is an enterprise-grade cloud service platform: a complete set of secure application services for computing, storage, data, networking, and app development. Azure Reserved Instances allows companies with stable and predictable workloads to pre-purchase a set amount of Azure usage for time periods of 1 or 3 years. Monthly payments remain an option. Users can also pay the entire amount upfront.
 

Program Flexibility

Azure Reserved Instances is flexible. Customers who find they need to increase the compute power of some of their Azure Reserved Instances can do so without issue, as long as they maintain the same type of reservations. Companies also have the option of cancelling their entire Azure Reserved Instance with payment of a 12% early termination fee.
 
Used strategically, Azure Reserved Instances can greatly reduce a company's overall cloud spend. With an increasing number of workloads being moved to the cloud at an accelerated rate, this tool is something that should be considered closely by all companies.
 
If you would like to learn more about how Azure Reserved Instances can work for your company, please feel free to reach out to Sales@dmcinfo.com. We will be happy to schedule a call to discuss your needs. 

Learn more about DMC’s Microsoft Azure expertise
 

The post Save Money with Microsoft Azure Reserved Instances appeared first on DMC, Inc..

]]>
How to Use Azure Key Vault to Securely Manage Your Web Application’s Connections https://www.dmcinfo.com/blog/19421/how-to-use-azure-key-vault-to-securely-manage-your-web-applications-connections/ Thu, 11 Mar 2021 09:29:31 +0000 https://www.dmcinfo.com/blog/19421/how-to-use-azure-key-vault-to-securely-manage-your-web-applications-connections/ Microsoft Azure, Microsoft’s cloud computing service that can build, host, and manage applications, is a very powerful and robust tool that DMC often uses to host both client and internal applications. As a Microsoft Solutions Partner, DMC has extensive knowledge of Azure and we frequently post helpful information and guides about the platform. Azure offers […]

The post How to Use Azure Key Vault to Securely Manage Your Web Application’s Connections appeared first on DMC, Inc..

]]>
Microsoft Azure, Microsoft’s cloud computing service that can build, host, and manage applications, is a very powerful and robust tool that DMC often uses to host both client and internal applications. As a Microsoft Solutions Partner, DMC has extensive knowledge of Azure and we frequently post helpful information and guides about the platform. Azure offers far more than basic cloud computing and in this blog, I will be discussing one of its lesser-known services, Azure Key Vault.

Web applications almost always communicate with other services or applications in some capacity. Since we want these interactions to remain secure, any communication between services should be authenticated. There are many ways that applications can authenticate themselves but usually, the process requires a certification, password, or some combination of the two. This can be cumbersome to manage, but that’s where Azure Key Vault steps in.

Azure Key Vault

Key Vault is a secure and convenient service to manage an application’s certificates, keys, and secrets. You can easily and securely store this sensitive information in the vault and choose which applications have access to it. Then, Azure handles the authentication and authorization—it’s as simple as that. Nobody will be able to access Key Vault unless you have given them explicit access, and there are even additional advanced security options for especially sensitive information. For a more in-depth look at these options, I recommend reading through the official Microsoft documentation.

Setup

Now that we know the uses and benefits of Key Vault, I’ll walk through how to set it up.

  1. Import your certificates, keys, and secrets. For background, certificates are X509 certificates usually provided by a Certificate Authority. Keys are cryptographic keys used for authentication, authorization, and encryption (Key Vault supports software- and HSM-protected keys). Lastly, secrets are everything else you might want to protect such as passwords or database connection strings.

 

  1. Once this information is imported, you need to set up access to the Key Vault for your applications. There are several ways to do this, but the easiest is to use managed identities. The other services in your Azure accounts have identities that are automatically managed by the Azure Active Directory authentication.
    When adding an access policy, select your existing applications and services, then Azure will handle the rest!

     

    1. Note: only set up access policies for entities that need to use what’s in the Key Vault. There are also options to set individual read/write access for certificates, keys, and secrets. Microsoft has a great explanation of these options here.

 

  1. The last step is to modify the code in your application to retrieve items from the Key Vault when needed. For this, you should use the most recent .NET library for managing Key Vault secrets, the SecretClient class. Initialize a SecretClient instance with the URL of the Key Vault and then your application is able to retrieve secrets by name as long as access has been granted.

Azure Key Vault is an extremely useful tool to use with existing Azure applications that use secrets to interact with other applications or services. It’s more secure, convenient, and traceable than storing the secret directly in the application. Since Key Vault keeps all this information in one location, you only need to make a single change when updating a shared certificate or secret—instead of having to go through each application individually. Azure Key Vault greatly improves the efficiency of this process, while still maintaining a high level of security and monitoring.

Learn more about DMC’s Application Development expertise and contact us today to get started on your next project.

The post How to Use Azure Key Vault to Securely Manage Your Web Application’s Connections appeared first on DMC, Inc..

]]>
Azure AD Authentication with BlazorWASM using OAuth2 https://www.dmcinfo.com/blog/19738/azure-ad-authentication-with-blazorwasm-using-oauth2/ Tue, 15 Sep 2020 15:56:48 +0000 https://www.dmcinfo.com/blog/19738/azure-ad-authentication-with-blazorwasm-using-oauth2/ This blog will walk through how to use Azure Active Directory as an authorized provider for a BlazorWASM application. No server-side code is required. Overview We’ll be implementing the authentication using OAuth 2.0 implicit flow for the SPA app, as seen here: This same flow can be used for all the major authentication providers; Facebook, […]

The post Azure AD Authentication with BlazorWASM using OAuth2 appeared first on DMC, Inc..

]]>
This blog will walk through how to use Azure Active Directory as an authorized provider for a BlazorWASM application. No server-side code is required.

Overview

We’ll be implementing the authentication using OAuth 2.0 implicit flow for the SPA app, as seen here:

azure oauth authentication

We won’t get into the Web API since it’s not a necessity, so this blog only focuses on this portion: 

This same flow can be used for all the major authentication providers; Facebook, Twitter, Google, etc, so you could even provide buttons in the BlazorWASM app to let the user choose which auth provider they want to use. We’re going to set up this demo to just use Azure/Microsoft.

Register a New App with Azure Active Directory

The first step is to configure Azure so that it knows how to do after a user signs in, and what information we want it to return in the auth token.

  1. Log in to the Azure Portal
  2. Open the Azure Active Directory blade
    • Found under the hamburger menu in the top left of the portal, or you can search for it
  3. From the new blade, select “App registrations” in the left menu
  4. Click “New registration”
  5. Enter a name for this app registration
    • The name will be used in the portal to identify this registration, and it doesn’t need to match the name of the Blazor app
  6. Select the appropriate account types that you want to allow to log in.
    • If you only want users from a single domain, you can select the first option. (Accounts in this organizational directory only)
    • For this demo, we want anyone with a Microsoft account to be able to login to the BlazorWASM app, so select the last option. (Accounts in any Organizational directory)
  7. Specify the return URL.
    • This will need to be a valid URL that points to our BlazorWasm app
    • Since we’ll be using the BlazorWASM project template, and only running from localhost for this demo you can enter: https://localhost:5001/authentication/login-callback
    • If you change the routing in the BlazorWASM app or deploy it to a live web server, you’ll need to come back and add the new return URL to this app registration.
  8. Click Register to complete registration
  9. Once the registration is complete, select the Authentication menu item, then select the ID tokens option under the Implicit grant.
    • This is required so Azure will return a token with all the user information back to the BlazorWASM app
  10. Click Save at the top, then click Overview from the menu on the left. We’ll need the ID from this screen to create the BlazorWASM app

Create the Blazor WASM App

  1. Open PowerShell, and CD (change directory) to the folder you want to create the BlazorWASM app in.
  2. Install the latest BlazorWASM template:
    
    	dotnet new -i Microsoft.AspNetCore.Components.WebAssembly.Templates::3.2.0-preview3.20168.3
    	
  3. Create BlazorWASM project from the template we just installed
    
    	dotnet new blazorwasm -au SingleOrg --client-id <client Id from Azure>
    	

    We need to make one edit to the template code, so open up the program.cs file in your favorite text editor or IDE and delete line 21.
    The BlazorWASM template with the SingleOrg auth flag pulls in the required MSAL components that we’ll use for the implicit auth flow, but it also registers a default TenantID of 2222. By deleting line 21 we can use MSAL to authenticate against any Microsoft tenant.
  4. Run the BlazorApp:
    
    	dotnet run
    	
  5. Then, open a browser to view the app at https://localhost:5001
  6. Click Login in the top right corner and the Microsoft login screen should popup

    Login using your standard Microsoft credentials, Xbox live login, or another AD login
  7. If you have 2FA enabled on your account you’ll need to confirm with your second form, then grant the requested permissions.
    • The requested permissions can be modified in the Azure App registration if the BlazorWASM app needs more or less access to the account
  8. You should now be logged in and see your name displayed in the web app, next to a logout button
  9. You can now start customizing the BlazorWASM app with protected routes.

Learn more about DMC's Azure expertise, Digital Workplace Solutions, and Application Development services.

The post Azure AD Authentication with BlazorWASM using OAuth2 appeared first on DMC, Inc..

]]>
Azure IoT Hub Data Processing and Storage https://www.dmcinfo.com/blog/19924/azure-iot-hub-data-processing-and-storage/ Fri, 15 May 2020 12:30:46 +0000 https://www.dmcinfo.com/blog/19924/azure-iot-hub-data-processing-and-storage/ Overview When dealing with several or millions of IoT devices the amount of data can quickly become overwhelming to your processing logic and storage solution. To begin reducing the complexity of dealing with the data, it’s helpful to group the data into one of two main categories: hot or cold. That is to say: does the […]

The post Azure IoT Hub Data Processing and Storage appeared first on DMC, Inc..

]]>
Overview

When dealing with several or millions of IoT devices the amount of data can quickly become overwhelming to your processing logic and storage solution. To begin reducing the complexity of dealing with the data, it’s helpful to group the data into one of two main categories: hot or cold. That is to say: does the data need to be analyzed immediately (hot), or can we look at the data at our own convenience (cold).

After the data is ingested and initial processing is complete, it needs to be stored. Is the data similar enough that it can be logged in a database (structured), or does it vary widely and needs more flexible data storage (unstructured). Also, how much data are you expecting to collect: petabytes, or megabytes? Who needs access to the data for analysis, and what if they’re located on the other side of the world? The delays in processing gigabytes of data while dealing with the latency of traversing the globe can quickly become frustrating.

These are all things that need to be thought through before you begin development. Hopefully, this helps provide some assistance with planning your IoT solution. If you have any additional questions or need help with your IoT solution, send us an email.

Data Processing

When your IoT nodes start producing data the server(s) need to be ready to handle that data as efficiently as possible, which means you need to determine if data is ‘hot’ or ‘cold’.

Hot Data

An example of ‘hot’ data might be motor speed. Perhaps the motor can run up to 110% of its nominal speed for up to 5 seconds without issue, but if it exceeds 115% for more than 5 seconds it needs to be disassembled and internal parts replaced. The motor speed information needs to be analyzed and acted upon quickly to avoid downtime and costly repairs.

Cold Data

‘Cold’ data, on the other hand, might be information like the volume of liquid pumped by the motor over the last 5 minutes. Knowing the exact flow at every given moment might not provide any valuable insights, so cold data can be batched and processed when reasonable.

To complicate matters more, hot and cold data is more of a sliding scale, with common nomenclature of ‘hot’, ‘warm’, ‘cool’, and ‘cold’. Data may not fall into a single category. Using the motor speed example from above; the motor speed may also need to be processed as cool or cold data because analysis has shown that motor speed tends to increase marginally day over day before motor failure. So, not only is the real-time data important but saving the data for later to identify trends may also be important. This dual processing path is quite common.

Structured vs Unstructured

Will all the IoT nodes produce data with the same type of structure or parameters; or is each node unique and there’s little to no overlap of the data structure between nodes?

Azure Data Lake

Image credit to Microsoft.

Blob Storage

To log unique (unstructured) data, Azure Storage Blob is likely your best option. It’s not as unmanageable as ‘blob’ makes it sound, that’s just referring to the fact that it’s meant to hold different types and models of data from videos and text, to pictures and audio recordings. Blob storage is pretty analogous to what you’re used to with your desktop or laptop computer with having different folders that contain other folders or files with lots of different file types. It’s the default storage option when creating a storage account.

Blob storage can be broken down into 3 types: Append, Page, Block.

  • Append: Data can only be appended to the blob. Think a log file, new log entries are appended to the end and the blob continues to grow.
  • Page: Good for data that needs frequent read/write access with high performance and low latency. General-purpose storage.
  • Block: Block type storage is optimized for large data sets and provides parallel read/write to different blocks. It's for handling large (Gb’s) files over the network.

Page and Block type Blob storage can handle up to Terabytes of data, but there comes a point where an organization of ‘Big Data’ starts to become a limiting factor. Your data is worthless if you can’t efficiently query it. That’s when you need to consider a solution like Azure Data Lake. Data Lake provides additional organizational and security tools, as well as some built-in analytics.

CosmosDB

If the data is in a more consistent format, you may want to consider CosmosDB as the storage solution instead of blob storage. CosmosDB provides several features that may be beneficial for your organization and your data. Similar to SQL databases, CosmosDB provides the option to specify indexes on the data which can significantly improve query performance.


Image credit to Microsoft.

Also, CosmosDB was built with data sharing and replication in mind. A CosmosDB database can be configured to replicate data to multiple Azure regions around the globe giving employees in both North America and Australia, for example, access to the same data at the same time. It’s also possible for both regions to write data back into Cosmos at the same time. This is all in addition to a failover location which can be configured to take over operations in the event of a natural disaster or civil disturbance in the primary location.

Learn more about DMC's IoT solutions and Azure solutions. Contact us for more information. 

The post Azure IoT Hub Data Processing and Storage appeared first on DMC, Inc..

]]>
Microsoft Windows Virtual Desktop is Now Available https://www.dmcinfo.com/blog/20880/microsoft-windows-virtual-desktop-is-now-available/ Wed, 02 Oct 2019 12:16:41 +0000 https://www.dmcinfo.com/blog/20880/microsoft-windows-virtual-desktop-is-now-available/ Six months after Windows Virtual Desktops (WVD) went to public preview, Microsoft announced on Monday, September 30th that WVD is now generally available worldwide!  If you are not familiar, Microsoft now provides customers with the ability to host a virtual desktop environment within Azure that will allow users to connect to a guest OS that has been […]

The post Microsoft Windows Virtual Desktop is Now Available appeared first on DMC, Inc..

]]>
Six months after Windows Virtual Desktops (WVD) went to public preview, Microsoft announced on Monday, September 30th that WVD is now generally available worldwide! 

If you are not familiar, Microsoft now provides customers with the ability to host a virtual desktop environment within Azure that will allow users to connect to a guest OS that has been preconfigured with applications mandated by IT.

DMC has already had the opportunity to assist with the implementation of WVD in production for one of our top clients – which is going quite well.

WVD Overview

This technology, which was mastered by Citrix 20 years ago for on-premise environments, is a game-changer now hosted in the cloud. No longer will you need to set up on-premise resources to build & host what was a fairly complex farm needing lots of horsepower (RAM/CPU) and large amounts of storage.

This can all be done within a secure environment in the cloud, which is important, that allows you to use Microsoft services such as Intune, Information Rights Management (IRM), Conditional Access, Sensitivity Labels — in other words, everything that Microsoft has done to make Office 365 and Azure secure, can be leveraged within your secure Virtual Desktops your users are logging into.

Benefits & Features

Let’s break down some of my favorite benefits and features of WVD:

  • WVD can use Azure Active Directory (AAD) as the identity provider. This gives you the ability to use features like MFA and SSO.
     
  • This is one of my favorites — No inbound ports need to be opened! Because it is using “reverse connect technology”, an outbound agent creates a secure outbound connection over TCP/443 into the WVD management environment. Because of this, you do NOT need to allow TCP/3389 (RDP port) on the firewall for your users to connect to their desktops.
     
  • Traditional on-premise RDS (Remote Desktop Services) Roles such as the RDS Gateway, Broker, Licensing and Diagnostics are now provided to you by Azure meaning that you do not need to manage any of it!
     
  • Virtual machines hosting the WVD environment are not exposed to the Internet directly. Again, reverse connect technology allows the VMs to be accessed.
     
  • The service supports multiple OS platforms, such as Windows 10 Multi-Session, Windows 10 Single-session, Windows 7 Single Session and Windows Server 2012 R2 and newer operating systems.
     
  • IT gets full control over software, and businesses will not need to purchase expensive traditional desktops. The only requirement is a device that has an HTML 5 capable browser, which could be a company-owned device or a personally owned device.
     
  • Once logged into the Remote Desktop URL where the desktop is hosted, users simply just need to double-click the desktop that is assigned to them, and they are in (see below screenshots)!

Conclusion

This technology really is a game-changer in the IT world. I’m expecting a good portion of small and mid-size businesses, as well as Fortune 500 companies, to start using WVD over the next 12 months. And with Microsoft’s partnership with Citrix whereby they have announced Day 1 support for WVD, they are getting support from the people that know this technology the best.

If you are interested in starting a WVD deployment at your organization or want to learn more about Microsoft’s Virtual Desktop solution, contact us today!

Tim Johnson
Senior Systems Consultant

Learn more about DMC's Digital Workplace Solution services.

The post Microsoft Windows Virtual Desktop is Now Available appeared first on DMC, Inc..

]]>
A Simple Introduction to Azure Machine Learning Studio https://www.dmcinfo.com/blog/21352/a-simple-introduction-to-azure-machine-learning-studio/ Thu, 27 Jun 2019 12:43:02 +0000 https://www.dmcinfo.com/blog/21352/a-simple-introduction-to-azure-machine-learning-studio/ Machine learning has been one of the most popular buzz terms in technology lately, and it projects to be one of the most widely used technologies in the AI space going forward. In a nutshell, machine learning involves feeding a model (the machine) data and having the model recognize patterns in the data (the learning). […]

The post A Simple Introduction to Azure Machine Learning Studio appeared first on DMC, Inc..

]]>
Machine learning has been one of the most popular buzz terms in technology lately, and it projects to be one of the most widely used technologies in the AI space going forward. In a nutshell, machine learning involves feeding a model (the machine) data and having the model recognize patterns in the data (the learning). As the model gains access to more data points, it adapts and predicts future results and decisions for future similar scenarios.

Microsoft Azure Machine Learning Studio is one of the platforms for creating predictive analytics models using machine learning. Azures cloud platform allows users to develop and initiate modeling without the need for hefty onsite computers. Its ability to access much of the Azure ecosystem, as well as the ease of use of its web interface, make Azure ML Studio an excellent option for quickly setting up your first machine learning experiment.

ML studio provides users with the following components to create machine learning projects:

  • Data Sources
  • Experiments
  • Trained Models
  • Web Services
  • Notebooks

A simple machine learning project can be made using these components and configured with a few clicks.

Data Sources

ML studio features numerous data source options, many of which integrate with Azure.

  • Blob storage
  • SQL Database
  • Cosmos DB
  • Web URL via HTTP
  • Hive Query
  • Local File

For this project, I needed past weather and climate data; I used data from the national centers for environmental information website. I will be using a .csv file with a file structure like the one below:

Sample rows of the dataset

The Experiment

In my free time, I enjoy running, but I don’t have a lot of time in my day, so I set up this experiment to look at my average runs per week and predict the likelihood that I will run in the future.

To build the experiment, users drag, drop, and connect machine learning operations into a working model. The experiment map I made below lets us look at the components I used to create this experiment.

The canvas of the entire experiment

RunData20182019.csv

This is my dataset, uploaded from my local computer. Includes data on weather by day, and if I ran, or not.

Select Columns in the dataset

If there are any columns in your dataset that you know will not help predict a result, you can remove them from future calculations. In the screenshot below, I am selecting precipitation, average wind speed, max and min temperature, and if I ran or not on a given day. I also added a calculated column, that indicates if I ran the preceding two days, as I usually don’t run three days in a row. This factor is unrelated to the weather but heavily influences my results. I excluded the name of the station and the date because those won’t yield much information about the weather itself.

Excluding columns Station and Date from model

Split Data

After the dataset is trimmed down to only the necessary features, I use the split data block to divide the data into a training set and a testing set. When the model runs, it will detect patterns in the training set, and then apply the patterns to the testing set, to see if there was a good fit of the model used.

Splitting the dataset into a training set and testing set

Two-Class Boosted Decision Tree

For this algorithm, I’ve chosen to use the Two-Class Boosted Decision tree. I elected to use this model as it is a fast and reliable algorithm for predicting on which day each class belongs. Since my dataset was small, I was not worried about it being one of the more memory intensive approaches. In setting up the model, I left the default properties as is.

Settings for the Two-Class Boosted Decision tree

 

Summary of ML algorithms provided by Microsoft

Train Model

After selecting the algorithm, the next step was training the model. Here, selecting the desired output column is the only configuration step needed. Since I was predicting, “will I run?” I chose the “Run” column.

Train model interface for selecting the output column

Score and Evaluate Model

Now that training and testing within the model are complete, let’s evaluate it! There 149 data points in the testing set, with 38 days that I went for a run. The model reported with 85.9% accuracy, with a tendency to say I won’t run more often than I will. For the first attempt with a simple model, I am happy with these results.

The Results

After creating an initial experiment, I can go a few ways with Azure ML. I can try to further fine tune my model, by testing other algorithms or even adding in different algorithms for improved feature selection. Once I am fully satisfied with the model, Azure makes it easy to create a web service that will allow a user to query and classify new data points instantly. Microsoft provides sample code for querying the service in C#, R, and python. Using ML Studio and the auto-generated web service, you can have a business ready machine learning model up and running in no time!

Find out more about DMC’s Machine Learning and Microsoft Azure Cloud Solutions

The post A Simple Introduction to Azure Machine Learning Studio appeared first on DMC, Inc..

]]>