What are my deployment options for MATLAB scripts?
2 views (last 30 days)
I'm new to MATLAB and finding it very difficult and confusing to understand my options while reading previous questions and guides, etc.
For some background, I've been a software developer for many years, and I am used to being able to take a script in say Python, or an application in Java or Rust or what have you, and deploy it on any given VPS or cloud-hosted solution.
I'm guessing that MATLAB not being FOSS, it's a little trickier than that due to licensing restrictions.
If I've got a script right now that pulls down some data, analyzes it, and then produces an output, what are my options for hosting or deploying that script on a cloud machine of very modest resource usage (or any resource expectation, to keep in line with "options available" as per my original query)?
Walter Roberson on 3 Mar 2018
It sounds as if you want to make the software available to other people.
If so then if you require it to be "cloud based" then you have no options: the cloud solutions are currently restricted to computation on cloud services that is not made available to others.
If you do not require that the software to be made available on a "cloud based" system, then you have the option of using MATLAB Compiler SDK to create Java or .NET based interfaces to a program that you have compiled and installed on a server that you own or lease. (Part of my memory is questioning myself as to whether you need to own or lease it; it would be necessary to recheck the license terms on that point.)
There is, in a way, a bit more flexibility if you just provide executables for people to download: those can be made with MATLAB Compiler.
There are also options in the way of creating some kind of web interface that talks to an (interpreted) MATLAB instance instead of having compiled to executable. If you want to take this approach then if you want to make the software available to the public (outside of your organization), then you would need a Network Floating License (somewhat expensive) and you would have to deploy on a server that you own or lease.