May 19, 2012, 4:36 am GMT  

Postings

Speedy Web

With Google incorporating a “website speed” factor into site rankings, it has created renewed interests in rendering performance of web sites/apps. As a techie who has spent most of her career around web app delivery & performance, I’d like to highlight some (known) techniques and offer a few insights.

Browser-Side Optimization

Steve Souder identified 14 rules in his book for optimizing the performance of any given web page:

  • Make Fewer HTTP Requests
  • Use a Content Delivery Network
  • Add an Expires Header
  • Gzip Components
  • Put Stylesheets at the Top
  • Put Scripts at the Bottom
  • Avoid CSS Expressions
  • Make JavaScript and CSS External
  • Reduce DNS Lookups
  • Minify JavaScript
  • Avoid Redirects
  • Remove Duplicates Scripts
  • Configure ETags
  • Make Ajax Cacheable

These rules are primarily focused on reducing the impact of bandwidth, network latency, and the rendering of html/javascript/css.

Server-Side Optimization

As web applications become more complex and database-driven, a sluggish backend may completely negate any performance gains from client-side optimization. Back in 2003 when I managed the World Health Organization’s website, we employed a CMS tool that published all the content in static html. This allowed us to deliver a large quantity of (frequently updated) content without needing to scale out the CMS to handle millions of requests. (more…)

Filed under: httpd,web X.0 — appgirl @ 10:57 am
Comments (1)

Keeping the lights on

Having spent years running 24×7 internet-facing production systems, I find that the monitoring element of an application delivery environment is often the last item to be addressed and built outside of the application delivery architecture. As we continue to build our application delivery infrastructure in the cloud, having a good monitoring strategy will allow us to arm ourselves with the information we need to make intelligent decisions.

So exactly what should be monitored?

Availability

The first element in a monitoring strategy is to determine whether the application is accessible. The most simplistic form of determining availability is ping. However, as most applications are obscured behind a load balancer, a ping response doesn’t necessarily mean that the application is responding to requests. Use a monitoring system that can speak application-layer protocols to ensure that the application is indeed healthy and responding to user requests. It’s best to leverage a 3rd party solutions that can assess availability from multiple networks and provide an unbiased view on the availability of the application.

Resource Utilization / Load

Next element in a good monitoring strategy is to determine how healthy a system is. Tracking the load of various system components will enable us to uncover bottlenecks within the application delivery environment. Leverage SNMP to capture and record utilization statistics on CPU, memory, disk IO, network IO, threads, and so on. Graph these stats to establish baseline and find correlations between each monitored element. (more…)

Filed under: cloud & virtualization,web X.0 — Tags: , , , , , , — appgirl @ 9:15 am
Comments (1)

How to get started in the Cloud

Here’s a presentation by the CEO of GoGrid at CloudWorld09. He discussed:

  • What is Cloud Computing – The Cloud Pyramid
  • The Benefits of Cloud Computing & Hybrid Hosting
  • What can Cloud Computing do for me and my business
  • The Competitive Landscape & Key Differentiators
  • Cost Savings of Cloud Computing – pay only for what you need
  • How to determine when to utilize Cloud Computing
  • How should you get started using the Cloud?
  • How to identify what to put in the cloud first (more…)
Filed under: web X.0 — Tags: — appgirl @ 8:04 am
Comments (0)
Older Posts »

My Tweets

Fans

AppGirl on Facebook

See What I'm Uncorking

Powered by WordPress