Brain.Translate(MyEnglishPost, "EN2FR") raised a lazy exception (again !) :

So, you've just built a big enterprise project, and you think that with your beautiful 3-Tier architecture, you think you designed it correctly and that by using DataReaders of DataSets you'll be able to scale up ? BUUUUUUZZZZZZZZZZZZZ ! You're wrong !!

Sam Gentile just published a very good, what do I say, an *excellent* article about .NET developers writing "compact" (one-block) applications, instead of trying to build distributed applications, much more able to scale up. He also criticizes the fact that .NET developers don't think "enterprise" contrarly to Java Developers : "Screw it they say (.NET developers talking about architecture articles), just show me that drop in Server control again."

For a personal project which is a pretty big-sized web project, I decided to immediately design the application to work in distributed mode, so that I am able to scale up easily without having to invest into expensive data center and clustering solutions. Distributed architecture will allow me to add much cheaper boxes when needed. I'm still a student and this will be my first distributed application, but I do think that this is the good choice when your application manages and handles huge data volumes, has a lot of users, etc. As Sam said at the end of his article : "Distributed computing is your friend."