What would be the best, and most cost effective, way of deploying a computer vision application, built using MATLAB, on the cloud?
2 views (last 30 days)
Show older comments
Benjamin Hughes on 10 Oct 2015
Answered: Chetan Rawal on 10 Aug 2016
I am a vision scientist developing a visual recognition application using MATLAB. When it's finished the goal is to deploy it on the cloud, allowing researchers around the world to submit images for processing and have recognition results returned to them.
What would be the best, and most cost effective way of achieving this given:
1. The system must ultimately function completely independently of any local machine (for example where a MATLAB license would be stored)
2. The application is memory, but not especially compute intensive.
3. The system will need to be accessible 24 hours a day, 7 days a week.
4. The project is of a non-commercial nature. The entity funding the project is a research and educational organisation, although for now we'll assume commercial pricing with a reasonable, but certainly not 'enterprise' scale budget.
Most solutions for cloud computing with MATLAB I've seen, seem to be geared towards discrete, compute intensive tasks of limited duration.... One possibility being considered is to generate stand-alone executables using MATLAB compiler, but are there better alternatives? And is it possible to deploy parallel applications to the cloud using Parallel computing toolbox and MATLAB compiler? (This link from 2013 http://www.mathworks.com/help/compiler/deploy-applications-created-using-parallel-computing-toolbox.html#btigxod-1 goes nowhere...)
And one final question: can standard MATLAB licenses be used on dedicated (maintained) servers?
With regards to licensing: if you have an executable that is being accessed from the uncontrolled public (not just within your own organization) then you need a Network license. You should probably work out the details of that with Mathworks Sales.
Edited: Walter Roberson on 10 Oct 2015
Are you distributing an executable to other people, or are you making the executable available to access such as via a web site?
If it is for access via a web site, then you need to look at the Deployment Addendum in the license.txt file; in particular at what shows up in section 8 in my copy:
---- being quote ----
8. WEB APPLICATIONS. Licensee may not provide access by means of a web interface to an entire Program or a substantial portion of a Program, to the MATLAB command line, or to any of the licensed Programs with code generation capabilities, nor may Licensee's Application enable evaluation of end-user code or expressions.
For the Network Concurrent User Activation Type. Programs licensed under the Network Concurrent User Activation Type may be called via a web application. Such operation of an application via a web interface may be provided to an unlimited number of web browser clients, at no additional cost, for Licensee's own use for its Internal Operations, and for use by Third Parties.
For the Network Named User and Standalone Named User Activation Types. Programs licensed under the Network Named User and Standalone Named User Activation Types may be called via a web application, and such application is only accessed by designated Network Named User or Standalone Named User licensees of such Programs.
Programs licensed under any other Activation Type may not be called via a web interface.
Chetan Rawal on 10 Aug 2016
MATLAB Production Server is built for your kind of use-cases. MathWorks Sales is the best way to get product/pre-sales advice because they have trained engineers to identify the best solutions for you.
Find more on Licensing on Cloud Platforms in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!Start Hunting!