July 29, 2010, 4:45 pm UTC  

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)

Dissecting Amazon Web Services

Just reading this article on AWS and thought I’d share some interesting numbers (in addition to the Quantcast data I shared earlier):

  • 52 billion objects are stored in S3 and that S3 requests regularly peak at 80,000 requests per second.
  • EC2 is experiencing monthly growth of “almost 10%.”
  • Amazon has U.S. data centers in Dallas, Los Angeles, Miami, Newark, Palo Alto, Seattle, and St. Louis, and international data centers in Amsterdam, Dublin, Frankfurt, London, Hong Kong, and Tokyo. (more…)
Filed under: web X.0 — appgirl @ 8:52 pm
Comments (0)

Power your webapp with Cloudera, Hadoop, Hive, Pig, and EC2

Ever wonder how http://www.trendingtopics.org/ collects & process the visitor information from wikipedia? This Cloudera Post walks you through the steps of how to leverage various cloud tools to power a process-intensive web application. (more…)

Filed under: web X.0 — appgirl @ 8:53 pm
Comments (0)
Older Posts »

About

My name is Catherine Liao and you're reading the latest postings of various blogs I follow. You'll notice that the topics tend to center around Cloud Computing, Data Center, Virtualization, Servers, Web Technologies and 24x7 Operations.

These are topics that I'm interested in as I've spent a large chunk of my professional career building, deploying, and maintaining 24x7 application delivery environments. I use the knowledge I've garnered daily in my role as a Technology Solutions Architect for Cisco. I should note that this site is my personal site and does not reflect the views of Cisco.

Feel free to drop me a note if you find this site useful or if you'd like for me to check out your blog. I can be reached at catherine.liao@gmail.com. You can also connect with me via LinkedIn or Twitter.

Looking for less "geeky" content? Check out my travel blog 1-Day Itinerary.

Tweets

Fans

AppGirl on Facebook

Powered by WordPress