Listen to the Audio (MP3)
[Mike] Hello. This is Mike Woodring. I’m speaking with Paul O’Fallon about his course Node on Windows and Azure. Paul has more than 19 years of experience in the IT industry, spanning academic, startup, and enterprise environments. As an enterprise architect, he is responsible for providing strategic direction and implementation guidance in the application architecture space. Paul is also an active open-source contributor in the Node.js ecosystem. Hello, Paul. It’s good to have you with us, today.
[Paul] Hey, Mike. Thanks for having me.
[Mike] So before we dig in, I thought it would be good to start by parsing the title of your course just a bit, which includes two words that some of our viewers may not be familiar with, at least in the same sentence; and that’s “Node” and “Azure.” Can you give us a high-level overview of what Node is, what Azure is, and how this course incorporates those two topics together?
[Mike] Excellent. So who is the target audience for this course, and what kind of skills should they have before diving in?
[Paul] I think the target audience would be someone who has at least some basic exposure to either Node or Azure and would like to leverage that to learn more about the other. Of course, that’s not strictly required; but the course itself doesn’t go into much background about either of the foundational technologies. You can certainly watch the course, however, and follow along with the examples without any prior experience.
[Mike] So why do you think Microsoft has placed so much emphasis on Node?
[Paul] That’s an interesting question. I believe they saw an opportunity to get involved early in an evolving platform and to make a difference. Node is still a rising star, and it was smart of Microsoft to associate themselves with it. I know when I first began using Node, the only way it would run on Window is with the Cygwin emulator; and even that was dicey. Microsoft has helped port Node to Windows, as well as provide first-class support for running Node applications on Azure. I can honestly tell you that half the reason my last computer was a MAC was so I could build Node applications. And with the support that Node now enjoys on Windows, that reasoning really isn’t valid anymore. Also, I think it’s a win-win situation. Node brings developer credibility to Azure, at least speaking in terms of the traditionally non-Microsoft developer. And Microsoft support for Node on Azure brings enterprise credibility to Node. There are several other smaller providers who support running Node applications in the cloud. But few, if any, with the enterprise clout of Microsoft.
[Mike] Now, as a cloud platform, Azure has quite a large surface area, offering services for storage, virtual machines, websites, and so forth. What specific aspects of Azure do you explore in this course?
[Paul] In this course we talk about accessing Azure storage services from Node, such as table, queue, and blob storage. We also look at accessing the Azure service bus. The course also covers deploying Node applications to Azure, using both the command line, as well as Microsoft’s Web Matrix tool.
[Mike] So in the course you have modules covering both Microsoft’s Azure SDK for storage, as well as your own API. Why two implementations?
[Paul] Well, it’s interesting. Because I originally built and deployed a Node module called Azure to the Node package manager repository before Microsoft did. I had written a module to access Azure blob, table, and queue storage by calling the rest APIs directly. I had assumed that the intersection of Azure and Node would be my little corner of the Internet where I could hang my hat. But little did I know at the time that Microsoft had bigger plans. And so at one point someone from Microsoft approached me about getting the name “Azure” because they wanted to deploy their own module under that name. And I gave them the name and renamed my module to Blue Sky. I debated at the time whether to just retire my module all together, because Microsoft was going to build their own. But in the end I decided that my passion was more around the design of the API I had created more so than the underlying implementation. You see, Microsoft’s API is very complete and strives to be consistent with their APIs that are implemented in other languages. But my Blue Sky API, on the other hand, doesn’t have those constraints and really comes from a different perspective. I was more influenced by the other NoSQL Node modules, such as those built for Redis and MongoDB. So in the end I decided to port my Blue Sky module to simply act as a wrapper around Microsoft’s own SDK so I could focus on the API and leave the underlying implementation to them. Many common storage tasks are easier to do in the Blue Sky API. And to a person familiar with Node, it will hopefully seem more familiar.
[Mike] Well, that makes a lot of sense. Now, nearly all the coverage I’ve seen on Node and Azure involves use of the various web-based admin portals provided by Microsoft. In your course, have you a module that explores deploying to Azure using the command line. Why is that important?
[Paul] I think that it’s a great example of Microsoft reaching out to the Node developer community and meeting them where they are. Many of the existing Node hosting providers, such as Heroku or Nodejitsu, manage their deployments via this command line. And Azure is competing in that space. And so besides the inherent benefits of having a command line capability, it allows developers to interact with a platform in a way that’s most natural to them. Now, I think another example of this is how Microsoft has open-sourced their SDK on GitHub. They went where the developers were.
[Mike] Great. So what topic are you planning to turn your attention to next?
[Paul] So I’ve been thinking about a couple of different topics. One is the Sencha Touch 2 API for building mobile applications using web technology. And another is the graph database Neo4j.
[Mike] Great. Well, thank you very much, Paul. We’re really looking forward to the course, and I hope everyone enjoys it as much as I did.
[Paul] Thanks, Mike.
[Mike] Again, this is Paul O’Fallon’s new course, Node on Windows and Azure. Thanks again, Paul.
[Paul] Thank you.