Talk: Develop & Deploy Node.js App on Windows Azure

Node.js adoption is quite slow in Indonesia, also in Bandung, at least that what I know of (I’m trying to find Node.js developer to help on my company projects, and so far found the same guys :)). So, when I’m asked to deliver a talk on a regularly hosted Tech Thursday by Telkom Bandung Digital Valley (BDV), I quickly jumped into the event to talk about Node.js. Much better, I also talked about how to deploy Node.js app to Windows Azure. Hopefully that 2 hours talk gave the idea how easy to get started developing on Node.js and also deploy to Windows Azure.

Everything I talked is on this slide:

Source Code

I put together the demo source code and published it on GitHub: https://github.com/andriyadi/NodeAzureStorageSocketIO. Make sure to follow the instruction on that repo to try the code on your machine.

The live demo of that project is here: http://intro2node.azurewebsites.net/
I’ll try my best to keep it alive as long as possible :)

That live demo is actually reflecting master branch of the GitHub repo mentioned above. If you’re wondering how I managed to publish to Azure from GitHub repo, make sure to follow this tutorial: http://azure.microsoft.com/en-us/documentation/articles/web-sites-publish-source-control/

The demo source code is based on sample from Windows Azure website published here. If that demo is based on Jade template, I use EJS view engine instead. I find Jade is intimidating :) So for all of my Node.js project with ExpressJS, I always use EJS.

The demo also implements Socket.IO 1.0. All this time I always use Socket.IO 0.9.x and it works without significant problem. But when I use v1.0 in this demo, I can’t make it work right away. Finding examples of v1.0 was quite hard, so I decide to struggle myself. So, here it is, working example of Socket.IO 1.0. You are welcome :)

Continue reading Talk: Develop & Deploy Node.js App on Windows Azure

Thought on MongoDB Document Encryption on Windows Azure

My company was asked to deploy a system managed by an Indonesia government department to Windows Azure infrastructure. Apparently, the biggest concern of enterprise and government to deploy internal information system applications to 3rd party cloud infrastructure is security. There should be a way to avoid unwanted access to the data by any parties (including the cloud infrastructure owner), but the owner of the system.

In my case, the system uses Node.js as development platform and MongoDB as database system. MongoDB document encryption needs to be implemented in addition to any built-in security measure.

Please note that this post is used as my note of my research so far, not as a guideline. As the project is not yet started, there’s no way I know which one of the alternatives I describe here that actually works. Will update later with more practical guide.

Continue reading Thought on MongoDB Document Encryption on Windows Azure