In this post I am going to cover different options where you can host your MongoDB database using different options such as DBaaS (Database as a Service), Paas (Platform as a Service) and IaaS (Infrastructure as a Service) using Microsoft Azure.
Option 1 : Using Infrastructure as a Service (IaaS)
In the first option I am using Microsoft Azure dedicated VM to configure MongoDB. This means that you can have your database in your favorite cloud in the same location as your application tier.
Step 1: Configure you mongo DB database on Windows Server 2008 on the VM hosted on cloud (Microsoft Azure). I found an excellent article which demonstrate how to configure your mongodb on Windows Server 2008 hosted on Azure. Instead of reiterating the same thing here does not make any sense, so I am providing you the link to the article. You can use this article to configure your mongodb database server.
Option 2: Using Platform as a Service (PaaS)
For this option I am using mongolab via Microsoft Azure console or alternately you can directly go to https://mongolab.com and create your free account or paid account.
I am starting from Step 0, just to match my Step 1 till steps 3 with the steps provided by Microsoft Azure wizard and to avoid any confusion.
Step 0: Once you are logged in into Microsoft Azure console, select Market place from the list of available options.
Step 1: Select MongoLab as a developer service and select Next arrow
Step 2: Select your plan and click next arrow
Step 3: Click on Purchase
Step 4: Go to your MongoLab dashboard to manage you MongoLab service, this link will take you to https://mongolab.com/
Step 5: Once you are in mongolab Dasbboard, you have full control of your mongodb database, collections, documents, users, profile, etc
Test connectivity using command prompt in Windows OS
Step 1: Before you connect to mongolab database, you need to create users for your database, you have options to create a user as readonly or users with full access.
Step 2: To test connectivity you can use command prompt and enter the following command
$ mongo ds048368.mongolab.com:48368/MongoLab-3 -u <dbuser> -p <dbpassword>
Connecting to mongolab using nodejs
Step 1: install mongodb drivers on node using the command
$ npm install mongodb
Step 2: Create a server.js file and add the following code.
Now you are all set to start your development using MongoDB hosted on cloud platform. Since I am using these technologies for my learning purpose so personally I felt using the mongolab as most convenient option, as this will not have lots of configuration before you actually start your development and you don’t have to run those extra commands to make sure your server is running on the console.
Even though mongolab and Windows Azure VM is hosting mongodb in both the option, but the option have entirely different infrastructure and concepts. For learning purpose you may choose any of this option, but if you are seriously thinking to host your mongodb for your enterprise applications then you might have to do a detailed study on which one suits you better in terms of IaaS or PaaS.
Mongolab also has a partnerships with the cloud provider to offer both Infrastructure as a Service and Platform as a Service. You can learn more @ https://mongolab.com/company/partners/
References and other helpful links