Ajax Performance
A blog by Ryan Breen of Gomez
It’s a mad, mad, mad, mad, composite world
November 15, 2006 on 1:35 am | In ajax |In my last post, I spoke of the evolving understanding of Ajax performance within organizations and mentioned some new challenges resulting from reliance on third party content and code. Today, I will give that discussion the consideration it deserves. And sexy graphics!
Circa 2000

Let’s look back to the heart of the .com boom. Web development was a pure three tier model with a data layer, a business layer, and a presentation layer. The browser was typically a thin and dumb (even obtuse, often) client, so all three tiers were encapsulated within a server infrastructure under the direct control of the organization. Also, since most organizations only built for one browser, there was little variability to worry about at that level.
The internet cloud adds latency and uncertainty to the delivery of that content, so most organizations treated this as a cost of doing business, an unavoidable reality of the web, and contracted with a company such as my employer, Gomez, to help monitor and manage the internet cloud. Since the network components were beyond the control of the organization, working with Gomez was considered an insurance policy, typically a reactive measure to minimize downtime.
Circa 2007
Leap forward to 2007, and we have a very different landscape. To an individual organization, the three tier model still applies. The underlying components within the datacenter are likely quite similar, containing some mix of databases, application servers, web containers, and web servers. However, a broad range of third party components are now involved in the system, so there are many more variables impacting end user experience.
SOA components may provide business logic and data to your systems from a third party. You may be using CDNs or DNS trickery to move your content and applications closer to the end user. And you may be doing application composition within the browser itself, ranging in complexity from advertising and CDN hosting of images or media up to entire chunks of the business process being provided by a third party through portlets.
Another complicating factor is the evolving role of the browser. Now there are at least three mainstream browsers that need to be supported, and the browser is increasingly treated like a smart client, an application runtime environment, within which presentation logic is executed to compose the user-facing application from all of these disparate components. Ajax and the trend toward RESTian development is moving more of your application complexity to the end user.
What hasn’t changed is the portion of this system owned by you, the owners of www.acme.com. Everything that happens outside of your firewall, whether it is code or data from third party sites that make up the composite application or presentation logic running within the browser, is outside of your control. But the end user only sees www.acme.com. If any piece of the elaborate web of interdependent services suffers, it is your team that is blamed for the poor user experience.
2 Comments »
RSS feed for comments on this post. TrackBack URI
Leave a comment
Powered by WordPress with Pool theme design by Borja Fernandez.
Entries and comments feeds.
Valid XHTML and CSS. ^Top^
[...] In several earlier posts, I talked about the increasing migration of complexity to the edges of the network, to within the web browser. Today, tools to manage and understand that complexity and how it relates to real user experience don’t really exist, and that’s a problem we have been thinking about for the past year or so. [...]
Pingback by Ajax Performance » If you are reading this post, you are contributing to a benchmark — November 19, 2006 #
Thank you for writing an article specifically about me, the owner of http://www.acme.com!
I don’t mind people using acme.com, it takes me to interesting places when it pops up in technorati’s search. But there’s actually an RFC about what domain names should be used for examples: http://www.rfc-editor.org/rfc/rfc2606.txt
Comment by Jef Poskanzer — November 20, 2006 #