Archive for August, 2008

Brand new server cluster at b5media

This past week, the technology team at b5media threw on the afterburners to get us moved onto an entirely new infrastructure.  After months of planning and investigating a dozen hosting providers, we have finally flipped the switch on the next phase of growth.

Having outgrown our previous datacenter and infrastructure, we have moved to brand new servers located at ServerBeach.  We have taken a different philosophical approach to our infrastructure than we have in the past to allow for future growth.  Rather than custom purpose-built servers we had in our old datacenter, we have moved to plain vanilla commodity servers, which are inexpensive and easily replicated as we grow. 

By moving to more vanilla servers, we are actually decreasing the power of each machine.  Although these machines use newer, faster processors, they are not the high-end quad core ones we had in our old infrastructure.  By sacrificing a bit of power, we save a lot in costs.  To compensate for this, we have employed more machines… almost twice as many.  Without touching anything else, this change alone would have a significant impact to our speed.

We are transitioning away from an NFS mounted shared filesystem to a local filesystem.  Now, our web pages are loaded from a local hard drive instead of a network mapped drive.   This change too, on its own, would give us a huge performance boost.

In order to remove NFS from the infrastructure, we needed a different solution for Wordpress caching.  In the past, we were using a combination of WP-Cache and WP-SuperCache which create static files to be served.  We have now rolled out batcache to our sites, which uses memcached to store the blog information.  Again, this change has had a massive impact to our speed.  Initial tests show the performance of batcache to be phenomenal!

We have replaced our hardware-based load balancer to the software-based nginx load balancer.  This allows us to keep to our philosophy of using commodity hardware, while being ridiculously fast.

When you put all of it together, these changes will make our new infrastructure faster and much more robust.   It also lays the foundation to continue to scale out by adding additional machines as needed.  And this is only the first phase with more changes to come! 

Huge kudos to the team for pulling off an extremely complex migration in an unexpectedly short period of time.  The entire team contributed in some way, and especially Lee and Brian plowed through challenge after challenge during the move.  Awesome work!  You guys rock!

8 Comments

5 things every web developer should know about IE8

The next version of Microsoft Internet Explorer, version 8 went to Beta 2 yesterday, on its final path to release, probably this fall (although Microsoft hasn’t announced a final release date yet).  Although I almost exclusively use Firefox for my browser, anyone that is designing or developing sites needs to be aware of some of the changes coming in version 8. 

I got my hands on the beta at a preview demo on Tuesday, and there are definitely important changes from a users perspective, but from my view, we need to be aware of the changes under the hood.  After meeting with the folks from Microsoft Canada and chatting with Pete LePage, Product Manager for Internet Explorer from Redmond, here are some of the most important changes from a web development perspective:

1. It is coming

Latest estimates put Internet Explorer at over 70% of the browser market.  When IE8 is released, it will be pushed as part of Windows Update and all new computers will come with it pre-loaded.  It is your parents browser, and let’s face it, that’s a pretty big audience.  We need to be sure that both our existing sites and newly built ones look okay.

2. It is standards compliant

Or so they say.  According to LePage, Internet Explorer 8 is fully compliant with CSS 2.1.  In fact, he says that every developer had a printout of the W3C spec on their desk for quick reference, and that as the team went through and found areas of ambiguity, they submitted changes back to the W3C. 

The main problem is that the interpretation of the written spec is somewhat subjective, so we will still see areas where pages behave slightly different between browser types.  It is still encouraging that Microsoft has embraced the standards and are working to bring their browser closer to the industry standards.

3. It has a new rendering engine

Obviously, by default, pages are displayed using the IE8 rendering engine, but a new "Compatibility View" feature allows you to specify which engine to use in your HTML.  IE8 ships with the IE7 engine built in, so that you can view your pages in the older browser without having to have multiple computers.  The IE8 rendering engine does behave differently from IE7.  This means that even within the Internet Explorer family, pages could look different, not to mention the differences to Firefox, Opera, Safari and others. 

4. It has developers tools built in

For those of you that swear by Firebug, IE8 has built that functionality into the browser.  You can edit your HTML in a docked window just like Firebug and view your changes as you make them.  It also includes a Javascript debugger and page profiler so you can see which parts of your page take longest to load.

5. It has new features to promote your sites

In addition to RSS, IE8 introduces the concept of Web Slices that you can define on your pages to allow users to subscribe to a specific part of your site, perhaps a recent posts, or friends update box.  Deployment of Web Slices simply involves setting a specific CSS tag to the box you wish.  For the more ambitious, IE8 introduces Accelerators and visual search suggestions so that you can build applications that your users can use to interact with your information. 

Firefox still seems to be the browser of choice for web developers, but it’s always important to test your sites in the browser that most of your audience is using. 

1 Comment