Is that possible to run MatLab runtime on Azure Function?

36 views (last 30 days)
Yinhe Zhu
Yinhe Zhu on 21 May 2019
Answered: Tim Choo on 1 May 2020
Since I want to build IoT with Azure, and I need to Matlab to compute and analyse data from IoT, I want the computation on Azure, and output to Cosmos DB. What is best way to implement it? Any ideas guys?
  3 Comments
Walter Roberson
Walter Roberson on 24 May 2019
If you are starting one process and it is continually running and processing one stream at a time, then you amoratize startup costs, and any of those would be fine.
However, if you are starting up a number of different processes, perhaps one per stream, then startup time can start to become important, and in that case MATLAB Production Server would tend to become what you would want.
If the data is being sent via UDP, then even though in theory you could have one server for all clients (provided you could process the data quickly enough), in practice MATLAB udp() does the equivalent of a bind() operation: you cannot easily listen for all UDP packets addressed to the socket, you need to create a connection that listens to a particular endpoint. That makes MATLAB less than ideal for high-volume low-dwell updates.

Sign in to comment.

Accepted Answer

Saumya Goel
Saumya Goel on 24 May 2019
Please have a look at these GitHub links:
  1. MATLAB Azure Cosmos DB - https://github.com/mathworks-ref-arch/matlab-azure-cosmos-db
  2. MATLAB Reference Architectures for Cloud - https://github.com/mathworks-ref-arch
  2 Comments
Pallavi Kar
Pallavi Kar on 31 May 2019
You can use the MATLAB Production Server reference architecture to deploy MATLAB Production Server on Azure. This tool allows you to process web requests in Parallel. Link: https://github.com/mathworks-ref-arch/matlab-production-server-on-azure
For info on MATLAB Production Server: Watch this video
You can also use Azure IoT Hub to connect your devices to it. Azure IoT hub can receive event triggers and pass data through routes and endpoints. One of this endpoint needs to be MATLAB Production Server.
2 kinds of example routes:
  • Route data as it comes to MATLAB Production Server(endpoint), which can run a compiled MATLAB Analytics in parallel. Learn an example of how to take MATLAB Analytics to MATLAB Production Server.
  • Alternately, if a certain kind of analytics needs to run over a longer period of time, IoT hub can pass/route the data to blobs(endpoint) instead and invoke a scheduled MATLAB Production Server hosted analytics.

Sign in to comment.

More Answers (1)

Tim Choo
Tim Choo on 1 May 2020
In addition to the cloud reference architecture, MATLAB Production Server is also available from the Microsoft Azure Marketplace: https://azuremarketplace.microsoft.com/en-us/marketplace/apps/mathworks-inc.matlabprodserver-byol?tab=Overview

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!