- Paperback: 496 pages
- Publisher: Apress; 1st ed. edition (November 10, 2009)
- Language: English
- ISBN-10: 1430223839
- ISBN-13: 978-1430223832
- Product Dimensions: 7.5 x 1.1 x 9.2 inches
- Shipping Weight: 2.3 pounds (View shipping rates and policies)
- Average Customer Review: 16 customer reviews
- Amazon Best Sellers Rank: #1,741,916 in Books (See Top 100 in Books)
Enter your mobile number or email address below and we'll send you a link to download the free Kindle App. Then you can start reading Kindle books on your smartphone, tablet, or computer - no Kindle device required.
To get the free app, enter your mobile phone number.
Ultra-Fast ASP.NET: Build Ultra-Fast and Ultra-Scalable web sites using ASP.NET and SQL Server 1st ed. Edition
Use the Amazon App to scan ISBNs and compare prices.
Fulfillment by Amazon (FBA) is a service we offer sellers that lets them store their products in Amazon's fulfillment centers, and we directly pack, ship, and provide customer service for these products. Something we hope you'll especially enjoy: FBA items qualify for FREE Shipping and Amazon Prime.
If you're a seller, Fulfillment by Amazon can help you increase your sales. We invite you to learn more about Fulfillment by Amazon .
There is a newer edition of this item:
Customers who viewed this item also viewed
Customers who bought this item also bought
About the Author
Rick Kiessig has been doing software design and development for more than 30 years. He is currently an independent software consultant who focuses on architecting and building large-scale websites using .NET and SQL Server. His clients have included companies such as Microsoft, MySpace, Shop.com and the Hong Kong Jockey Club. Before that, he worked at Microsoft for four years, first as an architect and developer in MSN, and later at the Microsoft Technology Center (MTC). His experience at the MTC included leading weekly two to three day long Architectural Design Sessions with some of Microsoft's largest customers, to help them design and improve the architectures of their websites and other software. Before coming to Microsoft, Rick worked as an independent consultant in Silicon Valley for 20+ years. Projects included designing and building a large-scale Java-based Content Management System and architecting systems to deliver web content to millions of Interactive TV subscribers. He has also developed mission-critical real-time software for spacecraft that have flown to Mars several times, to the Moon and to a nearby comet. Rick has been an Internet user and developer since 1974. He moved from California to New Zealand in 2006, where he now resides.
Showing 1-8 of 16 reviews
There was a problem filtering reviews right now. Please try again later.
The only area where I have any disagreement at all with Kiessig is with respect to ORM. Kiessig states quite correctly that the "performance and scalability [of ORM] is usually very poor." (There's an understatment!) Kiessig goes on to say: "in their current form I can't recommend any of them in high-performance sites, in spite of how unpopular that makes me in some circles." This advice is worth the price of the book a hundred times over. It's also interesting to note Kiessig's observation that this view of ORM makes him "unpopular." Of course it does! He's criticized the OO/ORM "religion". OO/design pattern astronauts are more dogmatic than fundamentalist Christians. Calling out their bloated, non-performant coding practices subjects you to their derision. But thoughtful developers must hold firm.
Let's beat this horse just a bit more. Kiessig says that it might make sense to use LINQ/EF in very limited circumstances such as protoyping and small-scale projects. I strongly disagree with this for two reasons. One, prototyping code often finds its way into production code, thus allowing ORM poison to seep into a production environment. Second, small-scale projects often expand into larger ones and so, again, ORM code could very easily pollute a production environment. Further, I believe that it's crucial to understand not only that ORM has performance/scalability problems, but why ORM is philosophically/theoretically flawed (Hint: the "problem" ORM is trying to solve doesn't really exist, and even if it did, ORM is absolutely the wrong "solution").
Finally, and I promise this is my final jab, I think Kiessig should have put his recommendation against ORM on page one. Why? Because no decision will have a greater impact on performance and scalablity (and maintanability and extensibility for that matter) than the decision not to use ORM.
I want to highlight two other points Keissig makes. The first is about testing. With respect to TDD (Kiessig refers to it as "test-first development"), he states: "I can't endorse its use in real-world environments. My experience has been that it doesn't produce better code or reduce development time compared to other alternatives." My experience and sentiments exactly. But TDD is part of the religion along with ORM. Although it doesn't have the mammoth, project-killing potential of ORM, TDD will nonetheless blow through a lot of developer time with very little to show for it. Legitimate, well-designed unit testing is, of course, a completely different story.
With respect to architecture, Kiessig states: "It should come as no surprise that I favor flat architectures, because they tend to minimize round-trips." Eureka! But then OO astronauts who love the idea of distributed computing and out of process calls won't be able to brag about their 7-tier architectures. I suppose they'll have to impress me with their implementation of a polymorphic facade on top of a cross-bridge-singleton-adapter, called through multiple, inherited generic interfaces, abstracted through a dependency injection container, all done in only 10 times the lines of code required by those pesky database-centric developers.
Despite the digressions here, I think every .NET developer should read this book, and, more importantly, change how they think about building software systems.
You might not realize you're into an obsolete suggestion until you're well into a block of text.
We all want our web applications to run lean, clean and fast, but how do we best spend our time doing so? You might ask, "Should I spend more time improving my caching strategies? How should I approach it?" or "Should I spend my time trying to optimize IIS's performance? Where do I begin with that?"
With so many different ways to approach any given problem, you could spend days or weeks learning all the different ways you MIGHT be able to get your desired results. But if you're like me, after a while you just say, "OK, OK, someone please just tell me the best way to approach this for most situations and I'll tweak it for my needs." That's what you get here.
This book is great. It is a collection of best practices, tips and tricks for architecting your web applications to be both ultra-fast AND ultra-scalable. Instead of listing a thousand things you might want to try out to see if it helps, this book just says, "here is a proven approach that works for most situations, most of the time". Thank you! Let's implement it and move on to the next one.
But more than just telling you, "Do this, then do that", this book explains the Why's as you go along. This is invaluable as it is how we actually learn and integrate these things into our understanding of the big picture.
It is clear that the author has deep and intimate knowledge of the subject. His credentials explain why. He began working with the Internet and writing network-oriented software in the 70's. More recently, he was an architect at the Microsoft Technology Center (MTC) in Silicon Valley where he ran two- to three-day architectural design sessions once or twice each week for some of Microsoft's largest and most sophisticated customers. In understanding their issues and helping them architect solutions he saw many of the same questions coming up time and time again. Questions such as:
* "How can we make our HTML display faster?" (Chapter 2)
* "What's the best way to do caching?" (Chapter 3)
* "How can we use IIS to make our site faster?" (Chapter 4)
* "How should we handle session state?" (Chapter 5)
* "How can we improve our ASP.NET code?" (Chapters 5 to 7)
* "Why is our database slow?" (Chapters 8 and 9)
* "How can we optimize our infrastructure and operations?" (Chapter 10)
* "Where do we start?" (Chapter 11)
I'm thrilled someone has finally written a book like this. It really helps a developer learn and understand the end-to-end big picture... not only the How's but, more importantly, the Why's.
Kudos Mr. Kiessig.