Related Topics: RIA Developer's Journal

RIA & Ajax: Article

Solutions for Optimizing ASP.NET Applications

The case for third-party acceleration

One of the reasons that ASP.NET has become popular as a framework for Web developers is the availability of third-party controls and tools. This third-party product support means that, when you're developing features and functionality in an ASP.NET application, you have "buy versus build" options in many areas. Usually, if the options are buying a third-party control or rolling up your sleeves and manually coding the solution yourself, the choice is an easy one. With the latter, you're looking at investing an unknown amount of time and resources into re-creating something that already exists. With the former, you get a known result and a drop-and-go solution.

What you may not realize, however, is that the possibilities for third-party "buy" options extend far beyond controls. Today, ASP.NET developers can take the same approach to many application performance optimizations. Current product-based solutions for enhancing performance and scalability - including third-party software, hardware, and services - can extend the same kinds of benefits and offer the same core value as third-party solutions provide in other areas of development. If you're looking to both improve the performance of your application and reduce your development costs and timelines, they merit serious consideration.

A Growing Need for Scalability and Performance
Most development shops are geared toward two overarching goals: delivering the desired functionality and features, and getting the application out the door as quickly as possible. In this kind of environment, performance and scalability considerations often take a back seat. But if the application actually achieves the desired result - if the site becomes incredibly popular - these considerations become a major concern.

Even if you've created the greatest application in the world, if it crashes under load or takes two minutes to load a page, nobody's going to use it. In fact, the very productivity-enhancing tools that programmers use to speed development (high-level programming languages, object-oriented techniques, etc.) often become the biggest culprits in poor performance and lack of scalability of the application. That's why the most demanding projects, such as, still rely primarily on highly tuned proprietary code, even though creating it requires enormous additional effort.

Microsoft designed ASP.NET to be an intelligent, flexible development framework, and it supports a variety of options for boosting application performance and scalability. Various caching techniques, page-size controls, and load-balancing optimizations, for example, can all deliver performance and scalability improvements. The problem is that these techniques require additional knowledge, time, and resources to implement. On top of these added demands, they create an unfortunate Catch 22 for developers: By using these techniques to improve performance, you're simultaneously impairing your ability to develop and maintain the application in the future, because you now have to employ more complex, highly optimized techniques for everything you do.

No one likes having to weigh these kinds of trade-offs. What many developers don't realize, however, is that they don't actually have to. For many ASP.NET optimizations, third-party solutions now exist that can provide the same or similar enhancements as manually tuned code, without the manual tuning. Product-based optimizations can't solve everything, but they can offer some significant advantages for many common optimizations. Let's look at some common optimizations and compare the build-and-buy options for addressing them.

More Stories By Kent Alstad

Kent Alstad, CTO of Strangeloop Networks, is principal or contributing author on all of Strangeloop's pending patents. Before helping create Strangeloop, he served as CTO at IronPoint Technology. Kent also founded, Eclipse Software, a Microsoft Certified Solution Provider, that he sold to Discovery Software in 2001. In more than 20 years of professional development experience, Kent has served as architect and lead developer for successful production solutions with The Active Network, ADP, Lucent, Microsoft, and NCS. Kent holds a bachelor of science in psychology from the University of Calgary.

Comments (0)

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.