How to deploy Neo4j to Azure with Visual Studio 2012 - Deploy Neo4j to Azure

UPDATE 7/12/2013: This blog post series was created with Azure SDK 1.8. I spent a bit of time trying to upgrade it to Azure SDK 2.0 and ran into too many breaking changes and not enough motivation to figure them all out. I recommend following the steps in this post: “Point-Click Deployment of Neo4j to Windows Azure“ instead. Thanks, Jon

Part 0. How to deploy Neo4j to Azure using Visual Studio 2012 – Overview

Part 1. Create Azure Account and Prepare Azure for Neo4j Deployment

Part 2. Download the Azure SDK and Configure Azure in Visual Studio Server Explorer

Part 3. Download and Configure the Neo4j.Azure.Server Solution

Part 4. Upload Java and Neo4j to Azure

Part 5. Deploy Neo4j to Azure

<—Previous Step

Update Port (Optional)

If you want to change the port it is deployed to then double click “Neo4jServerHost”, select Endpoints and change the Neo4j endpoint value.


Deploy Neo4j to your local Azure Emulator

In VS, Select Neo4j.Azure.Server and hit CTRL+F5. That will launch the local Azure Emulator deployment.

Right click on the Azure Logo in your System Tray and select “Show Compute Emulator UI”

Navigate to the green node under Neo4jServerHost and wait for it to finish uploading and installing.

When it is complete you should see this message:

And you’ll see a blank Java window….that’s a good thing.

Launch the local Neo4j Web Admin App

Open your browser and go to http://localhost:5000/webadmin. You should see this… If you do that’s awesome. It means it works locally!

Deploy Neo4j to Azure Cloud Services

We have to update the connection string before deploying to the cloud.

Back in Solution Explorer, Open ServiceConfiguration.cscfg
Replace UseDevelopmentStorage=true to the same “Preview connection string” you copied into Program.cs earlier.
Right click on the Neo4j.Azure.Server project and select Publish…
Select your subscription, click Next
You might get this prompt if you don’t have any Cloud Services configured. Enter the name of the service (whatever you want), select your region (should be the same as the one you created earlier, for me that is West US) and click OK.
Select the appropriate Cloud Server, select Staging Environment, Release Configuration and Default Service Configuration and click Next and then Publish.
Deployment will start…

You can monitor the deployment from within Visual Studio in the Windows Azure Activity Log or on the Azure Portal here:

If all goes well you can hit your Neo4j webadmin endpoint to test it out. You can find the base of the URL in the Windows Azure Activity Log item for the deployment.

Add the port and /webadmin to the end of the url like so…]

Hopefully it loads…you should see the web admin app! It’s a great thing if you do. It took me so long to get to this point, hopefully it was a breeze for you.

Okay, now you can deploy to Production. Just repeat the same Publish steps that you did above, but select Production instead of Staging

Let VS finish publishing to Azure. When it is done you can hit your production endpoint the same way you did staging, but this time use your Cloud Service name, in my case it is neo4j2service. – replace neo4j2service with whatever you called your Cloud Service and if you changed the default port, change 5000 to whatever you changed it to.

If all goes well it will load up the Neo4j console and you are good to go.

Congrats on getting all the way to the end of this EPIC post series!! Hopefully you found it useful. Do LMK if you run into any issues.


<—Previous Step