Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Should an intranet web application utilize a CDN

With the Announcement of the Microsoft AJAX CDN a debate arouse this morning about whether utilizing a public CDN for common libraries was a good idea for intranet applications. I can see both sides of the argument but without revealing too much of our discussion I wanted to put forth the topic on Stack Overflow to see other's opinions.

like image 543
ahsteele Avatar asked Sep 16 '09 15:09

ahsteele


3 Answers

I'm a big fan of using CDNs for these things, but I think it would be a rare exception when using Google or Microsoft's CDN would be appropriate for an Intranet application.

  1. For users on an internal network, an external request (even to a fast, nearby CDN) will be much slower than an internal request.
  2. Often, these things need to be accessible when no Internet connection is present on the client.
  3. Even if you do have geographically dispersed VPN users, all of their requests are often being routed through the company's network anyway, making the CDN request even slower than the VPN-local request.
like image 86
Dave Ward Avatar answered Sep 28 '22 19:09

Dave Ward


The main advantage of a CDN is that it delivers content from close to the user. Your intranet is closer still!

The second advantage is that the user might already have the content cached, which again isn't all that relevant on your intranet - you can set up caching to your own requirements, and delivering the content will be fast anyway.

The main disadvantage is that you put a key piece of your application into someone else's hands. Unless the locality advantage is important, which in your case it isn't, that's a pointless risk.

The only people who might benefit would be remote workers, VPN'ing into your intranet, but even then the risks are likely to outweigh the benefits.

like image 42
RichieHindle Avatar answered Sep 28 '22 20:09

RichieHindle


Well it depends on several things.

Is this intranet just at one location or spread across multiple locations? If so are those locations in the same state/country/contininent? Obviously the more locations you have and the more distance between them, the more utility a CDN would provide.

What server(s) will this be hosted on? Are the servers used to host this application already bogged down from other running process/sites, etc? The less server resources you have available, the more beneficial a CDN will become, as it will reduce the amount unnecessary server traffic and resources being used.

How many people will be using this application simultaneously? If you are going to have lots of requests coming in every minute/second for static content like images, scripts, etc then more and more of your resources are going to be used delivering that content, slowing down the application as a whole. This one goes hand-in-hand with the above question as well.

There's many other things to consider when looking at a CDN, but those are a few of the major points to think about.

like image 26
TJ L Avatar answered Sep 28 '22 18:09

TJ L