NoSQL Now! talk summary and links: Polyglot Persistence in Windows Azure

Thanks to those who attended my session on Polyglot Persistence in Windows Azure today at the NoSQL Now!conference in San Jose. Here are slides and a few notes from today's session and follow-on questions.

 (download )
How will Windows Azure provide NoSQL database support? Today, Azure offers Table Storage as a NoSQL key/value store. Additionally, several partners have begun offering database "as a service" running in Windows Azure. For example, MongoLab and MongoHQ provide Azure-hosted MongoDB, while Cloudant provides Azure-hosted CouchDB.

Some of these databases are available directly through our partners' web portals, while others have also integrated into the Azure Store as part of the Windows Azure portal. Here's an example of MongoLab's MongoDB integrated in the store:
For self-hosting, several partners have built virtual machine images, installable via Azure's VM Depot. Here's Neo Technology's Neo4j 1.8: What, exactly, is VM Depot? VM Depot is a repository of community-created Linux-based virtual machine images. In terms of NoSQL, there are a few NoSQL database images available today. For example, you'll find Neo4j, MongoDB, Redis, and Riak.

What does VM Depot cost? VM Depot is free: Free to publish images and free to download images to your Azure account.

What are the architectural considerations for integrating multiple NoSQL databases in my app? Are there standard practices? As the Cloud Ninja Polyglot Persistence project demonstrates, you can choose to either make direct database calls or implement an abstraction layer, implementing such patterns as repository. When going with a repository pattern, this allows you to swap out database engines with reduced impact to your existing code base, although it's possible you'll need to make adjustments to your app's data access API.

How do I choose a specific NoSQL database implementation? Can you please recommend one? For key/value storage, Azure Table Storage offers massive scale (200TB per namespace) and provides very fast storage and lookup. As for 3rd-party vendor offerings, I really cannot give specific recommendations, but I can offer some food for thought when making your decision:

  • Look at the company's longevity, financials, funding, etc.
  • Does the vendor provide Professional Services support?
  • How big / popular is the community? Consider forums, web presence, conferences, etc.
  • How robust is language support? does the product offer direct API's when using a non-supported language?
  • How active is the project? Are there frequent updates? Can you view the code (e.g. OSS)?
  • Will the database engine run on your target OS? Some databases may be Windows-only or Linux-only.

What was that super-cool zooming app you used during your demo??? I was using , written by Mark Russinovich.

Where can I find more information about the stuff you talked about today? Here are some informational links from today's talk:

There are a few more resources we didn't talk about, but should still be valuable:Zoomit

Speaking at MongoDB NYC June 21st!

I'm excited to announce my upcoming talk at : Building Hybrid MongoDB Apps on Windows Azure! I'll be co-presenting with  from MS Open Tech.

Full session abstract:

Between IaaS, PaaS, and SaaS, Windows Azure has a veritable cornucopia of services and features to help architect hybrid apps. In this session, we'll show a multi-tier twitter-tracking node.js app pushing MongoDB data to Azure Web Sites using WebSockets, with PHP and ASP.NET clients for the Web and the desktop. You'll see how this can be easily done with Virtual Machines, Virtual Networks, stateless Cloud Services, and Web Sites.

This is a fun talk with a cool demo app!

The registration link is on the - just scroll down a bit and register through Eventbrite. See you there!

main event page

Headed to CodePaLOUsa 2013!

If you're in Louisville, and you're a software developer, you're in for a treat, as kicks off tomorrow, April 25. What is CodePaLOUsa, you ask? Well... it's Software Development Madness! And Thursday morning, I'll be boarding a flight directly into this madness.

The pre-conference workshops are Thursday (which sadly I'll miss, since planes do not yet travel at light-speed). Then Friday morning, keynote speaker Richard Campbell (of .NET Rocks fame) kicks things off, followed by two days of awe-inspiring sessions!

I'll be presenting a look at the : Node, Java, PHP and Python to be exact. This is a demo-heavy session, showing how consistent (and extensive) the various SDKs are (and available on github in case you want to tweak them). (hint: This is the session to attend, right after the keynote. I promise to make at least one stupid pun you can chastise me about...).

Of course, there's always the chance (however small) that you actually want to see other speakers present stuff. In that case, peruse the illustrious and see what a great line-up you have to choose from!

speaker directory

MongoSV 2012: the 3 aaS’s of MongoDB in Windows Azure

10gen is holding its annual conference this week in Silicon Valley, December 4. I was originally scheduled to co-present a session at the event, along with and 10gen engineer Sridhar Nanjundeswaran

But fear not! Doug and Sridhar are still giving the talk. This session, titled “The three aaS’s of MongoDB in Windows Azure,” will go over deploying MongoDB in Infrastructure-as-a-Service (IaaS) and Platform-as-a-Service (Paas). And… there’s now a MongoDB Software-as-a-Service (SaaS) offering, directly integrated in the Windows Azure Store:


This session is at 11:30 PST. Doug and Sridhar will show and compare all three approaches. If you’re headed to MongoSV, please consider sitting in!

Kickin’ it OSS Skool in Azure: Paris, December 4!

Life is good in WindowsAzureLand, especially for those building OSS-based apps. We have language SDKs for , , , and . We have . We have hosted databases like and . We have virtual machines. We have command line tools for Mac and Linux

Well then… we’re spending an entire day giving presentations and demos, at our Windows Azure Open Platform Summit! This one-day event will take place December 4 in Paris, at the .  My teammate will be co-presenting with me, and we’ll also be joined by keynote speaker Karandeep Anand

You can find the full agenda and signup link here

  • What does OSS mean for Windows Azure?
  • Infrastructure-as-a-Service, with virtual machines and virtual networks, supporting Linux- and Windows-based applications
  • The Developer Story with Eclipse, along with SDKs for Node.JS, Python, PHP, and Java
  • Windows Azure’s varied data offerings, both SQL- and NoSQL-based, with such technologies as MySQL and MongoDB

Note that this is tailored for technical decision-makers: CTO, Architect, Engineering Lead…