Cheap, Commercial CDN – the “eat local” strategy in Sustainable Web Design


The topic today is the rise in affordable (for smaller websites, that is) Web Performance Optimization (WPO) and Content Delivery Networks (CDN) to increase web performance, reduce energy consumption, and lower the amount of redundant traffic moving through the Internet.

First off, some new tools for Web Performance Optimization, or WPO. There have been some companies catering to larger firms in this area for a couple of years. I’ve listed some below (feel free to contact me with more if I’ve missed somebody).

Last week, I discovered WEBO

http://www.webogroup.com

Their package, for about $100, promises to bring the multiple benefits of web performance to small and midsize web design and development shops, as well as smaller clients who can’t afford the larger WPO services. The thing I like about their approach is segmentation – they offer several WPO products, targeting larger companies, e-commerce sites (sorely needed), and they also have an affiliate program.

The value of relatively low-cost, turnkey approaches is that it gives an 80-20 benefit to the web performance space. Ideally, sites would be sweated over to wring out every last drop of performance and energy minimization, but that’s not likely to happen except for the largest companies. Right now, we have a landscape where large websites are using lots of web performance optimization (had have for years), while smaller sites don’t use any at all. In my last check over at HTTPArchive, over 1/2 of all websites don’t use any .httpaccess or server-based caching, one of the biggest ways for a website to reduce its footprint in the Internet ecosystem.

implementation of cache control on websites, august 2012
HTTPArchive shows 1/2 of websites use NO cache control

So, a company like WEBO has the potential to help lots of smaller web design and development firms fix their WPO, and in turn, sustainability problems. Does this mean they can hand off sustainability? Nope. Sustainability is a meta-framework which covers WPO, as well as Search Engine Optimization (SEO) and pretty much everything else that goes into designing and implementing a website. The firm still has to understand what web sustainability requires, and understand how WPO fits in. Performance optimization is part, but now all, of Sustainable Web Design.

What I’m hoping to see is that the new class of WPO companies working with smaller clients begin to incorporate sustainability into their own thinking, and educate their clients in it. Right now we have a rash of “green” web hosting companies – it has turned into a major competitive claim in that space. When will we see the first WPO company which is not just about speed or performance, but about being “green”?

There’s got to be a lot of potential good marketing in that move.

Another area of interest is Content Delivery Networks, or CDNs. CDN systems have two big advantages with respect to sustainability. First, by linking to a CDN instead of your own site, your load content in parallel from two computers. This reduces the HTTP request load on your local server, and the in-parallel downloading might even be faster than otherwise.

Second, if you use standard JavaScript libraries like JQuery via a CDN, the user only has to download it one time, for your site and all other sites using JQuery. Since JQuery is one of the main reasons for the rise in average web page size during the last 2-3 years, this is potentially a huge network savings.

In sustainability language, a CDN is the equivalent of “buying local”. In the physical world, buying local means that you reduce the carbon footprint of food and other items, since they are shipped a short distance instead of over the ocean. On the web, CDNs put your website into numerous “edge servers”, positioned worldwide so they are close to the people requesting your pages. Each packet of data jumps through fewer wires and routers on its way to its destination. Unlike the real world, we aren’t directly supporting local business buy requesting our bits through a local CDN, but it is a good compromise between local access and global reach, which is why people use the Internet in the first place.

All web designers and developers, unless they are already using a Content Delivery Network, should be linking to their JQuery and JQuery UI via Google  or Microsoft. Um, its free:

I note that Modernizr, another very popular feature-detection JavaScript, is also on these services. Many sites run with these days with JQuery + Modernizr, which means one might have all their JavaScript remotely hosted, except for site-specific code.

Here’s some additional common files hosted on the Microsoft CDN:

The Microsoft site also has a code minifier to shrink JavaScript and CSS Files. They also support secure connections (SSL), while Google in Aug 2012 did not. Bundling these WPO features is a good thing – they’re more likely to be used by more people.

Here’s Google’s list of common CDN libraries as of August 2012.

And here is a pretty complete list of the programs supported by AOL, Google, Yahoo, and Microsoft:

http://cdncatalog.com/

For some of the smaller libraries, you can use Cached Commons (http://cachedcommons.org/)

  • Raphael (useful for SVG)
  • JQuery plugins (LOTS)
  • 960.gs and Blueprint (boilerplates)
  • Dojo (CMS)
  • ExplorerCanvas (provide canvas support for old IE)
  • Box2D, Processing.js and Three.js (3D with WebGL)

If you’re using Twitter Bootstrap, check out BootstrapCDN.

What to do for the unique content on your website, not part of a common CDN library? There are several content delivery networks that are affordable for smaller design shops where the code and assets unique to your site can be hosted. In the past, this has been impossible unless you were a big telco.  Akamai has been doing CDN since the end of the last century, and has confined itself to working with the big boys, and the same seems true of LimelightVerizon, and most of the lists of traditional CDN providers. They have helped these large firms deliver streaming video, which would otherwise overwhelm the web with traffic.

In contrast, we now have Amazon’s new Cloudfront CDN, clearly aimed at smaller sites – see their price listing, or try their calculator for your own site. They also have a free usage tier running for 1 year. As this article in the Economist noted, Amazon made a huge, and correct bet, that cloud services would become a major part of their overall revenue.

Unfortunately, Amazon isn’t saying just how “green” their cloud service is in terms of energy and resource consumption at the data center. I’ve also been unable to locate comparisons of cloud services based on energy and green IT practices.  If you’re only interested in speed, you might look at: http://www.cloudclimate.com/cdn-speed-test/

Figuring out that part of sustainability is going to be hard. We either have to trust the CDN providers to self-report, or listen to established environmental advocacy groups. Unfortunately, the latter can get it wrong – witness Greenpeace’s re-grading of Apple’s data centers after giving them a horrible grade a few months ago. Studies like this on on Wired show that the cloud is probably greener than the standard webhosting model by about 30%, but I’m waiting for Jevons’ Paradox to kick in. It does seem that powering the cloud via solar is, at present, pure greenwash.

The other problem for CDN sustainability will be local sourcing of electricity for “edge” servers delivering “eat local” content. If the servers are local, they are using electricity from the local grid. I’m betting that the electricity supply in most countries is far from green – making the CDN wasteful in “sourcing” for their energy needs. This is probably why Google, and other companies, are also poking into creating their own power as well as bandwidth.

But even if the cloud uses the same power as traditional hosting, the benefits of “eating local” and sharing common cloud libraries makes it a net positive for sustainability.

Other more affordable CDN services (or rather, ones that seem willing to take small clients) include MaxCDN ($90 for 1TB/year), Rackspace Cloud CDN ($10 GB/month) or netDNA (looks like about $60 TB/month) or cloudCache ($12/month for sites transferring less than 200 GB/month.

So, how would CDN fit into your Sustainable Virtual Design Strategy? You could create a roadmap for site development, depending on expected traffic. Your Sustainable Web Design document might include a section that reads like this.

NOTE: these are examples, not an exclusive endorsement of the specific cloud services mentioned!

….To reduce redundant use of Internet resources, we support cloud computing, in particular Content Delivery Networks, or CDN. CDN uses servers which replicate your content locally, the equivalent of “eat local” for the web, enhancing the green-ness of your project.

We recommend our clients explore using a CDN to increase their site’s sustainability. Our development process includes support for getting your site onto a performance-boosting CDN.

  1. Basic Free CDN Support
    1. We develop with common libraries like JQuery and Yahoo YUI to leverage free CDN services, and automatically connect your site to these CDNs. We provide code allowing fallback to local libraries if the cloud service is unavailable
  2. Paid CDN services
    1. For sites expecting to transfer less than 100 gigabytes of data per month, we use cloudCache basic service
    2. For smaller sites transferring less than 1000 gigabyte of data per month, we automatically ink to free CDN services, including Google Hosted Libraries, Microsoft Ajax Content Delivery Network, and CachedCommons
    3. For medium-sized websites, we use Amazon CloudFront, Rackspace, MaxCDN, or cloudCache. We can help our clients integrate their website with these services for maximum performance and web sustainability.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s