Open Source Is Good for the New Relic .NET Agent

At New Relic, we like open source.  And personally, working with open source communities is one of my favorite things about programming. It’s hard to overstate the benefit that companies like New Relic get from open source contributions.

The New Relic .NET agent team has just released several projects under an MIT style license. The first is nuget-azure-cloud-services. It was originally authored by Mike Cousins, a New Relic user from Calgary, and has been used to deploy New Relic to thousands of apps running on Azure Web Roles.

The second, nuget-azure-web-sites, is an experimental package for deploying New Relic to Azure WebSites. We expect to add full support for this new PaaS deployment option over the next few months and this package will be the slickest way to take advantage of it.

We’ve also open sourced the agent’s custom instrumentation APIs for custom error and metric reporting, and custom transaction parameters.

Getting Started
The history for the nuget-azure-cloud-services installer package starts just over a year ago. Mike Cousins began doing sports photography in 2001 and was looking for a pre-built website he could use to sell his photos. All the options he found were based in the US, which meant expensive shipping and duty feeds for Canadian customers.

So Mike built Shuttr.com as a personal site for his photos. But soon friends started asking if they could put their photos on it. He began to transform his site into a multi-tenant platform for sharing and selling Canadian Photography, the hub of Canadian Professional Photography.

While he was working on this, New Relic released .NET support. He loved how he could use the increased visibility to manage his Azure cloud hosting more effectively. The only problem was that deploying New Relic on Azure was kind of a pain. So, Mike wrote a nuget package that simplified it and release it as an open source project.

At first, no one at New Relic paid much attention to his project. But a few months later, software engineer Nick Floyd joined New Relic and started pushing to improve New Relic’s Azure user experience. Nick soon discovered Mike’s installer on github and started submitting pull requests. They collaborated for several months – adding new features and resilience to the project – iterating it into a pretty slick package that automates the entire install and deployment process.

By now, even Microsoft was noticing how useful New Relic was for Azure apps. Recently Scott Guthrie, Microsoft’s Corporate VP, demoed New Relic during his keynote at BUILD. One of the key points he emphasized was how easy it was for Azure sites to benefit from New Relic’s deep performance insight because the install / deploy process was so simple. (Thank you open source!)

Next Steps
We’ve opened sourced these other projects because we want to foster more community collaboration. We want to make it easy to fork the Azure install repository and hack in support for the hottest new cloud platform. And most importantly, we want it to be easy for developers to be able to code away their pain and for the rest of the community to benefit from this work.

So please, fork away! We can’t wait to see what you come up with.

For more information on any of New Relic’s open source projects, see newrelic.github.com/nuget/.

Sam Goldstein is engineering manager, agents, for New Relic. He manages Browser Application Monitoring team. He's been writing Ruby for almost a decade and is the author of several semi-popular gems, including diffy and timetrap. View posts by .

Interested in writing for New Relic Blog? Send us a pitch!