Julia on Azure

By: pkofod

Re-posted from: http://www.pkofod.com/2017/02/09/julia-on-azure/

Microsoft recently added Julia to Azure, their cloud computing service. I got curious, and headed over to Azure to check it out. On the platform, Julia is provided in the form of the JuliaPro bundle shipped by Julia Computing. JuliaPro consists of the latest stable Julia release, the Juno IDE (Atom based) + debugger, Jupyter notebooks, and a bundle of curated packages from different categories such as: statistics (DataFrames.jl, Distributions.jl, …), optimization (JuMP.jl, Optim.jl), language interoperability (RCall.jl, JavaCall.jl, PyCall.jl), Deep Learning (Mocha.jl, MXNet.jl, Knet.jl), and more. The packages come precompiled, so when JuliaPro is installed, it should “Just Work” (of course packages installed manually also works, but some packages take a long time to build).

As with many other services, you pay a price per hour you spend on the VMs. The smallest ones are quite cheap, but you can scale up to very powerful setups. Most Julia packages are quite quick to build (precompile), but when you’re paying by the hours, precompiled packages (that JuliaPro comes with) can be quite neat. Luckily, there is a trial account where you get some “getting started” credit. If you don’t boot up the most powerful VM configuration right away, there is plenty of credit to get started. I won’t explain the process of setting up a VM here, as it is very easy and self-explanatory. I set up a windows/data science VM, and connected using Remmina – and wouldn’t you know it Julia is right there on the desktop: REPL, Juno, and Jupyter right next to each other:

Let’s try to open Juno, because… you’re worth it! (click to enlarge)

I’m just adding  a package, loading it, creating some data, and plotting it (using a theme from PlotThemes.jl). Everything works fine, although I should note that Plots.jl took a while to load the first time around, as I’ve chosen the smallest VM available. Since we’re using JuliaPro, we could have using Gadfly or PyPlot instead, and it would have been compiled already.

From here on, it’s up to you what to do. Analyse the stars, try out MXNet.jl, predict company defaults, or whatever you think is interesting.