Tales from the Evil Empire

Bertrand Le Roy's blog

News


Bertrand Le Roy

BoudinFatal's Gamercard

Tales from the Evil Empire - Blogged

Blogs I read

My other stuff

Archives

What’s the deal with Orchard and NuGet? Does Orchard suck?

Damn, Rob saw right through the PR lies of Phil Haack about the new NuGet gallery and figured it all out. Kidding, kidding. For your enjoyment and context, here is Rob’s post:
http://wekeroad.com/2011/12/06/nuget-and-orchard/

Phil made a thoughtful answer to the post where he gives the rationale behind the decision:
http://wekeroad.com/2011/12/06/nuget-and-orchard/#comment-380571113

What I want to address here is what that means (or not) about Orchard.

“Why wasn’t it fast before?”

Because by default, back when the NuGet gallery was first built, Orchard was grossly under optimized. We made a lot of progress, but it still is under optimized out of the box --in a number of ways-- which is why we’re having this discussion for the 1.4 release:
http://orchard.codeplex.com/discussions/274921

One thing you cannot accuse the Orchard team of is premature optimization… But seriously, there are options available today: installing the cache module, or the combinator module. Or custom, in-site optimizations.

So could the NuGet team have optimized its gallery instead of mobilizing several engineers over a few months to rewrite it? Sure they could have, but it so happened that they didn’t, for reasons Phil explained better than I could.

As a matter of facts, our own gallery site, which just passed the million-download mark, still uses that same codebase that NuGet was using before. The new NuGet gallery doesn’t display total download stats (because the home page is now static html) but I believe it’s around 3 million so we’re looking at a similar scale here. Just visit http://gallery.orchardproject.net/ and you’ll see that it’s performing quite well. So what’s the deal here?

Well, we did spend the time to apply a few optimizations:

  • We profiled the code and fixed the biggest bottlenecks. Those fixes, of course, now benefit all Orchard users.
  • We profiled the database queries (using Ayende’s excellent NHProf) and optimized the biggest offenders.
  • We activated output caching.

All optimizations that NuGet never saw applied. And well, see for yourself, it’s not too bad. We’re not quite done, there is a whole lot more we can and will do, with what limited resources we have (hint: a lot less than NuGet).

We’re not the only ones: more and more big sites are going online with Orchard, with good performance.

But Rob also says something interesting and expresses a perception that I’ve seen many times:

“I’ve deployed Big CMS’s before as a solution for clients and every single time we decided to move away. They’re great for getting off the ground – but after a while there’s just too much friction.”

That is true of some CMS, but not all. In the case of Drupal or Orchard (not what Rob used, I checked), my own experience and that of many others is that because the content model is factored at precisely the right level of abstraction, it’s actually sometimes harder to get off the ground, but the friction diminishes over time. Where a more traditional application requires you to pile functionality on a relatively monolithic data model, modern CMS allow you to add functionality in a completely decoupled and unobtrusive way that puts the composition exactly where it needs to happen, somewhere between individual properties and full types.

Comments

TiGruu said:

Why not using Orchard to power the new asp.net site ?

# December 7, 2011 6:17 AM

Bertrand Le Roy said:

I don't know, you should ask the people in charge of it, such as Jon Galloway or Scott Hanselman. One reason is that they started the new site before Orchard was viable.

# December 7, 2011 12:07 PM

Klaxon said:

also possible that they thought Umbraco was better for their needs. umbaco is still "dog fooding" the asp.NET tech, + its editing pages are quite different which can bring pros and cons even ignoring technology rendering pages

ppl probably understand you want protect to your baby, but when you not admit possibility Umbraco can be chose over Orchard for valid reasons - in every public response to this question .. ppl can see thru it

I imagine is your belief that Orchard "better" than lots of things, and maybe even team existance in MS depends on getting big famous sites, but I think ppl just want see you be consistent: say you are happy to coexist in the .NET CMS market, or not

# December 7, 2011 12:33 PM

koistya said:

I suspect having Orchard as a core engine for asp.net and nuget.org would increase time in the feature spent on adding new functionality and maintenance because it's code base is a  ...not ideal)

# December 7, 2011 8:47 PM

ASPSmith said:

You can find NuGet stats at http://stats.nuget.org/, though it's not exactly fast.

# December 8, 2011 11:15 AM

Klaxon said:

wld you prefer if I blog that my comment never made it thru moderation & isnot visible on your site?

# December 8, 2011 1:28 PM

Carlos Eduardo Miranda said:

That is perfectly pointed out, Bertrand...Orchard is getting his way, if they like them or not....the product is very robust and taken care by the Comitte and the community.....Heads up!

# December 8, 2011 6:26 PM

Robert said:

Good work with Orchard.  It's too bad that other Microsoft teams are not eating the dogfood.

# December 9, 2011 1:45 AM

Kepha Mose said:

Why are you not using Orchard for your blog?

# December 14, 2011 4:53 PM

Bertrand Le Roy said:

@Klaxon: what could you possibly be referring to? I've praised Umbraco on Twitter many times, as Niels can testify. Where are these "public responses" you are referring to?.

# December 18, 2011 9:32 PM

Venkat said:

Hi Scott,

Can you share your thoughts on why Microsoft chose not to use Orchard CMS and chose Umbraco instead?.

If it was a timing issue, can you share what the future plans for Orchard are within Microsoft properties?

-venkat.

# December 21, 2011 10:52 PM

Bertrand Le Roy said:

@Venkat: I doubt Scott monitors the comments on my blog. You'd have better luck contacting him directly.

# December 23, 2011 6:35 PM

Bertrand Le Roy said:

@Petar: not anymore from what I understand: it's EF now.

# December 23, 2011 7:27 PM